Stupidly simple == simply stupid

I picked up a copy of Wes McKinney's excellent Python for Data Analysis a few days ago. The book recommends IPython, NumPy and matplotlib, which are usually easy enough to install on Linux. Surprisingly, I spent the better part of the morning getting all of these packages to install and work correctly on Mac OS X Mountain Lion. It was a delirious roundabout of brew, port and pip. Many symlinks were made. After a good three hours of work, I managed to get my environment just right.

According to conventional wisdom at big software firms (ahem Microsoft cough cough), users like 'easy' setup. A few clicks. A couple of questions. A progress bar. Boom! So, I should have given up hours ago. This sort of thinking permeates the culture at big firms. Designers and program managers deplore 'long, complicated setup steps' and try to remove every click possible from a signup or setup workflow. I can't tell you about the number of meetings I have sat through where people have argued over a single form field.

As a principle, removing steps is a good thing. If you have web app, for the sake of everything holy, please remove as many steps as possible from your conversion funnel. Bravo! Go fight the good fight! But be careful and keep these tips in mind along the way:

  • Desirability > simplicity. Simply put, nobody cares about one-click setup if they actual product is not desirable. That one hour of development time you spend removing a field in the signup form could be spent making the core product awesome. Users are also more forgiving for desirable products -- it's a little bit like how parents yell less at a favorite child. It's a dirty secret, but it's true. Before you make setup easier, ask yourself if you can invest that time in the core product.

  • Designer, know thy audience. Different user segments have varying levels of tolerance for complexity. Consumers are probably the least tolerant of errors and questions, but developers ... ah ... now here's a bunch will bash away at a problem until they are blue in the face. Is it nice that Visual Web Developer 2012 has a one-click install? Super! Would students still download it if it took, say, 5 minutes to configure? Sure!

  • Documentation helps - a lot! Documentation, especially for installation and configuration, is amazing. Clear docs with steps for major operating systems will go a long way towards making your product palatable to developers. Keep them up to date as Apple tends to break things with each major release (like pulling X11 out of Mountain Lion).