The Source for Java Technology Collaboration
User: Password:



Editor's Daily Blog

Client apps

Posted by daniel on May 04, 2005 at 06:30 AM | Comments (6)

Showcasing Java

So, continuing on Monday's rant, how do we get folks lined up around the block waiting for Mustang's release? I've been looking at Mac Tiger and wondering about the lessons there for the Java community. One of the things we're missing are showcase desktop applications.

I know - you can name a dozen of them off the top of your head. How many of them are used by non-geeks? How many of those are applications we are really proud of? Each year at it's developer conference Apple gives design awards to well designed and well implemented applications in a variety of categories. People care and people compete - where are our serious Java design awards?

Client applications are more important to Java than many realize. When Apple releases new technology like Bonjour (nee Rendezvous), Core Image, or Core Video, they also release consumer applications so that developers can begin to imagine how to take advantage of that technology. Third party folks can then take the ball and run with it. Where is the Java application based on JOGL that just knocks our socks off ? Why not take the Java Sound demo that gets part way there and create an app that allows you to plug in a keyboard and play around with the different voices? Capture the imagination of end users and point the way for developers.

Here's a simple "we missed the boat" example. Look at Apple's Dashboard. People can write simple targeted applications to track flights, display the weather, look up words in a dictionary. These individual widgets are small and can be added to a framework. Developers are writing these like mad and even though Tiger's been released for less than a week, non-technical consumers are using them. This could have been a Java-first release and people could have been writing widgets for the Java platform. Sun bought Watson from Karelia last year. Watson performed many of the same functionality as Dashboard in a framework that was organized a bit differently. Imagine how Watson would look if you add in project looking glass technology so the widgets rotate and store away nicely. You'd also have to bring Java's HTML and CSS and JavaScript displaying capabilities past the Netscape 4.7 days. Developers would have been writing Watson widgets and end users would have had a compelling reason to care that their computer had Java inside.

Automator is another feature of Tiger that developers and end users see much promise in. Oh please - we had the bean box eight years ago. Think of how cool that could have been if we'd thought of it in terms of end users and not just developers. Wiring small dedicated apps together. Don't think of Bean Box the way it was - think of it the way it could be. It could be the way we wire together web services. Go look up this item on Amazon and then . . .

Now here's the thing - some of these end user applications can be revenue sources. Watson, when it was an Apple application, was $29 and people bought it even though Sherlock evolved to incorporate much of the functionality. These user facing applications can be used to support the development. Imagine if Sun sold a Java based media playing application - I'll bet JMF would get some attention and would suddenly support a bunch of new codecs. One business model is to focus on selling big app servers for lots of money. There is, however, plenty of money to be made at the other end.


Chet Haase announces Graphics Acceleration Geeks: Rejoice! in today's Weblogs. "Want to help us nail down remaining issues with our Direct3D improvements for Windows? Download the latest Mustang builds, try it out, and let us know if you have any problems."

Eitan Suez has been playing with Tiger and shares his thoughts in a java programmer's first impressions of the macosx v10.4 upgrade. Others chime in and he updates his impressions.

Lance Anderson blogs that The genericjmsra project launches today! "J2EE 1.4 specifies the use of the Connector 1.5 Architecture as the basic mechanism to integrate JMS providers with J2EE 1.4 compliant application servers."


In Also in Java Today , Java in a Nutshell, 5th Edition is the latest update to the classic guide to Java development, covering the many additions to the language and libraries in J2SE 5.0. In the excerpt Generic Types, Part 1, David Flanagan introduces Generics by way of their most prominent use: adding compiler-enforced type safety to java.util's Collections classes.

JavaWorld is running an excerpt from Jonathan Knudsen and Sing Li's book Beginning J2ME: Building MIDlets. They show you how to build and run and example program called "Jargoneer, a MIDlet that looks up words in the Jargon File, a comprehensive lexicon of hacker slang. When you enter a word into Jargoneer, it connects to a server to find the definition. Running this MIDlet will allow you to appear cool in the company of your hacker friends. When someone uses an unfamiliar word, like "cruft" or "grok," you can surreptitiously key the word into your mobile phone and see a definition in a few seconds."


In Projects and Communities, the JXTA community's jxdbc project is a JDBC proxy driver for JXTA so that you can "transform any JDBC application into a JXTA application simply by switching driver. "

In Java Games gcsaba2 asks What good is java.nio for? He writes it "has some buffers, like an IntBuffer. So is an IntBuffer faster than an array?"


In today's Forums mreinhold writes "I understand your concern about the state of Java on MacOS X. We at Sun are planning to work more closely with Apple going forward so that future J2SE feature releases can be ported to MacOS in a more timely fashion. "

Psynixis writes "There is a huge lack of awareness amongst developers (not only Java developers) about what it takes to design a great user interface. And by that I mean that the interface should be easy to learn, easy to use, and be visually appealing.


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed.


Current and upcoming Java Events :

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


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 java.net it will be archived along with other past issues in the java.net Archive.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • A cynical reason to get desktop apps out there: the computer (and mainstream) press understands them. I'm personally interested in and impressed by both Apple's Core Video technology, and JBoss Groups. But only one of these can be explained (and shown!) to non-geeks.An idea: the little widgets in Dashboard remind me of all the little Java games and tools on my new phone... and in turn reminds me: why isn't there J2ME/J2SE crossover? If J2SE can't in fact be a superset of J2ME, couldn't it at least throw a J2ME compatibility environment in the box?Finally, on the point Where is the Java application based on JOGL that just knocks our socks off, a big deal was made at J1 2K4 of getting Quake II running in JOGL (or was it LWJGL). Reality check: the game is over seven years old, and was open sourced in 2001. This is at best a tech demo, and at worst another "me too" effort.-Chris (invalidname)

    Posted by: invalidname on May 04, 2005 at 02:44 PM

  • This sounds like you are saying, "We should do something.".

    Where is this "We" person anyway? I've seriously been looking for this individual who never accomplishes anything.

    Say, I have an idea: why don't "we" ask around and see who would volunteer to set this up? Aha. Daniel, you are the only virtual individual I see that didn't take a step backwards. Also you are one of the few folks who run a website that would make a great host for the vote. What say you?
    ;-)

    Posted by: markswanson on May 04, 2005 at 04:17 PM

  • Thanks Mark. I'm not sure what you're looking for here. I'm here to help in any way I can. After sitting in the editorial chair for way too long, I've just agreed to spend some time starting later this month on a project that I think will be a rocking example of a Java based desktop app if I can only remember how to write code. So I am willing to step forward - I think there are a lot of people willing to do so. I think there are a lot of people who already do so.

    Wow - that sounds way more defensive than I mean it to be. Maybe we need someone who is to Java what Mitch Kapor is to Linux. Someone who has a vision for what is needed in this space and can lead the charge. We can certainly give voice to people interested and disk space and bandwidth to those with projects or other ideas. That's what java.net was created for.

    Posted by: daniel on May 04, 2005 at 08:07 PM

  • I'm not sure if "Java Dashboard" apps would have met the same success, even on OS X, as the 'intra-OS' version as implemented in 10.4, but it couldn't've hurt. The Watson critique is well put; that's a ball Sun really dropped, much to the chagrin of essentially everyone, from Karelia to Watson users to everyone who'd like to see Java succeed on the desktop.

    But the bottom line is that Dashboard apps can be written in Java, and there's nothing stopping Sun from extending 'JDashboard apps', written to hit a certain OS X-friendly API, to Windows in a month. Why not provide a container to eliminate the small Cocoa overhead making Dashboard apps and, at the same time, create a smart container on WinXP that'll run the same apps (written in Java) in a similar fashion? The window before XP is replaced (ie, the window before MS creates WinDashboard) is a pretty large one, given a small enough team.

    Get on it, Sun. (Good blog today, btw)

    Posted by: rufwork on May 05, 2005 at 12:25 AM

  • Excellent blog today,daniel. btw, what does it take to get one's message across to the Java/Desktop product team at Sun? Are the sun folks listening?The same way in which the community votes for high priority enhancements & bugs in j2se, there must be a way to coax the j2se+desktop product dev teams to sit back & take notice of these things, lest we should become irrelevant on the desktop (despite looking glass' promise).

    Posted by: bharathch on May 05, 2005 at 07:48 AM

  • I think we need a couple of things to get people excited about Java apps. One is a simple container that let's people experiment, and the second are language facilities that enable experimentation.

    Putting aside the cool graphic effects, Dashboard is partly (IMO) a container for these XHTML/JS-based widgets. All of those widgets run in the same memory space--an advantage over Konfabulator, which many people compare it to. We need the same common container in Java to get around launch times and memory usage issues.

    If you look up Martian Software's open-source Nailgun, you'll find a memory-resident micro-server that hosts little scripts or Java programs, and launches them with a small C executable. I used it a lot a couple of months ago for BMP-JPEG conversions. It was very fast and stayed out of my way. That would be a great prototype container (with quick-launch capability) to start from.

    What we then need is to make the development easy and fun. That means quick turnaround for testing little applications. I'd suggest pushing one of the "script" VM languages that is stable (Beanshell, Nice, Sleep). For APIs that are sort of complex, write some standard functions in the scripted language and make them available to scripts through the context mechanism for the interpreter hosting the script. If I want to rotate a little internal frame, how about a function rotate3D(frame, axis, rate) which takes care of the J3D stuff for me? These VM languages have the advantage that it's "cheap" to roll little function libraries (essentially facades), and quick to test ideas.

    People don't "play" with Java because they have no playground. It's too much work to get little Java apps off the ground, they launch too slowly, everything is meant for a slow-paced design cycle. You want the excitement behind HTML/JS, Dashboard, VB, Hypercard--the enthusiasm that made people just pump out little apps all the time--make it easy for them to get involved.

    IMLO (in my long opinion)
    Patrick

    Posted by: pdoubleya on May 05, 2005 at 12:45 PM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds