iPad Blog Post Roundup

Yesterday was a monumental day for tech news. I eagerly awaited Steve Job's keynote presentation about Apple's revolutionary new tablet device: the iPad. Later that night I found myself relentlessly searching for perspectives from the tech community. Here's a summary of the blog posts I found most interesting.

The Uncomputer

Daniel Tenner's post "iPad: and Apple for Mom" explains why the iPad may be exactly what the masses have been waiting for. He argues that "most people don't need a proper computer at all."

Marketing

Rory Marinich's amusing post "This is why it's worth learning about advertising" discusses Apple's sales pitch: Our most advanced technology in a magical and revolutionary device at an unbelievable price. He describes the iPad as: "simply put, a magical screen that can do anything you ever want it to, no matter what that is."

Inspiration

Miguel de Icaza's post "iPad - Inspirational Hardware" talks about his excitement for building applications on a touch-based computer. He wants to build apps using his favorite language, C# (which I use at my job).

Regret

Alex Payne's post "On the iPad" expresses his concern that the closed nature of the device may be detrimental to the next generation. He states "if I had an iPad rather than a real computer as a kid, I’d never be a programmer today."

My Personal Take

I'd love to use the iPad as an information consuming device. Often times I read news in bed and other non-desk locations. The iPhone has provided me with lots of innovative apps that help me find exactly the information I'm after. Although I don't have $500 burning a hole in my pocket, I can certainly see the allure and this new book/blog/news reading gadget. Am I too caught up in all the hype?

Start the Conversation with a Programming Standard

conversation.jpg

A common topic in my software engineering courses is: "How do I help my team increase the quality of our software?" There are several best practices we can use to reduce defects in our code and ensure that it has all the good "ilities" (Readability, Maintainability, Testability, etc). One of the easiest techniques is to create a Programming Standard document.

What Are The Benefits of Using a Programming Standard?

Many good things can happen when you draft up a programming standard. I think one of the best effects is that your team will start discussing best practices and quality. One or two people can create the document then present it to the group for discussion. If everyone starts abiding by the guidelines, it can add consistency to your code base, making it seem more like the work of one author. The person maintaining the code five years from now will love you for it.

Also, you may want to start doing code reviews at some point. Numerous studies show that finding and fixing defects early is much cheaper than discovering them after you release. Code reviews can help spot problems before you release to QA. If your team has already agreed on a programming standard, you can use it to evaluate code. The religious debates about curly brace placement will have already occurred, so you don't have to re-hash those discussions during each review.

How Do I Get Started?

My advice is to aim for a one or two page document. Break it up into a few sections (e.g. Naming Conventions, Comments, Error Handling). Include a brief description at the start of each section that explains why the topic is important. Try not to use too much strict language ("Thou shalt never...") and focus on general guidelines ("Avoid methods with more than X lines of code").

If you're looking for examples, the book Code Complete by Steve McConnell includes lots of checklist and well-researched rules.If you'd like to see the programming standard I created in class, send me a note.

Do you use a programming standard on your team? Is it helping?

Don't Repeatedly Check Websites - Get Notified

When email first became popular, people started forming a peculiar habit: they would repeatedly check for new email multiple times a day, like an info-addict. If they got a new email they were quite excited ("You got mail!"). If not, feelings of disappointment and regret ensued. Why should we spend so much time checking for things? Wouldn't it be better to know exactly when to check? Fortunately many services exist to help solve this problem. Email is an easy target so let's start there. If you use Gmail, I recommend these:

Gmail Notifier - Great for most users. It puts a little blue envelope in your system tray when you have new mail. Double click it to access your Gmail account.

Gmail Notifer Plus for Windows 7 - This notifier takes advantage of some new Windows 7 task bar features. It provides options when you hover over it, allowing you to preview and open new emails.

What About Other Email Providers?

Actually, my favoriate email notifier is Digsby, which handles all of your Instant Messaging needs in addition to notifications for social networking sites (Facebook, Twitter, MySpace and LinkedIn) and a variety of email providers: Hotmail, Gmail, Yahoo Mail, AOL/AIM Mail, IMAP, and POP accounts. I find there notification interface to be the most intuitive and useful.

Digsby Gmail Notification

What About Other Things I Check Too Much, Like Twitter?

One of my main gripes when I started using Twitter was that I wasn't notified when someone started talking to me. People converse with you on Twitter by "mentioning" you, which means they include your username with the "@" symbol in front ("@martymatheny" in my case) in their tweet. Twitter would email me if someone sent me a Direct Message, but not if they mentioned me. I didn't want to repeatedly check Twitter, so I started using Boxcar, which is an iPhone app. Boxcar kindly sends me a "push notification" on my iPhone when I'm mentioned, so I know when to engage. It can also notify you based on the results of any Twitter search query (e.g. "MyCompany").

Cool, What About Blogs?

The best way to check blogs and news sources is use an RSS reader, but that's a topic for another post. Do you have a favorite notification service?

Why Should I Use Twitter?

If you've spoken with me in the last year, I probably wanted to talk about Twitter.  I think it's an amazing resource, but most people struggle with the first and most important question:  "Why should I use it?"  A popular variation of this question is:  "Why should I care about what you had for breakfast?"

Let me dispel that rumor right now:  Twitter isn't just a bunch of people describing meals (although that occasionally happens).  There are people on Twitter right now talking about your favorite things in the world.  There are people you know, people in your city, thought leaders in your industry, and all sorts of folks who leave brief remarks every so often.  If you can find the right people to "follow" on Twitter, you'll be much more informed about the topics you love.

David Carr has a much more eloquent description of how he realized Twitter's value in today's New York Times.

OK, How Do I Get Started?

Create an account then start searching for people you know and topics you're interested in.  My advice is to focus on listening first, then start posting updates later.  You'll know you're following enough people when there's new stuff every time you check Twitter.  If there isn't new stuff, it's time to follow more interesting people.

I'll post some tips later about how to make Twitter a better experience by using advanced search, RSS and some great Twitter client software.  If you have any questions about getting started, feel free to send me a note.  Better yet, you can ask me on Twitter.