It's my turn to give you an update on the Javapolis media.
Stephan and me have quite finished the encoding of the video files (status [here]). It was a huge work. I think some of the university tracks may need to be splitted into smaller parts for a better user experience, so it is not completely finished but we can see the end.
So we are now finalizing the navigation (the cue points in the stream) and are working with Matt to put this on-line for free in the Javalobby.org infrastructure. If you wonder where is the video content right now, I can tell you it is flying on DVDs between Europe and the states.
Why a Flash player?
We have used Macromedia Flash technology to build our [Javapolis Media Player] and I must recognize that Flash technology do work perfectly for this kind of client-side flashy animations. Some of you have asked me why we use Flash technology and not Java technology to display these streams. Well, this is a choice we have made in May 2004. At that time, the few Java multimedia applet players were in early beta stages. I must admit that the situation is evolving fast in this area and that both commercial and open-source Java players are starting to be present on web pages. So I will definitely consider to use a Java applet for the streams of Javapolis 2005.
But I am a Java developer and I wanted to share with you my experience of Flash and how it is different than Java. I started to use Flash MX 2004 6 months ago, no previous experience with it and it was painful at the beginning.
Flash MX is the Flash development environment. It is a mix of a graphical wysiwyg editor with layers, a timeline for animations and an action script development environment. ActionScript is the language used to develop in Flash, it looks like Javascript to me. Unlike Java, action script is not strongly typed and that is not bad, very flexible and robust.
The Flash development environment is really lacking some important features, no check as you type, no auto complete, not possible to put breakpoints in classes,... such features Java developers are used to.
The biggest problem I had in using Flash, as Java developer, was to find the right balance in separating the view from the model. Flash does not really encourage you to separate view and model. There are here sometimes more drawbacks in separating view and model than advantages.
On the other side, the timeline and the layers for the graphical part are extremely appealing. I have not seen an equivalent in Java. Think about kind of Swing components that you could drag and drop and organize on your page in overlapping layers and define how they can be animated. Included an amazing color editor that supports shading and transparency. You rapidly become addicted to it.
Honestly, I find such graphical features are missing to Java SE and development environments. I think that, as the wind is pushing for richer clients, it might be wise to include also extended graphical and multimedia capabilities in the standard Java edition.
Anyone else willing to push that with me?