Wednesday, September 5, 2007

5 truths about web users

1. Users don't care if you have an awesome build script.

Does the gmail development team have a continuous integration process? Does's development team have full unit-test coverage for all their code? Can Linked In deploy the website by pushing one button?

I don't know and am still one of millions of happy customers.

A kick ass environment can really help you build a great product - but it won't build it for you. People tend to focus on problems they are comfortable with to avoid the really hard problem. Like setting up a great environment instead of creating a great product that people love to use.

Worry about having a great product before you worry about your development environment.

2. Users have more than a LAN between their browser and your servers.

I am in the middle of building the latest and greatest. The main page has 15 uncompressed javascript files, 10 background gifs, a couple of extra css files, and sends almost half a meg of data to render the page. It takes about a second for all of this to show up in my browser.

Of course, my browser is sitting on the server, and I've got endless RAM and multiple processors.

When I put this on a test server and hit it from home through DSL, the cloud, and our shared pipe at work - a second becomes over 10 seconds. Long enough that I check ESPN for any new football news.

Having a slow app is like building a car with doors that don't open. People won't buy a car if they have to crawl through the window to get in.

Put your app on an external server and hit it with consumer-grade net access.

3. Masturbatory animation only satisfies the developer.

I need tabs. I know how to use multiple animation frameworks. Hell, I can roll my own animation! So my tabs animate, rotate, morph, slide, and fade. YEAH.

Here is what I think:
Ooh, my tabs rotate, change color, animate, and play a sound when you hover over them. That's SOOO HOT!
Here is what my users think:
What the shit!
Don't do anything just because you can - it will just get in the way.

4. Users don't know flash or html.

Check out .

Here is what the developer thinks:
HTML and Flash - I'm giving my users the best of both worlds!
Here is what the average user thinks:
What the shit!
When your application asks users a question, first ask yourself "do I really need to ask?" If you do, ask yourself "would my mom know how to answer that question?" If they answer is no, rethink your solution.

5. You users will not print out you home page, frame it, and hang it on their wall.

Your application is not art. Users do not care if it "pops" or "looks hot". Users care that it does what they expect when they click a link. Users care that they can use the app without having to constantly think "how do I do that?". Users really care when you app makes their lives easier.

Don't worry how your app looks hanging on your wall, worry about how happy your users are.



About #5, I disagree slightly. Although mostly correct, functionality should come before art, I would gladly cut a feature or two from a multi-featured website in order to spend that time making the site feel and look amazing.
It's no good if you just make it look slightly better, the end product has to look stellar. Otherwise your better off creating additional features. When I coded I knew that it had to be more than just functioning, it had to look and feel amazing.
However granted, I ended up creating a web game, not a web page and I think many would agree that games are more 'art' than 'web pages' should be.

Anyways, nice blog so far, I've subscribed to the RSS feed :)


Hey Steve, I don't understand why you mentioned my site here... What's wrong with it? Or what would you suggest I do differently? This website was built by a professional web design company. Email me or something, Thanks.