Five thoughts on software

My first real job was making educational computer games–thirty years ago. In those days, we had to deal with floppy drives bursting into flame and hardware platforms that had a useful life of two years, not two decades. A lot has settled down, but there's a ton left to do.

1. I know you're not backing up often enough… no one does. But computers should be smart enough that you don't have to. I stopped backing up by using Dropbox instead. I keep every single data file in my dropbox, and it's automatically duplicated in the cloud, and then my backup computer (in the scheme of losing a week or more of work, a backup computer is a smart thing) has a mirror image of all my stuff.

2. Removing features to make software simpler doesn't always make it better. You could, for example, make a hammer simpler by removing the nail puller on the other side. But that makes a useful tool less useful.

The network effect, combined with the low marginal cost of software, means that there's a race to have 'everyone' use a given piece of software. And while that may make business sense, it doesn't always make a great tool. I'm glad that the guys who make Nisus chose powerful over popular.

The argument goes that making software powerful rarely pays off, because most users refuse to take the time to learn how to use it well. The violin and the piano, though, seem to permit us to create amazing music, if we care enough. The trick is to be both powerful and simple, which takes effort.

3. It's entirely possible to find great software that isn't from a huge company. Products like Sketch deserve a wide audience, and just as a successful market for indie music makes all music better, indie software is worth using (and paying for).

4. Paying for tools is a smart choice. If programs like Keynote and Mail.app were actually profit centers for Apple, I would imagine that we'd have far better support, fewer long-term bugs and and most of all, a vibrant, ongoing effort to make them better. (Not to mention neglected and abandoned services like Feedburner and Google Reader). 

The irony is that the first generation of PC software marketing was an endless cash grab, overpriced software that was updated too often, merely to generate upgrade fees to feed a behemoth. In the age of network effects, we swung too far in the direction of free software and the lack of care that sometimes comes with the beggars-can't-be-choosers mindset.

I wonder what happens if organizations that buy in bulk insist on buying software worth paying for?

5. Most of all, software as a whole just isn't good enough. There have been a few magical leaps in the evolution of software, products and operating systems that dramatically improved productivity and yes, joy among users. But given how cheap (compared to cars, building materials or appliances) it is to revamp and reinvent software, and how urgent it is to create tools that increase the quality of what we make, we're way too complacement.

Fix all bugs. Yes, definitely. But more important, restate the minimum standards for good enough to be a lot higher than they are.

We need better design, more rigor and most of all, higher aspirations for what our tools can do.