Usability

Keywords

Sean B. Palmer wrote something on Keywords and Cadences that I find brilliant. Still processing it all, but at least now I have something written by someone that’s obviously much smarter (and definitely much more articulate) than I am to refer to next time this subject comes up.

I feel that keywords are fairly useless in this day and age for searching. It can be useful to categorise things, but that’s only really for finding related things. This is often the case when people categorise or tag blog posts or photos. I think quite often the category or tag names are more useful to the author and not so much the reader - the reader is probably more interested in “related” items, see A very different approach to tagging. But I’m going off at a tangent and I’m not doing his article justice - there are many interesting things in there.

Good ol’ Jacob

I agree with every word of the article by Jacob Neilsen titled Web 2.0 Can Be Dangerous… I don’t have anything to add - I just hope many would read it.

Gimp 2.4 annoyance

For some reason in Gimp 2.4 they managed to break the one thing I do most often. I mean.. it isn’t really broken per se - it just went from something that took 5 seconds to something that now takes probably 15 seconds.

Basically.. whenever I select a rectangular region and make it a new image (which is something I do all the time when I cut up a design), I add some guides and then use the rectangular select tool to select the region, then hit ctrl-c to copy it it, then ctrl-n to make a new image. The new image used to automatically be the same size as the selection. So I would just paste it and save. Now for some reason the selection is almost oval or maybe a fat cross. And it has these sub-selection areas for the corners that I have no idea why I would want them (by default, anyway) and when you create the new image it isn’t the same size as the selection any more so I have to fill in the size manually.

I don’t know what “common case” they decided to optimize for..

I looked through the settings and preferences and I can’t find a way to change the behavior. I thought that maybe they dropped the automatic image size thing in favor of some other new command that copies your selection to a new image, but I can’t find anything.

Am I somehow the only person affected by this?

UPDATE: found something in the gimp user archives.

Newshutch rant

What is it with the people behind Newshutch lately? I’ve been using it since not long after they first launched. At first they kept improving their interface, but recently they seem to insist on fighting browsers’ built in scrolling mechanisms. I don’t know if it is some browser bug or just specific content triggering it or a combination of the two, but scrolling the main area has now become unusably slow. And why? Why can’t they just make the screen scroll normally?

Also, many web comics (notably Dilbert) never fit unless I make the browser window ridiculously wide. They seem to use percentages or something, so as you make it wider, the feed list also goes wider. Much wider than it needs to be. So I have to make the browser window even wider. And I can’t just scroll the window horizontally to read the last panel, because they try and fight that too.

Aargh. I don’t like any of the other feed aggregators that I’ve tried and Newshutch has now become too annoying to use. (whereas it used to be one of my all-time favorite user interfaces)

Maybe I can try some greasemonkey script or user defined stylesheet or something. That or I should just dust off my feeds to email code..

AJAX and usability

AJAX is wonderful technology that we often use in Dynamo’s backend. For example, consider the following typical scenario: You are editing a post and you want to associate it to a category that doesn’t exist yet. The pre-AJAX solution would probably require you to browse away from what you are doing, find the “Add Category” form, add the category, find the post you were editing before and select it. Now, you can click the “Add Category” button which is in the categories side-bar right there on the edit post form, fill in the name, click add and then select the newly created category without leaving or reloading the “edit post” screen. We have similar functionality around associated images and files: While writing a post or editing a page you can simply upload a file and use it straight away.

I feel that these are great usability improvements, because they certainly cut down on annoyances or time spent doing typical tasks, but that doesn’t mean you should start using AJAX everywhere.

At first we wanted to make the entire posts section one big AJAXified monster that never reloads. You would go to the manage posts screen, see the list of posts, click on one, the post listing would slide out of view, the post edit form would fade in, you would make your changes, it would fade out, the listing would slide back in…

Hold on. What do you do if you just want to send someone a link to edit a specific post? How do you bookmark the post edit form to get back to it later? What happens when you’re editing a post, you want to go back to the listing and you click the browser’s back button? Or you clicked around, different blocks of things loaded in and faded out and now you hit refresh?

I think you must be cautious when using AJAX with operations that “switch context”. Some REST-like principles are probably relevant here: each resource should have its own unique URL. If something is contained entirely within another page (like Dynamo’s comments, associated files and categories), then I think it is usually OK to break with this.

In Dynamo, associated files are usually edited or displayed in a lightbox in the admin interface, post comments go on the post edit screen and post categories are on the post listing or post edit screen. Because of this, I don’t think the user will expect direct links to them. When you load them in they don’t replace other content on the screen, therefore the user will not think of clicking the back button to go to that previous state that really is part of the same page.

I think formally defining when to use AJAX and when not is quite difficult. You’ll just have to use your head and think about how the user will interact with your application.

Why frames are bad

Not many websites use frames nowadays because more people are following web standards, more designers are worrying about usability and it is probably also a side-effect of searchengine optimisation, but from time to time I still accidentally stumble on stupid uses of framesets. This made me think about something I wrote a while back and I decided to post it here so that I don’t lose it forever.

Problems with frames in general

  • Many search engines do not index pages with frames very well. Google is one example - see Google’s Webmaster Info pages for more information.
  • Framed pages cannot be bookmarked. In extreme cases I have seen this resulting in websites reinventing the wheel by adding custom “bookmark” systems.
  • Printing a page with frames can be difficult or at least buggy.
  • Screen reader software for the visually impaired cannot handleframes well, neither can cell phones.
  • New web users sometimes get confused when one part of a page scrolls and the rest stays still.
  • Frames can be very difficult to develop for, because if you have to reload another frame, you have to do it with javascript. The javascript will only run after the one frame reloaded, creating a delayed effect. You can only break out of frames again using javascript, so server-side redis won’t help you fix problems. It can be very difficult micro-managing things if anything other than the “main frame” ever changes, different browsers load frames, script tags, etc. in a different order, therefore bugs like race conditions / “threading” issues can creep in. (This is more relevant to web apps than normal websites)
  • You cannot have an external link that takes you directly to the right section in a site (example: you want to email someone a link directly to an article) unless you jump through hoops with lots of unnecessary code. I’ve had this issue before and there is no easy way around it.

Problems with using a frameset as a “redirect”

  • Internet explorer and other browsers sometimes complain about security if you have a frame that loads a url on a different domain.
  • If a frame on one domain (a) loads a site on another (b) andthat site sets a cookie, then IE won’t send the cookie along by default, because the cookie is assigned to domain b and it thinks you are on domain a. This breaks logins, polls, etc.

In short

From personal experience: sooner or later frames will bite you in the ass. Avoid them.

Possible workarounds

  • If you don’t want to show people ? and & characters in their URLs, then use nice clean urls. Perhaps using some apache rewrite rules. In many cases you can just write static versions of pages every time they change (like many blog systems do)
  • If you want to redirect someone to a new url, use a server-side redirect rather than making a frameset that includes the other site.