Java and Sun's operating systems: better together?

Every now and then I find myself playing the Howard Beale (Peter Finch) role in Network, across from Arthur Jensen (Ned Beatty), the capitalist visionary who explains how things really work. At Digital ID World in 2002, it was Phil Becker who channeled Arthur Jensen. During last week's Gillmor Gang show, it was Sun's Jonathan Schwartz. In the wake of JavaOne I'd been thinking tactically about technical aspects of Java. For Schwartz, though, it's all strategic and economic -- as in this sermonette on leasing and net present value. I've thought a lot about subscription businesses, and I've even helped create one, so I have a basic appreciation for the model. But I'm not qualified to evaluate Schwartz's plans for turning Sun's various assets into recurring revenue -- at least, not on financial terms.

I can, however, make some observations about the fitness of those assets for the stated purpose. Java, in particular, has always delivered the right mix of ingredients -- at least in theory. It's portable. It scales up to the cloud and down to the handset. It's a robust substrate for network services. And it can project a rich user interface onto any device. In practice, though, it's been a challenge to exploit all this goodness with the Java layer decoupled from its OS substrates. I can think of a couple of ways in which tighter integration could be useful:

As Schwartz notes, Sun's plans for the Windows desktop ran afoul of tactics for which Microsoft wound up making a "two billion dollar apology." OK, but what makes Java special on Solaris servers, or on Sun's Linux desktops for that matter? Sun asserts that Solaris is the best Java substrate, but doesn't marshall a lot of evidence. I haven't seen the same kind of argument made for Sun's version of Linux, in comparison to other Linuxes, but since the Java Desktop System doesn't run much in the way of Java software, the point's kind of moot.

It was inevitable that Java would grow more operating-system-like over time. One example is application isolation, specified in JSR 121. Another is dynamic management of the Java stack on J2ME devices, described in JSR 232 and demonstrated by Nokia at JavaOne. In this Real clip 1 from the twenty-minute concept video, we see Java components deployed to a network of Nokia Communicators, and then remotely managed. This is no doubt a great thing for the world of handsets. But desktop and server operating systems have their own highly-evolved management methods, to which Java is somewhat orthogonal. If Sun's own operating systems are going help create the new economic world order that Schwartz envisions, maybe they and Java should find ways to work more closely together.

1 Accessing this clip, by the way, was no mean feat. Sun's video URLs are even more elusive than Microsoft's.

Former URL: