The Source for Java Technology Collaboration
User: Password:



Chet Haase

Chet Haase's Blog

Shutup About the Book, Already

Posted by chet on September 19, 2007 at 08:03 AM | Comments (23)

I have nothing to say about our Filthy Rich Clients book today. But other people do.

InfoQ posted an in-depth review of the book this week. It's a great review overall, although I take issue with some points (apparently I'm "not adverse to the odd corny-joke or two." Hmph.) It's great to see that people are enjoying the book.

They also posted an excerpt of Chapter 14, which is an introduction to the Timing Framework. So if you've been pining for more recent documentation on that library (older articles on it predate a lot of the refactoring and new features that came in a year ago), you might check that out.

Also, JavaRanch is hosting Romain and I this week on their Swing forum. We're trolling the forum all week, answering questions and generally making nuisances of ourselves. Apparently, there's a drawing for free books from the folks who post there. I hope I win one!


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

  • Just bought the book after looking at the Table of Contents.

    It Better be good ...... *Shakes Fist*

    Looks like a good addition to my library anyway !

    Posted by: bilco on September 19, 2007 at 08:39 AM

  • The book looks good. I have glanced through some code that you have on the site for the book, and noticed that you chose to use GroupLayout in the applications. As a result of your choice, the code for the layout is a bit intimidating for the uninitiated who want to learn Swing. It's quite baffling that you did this.

    Posted by: varan on September 19, 2007 at 11:58 AM

  • This is not a book about learning Swing :) The examples using the GroupLayout were made in NetBeans GUI Builder. But NONE of those examples require you to understand the layout to teach you what it is supposed to teach you. Each example has a precise goal and you never need to read the layout code to reach that goal.

    Posted by: gfx on September 19, 2007 at 03:19 PM

  • varan,

    Life is too short to spend writing layout code. Use NetBeans!

       -Scott

    Posted by: zixle on September 19, 2007 at 05:58 PM

  • Netbeans generated code sucks. Bigtime.

    I thought the book was about how to create FRCs by using Swing.

    I understand very well that the layout is not the focus at all, but showing ugly code will put off many potential users/readers. Just my two cents.


    Posted by: varan on September 19, 2007 at 07:00 PM

  • ... which is why the book focuses on only the relevant parts of the demos - the graphical effects. You're seeing the demo code out of context.

    Chet.

    Posted by: chet on September 19, 2007 at 07:52 PM

  • Varan,

    You've touched an interesting topic. The one where NetBeans is used to create more and more Swing demos. The reson for doing so, and they rightfully did so in FRC, is simple; it's easy and fast to do so. :-)

    The problem is that demos created this way is almost impossible to change or append to if you aren't using NetBeans. The fact is even that the source code is not enough to change the demo code in NB, you need the whole project since NB doesn't parse the code, it is using a resource file, which you need.

    If the intention is to lock into the NetBeans platform this is a great move from Sun. Soon everybody will start using NB simply because you can't use anything else when you start coding, which you quite often do by altering demos and totorials. This might however be bad for the Java platform in the long run since competition is hampered with fewer players and innovation will fall as a result.

    I don't know if there is a solution to this though. It's good that NB is becoming better and more people use it. It is bad if there's even a small amount of lock in. IMO a market is better without lockins and is driven purely on innovation.

    A viable solution to this would be if the code produced by NB would be readable and changable by any IDE. For this a LayoutManager that packes the power of GroupLayout but produce readable code need to be used and NB used real 'code reparsing' to build the GUI, rather than proprietary resource files (.form files).

    Cheers,
    Mikael Grev

    Posted by: mikaelgrev on September 20, 2007 at 12:07 AM

  • Is it just me or is this the first Scott Violet sighting in quite some time?! zixle, where you been?

    Posted by: ljnelson on September 20, 2007 at 07:23 AM

  • If a different layout manager is wanted, I've just created the ExpressionLayout project on dev.java.net. I think it strikes a good balance between power and readability. Maybe someday someone will join the project to help make the manager work well with NB...

    Posted by: jskress on September 20, 2007 at 08:01 AM

  • I forgot to mention this; the expression layout uses only string constraints when adding components to containers. The strings are a simple list of assignments, very similar to Marc Slot's ArithmeticLayoutManager, but a lot more complete. I'm interested in whatever feedback you have. I hope it is helpful to you.

    Posted by: jskress on September 20, 2007 at 08:04 AM

  • You're seeing the demo code out of context.


    Well it's your book, and it's your choice. I have not read the book, so perhaps I should not have commented, as I am sure you have a disclaimer that the reader should only peruse the code that has been marked as such for perusal.

    Posted by: varan on September 20, 2007 at 10:12 AM

  • varan: You seem to be very angry about something... did the book-authors pick on you in any way?

    Posted by: chbeer on September 20, 2007 at 10:58 AM

  • Hi Chet, I recieved my book copy this week and ... Awesome, I enjoy it like a spoiled kid !!!

    thanks !!!

    Posted by: aleixmr on September 20, 2007 at 12:52 PM

  • Wow.

    It must really stink to write a great book that has awesome content only to get slammed because the free code doesn't work with every IDE that Java developers use.

    If anyone wants a JBuilder version please let me know. I can translate it for you in about 2 seconds.

    Chet and Romain the tabs on me next time I see you. Great book and thanks for taking Java Swing to the next level.

    Since we only met once at JavaOne I'm pretty sure my wallets safe but if you show up in NC look me up. I'm buying.
    :-)

    Posted by: cupofjoe on September 20, 2007 at 08:27 PM

  • FRC is a great book! When is the source code for the animated transitions going to be released? I got the JAR file containing classes from the book's website... just curious when the src code will be released, and if the API is going to change a lot more... Thanks!

    Posted by: nazmulidris on September 21, 2007 at 11:36 PM

  • Great book! Been referring to it a lot lately.

    One method that I need for animations is animator.reverse(). For example, when a mouse enters a region I fade in some contextual controls and when it leaves I fade them out. All goes well if the user goes into the area and hangs around. But it gets complicated if their mouse is just passing through and the fade-in animation is only half way through before they leave and it's time to fade-out. Animator.reverse() would allow me follow the same acceleration curve on the way out that I did on the way in.

    Posted by: johnwallace on September 22, 2007 at 05:17 AM


  • nazmulidris: I finally finished the process for open-sourcing Animated Transitions, so I hope to post the project in the next few days. I'll post a blog when i do so. I do expect the API to continue evolving. It's a pretty useful utility library, but a bit rough around the edges, kind of like the Timing Framework when it was first released. So I will continue poking it with a stick until it's docile. I think it's useful in the meantime, however, so please use it and send me feedback on things that don't work for you.


    johnwallace: This capability is available already, albeit with a bit more code. Check out how Triggers perform their autoReverse feature. You can set a startFraction and a startDirection on an Animator and have it run backwards from some arbitrary point in its cycle.

    Posted by: chet on September 22, 2007 at 06:35 AM

  • I just got mine in the mail today, but I haven't had a chance to look at it...

    About the "not so pretty" NetBeans generated code - I've been a big fanboy of grouplayout up until I started using MigLayout. It would be nice if MigLayout could be a drop in replacement for GroupLayout in the NetBeans GUI builder.

    Posted by: jonathan_ on September 24, 2007 at 01:38 PM

  • thanks for the update chet. i will look for your announcement to get the source code. the animatedtransitions API works great! here's a tutorial i wrote up for it today - http://developerlife.com/graphics/animatedtransitions/index.html.

    Posted by: nazmulidris on September 24, 2007 at 02:41 PM

  • So what's next now that the book is done and dusted? Is there any progress/plans on the Java Media Components API that you mentioned earlier in the year?

    Posted by: craig_aspinall on September 26, 2007 at 05:35 AM

  • Chet, not trying to stir you up. But, don't you think that these types of clients are on their last legs. Isn't it becoming obvious that the future of software development is heading away from this type of interface and moving towards more portable and deployable formats like Flex, Silverlight and even JavaFX? It seems that anyone doing any kind of innovation on fat clients or AJAX is really wasting good talent and is just milking a dying trend. Sun in general has never been able to break into the UI market with Java and it’s probably too late to do so with a technology that is already out of date. Perhaps focusing more on JavaFX, even though that is very weak compared to its competitors, would be a better way to spend time and money. Just my thoughts.

    Posted by: gmashini on October 24, 2007 at 09:34 AM

  • gmashini: I disagree (obviously) about the "last legs" comment, as I think a lot of other Swing developers would as well. But there's clearly a need for making rich clients easier to create, which is the idea behind JavaFX. But building capabilities into the platform gives us the best of both worlds; enhancing the development experience for the people that know and love Java, while creating capabilities that the JavaFX platform can build upon. In the meantime, explaining how to create modern user experiences with a known platform (Swing/2D/Java) is what the book is all about. Hopefully, JavaFX will make creating filthy rich apps even easier.

    Posted by: chet on October 24, 2007 at 04:34 PM

  • Chet: The posting came off stronger than I meant for it to. Last legs in this industry means many years not months. Everyone who has made an investment in Swing, including myself, is appreciative for the efforts. I just hope that Sun would do one of two things. Revolutionize the UI architecture so that it could catch up with the rest, which would take an effort that it probably cannot afford. Or, spend its time and talent making Java better at what its predominantly used for, server side programming.

    Posted by: gmashini on October 25, 2007 at 07:19 AM



Only logged in users may post comments. Login Here.


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