Sam Gentle.com

Advertising-driven design

Someone was asking me today why it seems like software is easier to use than it was 10 years ago. There are obvious answers to do with the general improvement of the industry, software becoming more mainstream, and the design leadership of Apple, but I think there's an under-appreciated factor at play too: advertising.

In the traditional packaged-software market, you normally pay for the product once, and then pay some additional amount for upgrades. The problem with that is that it makes user satisfaction a fairly weak incentive. Bad design decisions only have a direct impact on sales in the next release cycle, which could be years away. Meanwhile you have to rely on indirect signals like user feedback, which isn't always useful. Loud voices are vastly overrepresented, and the noise makes it easy to miss feedback on more subtle problems.

However, many companies now are moving towards "cloud" offerings, where access to the software is paid by subscription. Although this still means the incentive is indirect, the feedback loops are much smaller. If you make some bad decision, sales will suffer almost instantly, making it easier to track down the cause. It still has the issue, though, that it's not always easy to figure out why. People will rarely say something like "I'm canceling my subscription because your text boxes are too small", you only find out that that's a problem when it's rolled up with 20 other problems as a more general "I don't feel like your product is easy to use."

Advertising-supported software products, however, are in a whole separate category. Because advertising is usually paid on a per-impression basis, you're incentivised by every single customer interaction with the product. If your text boxes are too small, you will be able to see an impact every time a user interacts with a text box. And because ad services often report on an hourly-or-sooner basis, you'll see it in real time. It makes sense in that context to micro-optimise every tiny interaction and each little detail.

You can see that attention to detail as being essential for good design. Steve Jobs was famously obsessed with small details at Apple, to the point of blatant micromanagement. However the results in terms of usability were spectacular, and far ahead of anyone else at the time. But it seems that micro-optimisation can be driven as much by systematic incentives as it can by megalomaniacal leaders driven by attention to detail.

Of course, there's no guarantee that the incentives in advertising will necessarily line up with the desires of the user. They often do, inasmuch as a user who isn't happy will stop using the product and therefore seeing the ads. But you can easily spot counter-examples where products with very little competition will run user-hostile ads or make bad design decisions despite the incentives. If you look at the long-term consequences of ignoring users, though, it seems to work out fairly badly for most software companies.

So perhaps ads are, at least in some ways, a force for good in software development. One thing's for certain: if you want the worst offenders in bad design, unresponsiveness to feedback, or just plain user-hostile decisions, you won't find it in ad-supported software despite its sometimes questionable reputation.

No, the worst of the worst is enterprise software, with the most distantly aligned incentives of all.