Web Application UI Guidelines?
Tom Davies asks: "Every GUI platform has a document which describes the conventions developers should use when building GUIs with that toolset. There are also lots of good resources for Web site usability (e.g. Jakob Nielsen's useit.com). But what about web -applications-? I am developing an intranet application which is aimed at people who use it every day, not those who stumble on a web site and need to be able to use it immediately. It can have a higher learning curve, but must deliver more 'client/server like' usability. Are there any sites/books which address how to make HTML GUIs for applications?"
Check here, though admittedly you have to wonder about the GUI skills of someone who makes you click "Next" 10 times to read their thoughts. It's a decent paper, though, and cites numerous references.
And here is a decent but damned expensive book on the topic. Fortunately, a couple of the P2P application developers are good at GUI design and have made it quite easy to locate this book in PDF eBook format...
I've come across a recent top-list of intranets here in Australia, and had to dismiss it as a joke. Every intranet that I've ever built/worked on has had extremely strict confidentiality clauses etc etc attached with it. It's just the fact that companies don't want a smidgeon of their information out in the open (even to a rating company).
I think software engineering design guidelines would be more appropriate for a web application that anything Jakob Nielsen could come up with. As you know, web applications and websites are two totally different breeds of fish.
Ladies, form queue here -->
Ask Google about ui design guidelines for web applications. IBM's Ease Of Use site comes up tops.
But, IMHO, you need to examine your choice of development platform (i.e. "web application") and your methodology. If you have already decided on your platform before determining UI requirements, you have issues.
Quite simply a web application can't deliver the same level of user interaction as a traditional C/S application. HTML (even with JavaScript) does not have a rich widget set for building UIs, which causes most intranet applications to have non-obvious even tedious solutions to common UI problems.
One of the few places where HTML excels is in displaying reports and non-interactive tables. By contrast, it is poorest at interactive tables and dynamic filtering.
Some examples: many applications with long lists have a facility to search-as-you-type, either focused on the list or in a text field adjacent to the list; applications with filter or present options based on another selection draw their data on demand in a C/S model, but in a web application must use submit-and-update or multidimensional JavaScript arrays and transfer ALL values to the client on the first request. Simple elements like menus and toolbars are difficult to get right and keep consistent in a web application.
i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
Technologies for creating rich GUIs in unmodified web browsers are just starting to catch on. If you want to build a desktop-like UI for a web application, you might want to start with one of the emerging client-server web presentation layers like (blatant self promotion) Isomorphic SmartClient.
Then write a client and server. Web browsers are NOT good substitutes for a client, there is no proper state or environment to do any proper work in on the client, and seeing as you have already specified that you need higher level client/server functionality, well then you answered your own question.
I am so sick of seeing browsers forced to do things they just don't, can't and shouldn't do. It's NOT the catch all wonder solution. Christ, writing a freaking VB client is at least as much a joke as writing a web page.
Do the write thing, don't follow the lemmings.
No Comment.
Ironically (in the Alanis Morissette sense of the term), Slashdot just posted a pretty positive review of Creating Applications with Mozilla. Perhaps that may be what you're looking for?
Comment removed based on user account deletion
Codenotes for Web-Based Ui
I've only read skimmed through it a bit while at the store, but everything I read it in was quite helpful and interesting.
Gabriel Ricard
My suggestion, if you're hell bent on a web application, it to consider perhaps a Java Applet. At least with an applet you can use Swing and AWT widgets for designing your app, and Applets provide some modicum of security. You would also be able to maintain a stateful connection, meaning people could still run this with just a browser, but also have most of the benifits of a C/S paradigm.
As for design, my thought is that standard GUI design rules (for the most part) apply. Consistant look and feel across screens (so the "add record" button isn't in a different place on every screen), clean asthetics (color, fonts, separation), meaningful labels (book title capitalization), no Peoplesoft-esque nested scroll bars, logical grouping of similar items, etc. Without knowing what your designing it's hard to say for sure, but if you've ever designed a GUI that didn't make users have seizures or get motion sick, most of those same rules apply.
"All I ever wanted was to see Larry Wall give Bill Gates a Perl necklace."
http://www.eisenschmidt.org/jweisen
Today, such applications are much easier, and with Mozilla at least (XUL, etc), should become more common.
My question is, what happened to the early stuff? Some of it was amazing and fascinating, even if a bit crufty. I assume it died off because it just didn't catch on, or it really wasn't up to the task of better (read: full blown) applications. But the idea of having a remotely accessible desktop anywhere, web based, etc - seemed interesting (and yes, I know about VNC, as well as X)...
Reason is the Path to God - Anon
The Humane Interface: New Directions for Designing Interactive Systems
There is not a single authoritative book that covers all browsers primarily because each browser has gone its own way in terms of standards (IE has JScript, ActiveX, etc.; Mozilla's options have been listed ad nauseum; Opera, Netscape, etc) I've generally followed the spirit outlined in Macintosh Human Interface Guidelines, Windows Interface Guidelines (both of the previous are very old), Designing for Web Usability, and my own common sense based on what I've seen that works.
I will state to all of those who say "well, do a true client/server" that saying that is short-sighted. Part of the design process has to look at it from the company point of view, in addition to "what is really sexy or easier for me to develop."
As an example, a typical company also has to think about support costs, as you now have to deal with "how are the client machines configured; what are they running"; "how do I deal with updates/changes"; "who is going to deal with installing the client everywhere?", etc. (and, yes, those same issues come up with "browsers", but browser compatibility and configuration issues are often more cut and dried) Basically, the tradeoff facing many companies is "cost of developing an application that takes a developer a tedious length of time to get the menus right and test with various browsers and systems" versus "cost of developing an application that will need support on the client side and that someone will need to test on various systems".
Additional factor for many companies is that people have become accustomed to the Web; so a well designed Web application should have a lower learning curve and a cheaper support curve - in general (and I'm generalizing wildly) Can I think of specific cases where I've done a client/server intranet app rather than a Web intranet app? Yup. Each case is different and must be judged on its own merits.
Is there such a thing?
Irony is a straight-forward, take-me-as-you-find-me word that has only one meaning.
You don't seem to have appreciated that fact.
Which, to be honest, is pretty ironic.
"Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
If it seems like the world is run by crazies, that's only because none of you sane people wanted the job.