Saturday, July 12, 2014

Android and iOS - The 'feature fallacy' - Part 1

Understanding the Feature Fallacy

The process of over-engineering and over-complicating an app is called ‘feature creep’. This is what happens when an unfocussed reckless software design team keeps adding features to a product, causing it to become more and more grossly fat and indecipherable. It may surprise you to learn that 95% of users could not care less for 80% of the options, menus, and settings available in an average software package. The vast majority use a piece of software for just one or two simple features – and that’s it. Open up Microsoft Word
and take a look through the menus.

How many of that labyrinthine tangle of possibilities do you ever use?

Most of us use the font menu and the font size menu, and that’s about it. Many of your favourite desktop apps have fallen victim to feature creep.

The problem of feature creep is rarely a problem on desktop computers - screen real estate is not at a premium, and it’s easy to ignore large portions of the user interface. However, on a touchscreen mobile device, the opposite is true. Every unnecessary button, step in the process, graphical device, or setting, gets in the way disproportionately on a small screen, and is especially confusing when the main input device – the human finger – is so prone to obscuring the view of tiny user interface details.

It is important that you take care to reduce the purpose and feature set of your app. If you focus on the economy of your idea, you will produce the most concise and elegant app possible. Ignore anyone who tells you a bonus feature is essential, or will attract more downloads – this is rarely true. What is true is that users will instantly reject your app if they cannot understand how it functions, or are bewildered by a dense and tricky-to-navigate series of nested menus. You will also save yourself money in development costs by sticking to a single, strong vision.

How to creatively reduce the number of features in your app

The way to design a great app is easy to put into words:

Strip everything down to its most basic form, then strip it down some more, then keep stripping it down further until its single purpose is perfectly obvious.

Sadly, for many designers, (but perhaps happily for you) this advice is rarely observed. This is because of an unfortunate and inevitable quirk of the software design process: Software is made by programmers.

Now, programmers are some of the smartest people we know, but they tend to lack the ability to relate to a software user who is not a programmer. As a result, a programmer may be inclined to add as many obscure features as possible because they themselves look for additional features as a buying criterion in the software they use. Programmers enjoy extensive and detailed control over everything, but the majority of end users do not want, need or benefit from that degree of control. They want ease-of-use.

Every feature you add to an app potentially reduces the ease-of-use. This is not to say that it is impossible to design a fantastically powerful piece of software for a touchscreen, but simply that the process is infinitely harder than with desktop software, requiring incremental user testing and paying very close attention to the design process.

Read Next - Android and iOS - The 'feature fallacy' - Part 2
Post a Comment