Dust in the Wind
Why did it take Steve Jobs to get people talking about desktop Java?
It's been a long time since desktop Java got as much notice around the blogosphere as it has in the last few weeks. Not that that's a good thing; it's just true.
Largely, this has been kicked off by comments by Apple CEO Steve Jobs in David Pogue's New York Times blog, in which Jobs defends the decision to leave Java off the iPhone by saying "Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain."
That prompted Daniel Steinberg, in Java to the iPhone: Can you hear me now?, to trace the evolution (or devolution?) of Apple's Java strategy, from vowing "to make Mac the best Java delivery vehicle on the planet", to converting WebObjects to use Java (and remember, WebObjects powers the iTunes Store, so it's no disposable vanity project), to leaving it off the iPhone.
If you detect a sense of melancholy or resignation in Daniel's blog, you're not alone. The incoming links to it are not filled with outrage, but more of bittersweet agreement. Joe Heck's Rhonabwy blog iPhone, Java, and Flash says:
I don't think there's any real epiphany here, more like a "yeah, that's right" sort of forgone conclusion in my head that just makes sense. While I think Daniel has a bit of nostalgia for the old bird (that would be programming language Java, in case you're not following), the truth of the matter is that Java never did s*** on the desktop.
"Ten years ago, we all had so much hope for Java on the desktop. We really did. Everyone did. At least it seemed that everyone did. Java is good stuff, especially on paper. Safer languages sound great. And anything to rid the world of pointer errors has to be a good thing, right? You should be able to build killer desktop applications with Java. [...]
If I were an executive at Apple and over the last 10 years I haven't really seen a compelling end product come out of all that work on Java, not to mention haggling with Sun over licensing terms the whole time, I'd be casting a skeptical eye as well."
The other thing you see in this thread throughout the blogosphere is that there aren't a lot of people strongly disagreeing. If you're looking for a profound defense of Desktop Java in Jonathan Schwartz's blog, you're not going to find it (unless it's buried in that 40-minute video, and who has that much time?). It's always bothered me that Sun people who work with Java will instinctively send me a Star Office document, rather than pointing me to a shared file on the web-hosted Java-based office suite ThinkFree Online, despite the fact that ComputerWorld recently named ThinkFree the best online office suite. A Java app is best of breed in this space, and people who should be supporting Java instead send around docs in a format that can only be read by a non-Java application (and whose Mac version is dreadful). Not a good sign.
Duncan points out "developers are the passionate party advocating for Java on the Mac." It sure seems like they're -- or I should say "we're", because I've personally been developing Desktop Java apps on the Mac since MacJDK 1.0 and System 7.6 -- getting the cold shoulder, and that's reflected by a lot of these blogs, from those who've given up, and those who wonder if they should.
What do you think? What's going to turn it around for Desktop Java, if anything will? This has been a longer and more opinionated editor's blog than usual, and I'd very much like to hear your opinions on the matter. Visit the comments section below and join the discussion...
In Java Today,
GlassFish, the open-source Java EE application server, has just released version2, beta 33 which serves as both the fourth milestone and the first beta candidate. Jean-Francois Arcand has a summary of features in his blog GlassFish v2 hit beta candidate: What's new in the WebContainer, including Grizzly support for Comet processing, improved virtual server support, JSP compilation with JSR 199, JRuby on Rails support via Grizzly, and more.
Author Drew Varner lays down some Guidelines for Writing JSR-168 Portlets in a new article for dev2dev. "Sticking to these guidelines will keep your portlets in line with the JSR-168 specification. Adhering to the specification makes it easier to move your portlets among Java portal servers. It also makes it easier to federate your portal's content using WSRP."
In today's Forums,
paulby offers a roadmap for
Project Looking Glass, whats next....
"Over the last couple of years, as we have been building Project Looking Glass, we have had a number of discussions about adding collaboration services to the framework. More recently we have been in intense discussion with some other groups within Sun that have some key technologies (more of that later) and we think it's time to start exploring this space. What we propose is the development of a new SceneManager for Project Looking Glass which is completely focused around collaboration with others. We have created a new subproject of lg3d called Project Wonderland to host this work."
jlehrbaumexplains ME project naming in
Re: CDC, CLDC, ARM, and OI vs. RI licensing, and OS choice:
"Our apologies for any confusion associated with our phoneME Feature and phoneME Advanced naming. These stacks include much more than simply a configuration, and as such, we felt it was appropriate to come up with a name that covered the entire bundle. Additionally, there are a number of branding restrictions that can further complicate naming. To prevent confusion in the market around compatibility and/or compliance of Java implementations, there is a requirement to pass certain compatibility tests prior to using any of the Java trademarks or claim (or imply) compatibility to any of the associated specifications."
os2baba says there's a need for a
Table with a billion rows:
"I'm building a pivot table which can have millions of rows. I have created my own table class which is not derived from JTable. The model loads only the visible cells. It's very fast and responsive. I know that the first thing popping in your mind is that a table that large is not usable. But it's very useful, very usable, very fast and I don't have memory problems. When you stack tiles on a pivot table, the total number of rows is the cartesian product of the elements in the tiles. So if I want to see sales of 10000 items in 1000 stores for the last 100 days, I get a billion rows. But since I'm only viewing a fraction of those, I don't run into memory issues. I'd really like to show billions of rows, but since all the swing components are based on integer calculations, that's not possible unless I write my own JScrollbar. But I'd like to at least show 2 billion rows (Integer.MAX_VALUE). The problem I'm running into is that I can only show 126 million rows since the units of JScrollPane is in pixels. Integer.MAX/rowHeight works to about 125 million for a row height of 16 pixels."
TomÂ Ball has an update on Jackpot in today's Weblogs.
Jackpot just open-sourced? But I thought it already had..., he writes: "the Jackpot module was released as open-source yesterday, but anyone who wants to browse its interesting bit has been able to for months. Huh?"
Code fitness: how fat is your code? how tall?, FelipeÂ Gaucho writes:
"Imagine if you can see the classes of your project as physical entities, and imagine also if you can identify the healty of each class just checking it fatness or tallness. Check the images."
Finally, ScottÂ Violet waxes philosophical
On Look and Feels:
"Scott questions whether the system look and feels are really as important as we've been lead to believe."
Current and upcoming Java
- February 21-23 - 2007 Nonprofit Software Development Summit
- March 2-4 - Greater Wisconsin Software Symposium 2007
- March 6-9 - Java Posse Roundup 2007
- March 8-9 - Desktop Matters 2007
- March 9-11 - New England Software Symposium 2007: Spring Edition
- March 16-18 - Gateway Software Symposium 2007
- MarchÂ 23-25 - Greater Nebraska Software Symposium 2007
- May 8-11 - JavaOne 2007
- June 24-28 - Jazoon'07
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
Why did it take Steve Jobs to get people talking about desktop Java?