Global bookmarks improve usability

Some people are afraid of computers, because their first experience with one wasn't full of joy. They blame themselves thinking it is their fault, when in fact it could be the system designer's fault (note that the system is not guilty, it is merely doing what it was told).

A well-designed system should prevent the user from doing something wrong, or something that cannot be reversed (ex: deleting an important file); it should give us hints on how to do things right, with increased speed and accuracy.

I decided to create a new section on the site - usability, where thoughts on improving the relationship between humans and computers are shared. I'll start with describing a new concept - the global bookmark.

Global bookmarks

A global bookmark is one that has the following properties:

Here are some examples:

Bookmarks, the ones we are familiar with

Tipically, a set of bookmarks is restricted to a single program - for example my browser's bookmarks are usable inside the browser and the only way to get to them is to start the browser.

Many book reading programs provide a bookmarking mechanism too. As in the previous case, I can get to the bookmark if I run that program.

Another scenario - reviewing a document in a wordprocessor, stopped at page 45. I can go back there, but first - I need to start the wordprocessor before I get to see the list of bookmarks.

All these examples illustrate local bookmarks, ones that are only relevant in the context of a particular program. This is OK from the program's perspective (as well as from the perspective of the program's author), but not so OK from the user's perspective - I have to run the program first, prior to that I must remember which program it was, then find it.

Already working [similar] scenarios in the real world

Half working scenarios in the real world

Implementing global bookmarks

Each program that supports the global bookmarks concept should export the following data to the user's desktop environment:

You can see that this places a burden on the program and on the desktop environment, as both of them have to adhere to the specs in order to communicate.

If you think that every program author will update their software accordingly - you're wrong. So maybe the burden should be placed on the desktop environment or the operating system - it will have to save raw a snapshot of the program's state (like hibernate, but for an individual program). The drawback is that it takes much memory to keep these snapshots.

Recommendations for developers

As you can see, you can do things better by making small changes in your program, and make the users' life easier even if the environment itself does not implement the concent of global bookmarks.

Conclusion

Global bookmark - a context independent and content agnostic bookmark that can be invoked from anywhere in the user's desktop environment. Remember, you've heard it here first!

Alternative names: omnimark, panmark, transmark, supermark, paramark, metamark.

Comments

Vadim P. — 2008-10-11 06:46

Like global ‘Recent Files’?

Bookmark management is quite tricky though, making a standard protocol for everybody would be hard.

gr8dude — 2008-10-11 14:33

It can be hard to make everyone use it, but the protocol itself is not difficult; the interface needs to export the three things mentioned in “Implementing global bookmarks".

Perhaps the first step is in adding this to the default applications that are usually present on a system (browser, document viewer, photo viewer, movie and audio player).

nintyfan — 2008-10-11 17:55

Imagine I looking information about artist, which I liked. I simple bookmark to some position of he/her music and bookmark page about him. Another way us to make bookmark(and sets tags) to position on the movie and search info about that actor/actress in the net. I’m next typing artist name and I have received web info about them and all scenes in which they act. Is a greet!