Monday, October 31, 2005
Sunday, October 30, 2005
4 usability considerations about the web 2.0
- Use standard widgets! Try to keep as much resemblance to the standard widgets of the main os-es (preferable windows or OS X) as possible.
- Don't use draggable items. Dragging items for realignment might seem as a good idea it first, but it tends to confuse people. Why can't I move this item to another list? Why can't I remove it by dragging? If you have to explain your widgets to everyone, they're not useful. (I think I'll write some more about dragging in a later blog entry)
- Allow people to use their bookmarks. Don't use AJAX for every request. Ajax should be used for changing the state of the current page, not to navigate.
- Give feedback to the user when they've clicked on something. 37signals' yellow fading technique helps people to see changes. I like it a lot.
Any things I've missed? Any things I've said that don't make sense at all? Please comment :)
Wednesday, October 26, 2005
Unobtrusive Ajax and degradability of the web
- Create the form with normal postback parameters. Get it to work properly without javascript.
- Then add a javascript layer. Don't use inline javascript, but you'd rather want to dynamically select the form. Disable the postback and put a javascript that handles the Ajax-calls instead.
Now everything still works for people without javascript, and it works excellent for people who enabled javascript.
Mind you, are some things that are hard to do without javascript. What about sorting a list at different ways? Or how to allow the user to move things up or down a list? There are some nifty drag-and-drop scripts circulating at the moment. Without javascript, these features are a lot harder to script into your application.
You could program al these features twice: one serverside solution and one clientside solution. When you have to deploy a site, you probably won't have time for this sort of thing. Then there is just one solution: just tell them you can't do these things if you have disabled javascript. Too bad for them, I guess. A sidenote: be sure you do enable all critical features of your application for use without javascript. Use javascript if you can, but don't depend on it.
[edit] This might be a point for RoR users. Most rails-generated Ajax code is inserted inline. Isn't that as evil as inline CSS?
[edit 27th october] This guy says another good thing about the how and why of Ajax
Any thoughts on these matters?