Archive for May, 2007

Are you coming to find out Why Spaghetti Is Not Tasty?

Tuesday, May 8th, 2007

Just remind you if you are at JavaOne and have not scheduled it yet. Remember my talk:

TS-3316 Why Spaghetti Is Not Tasty: Architecting Full-Scale Swing Apps

Thursday , May 10, 2:50 PM - 3:50 PM, Hall E - 135

This presentation tackles the biggest issue in building medium- to large-scale Swing applications: if they are not architected from the beginning, there is a high possibility of the interconnections and communication (events/listeners) becoming the biggest pile of spaghetti you have ever seen. This leads to unmanageable application code; slipping project deadlines; spiraling development costs, and in bad cases, project failure. The presentation sets out to explain the main issues a developer is likely to come across in trying to build a full-scale Swing application.

Iris - Java One Demo

Tuesday, May 8th, 2007

Iris Logo

Finaly I get to show you all what I have been working on for the last few weeks. Iris is an online photo browsing, editing and slideshow application. It is a smashup of Java Applets and next generation web concepts.

screenshot

Iris shows the power of modern Java applets, highlighting the following major features of the Java platform:

  • Next-generation web integration: Java applets interoperate well with JavaScript in all major web browsers.
  • Multithreading support in the Java platform and libraries hides network latency from the end user, and increases the application’s throughput.
  • Native desktop integration supports concepts like drag-and-drop "on to the web".
  • The Java platform’s powerful and flexible security model allows true web service mashups to be created which connect simultaneously to many web services.
  • The rich image handling and graphics capabilities of the Java core libraries facilitate development of advanced graphical applets and applications.
  • Dynamic extension of applets: new techniques developed within the past year in the JOGL project allow applets to use OpenGL for 3D graphics, OpenAL for spatialized audio, Java Media codecs, and other extensions previously only available to desktop or Java Web Start applications.

(Note: Iris currently uses the latest Java SE platform features and requires Java SE 6 to run.)

Iris works with the Flickr online photo service. When you navigate to the Iris page, if you have a Flickr account, you can click the "Login" button in the upper right portion of the page to enable uploading of images to your account.

From the main Iris page, enter a Flickr user’s account name to browse their albums. If you don’t have one, you can try "jasper potts", "el richbo", "kenneth russell", or "romainguy" for a few.

Clicking on an album will list the photos it contains. If you’re logged in and viewing your account, you can drag and drop a photo from your desktop on to the "iris" icon on the lower-left corner of the page. You can even drag and drop directly from other applications such as webcam apps. Yes, that’s right, drag and drop on to the web…made possible with Java applets!

What’s really going on is that the remarkable facsimile of a Sun server across the bottom of the web page is a Java applet. It is receiving JavaScript events from clicks on the albums and photos and contacting the Flickr web service to do operations like list the photos in a given album. The rest of the page is HTML. The applet calls back in to JavaScript to update the HTML in the two portions of the web page above it.

Double-clicking a photo or clicking the "Edit photos" button at the bottom of the page will pop up an image editor. You can do various operations like color correction and balancing, rotation, cropping, blurring and sharpening. Note: Be careful when you edit a photo it really changes it on Flickr

From the editor view you can also get a better overview of all of the photos in the album. Clicking the perspective "back" button in the upper right corner (between the left and right arrows) will enable a 3D "display shelf" view where you can breeze through all of the photos in the set. Clicking the same button will zoom back into the image editing view.

Once you’re done editing your images, you can view a slide show of them by clicking the "Slide show" button on the bottom toolbar. You can even make the slide show go full-screen by clicking the full-screen button (again between the left and right arrows). Note also that the slide show has built-in buttons which fade in and out as you hover over the bottom center portion of the slide show view.

What good is Web 2.0 if you can’t share it with your friends? Clicking the "Share" button in the lower right corner will pop up your email client and send an HTML link to people you choose. On any computer with Java 1.4 or later installed, Java Web Start will launch, update the JRE version if necessary, and run the full-screen slide show with no manual software installation.

Java applets…think again!

Latest ATI Drivers for XP on MacBook Pro Boot Camp

Wednesday, May 2nd, 2007

I was trying to run some 3D demos today in Windows XP on my MacBook Pro under Boot Camp but hit some OpenGL driver bugs. Installing the lastest Boot Camp 1.2 with its updated drivers helped improve things a bit but it is still a long way behind the latest ATI drivers. Unfortunatly you can’t directly download and install latest drivers from ATI on the Mac. But after some internet digging I found this link to ATI Catalyst 7.4 for Mobile. Catalyst Control Center doesn’t seem to work but the drivers work fine. They also have much better support for video mirroring and external VGA monitors. Just have to hope that it works on stage with a projector.

The pre JavaOne rush

Wednesday, May 2nd, 2007

Like the rest of the Sun Java world I have been manic working on stuff for Java One. I have been writing a very cool demo for the technical keynote which I am sure you will think is cool when you see it next week.

I am really looking forward my first Java One next week, hope to get a chance to meet some of you.