JavaOne is a conference that struggles to retain its importance. Most of the innovation has moved on to Twitter and social networking services, beautiful multimedia user interfaces in Apple's iPhone, Ajax and Flash, and improvements in usability of enterprise applications built on successes from the public Internet (Flikr, Google Maps, and Yahoo User Interface.) That leaves Sun to look inward at how the Java platform is built and how to make it easier for developers to use Java tools
On Monday Sun provided a meeting hall and some structure for CommunityOne, a pre-conference ostensibly for open-source community projects centered around Java. The topics were strange and varied. For instance, CommunityOne features a whole track on NetBeans development. While NetBeans continued development is impressive it still falls short of Eclipse, IntelliJ, and other Java IDEs. About the only motivation I could find from ISVs who participate in supporting NetBeans is to curry favor with Sun. And I'm a NetBeans user!
The Monday and Tuesday sessions at JavaOne featured some basic chaos. Long lines of delegates going in both directions, guards turning people away based on the Fire Marshal's demands for order, and putting two of the CommunityOne tracks into the big, noisy, echo-filled room to battle it out for attention.
hosted its second Unconference. This is an entirely democratic event where people vote on what they want to hear at the start of the day. This year delegates wanted to hear about Open Source business models, Twitter best practices, and Rich Internet Application development.
The Open Source Software (OSS) business panel oddly centered on OSS futures, although there was also the usual talk about licenses. "Most successful open source projects are using GPL," Mårten Mickos, former CEO at MySQL and now of Sun. (By the way, that was the only thing I saw of MySQL at the entire JavaOne.) [Editor's note: I saw more - mostly around optimization and management of MySQL, from companies like Hyperic.]
Many wondered what happens to OSS as users and businesses move to Software As A Service (SAAS) models. The argument some put forward goes like this: SAAS delivered applications reside in the Internet cloud and not in the source code so the need for OSS goes away. A second argument put forward is that OSS is about commoditizing software applications and utilities. Personally I don't see it this way at all. OSS software delivers important components of a SAAS application. PushToTest customers are already benefiting from our test and evaluation services delivered as a service. The GPL-based Affero license
accounts for cloud computing. And the whole talk about commoditizing software gets wrong the innovation happening in OSS software.
Sun is now ([Editor's note: again?]
) in evangelism mode for OpenSolaris. OpenSolaris features new Image Packaging System (IPS), ZFS as the default filesystem, and DTrace. This week they launched OpenSolaris.com
to provide an easy download location for developers to get the OpenSolaris operating system.
Sun launched test.opensolaris.org
this week too. This site enables self-service testing of applications built on OpenSolaris and contributions to OpenSolaris. You upload your development software, submit functional and performance test runs on a selection of machine architectures and view the results online. The test farm includes a Sun4v UltraSPARC (2x8Cores) at 1.2 Ghz, and AMD64 (2 and 8 x 2 Cores) at 2.8 Ghz. Where's my 64 processor SunFire?
Macs, Macs, Macs
Apple finally released Java 6 for Mac OS X
last week. They did so very quietly as if to save the shame that Sun should be feeling now. Java 6 on Mac OS X is at least two years overdue.
Mac OS X was everywhere at JaavaOne. With so many people clearly using Java on Mac OS X it makes me wonder how much longer Sun thinks it can dismiss, ignore, and treat Java developers so disrespectfully before turning developers off to the Java platform. Will Java 7 ship on Mac OS X in 2010?
Much of the future of JavaFX's success depends on Sun being able to demonstrate a faster rendering engine and better ease-of-use. As I watched one general session demonstration after another on Mac OS X I wondered what version of Java they were running? Sun showed an example of 200 HD videos being rendered around a sphere in real-time on a MacBook Pro. The rendering was very smooth and showed the high performance nature of the JavaFX engine. What version of Java ran that demo?
There was much hallway discussion of ways to run Java on Mac OS X. VirtualBox
– recently acquired by Sun - received much praise from a couple of delegates I met as an open-source alternative to Parallels
. VirtualBox is a family of x86 virtualization products licensed under the GPL. VirtualBox runs on Windows, Linux, Macintosh and OpenSolaris hosts and supports Windows (NT 4.0, 2000, XP, Server 2003, Vista), DOS/Windows 3.x, Linux (2.4 and 2.6), and OpenBSD. VirtualBox 1.6 is optimized for Mac and adds support for Ubuntu and OpenSolaris. It is impressive to see an OpenSolaris application running in a window on the Mac desktop.
I learned that DTrace
runs on Mac OS X. This makes deep root-cause analysis work into Java applications possible on Macs.
Open Source Test Alliance
My company, PushToTest
, and Eviware
, announced the Open Source Test Alliance
at JavaOne. The Alliance is meant to deliver an open-source test automation technology stack and platform to streamline and accelerate mission critical testing in the Service Oriented Architecture (SOA,) Web service, Web application and Ajax development lifecycle. The Alliance starts with PushToTest and Eviware and we are reaching out to other open source test projects. Details are at http://alliance.pushtotest.com
Hallway discussions at CommunityOne
Tim Bray of Sun told me "We are very happy to have Frank Wierzbicki of the Jython team working at Sun. Of course, the scripting language team is now a dozen people as compared to the thousand on OpenSolaris."
Ole Matzura of Eviware, the soapUI
guys, showed the new soapUI plug-in for NetBeans. The plug-in uses Swing, as opposed to something like the Eclipse AWT/SWT bridge, and enables users to open a soapUI test project from within a NetBeans project. The plug-in also enables users to create a soapUI test case for a service defined in a NetBeans project.
Lauren Cooney (formerly of BEA) is now formerly of IBM. She starts at Microsoft next week. And, it was just strange to see Dave "Mr. ESB" Chappell, formerly of Sonic, talking about his new employer, Oracle. Duncan O'Rielly is always interesting. Lastly, Cameron Purdy, formerly of Tangosol, looked amazingly relaxed. He told me it is an illusion. :)
After being forced to change Javapolis
to resolve Sun's claims of trademark infringement, the conference hosts chose Javaoxx. That's not good enough for Sun since it still includes the word Java. So the hosts are looking for another name. They are considering sunsucksopolis.com. [Editor's note: Eclipseopolis? Coffeeopolis? *sigh*
is a full-featured application server. It is not extensible, it does not interface with other libraries, it does not generate code. BluAge takes care of the entire application and provides a single neck that its customers can strangle. Their strategy is reminiscent of the 1980's: the Apple of application servers.
All Things Twitter
The Redmonk Unconference featured a session on Twitter
best practices. Jay Edwards, the Operations Engineer who makes Twitter work, sat next to me as we discussed the Top 10 bad behaviors on Twitter, how companies are benefiting from Twitter, and a list of wanted enhancements.
I am @fcohen on Twitter. Please respond to my call for attention and love by following me...
The Top 10 list of bad behaviors starts with Twitter diarrhea. Followers don't need to know everything! This was followed by Tweeting secretly. Several delegates gave witness to telling their loved one that they were just going out for a cigarette when instead they are checking out what everyone is Tweeting. Anyone using bots to generate Tweets is practicing bad behavior. For example, the bots that generate a Tweet saying "I am streaming live right now!" When the ratio of URLs posted to Tweet content is more than 70% then you are practicing bad behavior too.
There were lots of questions about instant messaging (IM), RSS, and Tweets. There was general agreement that RSS is not a push technology and instant messaging is not as viral as Tweets.
Among the new inventions for Twitter is a service called Summize. James Governor of RedMonk said "Summize is the killer app for Twitter." Summize lets you search for discussion topics among the Tweets. It lets you get into areas of interest on Twitter much faster than using the standard search techniques.
Several delegates pointed to Zappos.com
for Twitter success. Jet Blue is responding to customer support questions using Twitter. Zappos wrote their own Twitter tracker at http://twitter.zappos.com
Improvement ideas abound: A TinyURL preview function. There is a Firefox plugin that shows the whole URL from a TinyURL. Ratings and Report Spam are being considered. TweetScan
were also mentioned.
Since Jay was sitting next to me I felt obliged to ask him about the rumors that Twitter is moving off Ruby on Rails. Jay said Twitter depends on lots of different systems. He attributes the rumors to their Jobs posting page
. They are looking for C++, Java, Scala, Ruby people with large distributed system experience. It is just a rumor. (Twitter was down again Monday night.)
Creepy Keynote Talk
Sun highlighted several devices running embedded Java runtimes as examples of how Java is pushing the platform out into intelligent specialized devices. For instance, Sun highlighted the Sentilla
devices at JavaOne. Sentilla uses the embedded Java runtime and two infrared sensors mounted on the doors to the meeting halls. The sensors measure people entering and exiting the room.
In the opening session James Gosling showed a large industrial steel enclosure for a tiny carbon dioxide sensor. Holding the enclosure up James said, "If the mine blows up the CO2 sensor keeps working." Never mind the miners. Creepy.
When talking about the Oyster Card for the London Underground, John Gage of Sun told delegates that he has the older passport, the kind that does not have an RFID chip. John described the communication from the RFID chip, "Hi, I'm an American. Can you detonate the nearest device?" Even creepier.
The Sun iPhone
Rich Green, Executive VP of Software at Sun, lead the rest of the opening general session. Rich ran a 1 minute commercial of everyday people using information services to travel, to plan meetings, and to coordinate business tasks. The commercial makes Sun look like Apple - great user interfaces, cutting edge technology, just in time for 2003.
Later in the general session Rich introduced Rikko Sakaguchi, Senior VP at Sony Ericsson. This is 6 year old private company doing $19 B in sales in 2007 having grown 4 times in 6 years. Rikko showed a video featuring a young man and woman who use social networking, multimedia (songs, videos, images,) texting, and collaborative art creation tasks to come together. The video implies that Sony Ericsson can get to this solution using Java.
The two videos couldn't be further from the truth. Anyone try to use a Solaris keyboard lately? [Editor's note: wHY YES' i HAVE. wHY doyou ASK^]
Sun does not have the competence to pull off good usability in consumer products. Nor should it. Sun is a hardware company with a successful middleware software product line. When it strays, with things like JavaFX, the product strategy just looks strange.
Sun showed many JavaFX
demonstrations. Java update 10
includes the JavaFX plug-in for a variety of browsers and operating systems. They have flickr
and Twitter. The demonstrations did not always work - thanks to the Moscone network - but they did show how high Sun is aiming. JavaFX provides the Java environment plus a bunch of animation APIs. Sun included the Android Emulator
running JavaFX. Connected Life is a JavaFX application running on Android Emulator. JavaFX is meant to provide off-line browsing by enabling JavaFX content to run outside of the browser. For instance, one demonstration showed drag & drop applets off the Web page onto the desktop. That was pretty cool.
JavaFX SDK is coming in July 2008, FX Mobile in Fall and FX TV in Spring 2009.
Rich told delegates that JavaFX is on the device of your choosing. Unfortunately, I want to choose the Apple iPhone.
Rikko told delegates "The vision drives our efforts." Maybe this kind of partnering to get good usability is a good strategy for Sun. Look back on the past - AWT, SWING, JMF, Java ME, JavaFX - I'm feeling skeptical.
Rock Stars and Platforms
Is there some strange congruence between Jonathan Schwartz and Steve Jobs? Jobs ended his Macworld Expo keynote by bringing up Randy Newman
. It was nice to hear Randy sing some song live but it was orthogonal to the rest of the conference. Today Jonathon Schwartz brought up Neil Young
. Young talked about his new career-long collection. They are releasing it on BluRay DVD. Neil said "I want to play the music and navigate through the music archive." BlueRay with Java lets him do this.
Pruning Down EJB Containers
I'm not a big EJB guy. I just don't see the point. POJOs and annotations make more sense to me. So I wasn't paying much attention to the announcement on EJB pruning and profiles. It looks like EJB will become a stack for Servlets, JSF, JPA, and EJB-lite. That means JAX-RPC/JAX-WS, EJB Container Managed Persistence (CMP,) EJB 2 Entity Beans, and JAXR are on the "B" list and no longer invited to the party.
Consequently this pruning effort results in slimmer EJB containers. The GlassFish
kernel is now 98K bytes. Glassfish implements a container strategy so they can use GlassFish in support of JavaFX.
Jython and Dynamic Scripting
I am a big fan of dynamic scripting on the Java Virtual Machine. Tim Bray has done a fine job of getting Sun to focus its attention on enabling the VM to provide a good platform for building and running dynamic scripting. The Jython team members were all grins when talking about the upcomingJython 2.5
The JSR 292
working group met at JavaOne. The group submitted the EDR milestone for invokedynamic to the JCP. This milestone has been 3 years in the making!
The working group discussed experiments with anonymous classes, interface injection, and continuations. Some of these may make their way into the Da Vinci Machine Project
. The group has challenges ahead for adoption, including demonstrations, proof of concept (POC) examples, and in general a demonstration of usefulness. The working group reconvenes this summary at the JVM Language Summit
Jim White is doing some interesting work with the ScriptEngine API
(JSR 223) in Java 6 and Open Office
. The Wings open-source project
aims to provide scripting support within Open Office documents just like Mathematica users do. Wings' use of the ScriptEngine means the scripts may be written in Java, Jython, Groovy, JRuby, and many others. Aside from PushToTest's use of the ScriptEngine to repurpose unit tests written in the ScriptEngine supported languages, Wings is the first example I have seen of the ScriptEngine's usefulness.