Java SE for the phone? Why not?
It's obvious that today's hand-held and other embedded devices (set-top boxes, game consoles, etc.) are far more powerful than the desktop PCs of just a few years ago. In fact, so few years, that they fall within the timeframe of recent versions of Java. Which leads many to ask "if Java SE 1.4 or 5 could run reasonably well on those PCs, shouldn't they run on these devices just as well?" After all, considering the PlayStation 3 is powerful enough to become the dominant Folding@Home OS despite a small install base, I think it should be able to handle Tumbling Duke and the Swing Set just fine.
Of course, like a lot of things, this talk of SE on the device has gotten a push from the iPhone, which seems to beg the tech press to write articles about it. Earlier, the vogue theory was that the inclusion of a desktop-quality browser, MobileSafari, was Apple's attempt to push towards an Ajax standard for Rich Internet Applications on the small device, and away from Flash and Java ME -- RoughlyDrafted's hype-tacular The iPhone Threat to Adobe, Microsoft, Sun, Real, BREW, Symbian is a typical example of this line of thinking. But now that the iPhone will be getting a proper SDK, thinking is again retuning to running big stuff directly on the device. Like Fabrizio Giudici's openly wondering about possibly porting OpenJDK to the iPhone.
But, um, don't we already have Java for most phones? The Micro Edition? That brings us to today's news, as CNet blogger Stephen Shankland sees Java SE replacing ME on the phone, in his blog Sun starts bidding adieu to mobile-specific Java. "One area where Sun Microsystems' Java caught on was in mobile phones, but a leader of the project is working to eventually replace the mobile-specific version of the software. Java Standard Edition (SE), geared for desktop computers, will gradually supplant Java Micro Edition (ME) as technology improvements let more computing power be packed into smaller devices, said James Gosling, the Sun vice president often called the father of Java. "We're trying to converge everything to the Java SE specification. Cell phones and TV set-top boxes are growing up," Gosling said at a Java media event here Wednesday. "That convergence is going to take years.""
Shankland cites JavaFX Mobile as evidence of an SE-to-the-device migration, based on the SavaJE, which included most of Java SE, with a few sensible omissions. He points out the advantage would be to unify and simplify the mobile Java platform, in sharp contrast to the various profiles and options of the ME world. "With the multiplicity of Java ME extensions, there was often little guarantee that a program written for one mobile phone would work on another. Java SE has a much richer basic set of abilities, so using it instead of Java ME could at least in principle restore some of Java's promise of software portability."
Simplicity is one thing, but given that SE will surely use up a lot more of the device's memory and CPU, it is fair to ask what developers will get from SE on the device that they can't achieve with ME. OK, you'll have
doubles now, but what will you do with them? Here's one thought: ME disallows runtime classloading, so having SE on the device and the ability to load and execute classes over the air suddenly makes Jini's longtime promises a lot more interesting. Remember the old Jini vision of getting a printer driver from an unfamiliar device while you're mobile? That might be a lot more compelling with the always-portable mobile phone than the occasionally portable laptop. Granted, there are obvious security concerns -- it sucks if that printer driver is a trojan that turns your phone into a spam zombie or recruits it for a DDoS attack -- but it does seem a valid argument to say we could do a lot more with SE on the device than ME.
Still, it seems like the key isn't just that the devices are now capable of running SE, it's that there needs to be a genuine value in running SE, along with an awareness of the difference between the desktop and the device. MHP and BD-J have a totally different set of widgets, the HAVi widget set, better suited to use with a simple remote control than a keyboard and mouse, for example.
Are you ready for SE in small spaces? What will you do with it?
Also in Java Today,
issue 143 of the JavaTools Community Newsletter, is out, with a brief guide to the JavaTools projects directory, tool-related news from around the web, new tools that have joined the community, and a Tool Tip describing the available kinds of information about project activity and an call to the community to help determine what other kinds of project metrics would be useful.
The ExpressionLayout project offers a new powerful, yet easy to use layout manager for use in Swing and AWT based applications. Project owner
jskress writes, "basically, this is an experiment to test out some ideas I've had about the possibility of creating a layout manager that is generic enough to use for as many different component arrangements as possible and powerful enough to support any variety of dynamic arrangements while still being simple to read and use." Versions are available for Java 6, Java 5 and even Java 1.4.
This week's Spotlight focuses on the current Ask The Experts session, which is on NetBeans, the free, open-source, Integrated Development Environment (IDE). NetBeans IDE 6.0, which is currently available as a beta download, contains a wealth of new features designed to make application development easier and faster. Got a question about NetBeans IDE 6.0? Post it during this session and get answers from key members of the NetBeans evangelism team: Judith Lilienfeld, Brian Leonard, and David Botterill.
KellyÂ O'Hair checks in with in today's Weblogs.
OpenJDK Mercurial Transition Update 5.
"Well we had a few snafus with Build 22. A hotspot bug 6616627 managed to sneak in, and the jaxws workspace lost some GPL markings and we will need to back out the jaxws integration in Build 23 (this should be temporary, expect jaxws to be re-integrated in a few builds)."
ShannonÂ Hickey says
Beans Binding 1.1.1 Beats 1.0's Butt, Bigtime. Specifically, he "announces the 1.1.1 release of Beans Binding, with a drastic increase in performance."
And returning briefly to the webapps-verus-rich-apps-on-the-device topic,
FabrizioÂ Giudici wonders
Did the web fail the iPhone?
"The recent news about Apple opening the iPhone in February have spun off a lot of discussions in the blogosphere. [...] the primary theme is: why did Apple change its mind? Yes, they did, because of this quote from Steve Jobs when the iPhone was launched: "Safari is the iPhone's SDK"."
Eduardo Pelegri-Llopart is organizing some GlassFish presentations, as announced
in today's Forums.
[Advocacy] GlassFish Community Technical Presentations, he writes,
"Rama and I have been talking about starting a series of Presentations related to Technical Topics in the GlassFish community. I've been thinking how to do it for quite a while, so when Rama expressed interest in helping, I jumped into it. There is no lack of topics and speakers. [...] We want to start the series but we want a sustainable approach. We can fine-tune the mechanism and content as we learn what works and what does Sustainability is particularly important to me. I don't want to start something that will stop in a couple of months at the first deadline crunch. We have thought of a number of approaches. Here are two..."
Kleopatra reminds SwingX developers about sizing and scrolling philosophies, in
Re: How to add horizontal scrollbar in a jxtable.
"The showing or not of the horizontal scrollbar is governed by table's autoResizeMode property, no matter what you do on the scrollPane level, it shows up only for autoResizeOff, with all the known drawbacks. JXTable has a slightly friendlier behaviour which is off by default: it can show the horizontal scrollbar in all modes if needed - to property to turn on is horizontalScrollEnabled."
feng_tian wonders about
Legal issues of using PhoneMe advanced and Qt lib.
"I noticed that PhoneMe and Qt based on the GPL. Does this mean that my application based on "cvm" and "qt/e lib" have to comply with GPL? I mean I don't modify the source code of "cvm" and "qt/e", only link the libraries."
Current and upcoming Java
- OctoberÂ 21-25 - ooPSLA 2007
- OctoberÂ 21-26 - Colorado Software Summit 2007
- OctoberÂ 22-24 - Sun Tech Day - Shanghai
- OctoberÂ 24-26 - The Ajax Experience
- OctoberÂ 26-27 - IndicThreads.com Conference On Java Technology
- OctoberÂ 26-28 - Lone Star Software Symposium 2007: Dallas Edition
- OctoberÂ 29-31 - Sun Tech Day - Beijing
- NovemberÂ 2-4 - Northern Virginia Software Symposium 2007: Fall Edition
- NovemberÂ 6-8 - Sun Tech Day - Tokyo
- NovemberÂ 9-11 - Rocky Mountain Software Symposium 2007: Fall Edition
- NovemberÂ 16-18 - Great Lakes Software Symposium 2007
- NovemberÂ 19 - Triangle Java User's Group: Better Search with Apache Lucene and Solr
- NovemberÂ 19-23 - J2EE Training Philippines
- NovemberÂ 20 - Enterprise Comet Presentation by Jonas Jacobi and John Fallows at Google
- NovemberÂ 26-27 - JAX ASIA 2007
- DecemberÂ 5-7 - Sun Tech Day - Frankfurt
- DecemberÂ 10-14 - JavaPolis 2007
- DecemberÂ 12-15 - The Spring Experience 2007
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.
Java SE for the phone? Why not?