"For years, the Web has been touted not just as a place for the programmers and alpha-geeks, but a community where even grandmothers and five-year-olds are shopping, gaming, and socializing. As more people come to the Internet daily, the demand for usable applications just grows -- although even most programmers still couldn't really explain what "usable" really means. So what's a usable application? More importantly, how do you build applications that feel usable, intuitive, and satisfying to today's typical Internet user, one who's nothing at all like you, the programmer tasked with actually designing and building the application?
Alpha geeks? They're so ... 1997
Web application programmers are a pretty egocentric lot, even if unintentionally. We (yes, I said "we") tend to assume that everyone is either like us, or intrinsically aspires to be like us. Ten years ago, we bought new cars off of all the work we got "future-proofing" apps for Y2K... often snorting into our hands as we dutifully converted our years to 4-digit formats. The poor masses were struggling to really grasp the crazy Internet and the apps we were building.
A decade later, though, the masses that worried about Y2K have risen up and taken over the Internet in very real ways. You can read your neighbor's blog, write on your mother-in-law's social networking site, and check out a long-lost cousin's family photos... all using Web apps built by the alpha-geeks of a decade ago. But here's the big problem: those users that are consuming all these apps aren't like Web programmers. These users have a different set of priorities, a different social identity, and entirely different expectations when they fire up Internet Explorer. (Yes, they're mostly IE users. Firefox? What's that?)
But why does any of this matter? It matters because as this consumer has become predominant, they have become savvy—not to the Web, but to what they like, and what they are annoyed by. A good Web app these days is at least as much user interface as it is functions. The ability to send someone a Christmas ornament through social networking sites is seen by this user as something just as relevant as the ability to recall a forgotten password. It takes a lot more than avoiding the blink tag to satisfy these users, too. They're not interested in our technical wisdom; they want intuitive, usable applications, and we have to deliver those apps, to an audience we don't always seem to understand very well.
So how do you serve an audience that's not that similar to you? Well, instead of trying to build some profile, with a name and occupation, you just need to understand what inputs these users have. What informs their likes and dislikes? Most important, what causes them to like—or hate—your particular Web app and user interface?
Today's Internet user is self-taught
First and foremost, today's Internet users—the consumers of your Web apps—are self-taught. They've figured out Web apps almost purely by intuition, and based only on what they already know about how things in their world work. So there's no computer science curriculum that causes them to wonder if that list of friends on their social networking site is stored as a static array or a linked list or a series of references to Friend objects.
Instead, users are simply clicking on what makes sense to them, based on the world outside of the Internet. Want to send a message to someone? There's no expectation of confirmation buttons and limitations on the keys available. You should be able to type in a message, add smileys and other little signature text pieces, click a single button, and you're done. Interested in buying a book? You should be able to "read" the back cover of the book, check out the book flap, see the cover art, and easily (and impulsively) drop the book in your cart and wander to the checkout line. Shipping estimates, tax, related titles, and so on, these are niceities, but aren't central to the desire of the user. The user just wants to make a quick purchase that models their experience in the real world.
And the teacher is new media
So then, what's the real world? What is informing the experience of the users that are either satisfied with your app, or are e-mailing your customer service team griping about how awful the app works? Well, there certainly aren't any computer science textbooks, and your users have never heard of Tim Berners-Lee or Jakob Nielsen. What they are experts in, though, is new media.
Ask the typical Facebook user what they do on a weeknight, and you'll almost certainly hear the words "TV," "TiVo," "YouTube," and a healthy smattering of "XBox" and "PlayStation." Throw in "texting" and "blogging" along with a lot of hanging out with friends and, of course, working late, and you've identified the big influences on how today's Internet user views the world, and your Web app.
But what does that actually mean? Well, first and foremost, it means you better have a DVD player and some form of TV programmer in your house if you want to build usable Web apps. Sound crazy? Check out the menu structure on TiVo, or the latest season of your favorite TV show on Blu-Ray DVD. If the interfaces for those products don't share anything with the navigation and organization of your Web site, you may have some real problems on your hands. Consumers are already paying for services like TiVo, DVD box sets, and the Metal Gear Solid 4 PlayStation 3 bundle. That means that your user finds value in these products.
And here's the thing: your app is free, at least for initial access. So if you want to get a user to spend money or time on your application, why not model it after things that you already know your user does find value in? In other words, as Web designers, we should take the body of knowledge that already feels good, worthwhile, and intuitive to users, and apply that body of knowledge to our applications. The result will be an experience for the self-taught user that "feels" valuable.
Your competition isn't another Web app
Today's Web designer has to face a pretty scary fact: they can't design for themselves, or even someone that's mostly like themselves. Instead, applications must be built based on the consumer, who comes loaded with expectation and pre-disposition. But those ideas aren't built upon other Internet apps. In fact, as a Web developer, you're no longer building apps that compete with other apps, at other URLs. You're competing with anything your user is willing to spend time on.
Here's just a partial list of your app's real competition:
* PlayStation 3, XBox 360, and Nintendo Wii games
* Lost, Battlestar Galactica, Survivor, CSI: Miami, and Scrubs
* Facebook, YouTube, and Twitter (yes, some alpha-geekery still abounds)
* AppleTV, NetFlix, Blockbuster, and every other physical and digital movie service
* iPhone, Blackberry, and Treo text messaging
With the exception of Facebook and YouTube, none of these are even online services! Even Twitter, which has a strong online component, is largely accessed through mobile phones. So no matter how great the user interface, you've got to understand what expectations your users come with that are not specific to the Web. What do they expect because of these competing services and products?" (Continued via IBM, Brett D. McLaughlin, Sr.) [Usability Resources]