I tend to be way too cerebral. I spend a ton of time keeping up with the latest research related to my profession, reading nerdy books, working logic puzzles, tinkering around with pet projects, etc. At least once a week, however, I try to set aside some time for creative activities such as brainstorming in hopes of restoring some balance to my mind.
Here’s one topic that I’ve noticed always comes up on my brainstorming list: What’s the next great piece of software going to be?
By the Church-Turing thesis, it’s believed that anything you can describe can be implemented as a piece of software (go ahead and try to disprove the thesis — I dare you), so this gives us a lot of options. I find this particular topic interesting because although we have a surplus of software out there, only a fraction of it truly qualifies as innovative and useful. If you don’t believe me, go out to MacUpdate sometime and take a look for yourself.
But the problem at hand isn’t because there’s a shortage of developers. There are tons of code mongers out there that would love to pump out an implementation and make the big bucks if it weren’t for one little thing — a clever idea. In fact, there’s only one characteristic about the idea itself that’s even worth mentioning: it just needs to be capable of spiking a demand. In a free market, the supply will rise out of the depths to meet the demand, someone will rake in the cash for a while, eventually the idea itself will become more of a commodity, and then everyone ends up living happily ever after. Well, sort of.
Although we’re talking about software here, you can’t help but bring hardware into the discussion. As an example, what good would iPhoto be if digital cameras weren’t a commodity? You wouldn’t honestly arrange your clip art in iPhoto would you? I suppose you could go to the trouble of scanning in all of your images, but even then, we’re back to talking about a piece of hardware that the software leans on: a high performance scanner that’s designed to mass import your photos, or maybe even a device that takes negatives and pumps out a digital image.
In any event, if digital cameras weren’t hot commodities, you could bet that the designers of photo apps would be doing some serious analysis of some other market — whichever one supplies the next best piece of hardware that would make their application useful to the masses. We could take another step back and divert into a discussion of physics since that’s really the next step back (what empowers our hardware), but I think you get the idea.
Although it’s easy to overlook, the hardware/software relationship is a pretty important one to notice. You couldn’t have an e-mail client or web browser without the internet infrastructure in place. You wouldn’t have bleeding-edge games coming to the market in droves if it weren’t for the uber-accelerated graphics cards that are available, and you certainly wouldn’t have operating systems as ravenous for resources such as Vista finally crawling out if manufacturers such as Dell weren’t able to mass produce systems capable of running all of that bloatware.
So here’s my question to you: What’s the state of the market right now? Are we saturated with useful software until a truly cutting edge new piece of hardware is introduced? Or do we have plenty of hardware and it’s just that application developers aren’t thinking outside the box enough?
What piece of software is missing from the marketplace that you’d like to see, and what hardware commodity is stopping it from getting there?