Tuesday, February 2, 2010

The #6 Reason that Sun has Set: Diddling with the Desktop

One of the most telling moments in my tenure at Sun happened when I was attending a quarterly sales training at JavaSoft back in the fall of 1999. Myself and the other members of the JavaSoft sales team had gathered to hear from our venerable marketing organization about what technologies we would have at our disposal to try to make our $100m Java licensing quota for that fiscal year. We all knew that the real money makers for the Java technology licensing business were going to be on devices (Java Micro Edition and its predecessors, PersonalJava and EmbeddedJava) and on big, enterprise-class servers (the Java Enterprise Edition technologies for application servers and content delivery systems). But personally, I was curious to hear about our plans for the desktop/web technology, a.k.a. Java Standard Edition. You know, the technology that basically launched the Java phenomena just a few short years earlier and had garnered all the developer interest and buzz amongst the industry pundits? The one that was going to give Microsoft's monopoly a good old fashioned butt-kicking? Would we actually, finally have a plan to eek some sort of revenue from Java SE? And if so, how? Maybe an App Store?

I was floored when the very first thing out of the mouth of our Marketing Director during her presentation of the roadmap for Java SE was "Microsoft has won the desktop". I was floored not because I had never heard this statement before or even because I thought it was in error, but rather because it seemed like a rather silly place to start from. Of course Microsoft had won the desktop - making this statement was as useless as stating that IBM had won the mainframe market. It was the biggest "no duh" moment I'd ever experienced. But at that time, Sun was not supposed to be about who had "won" a market - it was supposed to be about how Sun would challenge the winner and kick their butt. Clearly, something was happening to our competitive spirit.

As the presentation continued, we were told the "desktop" strategy for Java was to focus on having developers target Java EE, using server-side technologies such as Enterprise Java Beans, Java Servlets and Java Server Pages, to simply deliver standard HTML to the browser for the user interface. "Sun's not abandoning Java SE" we were told because it was the "foundation of Java EE" and "very important to developers". But "Rich User Interface" applications (like anything that used graphics, animation, video/audio, etc.) were not important to Sun's "customers" - i.e. those companies who bought big servers from Sun to handle large, mission critical applications for their enterprise - and so would not be the focus of our technology development. Besides, with the legal hassles facing us with the Microsoft breach of contract lawsuit and the difficulties in getting the Java Plug-In distributed and working, desktop developers were complaining it was too hard to write meaningful desktop apps in Java (our own internal development efforts being a prime example - any ex-Sun folks remember SunTEA?). "Rich User Interfaces" for Java were all going to have to be for smaller devices running Java ME - the idea being that Sun could do an "end run" around the desktop by embracing the "next wave" (more on that later).

The good news is that, over time, Sun did eventually focus on desktop "Rich User Interface" technologies like Java 2D, Java 3D, Java Web Start, Java FX, etc., but it took time. Too much time. By the time we delivered on the best of our desktop technology, Macromedia/Adobe Flash and browser-based enhanced HTML interfaces like AJAX had run away with most of the web/desktop developer mindshare. And Microsoft was not far behind with Silverlight, to say nothing of where Apple has landed with the iPhone/iPad and where Google is headed with Android (notice their moves on devices, but also on the desktop).

The experience with Java SE was really part of a larger identity crisis facing Sun in the late 90's and early 2000's. Our revenue all came from the "big iron" of the datacenter, but all our media buzz and developer traction came from our "cool" technologies like Java and Jini. Time and time again, Sun flirted with cool desktop technologies, only to eventually either abandon or subvert them as they strayed too far from Sun's core business - enterprise servers. And Sun never came at these technologies as a business, but rather as a marketing program to keep people talking about Sun while we tried to sell them enterprise servers. The idea that you can make money off the client was never seriously considered - clients were just there to drive transactions for servers.

It's easy to understand why most of our development efforts needed to go where the overwhelming majority of our revenue came from, but the harder lesson was to realize that even for our server business, the developer drove demand and the desktop drove the developer. Sun's abandonment of our desktop workstation business left a hole not only for desktop developers, but also for our ability to get early market validation of Solaris on SPARC processors, something that has impacted efforts on server development. In the end, the lack of a compelling desktop stifled Sun's ability to diversify its business and allowed competitors to monetize where Sun failed to do so. When hard times hit both Sun and Sun's customers in 2001-2003, we had nowhere to go but to double-down on the business that was in trouble. This is classic "Innovator's Dilemma" and, in a classic response, Sun failed to re-think its business model and products to adapt.

Was there ever really a business for Java SE, Applets, StarOffice productivity tools, thin clients or any of the other desktop products or technologies Sun has recently provided? The question, unfortunately, remains unanswered. It is not clear that under Oracle there will be a resurgence of desktop technologies or simply a token investment to appease loyal Sun customers and not much else. But with a stronger and earlier focus on desktops in general and Java SE in particular, I believe Sun would have been positioned to make many of the product moves that have helped turn around Apple, at least in terms of applications, games, media and online services (we would have had to partner for the actual consumer devices). Many in the media criticized Sun for investing too much in desktop technologies that seemed to have no place in Sun's product portfolio. I believe we invested too little too late.


  1. Thanks Kartik for pointing out the typo!

  2. OK, I'm curious...what is SunTEA?

  3. "SunTEA" was Sun's "Travel Expense and Authorization" application. It started life as an applet, but became a standalone application and later an online/offline nomadic app that could be used to record expenses on the road for later sync-up. It was relatively sophisticated and was very painful to develop and deploy, especially the nomadic version (this was before Java Web Start and other tools that make this somewhat easier). It was often panned by Sun employees as too difficult to use, but personally - after using Oracle's web-based expense reporting tool - I think SunTEA was brilliant. May it rest in peace.

  4. I remember Sun TEA. It was a pretty good app mainly because of it's graphical interface that worked pretty smoothly.

  5. I agree that Sun's abandonment of the desktop helped its downfall. Another disaster in this vein was the diskless JavaStation. It ran a pure Java Operating System on a color monitor. The developers of its desktop applications, like the calendar, absolutely refused to implement color as an option. Sun tolerated extreme mediocrity in long term developers.