Apple is the new Microsoft
When I got home from work tonight I switched on the TV saw an App Store commercial from Apple. The commercial talked about lots of random things that you might want to do and how there is an App Store app for each of them. It then occurred to me that Apple has become the new Microsoft.
In the 1980’s software developers were struggling to produce applications. You had to worry about very low level operations, memory management, disk I/O, cross-platform inconsistencies, all before you even got to work on the business logic of your application. And then along came Microsoft and basically said to developers “We’ll take care of the boring stuff, you guys just work on what your app is supposed to solve.” Microsoft provided a platform for developers along with APIs to access all the important parts of the computer that would be needed for an application. Life got better for developers, so they wrote more software, more of those applications became hits and sold more copies of Microsoft Windows. It was a lucrative, symbiotic relationship.
Now let’s fast forward to 2007: Developers are struggling to produce applications for mobile devices. They have to worry about the multitude of operating systems, the inconsistencies of networks, GPS chips and power management. Then along comes Apple, the master of consumer electronics, and tells developers “We’ll take care of the device stuff, you guys just worry about the applications.” Suddenly it’s the 1980’s all over again. Apple provides the platform and marketplace and developers provide the software. Consumers buy more of everything.
Of course, neither of these situations are quite as rosy as I’ve painted them. As it turns out Microsoft didn’t quite nail their operating system and developers were forced to maintain software on a buggy, quirky platform. They also had to worry about distributing their applications and getting upgrades to customers. Since distribution wasn’t free, neither were the upgrades. Sometimes users had to pay to just get basic bug fixes. That aggravated customers so developers started holding back releases until they had new features worth paying for.
Apple manged to get the operating system right by building on Unix and it’s 30+ years of (relative) stability. They got distribution for (nearly) free by using the internet and the iTunes software that every iPhone/iPod user already used. Upgrades and bug fixes went out for free, keeping customers happy and quickening the pace of releases. Apple took more pressure off developers. But with the peace of mind that Apple provided developers they managed to seal them inside a walled garden. iPhone/iPod is a closed platform and applications developed for it are not portable. Historically, closed platforms have not held developer’s interests for long, so I suspect that the future of mobile applications may be on an open platform, like Google’s Android.
Both eras should were beneficial for developers. The important part of each ecosystem is that developers get to develop instead of messing with the low level things. Consequently, they get better at their craft, and whatever the next platform-du-jour may be, the developers are ready for it. So although I don’t particularly enjoy thinking about Apple as the new Microsoft, I have to congratulate them for it.
Nicely written, interesting comparison. I wonder what Steve Jobs would say if you asked him about this.
Great article, Dan.