Simple versus Complex

In the world of software there is a tendency for complexity to flourish, especially over time.

Published on 
3 min, 600 words

Categories: technology

It is very difficult to develop a simple piece of software and keep it simple.

When on holiday recently I thought it would be useful to have an app that could quickly convert a local price into my own currency. Rather than typing it in, maybe you could speak it or point the camera at a price and it could convert it for you. You could go into a shop and compare prices very quickly.

Would people use it if this was it's only feature?

Possibly, but I am sure if it became popular someone else would develop the same app and add more features to become a "holiday app" they expect the user to want. It could support checklists for packing, links to useful websites for trips and restaurants, a wallet to keep all the flight details, a way to organise your holiday snaps, etc.

Very quickly this goes from a very simple application to a world of complexity.

Why do we expect all our software to contain lots of features?

Over time there is pressure to add features and complexity to the software - from internal and external parties. There is pressure to add new features to make the software more attractive to potential customers or to match the features of potential rivals. There is pressure from users as they have grown accustomed to features being added over time; they wonder if the software is still being maintained or worth using if it has not been updated for a while.

David Heinemeier Hansson (DHH) discusses this in a recent post .

It's hard to sell simple, because simple looks easy, and who wants to pay for that? Of course, everyone says they want something simple, but the way they buy reveals that they usually don't.

He links this to the current focus on people subscribing to software, paying a monthly fee, to use it and get the latest updates.

In the "old days", you used to buy effectively a snapshot of the software on disk and that was the version you used from that point on. If you wanted a new version you would have to buy a completely new version and install it.

Once software started to be distributed over the Internet it was possible to push updates to software that you could download; you would get the small updates for free and then pay for the next "big" version.

With the introduction of web based software it was now possible for users to use the latest version of the software which meant that there was limited opportunities for additional fees. Some worked around this by getting customers to pay for certain features. However this is where subscriptions were born.

Users became renters of software, paying a rental fee each month and never actually owning the software.

DHH explains it like this:

There are rarely high margins in actually selling someone something that they then own. Much better to rent it to them. They'll own nothing and you'll convince them they should be happy. By what sorcery? Fear, mostly. Vanity, sometimes. Sloth, occasionally. Pride, definitely. The more insecurities the merchants of complexity can trigger, the easier the sell.

He has started developing software from once.com that you buy once and then own from that point on. It still gets updated but there are no ongoing subscriptions. Will it take off? We will have to wait and see; hopefully it will at least get people to rethink the subscription model.

Links

Merchants of complexity