Skip to main content

Duke, Box Hero

Posted by editor on September 19, 2007 at 6:30 AM PDT

Java on devices other than phones, PCs, and servers

We're all so used to the success stories of Java on phones and servers that we sometimes overlook other places where the JVM could provide some value. Lots of devices need custom software, which could be written in any appropriate bytecode, but if you get into issues where the devices start to communicate, or you want equivalent behavior across devices and architectures, the JVM starts to become a very appealing option. A developer creating content for Blu-Ray Disc players doesn't, and shouldn't, have to know about the CPU architecture of all the players on the market: he or she can just write a single Java Xlet and have it work everywhere.

But critical mass seems a necessary component of actually realizing these Java-on-the-device dreams. Those who studied Jini years ago will remember how many introductions to the concepts of Jini would argue for Jini-enabled printers that allowed desktops and devices to discover available printers on a LAN, negotiate capabilities with those printers, and send them print jobs. Great idea, but it didn't actually turn out that way, as Bruce Eckel noted in last year's Wither Jini?:

For instance, the most common example given for Jini seems to be the "smart printer" example, where you need to print something and your Jini client dynamically finds an available printer. I asked Bill Venners if anyone had ever implemented this, and he said no. So when you give people this example, and then say that Jini isn't really used for that, it leaves you with the question "what do I use it for, then?"

While the Jini-printer story has been a disappointment, it doesn't close the book on Java-based printing innovation. James Gosling reports that he's Hanging out with printer engineers, spending this week at the Ricoh Developers Conference, and notes some of the cool things that Ricoh is doing with embedded JVMs in their printers:

If you were at JavaOne, you saw a simple (but valuable) one: print a document from your laptop, it goes to a master spool server, then walk over to any printer, stick in your badge, and out comes your document. When everything is on the network, the possibilities for end-to-end synergies are endless.

Blu-Ray players, printers, what else should be running Java? Are there other cases where networking and abstracting away the hardware differences across devices would enable new functionality and create value?

Also in today's Weblogs, Carol McDonald offers a Sample Application using JAX-WS, JSF, EJB 3.0, and Java.
"This Sample Store Catalog application shows how to expose a Catalog Service as a Web Service for remote client applications."

Making your point on standards matters, Sean Sheedy calls for your input: "the MIDP3 Expert Group (JSR-271) is meeting this week, and if you have something on your mind that you want the EG to take notice of, now would be a good time to act. Feel strongly about something? Try the personal approach."

In Java Today,

NetBeans Evangelist Gregg Sporar recently spoke with Artima for their article Sun Releases NetBeans IDE 6.0 Beta. He says, "NetBeans 6 is a big release that we've been working on for quite a while now. The number one thing that developers will find really exciting about this release is that we completely re-wrote the editor infrastructure. This was driven by feedback we got from the community"

As noted on the Mobile & Embedded Community page, Kicking Butt with MIDP and MSA author Jonathan Knudsen will be delivering a 3.5-hour tutorial, Using Java ME to Program Your Mobile Phone, on October 21 at ooPSLA in Montréal. "This tutorial provides an overview of the world of Java ME and provides a swift course in the basics of Java ME application programming. Participants will learn how to create an application, how to build a user interface, how to connect to the Internet, and more."

In Defining Your Object Model with JPA, Chris Maki walks through a blog's object model with JPA, using mapped superclasses and entity listeners to provide functionality that you might not have thought of. He starts off with some simple requirements of the object model, and then fulfills them -- including some requirements that a DBA might offer, such as column names.

In today's Forums,
paulmfarrar is trying to figure out how to have a
Different look and feel for 2 JFrames running in the same JVM
"I have a legacy application that I'm trying to bring into the 21st century. It currently uses no look and feel, it instead sets background colours manually - yes I know. This application uses several separate JFrames to display different types of data, there will be many JFrames open at the same time. I have developed a new JFrame for our users and want to attach a look and feel to it. Is it possible to attach a look and feel to my JFrame without changing the display of the existing ones? I know this is quite a strange request but there is a lot of politics involved in this change and we want to make our new frame look good whilst not changing the way everything else looks."

The thread
Re: Any way to change a Listener port on the fly? has a solution for redirecting users while making changes to a live GlassFish site without restarting: "My very simple solution to this is to change index.jsp on your landing page. Put some commented out "The site will be back soon" text in there, and when you need to do maintenance just edit the file, uncomment that text, comment out whatever else you'd like, and save the file. GF will take care of the rest. There are obviously better solutions so that you could, for instance, trigger this remotely. But as long as you're hacking away in there anyway, it works."

Dennis Brown wonders if he's seeing a problem with
Broken Binaries?
"Has anyone had any trouble with the amd64 java3d package in the Debian repository? I've been trying to install it on Ubuntu Fiesty. When installing via Synaptic, it errors with an unpacking error. I've downloaded it 3 times, thinking it was a bad download, but still had the same error. I also tried downloading the deb package from the direct link on the LG binary build page, but get an install error from dpkg."

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Java on devices other than phones, PCs, and servers