Apple Must Stop Doing Other People's Dirty Work
It used to make sense for Apple to be the conduit for third-party application environments that run on the Macintosh, but those days are long gone. Although I’ll miss the convenience of being able to rely on Apple for updates to those runtimes, the companies that own those runtimes need to pick up their share of the load.
Apple revealed last week that it would no longer include Adobe Flash in the preinstalled software packages on the new MacBook Airs and on future equipment as well, and it appears the company has a similar plan afoot for Java, one that will kick in perhaps as early as next year, when Mac OS X 10.7 “Lion” ships.
Many in the blogosphere have been wailing and rending their garments in horror, and I guess I see some of their point. But I don’t need or more importantly, want to have every software package that I use blessed by Apple - lockdown is one thing when we’re talking corporate systems, but since I am my own sysadmin, I prefer a more laissez-faire approach.
Back in the early years of this century, when Apple was transitioning its customers from MacOS to Mac OS X, it made the choice to nurture the fledgling platform and take on the responsibility for ensuring that Flash and Java were as solid as possible, to preserve the quality of the user experience. At that time, it was the right thing to do; the Jaguar and Panther releases of Mac OS X were somewhat of a gamble, and by taking control of the distribution of Flash and Java to the Mac, Apple made it possible to avoid the problems that I remember dealing with on Windows, where it seemed that we had new releases of the runtimes every week.
But as much as Flash is a thorn in my side today, I’ll happily point out that it’s a pretty stable environment; the problems I encounter with it have more to do with the way people use it, or more often, overuse it. Meanwhile, Java is in for a rocky stretch as the developer community gets used to its new masters at Oracle, but that discussion (for now, at least) appears to be more of a political bunfight that has yet to affect the software.
Some see this as the ego of Apple CEO Steve Jobs at work; he’s spent a good chunk of this year picking fights with Adobe over Flash, and he refuses to allow it anywhere near his pet platform of iOS. But when the iPhone was first opened up to third-party applications, Flash was a “maybe” while Java fell into the “over my dead body” category from the start. That’s why when Apple’s last Java update came out, one could be forgiven for seeing the hand of Jobs in the use of “deprecated” to refer to the Java that Apple produces for Mac.
But I can’t think of a better word to describe Java for Mac, at least from a computing perspective; Apple's Java always trailed the official builds from Sun, and now Oracle's builds. That can’t be helped, because Apple relies on the owners of third-party runtime environments to provide the core code to be ported to Mac.
It’s time for that to stop. Apple’s developer resources are better spent on its own platforms than on helping other people’s code to run on Mac. Even if it’s only a matter of one or two engineers, I’d rather see the brains of those people devoted to something I actually want, like a version of Safari that gracefully surrenders unused memory, or versions of Mac Mail and iCal that actually cooperate.