Apple's introduction of iOS 7 has sparked quite the discussion about software design--and somehow it has also magically conferred degrees in design to a whole host of laypeople. You don't have to be a design expert, or even play one on the Internet, to disagree with some of the choices Apple has made. But whether or not you agree, one thing is certain: iOS 7 is coming this fall. And if you're invested in Apple's ecosystem, you can either get on this wagon or let it pass you by. I think the smart money is on hitching a ride.
This isn't the first time Apple has turned things upside down for both users and third parties. Let's take a look back through the archives at some of the changes Apple has made to its platforms over the past 20 years.
68000 to PowerPC
When Apple started shipping PowerPC machines in 1994, it included a 680x0 emulator in the Mac OS so that all code for old Macs would continue to run on the new hardware. Even the operating system initially ran in emulation. But the speed advantage of PowerPC quickly became the hook that caused developers to update their applications for the new processor. Well, quickly for the time, anyway. Things were different back then. For starters, developers used steam-powered compilers that had to be stoked for days. You tell that to people these days, and they won't believe you. (Possibly because it's not true.)
While mostly just a cosmetic change, the introduction of colorful iMacs was huge for third-party peripheral makers. If you're a longtime Mac user, as I am, you probably have a basement, attic, or, at the very least, a drawer somewhere that's full of candy-colored mice and USB hubs. Nobody wanted to use a beige external hard drive with a lime iBook, and third-party peripheral makers rode that idea all the way to the bank.
OS 9 to OS X
Apple bought NeXT in 1996 for its NeXTStep operating system, but more than four years would pass before it shipped its own next-generation OS--and several more iterations would come before the OS would be truly usable. Again, Apple didn't cut off the past completely. The company included two means of backward-compatibility, Classic and Carbon. The Classic environment ran a full version of OS 9 in a virtual environment--similar to the virtual machines we might run in Parallels or VMWare today--to support older applications. Carbon, on the other hand, consisted of a set of libraries that Apple supported on both OS 9 and OS X; applications coded with it could run on both operating systems.
But applications that used Cocoa, the language that Apple pushed with the introduction of OS X, were the way of the future. Applications coded to those native NeXTStep APIs ran faster, better, and prettier--and boy, they smelled terrific. Companies that dragged their feet in updating applications would lose users while longtime NeXTStep development shops such as The Omni Group would soon experience a boom.
The interface change from the Classic Mac look to Aqua is probably the closest analogy to the recent design changes with iOS 7. At the time, OS X commentator John Siracusa said of Aqua:
Of course, Aqua is also compelling in that it may compel some people to gag. Like the iMac, Aqua is likely to polarize consumers and competitors alike.
Polarizing is a word you hear a lot these days.
PowerPC to Intel
Much as with the 68000-to-PowerPC migration, in this situation Apple used an emulator, Rosetta, so that legacy applications could run on the new Intel-based hardware. For the most part, Cocoa applications could just be recompiled. At the time the most nervous of the various nellies claimed that developers would simply give up developing for the Mac and would tell people to boot into Windows on their Macs to run their applications. Game over, man! But, again, the opportunity was to make apps that would run faster--not just faster than applications running in Rosetta, but faster than the equivalent versions running on PowerPC.
Introduction of the iPad
iOS's second coming took the form of the iPod touch's bigger, badder brother: the iPad. Developers had long wanted Apple to provide an upgrade-pricing option for the App Store--and they continue to want that today. But at least some of them have been able to take advantage of hardware changes to entice a few more dollars out of their customers. When Apple shipped the iPad, developers had the option of making universal versions of their apps, but a host of new "HD" versions of games, as well as other dedicated iPad-only apps, appeared. The iPad versions required new graphics and new layouts, but the functionality didn't have to change much at all.
iPhone screen changes
Sometimes, though, a change doesn't directly lead to an opportunity to charge customers again. When Apple added Retina displays to the iPhone and iPad, most developers didn't charge for upgrading their graphics to Retina quality. The same held true with the iPhone 5's larger screen size. However, if your app lacked such upgrades, it would likely lose out to apps that had them. If you wanted users of new iPhones to buy them and if you wanted to keep making money off your iOS app, you updated.
Take your change
The moral of this story should be obvious, since I've now beaten you over the head with it six times. Change is hard, but it's a mistake to consider platform transitions such as these a slap in the face to developers. This kind of thinking has always been wrong. Transitions are hardly done to spite third parties. Yes, when change arrives, as it inevitably does, developers have to put in some extra work--but that work will be rewarded.
Some of Apple's past changes were purely technological, while others were cosmetic. The reason iOS 7 is so contentious is that it represents a technological, functional, thematic, and visual change. But change is change, and change is opportunity. As Tapbots developer Paul Haddad said:
If you are an iOS developer and don't think iOS 7 is the biggest opportunity in years, you need to find a new job.
Without any snark, that really sums it up. Do you want to continue to be in on this platform, or do you want to do something else? iOS 7 isn't complete yet, and we can hope that some of the eyesores will get refined (straight into a shallow grave). So, yes, let's nitpick about icon design, and the apps that still have textures, and whatever else seems off. But Apple has set the overall direction. All that's left for developers to do is to decide what business they want to be in.