The Source for Java Technology Collaboration
User: Password:



Chet Haase's Blog

April 2007 Archives


JavaOnederful Desktop Sessions

Posted by chet on April 24, 2007 at 12:24 PM | Permalink | Comments (11)

I've been meaning to write about JavaOne for some time, but it's just one of the many things I haven't gotten to, like commenting my code and cleaning out the gutters. I thought about waiting until after the conference, when I will have a bit more time, but it seems like it'd be slightly more useful to put this out there now, instead. So here goes.

First of all, check out a video interview with Richard Bair and myself that just hit the web today. The video URL is linked above, or you can go to the main page at http://java.sun.com/javaone and see the various interviews posted there. In our conversation, Richard and I talk about the current state of Desktop in Java SE 6, some feature work currently underway, and highlights on some of the upcoming talks at the JavaOne conference. It's a lot to cover in 7 minutes and 50 seconds. Good thing I had plenty of coffee that morning.

Next, I thought I'd write down a relatively brief and completely subjective take on the interesting conference sessions.  So here is:

Sessions That Chet Doesn't Want to Miss at JavaOne 2007

1) Filthy Rich Clients (The JavaU Course): Monday morning
I'd better be at this one, since I'm speaking at it, along with Romain Guy. This should be a fun session. For one thing, I'm looking forward to having some current Desktop content in the JavaU curriculum. Also, I'm looking forward to spending more time (about 3 hours) on this subject than can in a regular conference session.  We'll go into some of the fundamentals behind Swing, 2D, and animation, and get into some of the advanced rendering and effects topics as well.  We can't do the entire book's worth of material in 3 hours (or if we could, why did it take us six months to write it?), but we'll dive deep into various topics.

The catch is that the JavaU day (Monday) is an additional cost on top of the core conference. But if you happen to be in town and are spending a wad on the trip already, hopefully it makes sense to blow a bit more to learn something in-depth in these tutorial sessions. Our course is only in the morning, so you'll have a chance to hit one of the other JavaU sessions for the afternoon.

2) Filthy Rich Clients: Talk Dirty to Me. Wednesday@10:55, Friday@2:50
Again, I list this talk because I'm supposed to be on stage with Romain giving them, so I'd better not miss them. But it should be fun. The talk will be different from last year. With a whole book's material to choose from, there's plenty to discuss and demonstrate. Graphics, animation, effects, and generally whizzy stuff, with lots of code examples and demos to show how you can do the same things in your Swing applications. And maybe Romain will entertain us with French poetry or a mime act this time (although I personally hope not).

3) Desktop Java Technology Today: Tuesday@10:50
This session (which I'm also supposed to be giving, thus it's another can't-miss for me) is going to give a quick glimpse of where Desktop Java SE is at today, then show you where we're going in the future. If you want to get an overview of the Desktop platform and the JavaOne Desktop track's talks, this is a good way to start the week.

The timing of this talk is interesting to me. It's right after Rich Green's keynote, and before Bob Brewin's technical keynote. You could think of this talk as the keynote intermission, but without the band, concession stands, and wardrobe malfunctions. Or, you could think of this as a Desktop sandwhich, where the keynotes are the essential pieces of bread, holding together the real meat of the content: The Desktop Pastrami sandwich, as it were. Expect some rye humor.

4) Extreme GUI Makeover 2007: Wednesday@2:50
This is one of our most successful talks in the past couple of years, based on attendance,  survey feedback, and highly subjective opinion. The crew returns this year to show ... well, you'll just have to see.  Should be fun and educational. Good how-tos on making cool, dynamic Swing applications.

5) 3-D Earth Visualization with NASA World Wind: Thursday@10:55
This is a very cool project by NASA that shows the power of Java and JOGL for writing amazing, rich graphical applications for the web.  Check it out.

6) Being Productive with Swing: Wednesday@1:30, Thursday@9:35
Ben Galbraith is one of the JavaOne 'Rock Stars'. He always gives a good talk, explaining Swing application development and architecture in a very clear, entertaining, and informative way. Join him as as he covers some architectural fundamentals in this talk. Also be sure to check out his Debugging and Optimization talk.

7) Easy Deployment is Finally Here: Tuesday@4:40
Join JavaOne 'Rock Star' Ethan Nicholas as he talks about some of the very cool stuff in store for desktop developers in the deployment space. We are addressing some of the major issues in application deployment and launching, and you will want to see what we're doing and how you can take advantage of it.

8) JSR 296: The Swing Application Framework: Tuesday@3:20
This JSR feature is coming along nicely in a current java.net project. Join veteran speaker and Swing architect Hans Muller and Joshua Marinacci as they tell you how it all works and how it's going to make your life nearly perfect in the future. Or at least how it will improve the Swing-based portion of your life.  We can't fix your relationship problems, although it's worth pointing out that making Swing development easier means that you can spend less time coding and more time communicating. Or playing games. Or just writing more, cool Swing applications.

9) Form Follows Function (F3): Wednesday@4:10, Thursday@1:30
If you've followed Chris Oliver's blog on F3 (http://blogs.sun.com/chrisoliver) , you've seen the cool things that you can do with the language. Come to this session and learn more. See how quickly you can use F3 to code up GUI and graphical applications.

10) User Interfaces: Past, Present, and Future; Good, Bad, and Ugly: Wednesday@9:35
If anyone saw Joe Winchester's talk last year, you know how funny and inciteful he can be. I'm looking forward to what he can do with this 'rich' topic this year.

11) BOFs
Don't forget about the BOFs. These sessions can easily rival the best of the technical sessions. There are basically 2 kinds of BOFs in our track: "Meet the ..." panels and mini-sessions. Both are good session types, but with different intents and formats. For example, Shannon Hickey's "Advanced Swing Drag and Drop" BOF will be just like a technical session, just a bit later in the day. The "Meet the Swing, AWT, and i18n Teams" BOF, on the other hand, is a panel discussion and general Q&A session with many engineers from these teams. BOFs tend to be a more intimate atmosphere (no lingerie required, however). They are a great place to find out more about your favorite API or product, or to ask that niggling question that's been on your mind, or to meet and talk with the engineers on the projects and products that you depend upon.

12) Everything else in the Desktop Track, Too
I did not enjoy hand-picking sessions out of the track for this blog, because I was heavily involved in helping to select all of the talks for the track this year, and feel strongly that all of them are going to be good. There are great architectural talks by Sun and non-Sun folks. There are deep-dives into core Swing areas like threading and the Beans Binding JSR. There are fantastic case studies from successful companies using Java Desktop technology. There are talks on frameworks that can make your development lives easier. And so on and so on, through the 45 sessions and BOFs in our track. So don't see the handful above as an indicator of a full agenda for the conference. Instead, see it as a teaser and be sure to check out the full Desktop track content to make up your own mind of where you want to be that week.

13) Oh Right - There's Non-Desktop Sessions at JavaOne, Too
Everything above is All About the Desktop. This is simply because I've been so busy working with the Desktop track and my own sessions that I haven't had time to check out the other conference tracks. But I know for a fact that there is great stuff going on, from another Puzzlers talk, to discussions on OpenJDK, to talks on SE currents and futures, to performance sessions, to tools talks, to ... well, to all of the wonderful stuff that usually happens at the conference.

My suggestion to you: clone yourself at the beginning of the week, send your clones into the different tracks, take it all in all week, and then do a merge on the weekend. It'll probably cause a splitting headache, but it'll be worth it.



Don't Use getScaledInstance() (But Do Read Chris's Article on Why Not)

Posted by chet on April 19, 2007 at 04:31 PM | Permalink | Comments (0)

I should have linked to this when Chris published it, but it slipped my mind in the usual chaos that precedes JavaOne. Chris wrote an excellent article on image scaling, why getScaledInstance() is not your friend, and how you can get both quality and performance in your scaling operations. Go read it now:

The Perils of Image.getScaledInstance().

The funny part, for me, is that we did this article in parallel. I'd been thinking about doing an article on this exact topic for years. I had even started it a couple of years back, but deadlocked when I realized that I needed some nice demo code and screen shots (which Chris's article has) to go along with it. So it sat on the back burner until I found myself in the middle of writing a certain book, and wanted to discuss the topic in a chapter on Images. I wrote up a draft of the section, complete with demo and screenshots, sent it to Chris to review ... and he replied that he'd just written the article.

Great Scaled Coincidences!

In the end, you'll get to see both of them. I kept my section in the book and my demo as-is, and Chris finished his article up quite nicely. I'd like to say that they hit the market at the same time, but given the realities of book publishing, Chris's article is out way before the book. Dangit.

Anyway, go read the article. Good stuff, and easy fixes for slow image scaling code.





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