The matisse problem in GUI development...

Most of, at least my, customers still thinking in UI and forms. In their opinion building the UI, and not the business logic, requires the main effort. According to that tools like matisse are very dangerous, because even a Java beginner is able to build slick UIs in few hours. The UI looks good, but do not have any functionality. The problem here: your customer thinks, that your project is almost completed and wants to deploy the application in the next time....
So the challenge is here to make your UIs looking unfinished in the first iterations :-). With Swing it is not a big problem. You can very easily change the look and feel. In the first iterations you should use the napkin look and feel (you can use the following system property to change the Look And Feel without recompiling the application: -Dswing.defaultlaf=net.sourceforge.napkinlaf.NapkinLookAndFeel).
In the last iterations you could switch then to something like Substance.
Netbeans 6.0m2 is a Swing application in the early iterations, so with napkin it should look like these screenshots (1 or 2) :-).


NEW: Online Workhop Effective WebApps without Frameworks is also coming to: MUC Airport.

Airport MUC workshops: Web (SPA, PWAs, Offline, Desktop, Mobile) Applications Essentials and Effective Web Applications. No migrations. #usetheplatform

Podcast: airhacks.fm and newsletter: airhacks.news

A book about rethinking Java EE Patterns

Comments:

The napkin L&F should be obligatory for user interface designers. I love it, really.

Posted by michael on August 25, 2006 at 03:16 PM CEST #

I would say the problem is lack of communication between the developers and the customer. I'd say taking extra steps to degrade the look of the ui until its fully ready would be a waste of time. And switching lnf's at the end can be hazardous to the application - I haven't been able to just swap out lnf's if the application has a lot of gui panels. Usually, some of them stress the lnf and look bad.

Posted by Kurt Olsen on August 30, 2006 at 06:17 AM CEST #

HA! Quite funny. Another good way would to be to include a small delay in all the long processes that would update the screen. Like...some field that needs to be updated from the DB and you have an Utility function that handles moving off of the Swing UI thread, then just add a 2 second delay. The customers would then later be mightly surpised as the speed increases in the finished product.

For even more fun you could introduce your own Blue Screen of Death for invalid data entry.

Posted by Tom Boshell on August 30, 2006 at 05:14 PM CEST #

Hi Tom,

you are right, but setting the -D parameter is easier :-).

Posted by Adam Bien on August 30, 2006 at 09:50 PM CEST #

Hi Kurt,

thank you for the comment. You are right: it is not a good idea to wait too long and then switch the L&F. But it is also a good idea not to create a mockup with substance and show it immediately to the customer :-). After the initial presentation I would switch to Substance (or use the default L&F) and develop the application. Lack of communication is always a problem: I even know companies where it is not desired, that developers communicate directly with the customer but talk to the "analysts" instead...

Posted by Adam Bien on August 30, 2006 at 09:56 PM CEST #

Joel wrote about that 5 years ago. It's called the iceberg secret.

http://www.joelonsoftware.com/articles/fog0000000356.html

Posted by Stephan Schmidt on September 13, 2006 at 05:27 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
Online Workshops
realworldpatterns.com
...the last 150 posts
...the last 10 comments
License