What do you want to hear about?

Chet and I are going to present another installment of Filthy Rich Clients at JavaOne 2008. We have a bunch of cool ideas for techniques and demos we would like to show you but I am very interested in hearing what you want to know about. If you have any visual effect, animation or graphics technique you would like to learn, please tell me and we’ll try to put it in our presentation.

33 Responses to “What do you want to hear about?”

  1. Romain, I’d like to see more on animated transitions and desktop integration (tray icons, system menu, browsers, etc), keep it filthy! keep it rich! =-)

  2. Richard says:

    Hi Romain!
    I’d like to see some more stuff about the translucent shaped windows using JNA or some other nice lib. Next to that I’m very interested in the buttons used in Google Picasa. The hover effect and pressed effects are very cool. Of course i could implement it with static images, but the animation part is what it makes it super.


  3. Jonas says:


    I’d like to see something about playing movies. Maybe by using Java Media Framework. Put som nice semi transparent controller in top of a playing movie. Do some nice transitions between different media clips etc.

    Thanks / Jonas

  4. Brad says:

    Hey Romain,

    Did the code for last year ever make it to surface?


  5. Romain Guy says:

    Brad: The Filthy Rich Client examples have been online for a while now.

  6. remy says:

    Maybe Brad was talking about the code for Extreme Gui Makeover, the real estate app ?

  7. Brandon says:

    How about some examples of some cool effects you can do in Java2D that would normally be performed in Photoshop? In your book you make a reference to how Java2D can be used in place of a tool like Photoshop, so what about some complex examples such as creating a glassy orb using Java2D? You cover radial gradients in your book, but the glassy orb example I would expect to extend beyond this.

    I think it would be interesting to see some very “rich” looking stand-alone components that would in turn have the ability to be dynamic (versus a static image) that most would create within a photo editing tool. With the glassy orb example you could always build on that and add beveled looking text for a nice looking button or even animate it using color to create a “hal” looking component.

    Also, I think it would be nice to see some drawings created using Java2D through the use of primitive lines, arcs, etc. Examples for creating custom shapes in Java2D by adding and subtracting primitive shapes to one another seems to be lacking.

    Just a thought.

  8. Dave says:

    I think an iCal (mac) clone with animations, transitions and desktop integration would be pimp. you could even integrate with the mail app from a previous presentation.

  9. Maury says:

    Hi Romain!
    I agree with Dave, even if I prefer not a clone but a new way to think about calendar application. There’s a lot of (ugly) iCal clones, and, in my opinion, an application could be considered as beautiful as far it is from the same category application.
    Oh, another interesting thing could be more advanced features and animations in (re-)drawing standard JComponent…

  10. Arnaud says:

    Hi Romain,
    My expectations are:
    Mimic a standard application from the login to the logout.
    Mix technologies (Swing is not an island): swing, browser, pdf, flash :-)

    Show NextGen UI: round border window, modern look and feel and transition.
    If you could show something using an applet it could be nice.
    Anyway I’m quite sure any subject you choose will match our expectations, however I’m concerned about the license used for most of Java2D libraries such as Project scene or any swing labs project: the LGPL license is no more allowed by legal department of big industry actors and it can be a huge impact on the richness of the Java based product we plan to do. So my question is: why do not change the license to get a better supremacy?
    My two cents,

  11. Java Crazy says:

    Hi Romain,

    Well I would like you to use JNA this time and show animation effect similar to what we see when we open a new window in Vista, it would be a treat if you some how incorporate jogl along in the application to create animation something like you can see in finetune player or may be something else but definitely jogl this time and binfding it to java 2D…

    Thats what I would love to see

  12. Antonis says:

    I second Brandon’s suggestion. Given the fact that Nimbus is in fact created using only Java2D primitives I would very much like to see some standard techniques for implementing Photoshop-like filters and effects.

  13. Jay says:

    Unfortunately, I don’t want to hear anything more on Rich client. I should say not on graphics animations or look and feel that type of things . I think that too much time has been spent on this area but in fact Swing has no issues with its GUI.

    I really want to see that Sun could spend more time on the support of multimedia, the application deployment which is being worked and heap memory management to allow dynamic resizing of the maximum heap. Nothing matters if we can’t easily deploy our applications and that’s why we don’t a lot Java desktop applications. Java SE should have a good support for not only playing multimedia but also creating multimedia .

    Look at Android. It has almost everything . It’s support of multimedia is great and it’s getting better with the recent release. I wish that Android has an environment for desktop. If so, that would be my first choice for developing desktop applications.

  14. Romain Guy says:

    Jay, neither Chet nor me are working for Sun.

  15. Adam says:

    I’m with Jonas, would love to see something to do with the Media Framework especially video and video transitions.

  16. Jay says:

    Thanks Romain. Both you and Chet made wise career move. Adobe just launch Air 1.0 and it looks promising. I see that Android would be ideal platform for mobile software developemnt and Adobe Air for desktop and web development. I don’t know where ‘Java on Desktop’ stands after almost a year from last JavaOne except that you guys left Sun.

  17. John says:

    I’d like to see more OpenGL-based effects. Things like flipping objects (similar to how Dashboard widgets flip on MacOS X), or interactive Swing code on a moving OpenGL panel. Mainly I’m looking for more OpenGL so we can see more interesting effects, a la MacOS.

  18. Someone says:


    Why not keep it simple this time?
    Something filthy, something rich, something cool… but something usefull ?

    An application using beanbinding, application framework that connects to a database and does some transactions (insert, delete, update).

    Of course, this time try to make a proper code. Not one like aerith. A code we can learn from; a commented code.

    We all can be cowboys and make something that works like aerith using a lot of stuff and make them working together. But such an application can never be solid. You’ll take always more time to fix a bug than developing it again…

    If I’m not clear enough, just ask :-)

  19. Romain Guy says:

    The purpose of the Filthy Rich Clients session is not to use databases and transaction and beans binding. We even made fun of people asking for this in last year’s presentation. We just don’t care about that kind of stuff and we do not pretend otherwise. If what we’re talking about does not interest you, just attend other sessions.

    And I’m sorry if our code does not live up to your standards but we usually work on this on our spare time under very tight deadlines. Ah wait, actually I’m not sorry. Perhaps the open source tools and libraries that we extracted, cleaned up and documented from demos do not meet your standards either (stuff like TimingFramework, AnimatedTransitions, SwingX’s graphics and image packages, Fuse…).

    If I’m not clear enough, just ask.

  20. Someone says:

    Clear… mmm… I don’t know.
    Not that I’m not interested; I do love java client, but there is definitively something wrong.
    Let me give you an example. I don’t remember the first time I’ve heard about SwingX. And where is it today? Not yet the version 1.0!! It’s not documented; there are no one good demo neither one good tutorial!!
    It’s the same for the Application Framework. Except the book you wrote with Chet Hasse, there is no documentation!!
    Nimbus is not yet complete.
    Bean Binding is another story.
    I know what you’re going to tell me. Java is open source now, you can contribute. Well, I tried!
    Be a cowboy and write up some code working doing something is easy (look up on sourceforge or Google to see how many students have written a chat application).
    Developing a strong and reliable application is something.
    It seems that I pissed you. Just come down. I’m looking forward to see what you’re cooking up for J1 2008.

  21. Maury says:

    I think, and I hope it’s not only my opinion, that J1 has to show how far you can go using Java. Many java projects or API are so good (for example JCalendar…) but J1 it’s not the place to talking about. If you get involved into a project (like SwingX) you’ve all the help you need. Demo and tutorials are good if you’re moving your first steps in Java. If you’re already a developer, all you need is a good documentation (and SwingX has a good one…). Last, most project aren’t complete yet, but I don’t think it’s Romain’s fault. Simply, needs time…and patience.

  22. Romain Guy says:

    Someone (you could at least avoid the cowardice of being anonymous, just out of respect :), I’m not pissed at you in particular. I’m just fed up and tired of demanding people like you. Especially when they are condescending. Let’s just say you are the perfect example of person that makes me ask myself every day why I should stay involved in the Java community. I guess my recent lack of activity reflect that.

  23. Robert says:

    I’m sorry to hear that you get so much flak from the Java community. Your blog and book have been a great source for people looking to make a GUI in Java that they can be proud of. Or at the very least one that does more than people expect of your typical Java app. I for one have used information gained in your blog in my work and play. I for one thank you.

    I don’t think that people stop and realize that you do this stuff in your spare time, for the benefit of all. It’s always easier to gripe about a perceived deficiency than to complement them for what they did correctly.

  24. Juan Pinzon says:

    Romain, thanks for your great work developing swing and helping make software everyday better…. dont pay attention to the comments . I’ve followed your job for a while and you are one of the biggest contributors of the community. Regarding your question, I would like to see more on applets and javascript…. I’ve just released a project that i’ve working for more than a year and you might be interested in… is something similar to the photo webapp done by jasper for the last J1. I’m just going to give you the keywords (drag and drop, applets, WYSIWYG web editor). Currently is in the form of a facebook app…. I would like to hear your comments about it, go to http://www.facebook.com/apps/application.php?id=6470317146

  25. Someone says:

    Not that I want to stay anonymous, but even if i give you my name, my location and everything… you won’t even have a clue of who I am. So why would I? Anyway, I’ll do it. My name is George Vandebroek. I live in Brussel, Belgium. I am a software engineer and I have 8 years background in Java (mainly desktop even if I do have a strong J2EE base).

    I’ve seen you many times at some conferences (I attend J1 & Javapolis each year and some Sun Tech Days even now and then…) but we never talked. However, I did have some discussions with some other of your “fellows”.

    Swing is very powerfull but in comparaison with some other widget toolkit, Swing hasn’t evolve for years (significantly). Of course, we’ve seen some improvements (no more gray rect, table sorting and filtering, system tray…) but what we need is video, audio, animations… JMF isn’t part of the JDK/JRE yet!! Corba is and JMF is not. This is ridiculous. Even if you can’t do anything about that because of the JCP… that’s what’s killing Java on the desktop. Java Descktop 2.0 will never see the day !!!!;-)

    Compare Flex/Flash to Swing ten years ago and today. Why is Flex/Flash/AIR/Apollo so well accepted by everyone comparing to Swing?

    i don’t mean to be rude against (definitely not against you Romain Guy – J’aime bien la France si tu veux savoir et j’aime ton travail. Quoique, comme tu le dis, minime ces derniers temps). I know you can’t really do anything to make Java get back on the desktop but you asked what we wanted to see and I gave you my ideas. They were bad. Sorry for this. It wasn’t what you were expecting, sorry for this as well as for pissing you up.

    Passe un bon week-end.

  26. Jay Huang says:

    We believe that we all want Java to be successful and to be successful on desktop. That’s why we are here. Every one has an option how to make Java successful on desktop. Both Romain and Chet made a lot of contributions to this Java community on Swing and Java 2D. Like George Vandebroek, a lot of us also want to see that Sun would do more to solve some of the fundamental issues , such as Java runtime, Multimedia support and etc. But that’s not something that either Roman or Chet can solve and they don’t work for Sun anymore. Read the recent post by Join O’Conner


  27. Just usefull Swing tips.

  28. pollux says:

    Please Gfx, stay involved in the community! All posts that you wrote are prescious, don’t stop!
    Piss all the “someone”, get rid of them. We’ll all thank you

  29. Daevil says:

    Hi guys, I was working at an application to view picture with jogl, something looking like PicLens http://www.piclens.com, wich is really good. Just to contribute to the discussion I would like to see kind of that stuff.
    I would have enaugh time and experience to work on stuff like switching between windows or tabs in a manner like compiz-fusion does on linux.


  30. cupofjoe says:


    This is way out in left field. But I think it would be way cool. It would prove a challenge for both you and Chet. It would also be a great tool for the community.

    I remember back in 2001 a very cool demo that showed the heap of objects in the JVM. The demo did a visual and you could see things like hashkey and equals play out visually. I’m not suggesting this but this is what gave me the idea. ;-)

    So here goes…

    Does something like that for the AWT message queue. Put some cool animation. Maybe allow it to use the JConsole type API.

    Use any of your current cool apps. Attach this one however you want. As a bean, map it to an action-hot-key like Ctrl-Shift-F1 or whatever.

    But I can’t think of anyone who wouldn’t like a pimped up UI demo to watch messages in the AWT message queue!

    Maybe have it monitor the Container event of child added?

    Just graphically draw a tree? What would be even cooler would be to leverage http://prefuse.org/ to draw it in a tree.

    I don’t think this would be as hard as it sounds.

    I also think with your UI expertise and Chet’s knowledge of the threading model it would be great.

    I also think a simple tool like that would really show people why 10 years later MS has started cloning the Java Swing framework with Silverlight. :-)

    Like I trust MS for a cross platform API. Heck they can’t even write a single OS that all of their developers can code against. Rumor has it the MS Sql guys got so upset with MS Server that they changed ring zero code and wrote their own memory management software.


  31. How many times you eat during a normal … every day life?
    are you the type of person who eats a bit and often?
    or rarely and too much?

    i usually have 3 and i’m the 2nd type of person (though it’s not that healthy)

    8 am breakfast

    3pm lunch

    9pm a snack.