Are applets making a comeback?

Good old applets -- do they deserve a place in your RIA toolkit today?

1 2 3 4 5 6 7 Page 6
Page 6 of 7

Rich media and JMC

Although JavaFX Script goes a long way toward fixing the UI experience (such as simplifying animation), this technology doesn't address Java's inadequate support for rich media. If applets are to succeed in a RIA context, Java needs to also make it easy for them to play videos and other kinds of rich media, whose importance is evidenced by Web 2.0 sites such as YouTube and iTunes.

You might think that an updated JMF is appropriate for this media-playing task. However, as Chet Haase has pointed out, it would take a lot of effort to revamp JMF, which does much more than simply provide the means to play media. Furthermore, JMF's roughly 2MB footprint impacts the JRE's download size.

Instead of revamping JMF, Sun is pursuing JMC. This lighter technology initially targets media playback, but might eventually support tasks such as media capture and streaming. The idea is to support native media players where possible (to save time and money), and to support a Java player (for playing media on platforms that don't provide a native player). So, I asked the question: What do you think about JMC for rich-media applets

Danny Coward: We're beefing up the rich media support in the Java platform for Java and JavaFX developers alike. Better integration with the natively supported formats is just a first step, but there will be more to come. Including an all-Java player for rich media.

Romain Guy: It's high time Sun offered good video and audio support. However, I think this support comes way too late. It will make some desktop applications a lot better and easier to write, but it won't really help applets. I will surely have some fun with these media components ... when we get them.

Chet Haase: I'd put JMC clearly in the camp of features that Java needs to stay current. Video has become a checkpoint item in desktop and Web applications today. What was once an item on the wishlist for Java features has become, I think, a requirement; if Java can't support simple video functionality, then it can't be a player in the Web application space of today. The JMC feature is meant to address this requirement.

Cay Horstmann: Well, it will be if and when it is real. I have not seen anything about that since last June.

Native playback is probably the way to go because licensing players is expensive.

John Zukowski: I haven't heard much about the Java Media Components but if they are including enhanced players into the platform, great. This again goes back to the programmer vs. designer mentality. As a programmer, I could create a media player before (and have). As a designer, I would expect to just find something to use that doesn't require anything more than a URL or stream of what to play. It is kinda why projects like Apache thrive where developers make reusable libraries available for others.

OMS and OMS Video
After completing this article, I discovered Sun's OMS (Open Media Stack/Open Media System) and OMS Video projects announcement. According to Sun, OMS is concerned with providing "a free (open-source and royalty-free) complete media solution, including video, audio, transport, control, and content security." Furthermore, "OMS Video seeks to bring an updated royalty-free variant from the h.2.6x video codec lineage to the open source / royalty-free community." Assuming that OMS and OMS Video are not open source FUD, they appear to offer something that could benefit JMC, which (in turn) could benefit applets.

Authoring framework

Assuming that Sun achieves success with Java SE 6 update 10 (and up) JavaFX Script, and JMC, what else can Sun do to help applets get their slice of the "RIA pie"? One thing that is missing from the client-side efforts so far is an authoring framework, which would simplify the development of RIA-based applets. So I asked the question: Would you like to see Sun release a framework similar to Flex and Silverlight?

Danny Coward: It's funny you should ask that, but other than to say yes, I have to keep my lips sealed until JavaOne!

Romain Guy: In a way, that's what Sun is trying to do with JavaFX Script. And to be honest, I don't really want to see such a product come out of Sun. I was initially thrilled by this idea but it seems to me that since JavaOne 2007, when they first announced JavaFX, all the efforts at Sun have shifted from Java 7 and Swing to JavaFX. And with no real product and tools available yet, I feel like we, as developers, might end up waiting for something that may or may not be able to compete with other RIA platforms and waiting for updates on the technology still widely used out there, the JDK.

Cay Horstmann: Sure, that will be great. It's a tough act to follow in a short timeframe.

Ted Neward: No. Sun spends too much time working on client UI frameworks, and the fact is, the window of opportunity on that particular landscape has all but closed -- just as a good general needs to know when to retreat from a battle in order to preserve his troops and limited resources and find a different way to achieve his ends, Sun needs to accept that the client Java story is not going to be one that they're really capable of writing. They've spent all this time trying to create a community and ecosystem to compete with Microsoft's, now they need to have enough faith and trust in it to let it take ownership on this issue. If the community feels strongly enough about a client Java story, those frameworks and tools will emerge, and the Java Community Process can then pick one up, ratify it, and Sun can include it in later builds of the JDK. And if it turns out that the community doesn't care enough to put energy into that story, no amount of prodding or argument or innovation from Sun is going to convince them to pick it up, and the resources Sun puts into that effort will effectively have been wasted.

I think Sun instead should focus their corporate energy on what has gotten them to this point: Java on the server. Invest innovative energy into making XML messaging (Web services, ESB, what have you) easier on the Java platform, so that the position of Java-on-the-server is reinforced and defended. In essence, cede the battlefield to Microsoft and Adobe, whose battle over this space has just started. Sun can then watch to see who emerges, if a clear victor does emerge, and look to create interoperability partnerships with them to make it easier to get those snazzy new front-ends to talk to the Java-powered back ends.

John Zukowski: Yet another framework isn't necessary. While competition in the marketplace is good, the time when every company needs to try to offer solutions for every problem are long gone.

1 2 3 4 5 6 7 Page 6
Page 6 of 7