Custom software is often written in the moment and by someone close to the problem, and designed to serve the highly specialized need of a smallish group of people. Clay Shirky gives this a name: situated software.
I’ve seen situated software countless times in my career as a programmer. In a business - big or small - someone needs a quick app for tracking orders, or tasks, or trouble tickets. Or in personal life: someone wants to track attendees to their party, or their book collection, or their family’s travel plans.
The problem with situated software is that software development is extremely expensive, and the value of a small piece of software to be used by a small number of people is nowhere near high enough to match its cost. That’s why most software development tends to be focused on general-purpose apps that have a potential audience of millions.
But situated apps, in aggregate, probably have a much greater value than the aggregate of the general-purpose apps which software development focuses on today. This is the long tail of software, and it remains an almost entirely untapped market.
How do people get situated apps right now? If they are a business with a decent amount of cash to spare, they might hire a consultant. This probably works out badly more often than not. The cost of software is so high that the consultants are constantly being squeezed; the result of the squeeze is that quality is sacrificed, so the client may end up with a poor-quality product. The smaller the project, the worse this gets. I’ve rarely seen a small software consulting gig work out well for either side.
The other route is to reach for an end-user computing tool: Excel (or Google Spreadsheets), Filemaker Pro, Microsoft Access. These are better than nothing, but in the age of the web they are becoming increasingly irrelevant.
How can we unlock the massive potential of the long tail of situated software? The only path to this is to decrease the cost of software development substantially. This process is already underway, though it will probably be a while before true end-user computing bliss is upon us. Nevertheless, I’m excited to see what the next five to ten years will bring on this front.