San Francisco?Java has a new look and?it would seem?a new focus. On the first day of the 2003 JavaOne developer conference Tuesday, Sun Microsystems unveiled an updated Java logo and revealed a big marketing push to raise Java awareness among consumers. In years past, this conference was the esoteric domain of hardcore Java developers and advanced tech-speak, where JDK upgrades were announced and new coding techniques were always among the hot topics of discussion. This year’s opening keynote, however, showed Sun’s concerns over getting Java technology in the hands?and minds?of consumers, not just developers.
The key theme of this year’s conference is inarguably the opportunity that exists right now for Java in the consumer wireless space. Large portions of Tuesday’s general session focused on consumer devices, consumer applications, and provisioning. While we were surprised that Sun expended no energy at all discussing enterprise wireless development?or enterprise development of any kind?Sun clearly?and rightly?sees the 1.5 billion Java-enabled wireless handsets as a market opportunity for Java and its developers.
The morning keynote Tuesday was peppered with statistics about the size of the consumer wireless opportunity?$1.6 billion in revenue for ringtones alone?and the likelihood of adding 250 million more Java-enabled handsets to the market in the next six months.
Ease of Development
If developer applause can be considered a valid metric for success, Sun is also scoring points for major upcoming features in the Java language. The conference highlighted some language improvements that should accommodate the other overarching theme of the 2003 JavaOne conference: ease of development (EoD).
The EoD theme was reiterated throughout the general and technical keynotes. As Graham Hamilton, Vice President and Fellow, explained in the technical keynote, the challenge with having a technology as powerful as Java (particularly for enterprise application development) is that complexity often is a byproduct of its vast capabilities. Sun, therefore, has a mandate to improve simplicity throughout its Java developer kits.
Sun sees a big opportunity in enabling simplified development with Java tools geared toward smaller, departmental-level applications that don’t require the power of full-scale technologies like J2EE. “That’s the space where historically Visual Basic is very strong,” said Hamilton, “and those technologies are still very entrenched in that space. That’s a big growth opportunity for us. That’s where we can acquire hordes of new developers for the Java platform.” Sun offered no details, at that time, about how it plans to seize this opportunity, which presupposes an immense developer migration from Microsoft technology to Java.
To show developers how Sun will make developers’ jobs easier, the company highlighted a few upcoming EoD features in JDK 1.5, due out in 2004. Code-named Tiger, this release represents the first major upgrade to the Java language since 1995. Among its new features:
- Iterating over collections
- Enumerated types
- Autoboxing (and unboxing) of primitive types
- Simple formatted I/O
- printf capability, like that in C++
- Enhanced scripting language support
The metadata feature represents a shift in how Java developers code, from imperative programming to declarative programming. The feature will enable programmers to define new attributes and annotate classes, methods, and fields. Java tools and libraries will then be able to use the annotations to alter the way the applications behave at install time or at run time.
The generics feature, long available in C++, has been in the works for years, according to Hamilton. Although designing generics was difficult, “using generics is quite straightforward,” he said. This feature allows the creation of parameterized classes and methods, enabling Java developers to create custom variations of their code for different types. Developers, he said, typically know the specific types they are using, and generics allow them to declare the types at design time, rather than having to cast values from Object to the correct type at run time. In an example taken from JAX-RPC code, a seven-line snippet was reduced to four lines after applying generics.
Sun executives also discussed Java’s intermediate feature releases. Bug fixes are a primary feature of both releases. The 1.4.1 release, which appeared in September 2002, added parallel and concurrent garbage collection. The 1.4.2 (due in June 2003) release will add new GUIs for Windows XP and GTK+ as well as performance enhancements for application startup and Java Swing.
Keeping WORA Alive
Although these language changes were a highlight of the technical keynote, Sun’s overall focus rarely shifted away from consumer wireless technologies.
Perhaps the most exciting announcement to support developers of wireless consumer applications was JSR 185?Java Technology for the Wireless Industry (JTWI).
In the technical keynote, Sun Distinguished Engineer Tim Lindholm frequently called JTWI a “roadmap.” More specifically, JTWI is a guideline for Java software vendors to adhere to certain specifications and standards in a preemptive strike against future transmogrification of Java. As the wireless industry continues to diffuse, both on the software and hardware sides, Java development is endangered by the need for a very high number of various implementations to satisfy the high number of platform variations deployed. This combination puts a huge burden on Java developers to modify their applications to run on specific combinations of hardware and software and to satisfy the huge number of third-party APIs being deployed with handsets.
“APIs can be defined by vendors to take rapid advantage of new platform functionality,” explained Lindholm. “APIs are also used to differentiate their platforms from other vendors’ platforms. There can be differences in platform implementation that might be why the spec gives you a certain flexibility of implementation, but if you take advantage of that it can lead to failure of interoperability of the implementations.”
JTWI, he says, will verify “what JSRs work together and how. And it creates a roadmap for the deployment of this core set of wireless technologies. In doing this the intent is to try to preempt vendor-specific APIs by giving vendors a better idea of where the platform is going. It will also improve compatibility and interoperability by getting vendors to agree on specific behaviors where standards allow behaviors to vary.”
An initiative like the JTWI, if successful, is precisely the kind of first step that Java wireless development desperately needs. With dozens of vendors supporting thousands of handsets and more diversification on the way, the JTWI may help stem the tide of diversity in the wireless industry that threatens now to make a mockery of Java’s Write Once, Run Anywhere mantra.
Version 1 of this “roadmap” is slated to address these specifications:
- CLDC 1.0
- MIDP 2.0
- WMA 1.1
- MMAPI 1.1
Close a Window, Open a Door
Arguably, the single most damaging thing to happen to Java in the last three years was Microsoft’s post-litigation decision to cease distribution of the Java runtime on Windows beginning in January 2004. Sun realizes it can no longer rely on Windows as a distribution channel to end-users for its Java technology; it needs to get that technology on desktops and devices directly?and fast. To that end the company announced Wednesday an agreement with Dell and Hewlett-Packard to ship Java on personal computers from those manufacturers, bypassing Microsoft’s involvement.
And so it lightened our steps a little bit Tuesday to see just how well Sun understands this threat, even if it was a little uncomfortable to watch Schwartz on stage asking developers for a “favor” in aggressively distributing a graphical button to initiate the download of the client runtime. “Proliferate the Java logo; get the word out,” he said. “Microsoft is trying to stand in the way” of Java development.”
Microsoft will need to stand in line; Sun can’t even get out of its own way. To get the button that Sun desperately wants people to distribute, you must agree to a senseless and ridiculously restrictive use agreement. The hubris of the Sun legal department is always good for a laugh.
The download button is only one of several actions that Sun intends to take over the next several months in an effort to assure that the transition of Java from embedded Windows component to user-initiated software download is as smooth as possible.
Schwartz announced that Sun would undertake a major marketing effort for Java, called “Java Powered.” The extent of the Java Powered campaign remains to be seen, but there were two announcements Tuesday that clearly go hand-in-hand in promoting the Java name as a consumer software brand:
- A new Web site, www.java.com, and
- A redesign of the Java logo
“You are going to see us unleash?along with our partners?a very large amount of money and resource and energy to drive awareness of this logo across the planet,” said Schwartz on the unveiling of the gently altered Java logo. “You are going to see it in places you’ve never seen it before?on microprocessors on smart cards, on handsets, on billboards. We’re really going to take this to the marketplace, not just with Sun, but with all the all the partners who have a vested interest in ensuring that this brand and what it stands for are successful,” said Schwartz.
Java.com will be the destination that Sun will use to promote the Java name among consumers and to promote the download of the runtime. It is, by all appearances, a consumer Web site in the purest sense, complete with game downloads and a flashy, fashionable celebrity spokesperson in the personage of Christina Aguilera. And, following in the footsteps of Intel and the quartet of dulcet tones that announce “Intel Inside,” Java even has an official sound byte now.
Although the new java.com Web site, the public face of Java technology for end-users, is a direct foray into the consumer market, Sun still needs the core Java constituency?the developer?to make the type of inroads it seems to be planning. Developers must continue developing the Java applications that serve as the goods Sun sells on java.com, which essentially is an e-commerce site of aggregated third-party consumer applications that users can purchase and download to their desktops or mobile devices.