I spend ages looking through the buttons trying to remember where the one is for creating a new message. It seems arbitrary what's a button and what's a link. Grouping of 'concepts' seem utterly arbitrary (notably the list of choices presented in the dropdown next to 'reply' in a message chain).
I just don't think I've ever been hugely impressed with googles UI credentials - everyone always seems to put them up as some kinds of genius in terms of usability but I just don't see it.
Ok, google maps is a notable exception.
Buttons represent actions. Clicking a button mutates the world. Links represent places and views. Clicking a link takes you somewhere or changes the appearance of something.
Links along the left are global. Buttons along the top and bottom of the center panel pertain to the current conversation or selection of conversations (depending on view). Links and buttons on each message operate on, oddly enough, that message.
Maybe Google's general style doesn't meld well with the way you think, but for many (most?) people, it does. It's a fantastic design.
There's a presentation about it's implementation using GWT here (I haven't watched it): http://code.google.com/events/io/2009/sessions/GoogleWavePow...
The front end technology is definitely cool, but the UI sucks.
Facebook just seems to be an extremely complicated bulletin board. Can't the world just use gmail and picassa!?!? I must be getting old... :-)
Here's a Facebook facelift: http://www.aguynamedvernonmac.com/2009/10/17/facebook-faceli...
I can only dream Facebook would look like that.
Its so simple and intuitive yet so sophisticated :)
http://gambolio.com/#/library/
The ui and animations were done entirely using Javascript (with help from jQuery), HTML and CSS. The actual games are flash but the ui is all done using standard web technology.
I do a lot of jQuery as well but have been frustrated lately by how it's simplicity sometimes also makes it hard to maintain. For example as your app grows, you'll inevitably run into problems where your selectors no longer work because of refactoring and etc... Have you faced the same challenges? If not, what do you do to keep down the complexity?
I tend to avoid jQuery plugins because I like doing as much of the code as possible, so I am afraid I can't recommend any plugins. I largely use jQuery as a selector engine (at which it is brilliant), for event binding and for basic animations.
In terms of refactoring messing up your javascript, I have not suffered major problems with that but I can imagine it happening often on big projects involving lots of people.
Thanks for your interest and good luck with your projects.
Not sure I would necessarily use Cappucino myself, but to me, it demonstrated that treating javascript+DOM as a target for a higher level interface can work, and can work well.
I guess Outlook Web Access should get an honourable mention - I guess that was the first widely available app. that demonstrated that is was at least possible and was useful.
And the chat program/shortcut bar at the bottom is very impressive, and must have been so hard to get right cross-browser.
* Consistent across the whole site (for the most part)
* Clean, there are no gradients or extra flashes
* Fast, they focus on things loading quickly and make the site feel as snappy as possible
But I have a real UX concern when I land at a site and... WTF: I can't even tell what it is about, what services it offers, is there any possibility that I might be a target audience?
Attractive landing page, but totally flumoxing.
[edit]PS: Okay, now I give in and click on "overview". That page has the phrase "a single place to collaborate..." A simple tag line like that is needed on masthead.
Plus [it's flash-based, is it?], I'd like to highlight copy and copy the phrase "a single place to collaborate". Well, that's not going to happen: text not in html :( ::something to think about UI-wise::
That said, being intuitive really only is an issue during the user's learning curve. As every vi/emacs user knows, sometimes you can be way more productive once you adapt to the computer, rather than the other way around. Gmail, for instance, has a very poor UI from a traditional perspective, but I find it very easy to be productive once I learned the keyboard shortcuts.
Intuitive is generally a good thing, but in and of itself isn't the most critical requirement for being usable, IMO. I prefer clustering of concepts, simplicity of presentation, and workflow optimization much more important.
But I still try to design my apps to be intuitive. After all, why not build on common concepts?
Beatiful display of a pure JavaScript application, that not only looks great, but also works great.
- MindMeister (brilliant and almost entirely JS+html - not sure which framework though)
- SlideRocket (Flex - almost like using KeyNote on the web)
Great looking CMS with ajax (oooh! ajax!!) everywhere