There’s an explosion of platforms to develop applications on at the moment, which is exciting in many ways – lots of new environments and possibilities to explore. But it makes life harder for everyone – people who are making things, and people who are choosing things.
Back in the mid to late 90s, it was pretty much a PC world. If you wanted a computer, you knew that if you had a PC, then (apart from a few vertical niche markets), you’d have access to pretty much any new software or tool that came out. People who made things could develop for the PC and know that nearly everyone (who had a computer) could use their stuff, apart from the small minority of people who’d deliberately chosen a computer that didn’t use what everybody else was using.
And then in the late 90s to the mid 00s, it’s was pretty much a web world. For the most part, if you had a computer and an Internet connection, you’d have access to pretty much any new tools that came out. People who made things could develop on the web and (with a bit of futzing around with browser-specific stuff), pretty much everyone (who had a computer and an Internet connection) could use their stuff.
But now there’s not just PCs, Macs and Linux computers, there’s not just Internet Explorer, Firefox and Safari, there’s also the iPhone, Android (G1 – HTC Dream etc), Windows Mobile, Symbian/S60 (e.g. Nokia N97 and N86, out today), and the entirely new environment (webOS) for the Palm Pre (due any minute). All of these are separate environments to use and to make things for.
It’s a nightmare. As a user, or a developer, how do you choose? How do you juggle all the different environments and still get stuff done?
Because juggling multiple environments is where things are.
This is all part of an ongoing transition. When computers first arrived, there were lots of people for every computer. Microsoft started out with the then-bold ambition “a computer on every desk and in every home, running Microsoft software” – a computer for every person. Now we’re well in to the territory of lots of computers for every person.
This makes for harder work for everyone – to get the best out of things as a user or developer, you need to be polyglot, able to move between platforms, learning new tools routinely.
It’s also, though, a hugely exciting range of opportunities and possibilities. We are very much still in the middle of a golden age of information technology.