Idea: Sun Widgets with JavaME

You know, I think Java may have a chance on the desktop. Konfabulator is a very nice development model. But it's a resource hog (10-20MB per widget). And I don't think people really know how to use these widget systems, yet.

Let me comment on that second part first. Widget systems should help people shrink down the information flow into the major pieces (e.g. summaries), and shrink down the type of interaction you have with programs (constrain the interface). And when you do this you also get an opportunity to make it pretty. Widgets should reduce clutter, not add to it. Widgets should always elide information. And yet, it seems like people think that widgets are for gathering even more information onto their desktop, usually crap they don't need. Indeed, even Yahoo seems to promote that idea by distributing all manner of useless widgets (who needs a weather widget?!) I actually believe that widgets would be hugely appealing to developers looking to control and manage their running services (think a Tomcat widget that allows for graphical start, stop, monitor of the server and all contexts, with pretty lights and sound effects.)

Widgets are small in every way. They are tiny programs that offer a subset of the functionality of their larger cousins. They have graphics, and maybe some vague interaction with the local system. What does that sound like? Sounds like JavaME to me.

So this hypothetical "Sun Widgets" (or how about "Solar Flares") product would be a JavaME VM - basically a Smart Phone on your desktop. On first principles, the overhead would be very small. I don't know much about JavaME development, but it seems to fit. I heard that Sun is working with OpenLaszlo on making a JavaME renderer - if that's true then OL would be the natural way to write graphically intense widgets.

Google's Android would also be a good fit for a widget host, come to think of it. I haven't looked at their Desktop SDK but I bet there are likenesses to Android.

Well, if Sun wants to make a play for mobile and the desktop at the same time, I think this is a way to do it.

No comments: