This post originated from an RSS feed registered with Java Buzz
by Joe Shelby.
Original Post: Guidelines for creating GUIs, part 1...
Feed Title: Joe's Java Jottings
Feed URL: http://www.blog-city.com/bc/
Feed Description: Notes, observations, and occasional other stuff on Java, with concentrations on Swing, XML, and the Semantic (Object) Web.
Celia wrote in message ...
> I'm looking for a good book on web site layout and design.
> Can anyone suggest something for someone who's familiar with application
> programming and layout, but want's to move to the web?
> I'm hoping to find something practical covering everything from what
> components make up a web page to common usage standards.
> More of a UI book than a programmers manual, but not an escoteric
> philosophical treatise either.
Well, it doesn't have to therefore be a book using Swing exactly, however there is no way to broach this topic *without* getting into philosophy/psychology of user interface designs.
Best so far is About Face 2.0: The Essentials of Interaction Design.
But really, all its a matter of doing is making things look like other things you've already seen -- take advantage of research already done in the form of successful products already out there. Don't try a new layout or interaction metephore without 1) ruling out the existing ones as not being able to handle the necessary interaction, 2) trying it out on test users before calling it "final", and 3) really being sure that the interaction you've designed is absolutely necessary (can it be simplified to metaphores already known).
It all comes down to "expected behavior". What would a user expect to see, based on the applications they already know (assume they know Office, IE, Wordpad, a standard mailer like Outlook, Outlook Express, or Eudora)?
Then realize there are places in Swing where the expected isn't and you'll need to do derivations and overrides to get it that way. E.g., menu items shouldn't have tooltips, but creating a JMenuItem with an Action will create one that you'll have to undo; toolbar icons shouldn't have text and should all be the same size, but creating one with an Action will set the text and the button sizes may vary if your icons are different sizes; hitting a key in a non-editable JComboBox should skip to the item starting with that letter, but that works on the String.valueOf of the model item, not what the renderer may be showing.
Layout Management is key. Learn GridBag, learn Border, maybe try the new layouts in Swing for 1.4. I haven't had much luck with them, but then again, I've been good at GridBag since it started as the XmpTable widget for X-Windows/Motif.
Its lots of little things, and there's no one catalog of all of them. Its all a matter of experience and comparisons. If it doesn't act the same way a typical windows app might act, there had better be a reason for it, or go fix it. This is extremely time-consuming. Anybody can get a quick and dirty swing, gnome, or windows app out there, but it'll take *weeks* of time actually giving it the polish that a professional work might have, with a lot of nitty-gritty digging into the implementation of components and googling for examples to figure out what the hell to actually do. Be sure your customer base (or at least your boss) is willing to pay for that, but don't think you won't have to sell the idea.
That's about all I can say on it for now, but I'll probably post more later...