Are Java and Flash doomed on the Mac?
October 25th, 2010
Daniel Eran Dilger
Apple left Sun’s Java and Adobe’s Flash off the iPhone in 2007, resulting in a death-stroke for both in the mobile arena as the iOS attained its influential position. Will the same happen on the Mac?
Regular readers will recall I was unique in predicting that Apple would turn the mobile world upside-down by omitting support for Java and Flash, which at the time were viewed as the most promising mobile middleware platforms (next to the similarly ill-fated Symbian and BREW. I recall one reader sending me incendiary hate mail at one point insisting that an iPhone could only possibly make sense were it to be based upon Symbian).
Apart from my bleak outlook for Flash and Java among mobiles and on the iPhone in particular, everyone else in 2007 seemed quite confident that Apple would “any day now” deliver a version of Flash for the iPhone. My prediction was quite easy to make, however, because Apple was already quite unequivocally adamant that its developers not use Java or Flash because it had no plans to support either.
I’m often right, not because I’m so smart, but because I’m liberal-minded enough to accept that obvious changes are in progress, rather than conservatively maintaining that things can’t possibly change because the way they’ve always been is the only possible way they can ever be.
But what about the Mac?
The fact that Apple didn’t want Java or Flash on the iPhone in 2007 is almost completely unrelated to the company’s recent efforts to avoid bundling Flash on new Macs, or its stated intent to deprecate its own implementation of the Java Virtual Machine for Mac OS X and likely stop bundling it with future versions of the OS.
On the iPhone, Apple was launching a new platform it wanted to mold and own. There was little to no benefit to adding a mobile Java VM, which would only have enabled the uncertain promise of compatibility with some existing trivial Java ME software. On the other hand, adding a Java VM would have doubled the size of the iOS while requiring more resources to actually run this alternative software in tandem with Apple’s own Cocoa Touch platform. It would also have required Apple to devote a significant portion of its development resources to maintaining this substantial amount of low value code.
On the Flash side, a functionally-useful mobile variant of Adobe’s platform didn’t even exist. Steve Jobs correctly summarized at the time that there was only Flash Lite, which didn’t do what users expected of Flash, and the desktop version of Flash, which wouldn’t fit on the iPhone. Cynical critics assailed his explanation in various ways, but Jobs was right and they were wrong. Three years later, Adobe still hasn’t been able to deliver a very usable version of Flash on any mobile device, even with the help of three years of dramatic increases in the amount of processing power and memory resources available on them.
Jump ahead to 2010, and the Mac has a very different set of circumstances. Mac OS X’s Java VM isn’t really used by many desktop applications, but it is valuable to developers working on web and other server-side products that are often based on Java. Flash on the Mac is also significantly more useful and less of a performance issue on a desktop or laptop (relative to a mobile device), even if it is still a bit of a pain on the Mac.
Apple’s explanation of why it isn’t bundling Flash on new Macs isn’t that Flash isn’t well suited to run on the Mac, but rather that users can obtain the latest version directly from Adobe, just as they can obtain the latest version of Silverlight from Microsoft. Unlike iOS devices, Macs have no problem downloading a Flash runtime from Adobe.
Java is a different situation, because Apple doesn’t merely bundle Oracle’s code (as it does with Adobe’s Flash plugin); rather, Apple has historically managed significant customizations to the standard Java distribution that enable it to fit into the Mac OS X environment. This has resulted in Apple’s implementation of Java for Mac OS X trailing the official release by a significant delay, one that has increased as Apple’s interest in maintaining Java has waned.
Apple would prefer that Oracle or the community would take over Java on the Mac, because it no longer offers much value to Apple. A decade ago, having an up-to-date Java VM on the Mac was an important part of Apple’s development strategy, particularly as Java rapidly developed on its own. Apple assumed ownership of the Mac version of Java just as it later took over maintenance of the Mac’s web browser, because it didn’t want to leave this critical piece in the hands of others who might drop it due to a lack of interest.
As with Flash, Apple isn’t opposed to having Java on the Mac, it just doesn’t want to have to maintain it any longer. Rather than immediately dropping it, Apple has signaled that it will be putting its own Java implementation into maintenance mode and might possibly not even include Java in Mac OS X Lion, leaving Oracle or the community to pick up the slack. Recall that open source advocates always maintain that the community will rush in and take ownership of valuable software when it’s openly available; this will certainly test that concept.
Will the end result be the same as with iOS?
While Apple won’t be doing anything to block Flash or Java on the Mac, will its actions have any effect on the viability of either on the desktop? One could argue that there’s little benefit to having an older version of Flash preinstalled on new Macs given the savvy of today’s users to download plugins and updates. One could also argue that Java on the Mac is important enough to users (and to Oracle) that planets will align to deliver a functional, up-to-date version of Java for Mac OS X going forward. However, I’d like to point out that Apple is the tail that wags the dog.
Now that Apple has effectively erased any hope for Flash on mobile devices (by uprooting it on the most valuable smartphone, media player and tablet platforms, and then salting the iOS soil it would hope to grow in), the act of passively failing to preinstall it on new Macs seems downright friendly. Considering that Mac OS X only amounts to 10 percent of the PC market, the initial absence of a Flash plugin on new Macs will have much less of an impact on notebooks and desktops compared to the complete lack of Flash on iOS, which represents the most valuable majority of mobile devices. Outside of the iOS, Adobe is struggling to launch betas of Flash for the various other operating systems on mobile devices, while it enjoys a strong presence on desktop PCs, nearly of which run Windows.
However, that situation would change dramatically were Microsoft to follow Apple’s lead in dropping Flash from pre-installation on Windows PC. Apple’s “it’s for user security” explanation could give Microsoft a pass against any sort of legal challenge by Adobe, and Microsoft would certainly benefit from being able to bundle Silverlight exclusively. If Microsoft copied Apple, the installed base of Flash on the desktop would drop precipitously, putting the onus on Adobe to market and distribute Flash just like Apple has to sell QuickTime and iTunes rather than rely on Microsoft to do it for the company. Recall that Macromedia attained its initial popularity for Flash because of a bundling deal with Microsoft. What the company gives it can take away.
Even if Microsoft were to fail to follow Apple’s lead, the relatively small market share of the Mac is more influential than it may seem. Mac users are not only more influential as a marketing demographic due to greater wealth and education, but they also make up disproportionally high numbers among consumers and in education. NPD’s retail market share numbers already give Apple more than 20 percent of US market share among consumers, and in education Apple owns half or more of many segments. Turning Flash into an opt-in platform among these users would have a significant impact on how attractive Flash is to developers and advertisers, compounded by the conspicuous lack of Flash on the iPhone, iPod touch, and iPad.
It won’t take much to further erode the already stagnant mindshare of Adobe’s Flash, particularly as mobile devices continue to replace and expand upon the plateauing market for PCs. And as Apple continues to eat up market share in the mature market for PCs, the lack of Flash on new Macs will only hasten its demise. Adobe has always relied on third parties to distribute Flash for it; now it needs something to sell Flash the way the iPod helped Apple to spread the installed base of iTunes and QuickTime among PC users. I do not see Adobe successfully pulling anything off along these lines.
What about Java?
Apple doesn’t really have a adversarial relationship with Java in the way it does with Flash. Apple isn’t trying to push some Java-alternative against an established status quo the way it is working to push web standards to replace Flash. True, Apple would rather have developers use Objective-C and Cocoa rather than build Java apps, but there isn’t much direct competition. Java is already dead on the desktop, and there’s no threat to Apple’s Cocoa from Java on mobile devices. Conversely, Apple doesn’t offer any Cocoa-based server side products that challenge Java in that market; the company actually makes extensive use of Java itself in its WebObjects and other custom server-side products and services.
The reason Apple is pulling away from maintaing Java for Mac OS X isn’t to starve the platform to death (as it would like to do with Flash) or to focus attention on Cocoa (the two aren’t vying for any shared spotlight). Apple is just working to save itself some effort. Recall that somewhere around half of the vulnerabilities reported for Mac OS X by the very disingenuous group at Secunia are actually problems in Java.
Microsoft likes to make hay about vulnerability counts, and has regularly made completely false comparisons between the “vulnerabilities” in Apple’s entire distribution of Mac OS X (and all the third party and open software included in it, including Flash and Java) and a portion of the software included within the definition of Windows.
By not bundling a Java runtime, Apple can save itself a lot of work, shed some weight in Mac OS X, and drop responsibility for all the vulnerabilities discovered within Java itself and in Apple’s customizations to Java on the Mac. Users can keep using Apple’s existing version of Java and transition to newer builds released either by Oracle itself (which uses Java to deploy its own products on the Mac) or the community at large. Unlike Flash (or Java ME among mobile devices), nothing Apple does related to Java within Mac OS X is likely to have a significant impact on how Java is used in the server and enterprise markets where it currently thrives.
For end users however, Apple’s pulling out of Java maintenance means the company will have more resources to devote to core OS development, user interface enhancements, and new software such as iWork, Pro Apps, and the Mac App Store initiative. Issues around Java for Mac developers should solve themselves, while the question of Flash is likely to answered by a succinct “no.”