Adam Bien's Weblog

Friday Aug 25, 2006

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) :-).


[my tweets]  Rss My book: Real World Java EE - Rethinking Best Practices

Kommentare:

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

Gesendet von michael am August 25, 2006 at 01: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.

Gesendet von Kurt Olsen am August 30, 2006 at 04: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.

Gesendet von Tom Boshell am August 30, 2006 at 03:14 PM CEST #

Hi Tom,

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

Gesendet von Adam Bien am August 30, 2006 at 07: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...

Gesendet von Adam Bien am August 30, 2006 at 07:56 PM CEST #

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

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

Gesendet von Stephan Schmidt am September 13, 2006 at 03:27 PM CEST #

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet
Interviews/About
My Recent Book
Java One 2009
CommunityOne East N.Y.C
JavaONE 2008 Interview
Search
...the last 150 posts
...the last 10 comments
greenfire.dev.java.net
Links
my.netbeans.org
Visitors
License