Embrace the Constraints

embrace_constraints.png

It is impressive that in under a year Apple has built an ecosystem of software that is so popular that there has already been over a billion downloads. With thousands of application choices, it seems like every niche (no matter how miniscule) is being filled by someone.

Many people keep dozens of applications on their iPhones at a time whether they use them frequently or just every once in a while. At last count, I have about a dozen non-Apple pieces of software officially on the phone, with hundreds of other purchased or free versions downloaded and in storage via iTunes.

I buy applications for a variety of reasons. For one, I like to try out new software that I hope will fill a void that I have during my day. As an iPhone developer I also like to try out new software to see what trends and ideas fellow developers are following. It’s a great way to gain inspiration for your own projects and see what does and doesn’t work in other products.

Despite all these downloads, 90% of what I download doesn’t stay on my phone for more than a day or two. There’s usually a few niggling issues that I run into with the application that I can’t overcome or I can’t be bothered to look at its poorly laid out user interface. I’m well aware that I’ve earned my Mac Snob merit badge by refusing to use poorly designed software.

One of the more troubling trends I have noticed with the iPhone software is the predominance of feature bloat. Many applications that could be exemplary solutions for a problem are instead crammed with excess features that take away from the nut of the application.

Applications designed to get movie show times are now tacking in support for Netflix queue management and DVD release dates. What could have a home run experience for tracking my golf game is instead crammed with buttons to see my previous rounds, graphs of my distance, course maps and more. These supplementary features, while possibly adding another bullet point to justify your 99 cent price tag, are taking away from the overall experience the customer has with your application.

One of the primary reasons for the bloatware trend is that mobile software design is still in its infancy. Though platforms like Palm, Windows Mobile and Symbian have offered applications for your smartphone for many years, it wasn’t until iPhone that it actually became a primary focus for many developers. Most of these developers come from a desktop background where there’s more space to expand the waist of an application to fill every possible void that may exist. With mobile design, however, the focus should be on what the bare minimum you can leave in to give your application a purpose.

AppStore reviews are also partially to blame for the bloating of iPhone applications. We’ve all read the notoriously bad reviews that seemingly over entitled folks post when they feel they aren’t getting enough bank for their 99 cents. Far too many developers are quick to implement every feature request in hopes of turning every “FAIL! 1-star because it’s missing…” review into a 5 stars. Face it. It’s never going to happen.

Brent Simmons wrote an excellent piece about these types of folks a while back and it still resonates with me today. Trying to please 100% of the people who download your software doesn’t scale and leads to a product that may be rich in features, but is lacking in usability and ease of use.

When you sit down with your sketchpad to design your next million dollar iPhone project, think about what your application needs, but put extra focus on what your application doesn’t need. I am more likely to use your iPhone application if it does 1 thing and does it incredibly well without having dozens of auxiliary features getting in the way. Embrace the constraints of the 320x480 screen you’re filling. You may not have as many buttons and bulletpoints as the next guy, but you also won’t have the mobile equivalent of Office 2010.