The Source for Java Technology Collaboration
User: Password:



Joshua Marinacci

Joshua Marinacci's Blog

LA-stravaganza

Posted by joshy on September 17, 2006 at 01:38 PM | Comments (16)

One of the great things about my job is that I get to go speak to customers and other groups of Java developers. Even more amazing than the fact that Sun pays me to do this is that people actually show up to listen to me. I'm sure you've all had those times where you feel like you are still the dumb kid who just graduated and somehow you have to make everyone around you think you actually know what you are talking about. While I know that I'm a Java expert and have interesting things to say, a little part of me is still scared. What if I say the wrong thing? What if someone asks me a question that I can't answer. What if I walk into a room full of SWT lovers?! The agony!

No one? Hmmm. Maybe it's just me. :)

Anyway, last week Richard Bair and I drove down for a cheap, whirlwind tour of LA to visit five customer sites and two Java Users Groups. I am pleased to say that our trip went very well. We had an engaging and exhausting week meeting with some great Java developers, dispelling myths and out of date information about desktop Java, and seeing how people use desktop Java in the real world.

I won't go over every stop we made, but I will cover the highlights and lessons we learned.

  • Our presentation got better as we went along. This is no surprise of course, but interesting. Our last presentation of the week: to the OC JUG, was much better than our first: to the LA JUG. After giving it seven times we knew the material, knew what to focus on, and most importantly knew what to skip over.
  • Java 5 adoption is going great! When I spoke at the LA JUG a year ago I saw about 25% using Java 5 and 75% using 1.4. Last week the numbers were reversed.
  • A lot of people don't know about Java Web Start. This surprised me because I've known about it for years (and written several different articles on it), but at most sites the developers didn't know about Webstart or only heard a few details. Clearly we need to do more to get the word out.
  • Developers who use WebStart love it. At one customer site, where they use 1.5 and WebStart for everything on the desktop they said "Java Webstart has been a huge win for us". The developers are in LA and the customers are in New York. They can fix a bug in the afternoon, push out a new version that evening, then the customers are updated the next morning. That's what we like to hear!
  • Most people don't know about Matisse for Netbeans 5.x. A lot of developers had tried Netbeans in the 3.x series and never touched it again. We demoed Matisse running in Netbeans 5.0 and really turned some heads. I think we are making headway.
  • Developers want two way editing of GUI code. Matisse, like every successful GUI builder I have ever seen, saves the UI definition to a non-editible store of some kind. Several developers asked about two way editing of existing code. This is a question for you guys: is two way editing really what you need, or would a standard, cross-tool, XML format address your concerns?
  • Trusted Solaris is cool! I've never heard of this product, but apparently we (Sun) make a version of Solaris that is very secure and can isolate applications from each other based on their security level. You could have one window that is classified as Secret and another as Top Secret. It can even manage what you type and copy to ensure you don't accidentally give out classified information (assuming I understand how this works). Obviously this is not something most people need, but if you need then it you really need it, and we make it.
  • Everyone loves Aerith. Aerith is probably the best demo we've ever done. Everyone we show it to loves it and wants to learn more about how to do these types of tricks. It's really turned a lot of heads.
  • I need to learn Flex. On several occasions someone mentioned Flash/Flex. We have a lot to learn from them.
  • Swing is making headway. The speed, look and feel fidelity, and feature improvements (like SwingWorker) in Swing are being noticed. We don't see SWT making the inroads that it was a couple of years ago. This is a sign that we are doing the right things.
  • We should do more road trips. It's exhausting but rewarding work. I wish we could take more trips like this to meet with developers in the real world. But then we'd never get any real work done. Always a balance, it is.

So I'd say the trip was successful. We received lots of great feedback and made people excited about desktop Java, Netbeans, and Java 6. So where should we go next?


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • "is two way editing really what you need, or would a standard, cross-tool, XML format address your concerns?"

    A standard cross-tool XML format is much more important than two-way editing. Such a format would make it much easier to separate the GUI from the logic driving it.

    Note, that with a good standard binding mechanism, you can potentaially have two-way editing and cross-tool support. XML sufficient to create a GUI can be turned to code. Code sufficient to create a GUI can be turned to XML. Sun has an employee who works on this in his spare time already.

    Posted by: coxcu on September 17, 2006 at 04:13 PM

  • Same reactions in Europe when I present Matisse and Aerith :)

    Posted by: gfx on September 17, 2006 at 04:52 PM

  • Is there any work being done on Aerith or does it have the same fate as Joplin?

    Posted by: kirillcool on September 17, 2006 at 08:29 PM


  • I also would prefer a standard XML format for the GUI. Then again, I've only done a couple of GUIs using Matisse now, and haven't had a need to edit the autogenerated code.

    And, Matisse is indeed a drawcard - I too tried netbeans back in the 3.6 days and thought it was it was slow and crap and didn't look at it again. Then early this year I needed to do a small windows app and using Netbeans 5.0, I was able to throw the basic workings together in under an hour and demo the GUI - no way could I have done that hand coding it.

    Posted by: wmeissner on September 17, 2006 at 09:41 PM

  • I think a standard XML format is inevitable at some point. Yep, I know about SwiXML and alternatives. They're a good idea, and I think the core Java SE libraries will eventually have support for one of them (or something similar). Support will eventually make it into the core libraries...thats just my opinion anyway. While tools are great, and of course Matisse simplifies GUI building, I'm still confident that a cross-platform, cross-tool, standard XML format will eventually win over the Java code format for Swing GUIs. Now my only question is who will lead this effort?

    Posted by: joconner on September 17, 2006 at 10:52 PM

  • +1 for "a standard, cross-tool, XML format"

    Posted by: namestka on September 18, 2006 at 06:46 AM

  • Yes, a standard xml format would be great.

    I'd also love to see some of the stuff that Zack Rusin is doing with svg in swing. It's enourmously exciting:

    http://zrusin.blogspot.com/

    Posted by: trcorbin on September 18, 2006 at 07:31 AM


  • Just don't require precompiling the XML to class files (like JAXX, if I understand that correctly, so this also means no embedded Java code without a JDK or other compiler). A dynamic resource for GUI makes sense (a la HTML).

    And looking things up by ID to attach actions or whatever should be fine. Should be no need to embed Java (or other) programming logic in the XML.

    Oh, and do support standard CSS as much as possible.

    Posted by: tompalmer on September 18, 2006 at 08:57 AM

  • Actually I will prefer a tool that generates the UI in Groovy SwingBuilder for example over XML. Groovy is much more readable that regular Java, supports cool features like closures and is compiled to Java code. Creating a UI DSL in Groovy could make the building of UI in code or with the assist of Matisse a wonderful experience.

    Posted by: pdemilly on September 18, 2006 at 09:45 AM

  • +1 also for "a standard, cross-tool, XML format".

    Posted by: magnum on September 18, 2006 at 02:30 PM

  • Might I add:
    - A new Swing book, in the tradition of a tutorial + how to + Heads First series, concentrating on NetBeans, particularly on Matisse.
    - A killer, standard L&F.
    - Better integration with Java 2D and, possibly 3D.
    - Faster dev "tricks" for new coders. There's something to be said for instant gratification. Like, move this slider, adjust transparency or reflection effects, some built in 2D or 3D animations for Matisse etc.

    This stuff is more than what can be handled in one book, but hey, it has to start somewhere.

    Posted by: hchaudh1 on September 18, 2006 at 02:35 PM

  • +1 for a standard XML format.

    JAXX is the first XML format I've seen that looks better than SwiXML, and in combination with, say, BeanShell, it should be possible to have both a compiled implementation (like current JAXX) and an interpreted/reflected implementation (like SwiXML). Like SwiXML, JAXX stays very close to Swing and doesn't have extraneous concepts or support 3 tier applications; it is very focussed and moves Swing development into the proven document/style/script paradigm that has proved itself useful in modern XHTML.

    In the first decade of Swing, Sun's and Java's development process ensured both that there would an awful lot of third party innovation (because of class extension) and that almost none of this innovation would be fed back into core Java. So Swing is incredibly rich with third party controls that don't quite make it, and terribly poor in its core platform: recent efforts like the upcoming application framework JCP show how much behind Swing is. I think this is the big issue for Swing, and things like an XML format here or a SwingLabs there are details that should fall out of having the big picture problem addressed.

    What I would like to see for Swing is:

    * A JCP for a standard controls bundle for "Swing 2010", to start developing now for release in 2007 a modern platform: SwingX + Flamingo (ribbons etc) + LAFwidgets + docking + animated controls + JAXX + better skinning + Flying Saucer + the zillion little fiddles such as at Kumar's site. The aim should be Office 2007 as much as iTunes. Swing current seems driven by a reactive, fragementing, geeky, gee-whizzy development process with no sign of a larger vision apart from a desire to show that the clever underlying technologies can be used to do what other platforms and applications do: but we developers need a good state-of-the-art platform.

    * an increased emphasis on management execution and getting things out the door: why aren't some ot the SwingLabs components finished and deployed as a standard extension for JRE 1.5 by now, for example? Why is there no docking framework yet? why is the application framework effort only starting now?

    * regular, six monthly scheduled updates to Swing independent of the JRE (i.e. assuming JRE 1.5 base level) to allow better planning and deployment by us developers

    Posted by: jelliffe_rick on September 18, 2006 at 07:37 PM

  • I would also like to see a standard XML format. Plus there is a need to improve documentation. Swing is a powerful but complex library. There should be more documentation on the Swing architecture and a series of best practices that cover all areas of Swing application development.

    Posted by: anubis_1 on September 19, 2006 at 01:29 AM

  • +1 For Two Way Editing of Existing Code (I seem alone here).

    Two Other Points:

    1.Option to run matisee StandAlone(only GUIBuilder, no extra mess), So it can be fast as JFormDesigner.

    2.Preview should be dynamic like VB means you can write code in Listener and it really executes w/o need to compile(BeanShell & / | ClassLaoder !?)

    Posted by: hithacker on September 19, 2006 at 04:16 AM

  • Nice post Rick Jellife. Totally reflects my wishes, and concerns with regard to Swing. I truly hope that Sun will dedicate enough resources to the Desktop group to address these issues. For what it's worth your sentiments are also echoed by someone who at one point happened to be a key contributor on the Swing team. Here's what Romain Guy had to say about this:


    Now, a message to Sun. please talk to the Java Client Group guys and ask them what should really go into the JDK! We need solid media APIs, we need data binding, we need a new, modern and cross-platform look and feel (they'll know which one I'm talking about). There are so many people out there writing Swing applications, so many people who love to write Swing applications... Help them for god's sake! You've seen numerous times what Swing and Java2D were capable of, now make that easier for everyone if you really want to keep all these developers around. Forget about Flash and watch out for Microsoft's WPF or even Apple's desktop technologies and you'll see what today's developers are expecting from a desktop platform.

    Posted by: mikeazzi on September 19, 2006 at 08:55 AM

  • And We have an Active JUGs Community right here on java.net. http://community.java.net/jugs/

    FYI -- There are some special video clips of James Gosling discussing Java User Groups >>HERE that would be perfect for your next JUG meeting.


    Aaron Houston
    Program Coordinator
    Sun Microsystems, Inc

    Posted by: sunahouston on September 20, 2006 at 11:46 AM



Only logged in users may post comments. Login Here.


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