Monday, June 18, 2007

JavaFX'plained

Previously I gave an overview of Sun's present condition and prospects. Sun's recent announcement of JavaFX provides an illustration of how well Sun is doing staying on the right course.

First, remember to steal the good ideas
The use of one brand to cover disparate products is one of those bad ideas people really shouldn't steal from Microsoft. What the hell was COM, anyway? Sun had their own misadventure with one confusing name for a variety of technologies: “Beans.” Netbeans, Java Beans, Enterprise Java Beans, this beans, that beans. The meaning was obscure from the start and it turned into a semantic fog as things labeled “Beans” diverged from each other and from their original technologies. JavaFX carries on this proud tradition: In part, it is a product that was formerly called F3, or Form Follows Function. What a fine name. Let's replace it.

In part, JavaFX is the mobile Java and OS technologies acquired from SavaJe (“sava J?”, “savage?”) which is a stinky name that ought to be replaced – but not by the same one that will only confuse people. Now it's all called JavaFX. Alles klar?

JavaFX Script
The hard part about the discipline of focus is that people keep tempting you to chase competitive responses. This temptation is high right now, with Adobe attacking Sun on the server side with Flex, and Microsoft attacking Adobe Flash and server-side Java with Silverlight. I'll keep this brief lest anyone mistake me for a Web application guru: While F3 is a great product, it isn't enough to make Sun a key player in client scripting technology. Various Javascript/AJAX tools – many of which complement server-side Java - and Adobe Flash rule this area now. Microsoft has the chops to make a run at it, and Silverlight looks like a credible attempt. Why tilt at this windmill?

There are reasons to doubt JavaFX Script is up to the task: For one thing, it requires the full Java runtime - the same hurdle that makes Flash a more attractive alternative in many cases. It also relies on Java Web Start, a little-used and somewhat cumbersome technology for launching Java applications from Web pages. Silverlight takes a more direct approach to the runtime problem, shrinking the .NET runtime to where it can be deployed as a browser plug-in that is comparable in size to the Flash plugin.

There are numerous doubts about JavaFX Script's future: Can Sun apply the resources to make JavaFX competitive? It that possible without rearchitecting JavaFX Script? Is there a need for a Java technology other than, say, GWTs for creating browser-based rich interfaces?

The announcement of JavaFX Script looks like Sun gave in to the me-too temptation, and took an interesting but underdeveloped technology, dragged it half cooked on stage at a developer conference, and discovered that most of the audience's reaction was “Huh?”

It will take a marvel of cross-project coordination to make JavaFX Script work: A scale-able JRE, UI creation tools, improving on Web Start for deployment, etc., all going into the teeth of better-funded efforts at Microsoft and Adobe.

JavaFX Mobile
In addition to the general confusion that comes from using the same name for two different things, JavaFX's chances in Web applications could drag down JavaFX Mobile.

JavaFX Mobile is the re-branding of assets acquired from SavaJe. These assets include an operating system with roots in the Bell Labs Inferno OS, an implementation of JavaSE for mobile devices, a mobile phone user interface, and a suite of applications. Why not call it “JavaSE Mobile” or “Java Mobile OS?” That would be recognizable, descriptive, attention-grabbing, unambiguous. Nah.

Sun has a task ahead of it: Buying the assets of a failed startup with a pre-market product is dicey because the product isn't in saleable condition. Sun has to quickly diagnose what went wrong with SavaJe and make the right adjustments. This may include a substantial investment in product development on top of the cost of purchasing the assets. Purchased assets are seldom aligned with the priorities of potential go-to-market partners, so a purchase can look disappointingly off-target just as new resources need to be committed to it.

SavaJe took the most brittle strategy possible and broke their $120M VC pick on it. That doesn't make them stupid: A VC funded company's task is to pursue the opportunity the investors want pursued, even if it is riskier than what the founders might think is the optimal balance of risk and return. SavaJe pursued top-tier mobile OEMs with the proposition that Java SE on a minimal embedded OS from the same vendor makes for a compelling modern platform for mobile handsets.

Handset OSs are due for a shake-up. The winner, by default, for an off-the-shelf mobile software stack is Windows Mobile. Palm used to contend for this business but has failed to update their OS for too long now. And while mobile software took approximately twice the usual number of versions for Microsoft to get it right enough, Windows mobile is now a low-risk path to market for ODMs making smartphone platforms.

Still, there is a huge opening for other mobile OSs: Microsoft doesn't “get” OEM requirements: If you want a feature, they will add it to the list. Thanks for your input. Windows Mobile is too resource-heavy, and the license is too expensive for mass-market phones. Microsoft is a competitive threat to any OEM with an eye on the enterprise mobile and unified communications business. There are plenty of reasons the market needs an independent technology provider that isn't taking a vertically integrated approach.

So why did SavaJe fail? The short answer is that they failed to provide sufficiently compelling product and value to crack the very limited number of target customers they were aiming for. The SavaJe UI was no great shakes. From looking at it, and from what it did, it was hard to discern the benefit of a new OS and a Java application layer. In fact, the newness of the OS, and the need to buy and interface compulsory components like Bluetooth, dragged down SavaJe's ability to make use of Java as a tool for creating a superior user experience. Inner beauty doesn't put software on handsets.

On top of that, SavaJe's founders had an attachment to doing their own operating system. It's what they did at Bell Labs. It's what they understood best. And while the decision to use Java (instead of a purpose-built managed language system as in Inferno) was the correct one, the OS consumed resources and mindshare that could have been better focused.

There are other examples of attempts at mobile software stacks that lacked a reason to exist: Pollex, based in Beijing, tried the “it's cheaper” approach to the lower and middle-tier handset makers, and ended up in an asset sale to a chip maker that is re-purposing those assets under the heading “it's zero-cost.”

Which leads to one of the big questions facing Sun: double down on the operating system bet, or cut your losses and go with Linux as a mobile operating system, or they could go batshit crazy and convince themselves that if Apple could turn OS X into a mobile OS, Sun could do the same to Solaris. Frightening that that is even plausible enough to enumerate as a possibility.

Another big question Sun faces is: How to forge the SavaJe applications suite into a compelling user experience, and for what purpose? Look at the lesson of Pollex: Is SavaJe anything more than Pollex in Java? Sun has to come up with something better than “Series 60 is getting old.” Java, by itself, can't sell it. The story has to go something like “JavaFX Mobile solved the incredibly painful _______ problem for me, and what's more, it was a great software development experience customizing it because of Java.” If they can't fill in that blank, better to stop and rethink it.

Last, and not least, Sun faces the question: What is the market insertion strategy? There are only a handful of tier-1 mobile OEMs. Even if Sun comes up with an amazing mobile user experience, what makes it so compelling that a mobile OEM would give up their own differentiation through user interface in order to adopt Sun's? As a high-cost technology provider that can't afford to be as patient as Microsoft, it will be difficult for Sun to avoid the same logic that drove SavaJe into the long shot approach of targeting tier-1 mobile handset OEMs.

Sun has opened two fronts against adversaries that can apply more resources. The better decision would have been to pick one and go for a decisive win.

No comments:

Post a Comment