Jarrod Swift (.com)

UNDO: The Most Important Feature

It’s not a feature that managers or user groups are likely to ask for, nor is it a feature that developers are likely to want to make- but it is the single most important feature of the system.

Desktop applications have for some time had undo functionality. There are still some actions that are not “undoable”, but for the most part, it’s a feature that many users expect and rely upon. However, with the growing trend of developing web applications in favour of desktop applications, this feature is one that has not made the jump.

Very few web applications implement an undo feature. Certainly as I write this in textpattern I don’t see any way to reverse my actions.

I recently implemented a simple undo framework component written in PHP, which I’ll write about in more detail in the future. As a result of this new feature, I noticed a surprising side-effect:

Users now use more features

I’ve observed users now using features regularly that had previously received little or no attention. When speaking to users, I found that:

Now that there was an undo function available for all actions, users felt more comfortable clicking buttons they had not clicked before and experimenting with more advanced functionality.

It is clear then that the undo feature increases utilisation of other features (and therefore hopefully increasing the efficiency of the system). It effects both the efficiency and learnability of an interface by giving the user more confidence in the system.

8 November 2007