Apple drops Java and more: so what?
The big news of the past week is that Apple deprecated Java, so we won't be probably seeing any Apple-made JDK in Mac OS X 10.7 Lion, coming next summer. But there have been other news, that is a Store for Mac OS X applications coming, similar to the one for iPhone and iPad. While Steve Jobs explicitly said that it's not "the" store, but "just another" store, that is it will be possible to manually install applications to Mac OS X as usual, the new thing carries the same absurd limitations typical of the iPhone store, so that any typical application from a competitor, such as Adobe Photoshop or Adobe Lightroom will be forbidden; and Java applications are forbidden as well.
Personally I think Steve Job is as reliable as a crooked politician - do you remember him proclaiming "Apple is committed in making Mac OS X the best operating system to run Java"? - so I don't particularly trust his intentions with the new store. The direction that Apple is pursuing is clear: move from computers to luxury appliances (yes, in USA the penetration of Mac computers has grown to 20%, but they're making only 33% of profits out of them, the remainder being iStuff) and grab as much as control as they can. I think it's not paranoid to suspect that they'll try to bring their current Mac customers to a walled garden model, where Apple controls what you can install, and maybe we will have "the Store" in Mac OS 10.8. After all, a famous italian politician once said "when you think bad of somebody you commit a sin, but you're usually right".
In fact I was not surprised at all of the Java deprecation: all the path of Apple in the past years, including referring to Java as "ball and chain", was clearly driving to that direction. I see that many Java developers are surprised and angry since they have invested a lot in Apple gear - guys, I really sympathise with you, but you should have seen it coming. You need a serious de-intoxication program to get out of the Apple reality distortion field.
Given that, what we should do now? Sure, don't panic and wait up to the end of the year before making a decision, because the community or Oracle might step in and provide a JDK for Mac OS X. But chances are 50-50, and at the moment we're left in the cold; so at least a backup plan must be figured out.
Well, in theory I myself should to nothing. Mac OS X was not my primary operating system since two years since when I prepared a triple-boot system and picked my reference applications so that I was as much as system independent as I could. In these two years I could choose whether to work either in Linux or Mac OS X (with the former being the most frequently used), only being bound to Mac OS X for some specific applications such as Adobe Lightroom or Keynote.
But now I can move a step forward. First, I'd like to update the analysis of the state-of-the-art operating systems that we're offered. To give some context to the discussion, I'm first enumerating my needs:
- Develop Java-based applications
- Deploy Java-based applications
- Run every-day applications (web navigation, email, preparing documents)
- Prepare presentations (including screencasts)
- Manage my digital life (photos, songs, etc...)
- I want a snapshot-capable filesystem such as ZFS.
For task #1, Linux is perfect and in my opinion the best choice. In the meantime, Microsoft has abandoned Windows Vista and moved on to Windows 7, which is a decent operating system, so t is probably another choice. It has the disadvantage of not being a *nix system and missing the plethora of command line tools of a typical *nix system; but the latter point can be addressed by installing the proper software (such as cygwing). Probably the two biggest annoyances of Windows are the file paths with the infamous volume letter and the fact that you need to run an anti-virus. Politically speaking, Microsoft is a tiger with broken nails and it's no more a wanna-be-big-brother as in the first years of this millennium: no concerns from this side.
For task #2, it depends. If we want still to support Mac OS X for our applications, we need to have a Mac OS X instance for tests. If neither Oracle nor the community will be able to provide a JDK for Mac OS X, this requirement will fade away, as in future it won't be any longer possible to run Java. If this happens, we'll be able to happily get rid of Mac OS X.
For task #3, Firefox, Chromium, Thunderbird, OpenOffice run smoothly on Linux an Windows, and we don't need Mac OS X.
For task #4, nothing changes if you're fine with OpenOffice presentations. In the past year I've started using KeyNote and while the plethora of graphics effects are by far redundant, it actually allows you to deliver a better presentation, with a proper use of animations and fade in/out effects. KeyNote needs Mac OS X. BTW, I'm appalled that there's no other decent tool around for other operating system, but perhaps I've to search better. Software for recording and editing screencasts can be found for Linux and Windows, even though nothing is so simple to use for post-processing as iMovie.
For task #5, Linux is not an option. Unfortunately, the Linux community is still wasting time in providing redundant distros and ideological discussions, but nobody has been able to provide a comprehensive solution for managing large sets of photos such as Adobe Lightroom or Apple Aperture (my blueMarine - in the more optimistic view - needs still some time, even though it's ok for my basic needs of cataloguing; but for graphic editing and printing, I need Adobe). There are commercial products such as Bibble Labs that support Ubuntu and have a reputation for the quality, but AFAIK thew miss the flexibililty of Lightroom. I suspect this is one of the reasons Linux is still failing on the desktop for regular users (PC World recently declared Linux desktop dead as - in spite of the big chances offered by Vista's fiasco - it failed to raise its share up to 1%; while I'm not convinced that the game is over, at present time it's a failure). Windows 7 could be an option, since Adobe supports it.
For task #6, Mac OS X is still the best option (with the FLOSS support for ZFS), Linux could be (ZFS is slow as supported only by means of Fuse; BTRFS is available in the kernel since a while, but it's not stable enough, and Canonical postponed the choice of using it as the primary filesystem to 11.04); Windows is not an option. I'm not counting OpenSolaris, which would be the optimal choice for ZFS, since it has been dropped by Oracle; Illumos is too young.
My next step is to further reduce the dependency on Mac OS X, by improving the integration between my multiple boot and virtualization (VMWare, which is the third product I'm trying after Parallels and VirtualBox, seems to easily allow the use of native partitions in a virtual machine). Adobe Lightroom could be run in Windows 7 accessing the photos in a shared folder from the host machine; for iTunes I just have the problem of converting a few collections I bought from iTunes (a thing that I'll never do again) and are DRM-protected; for KeyNote, I'll search for an alternative. For the virtualization thing, I'm now trying to use Windows 7 or Linux as the host system, instead of Mac OS X. A legal problem is that Mac OS X license forbids its use in a virtual machine - but Mac OS X Server doesn't, and it could be the solution.
Summing up, in a few months I should be able to reduce my use of Mac OS X to the bare minimum, possibly only to test the deployment of desktop Java applications. In the sad case in which there won't be any Java VM for Mac OS X in future, I'll obviously drop support for Mac OS X, which in turn means that I'll be able to drop Mac OS X entirely, and this would also mean that I'll enjoy more freedom in buying my next laptop, no more necessarily being an Apple product.
Of course, I'll miss the usability of Mac OS X. Ubuntu, in spite of its huge improvements, is still missing many little-but-fundamental things. But you can trade-off something for more freedom (and the happiness of not supporting Apple to become the wannabe-big-brother of the next decade).