Design Tidbits

back To Overview of Tidbits

Design Tools

Simplification

Interaction Design

Screen Design

Hierarchies

Visual Design

Design Process

Web, Web Applications, Web Design

Performance

Miscellany

 

 

The Software Works the Way I Think: Beyond Point and Click

By , Multilingual Technology, SAP AG 10/27/2006

The headline of this article might sound familiar to those of you who can remember some of SAP's previous marketing strategies. Yes, that's right, it was in the late 1990s when the Enjoy SAP initiative brought a fresh approach to the usability of SAP software, and the original slogan was "The software works the way I do."

Lately, I have been trying out several Web applications that fall under the (caution: buzzword right ahead) Web 2.0 category, and I would like to point to a concept they share that could be given more room in traditional desktop applications. Let's have a look at a few examples before we discuss the implications of using this concept in consumer or business applications.

 

Quite a Task

The first application I would like to look at is an online task manager. But first, a few words about the task management system that many of us use: the Tasks module in Microsoft Outlook or similar desktop applications for personal information management.

Imagine your manager stops by and assigns you to a new task, telling you that it has to be completed in about eight week's time. You create a new entry for it in your Outlook task list, and when it comes to entering the due date, you have to go through the following process:

  1. Click the button next to the Due date field to open the little calendar. The current date is highlighted.
  2. Click the little arrow to scroll through the next two months, counting the weeks while you do so.
  3. Click the right day in the right row to enter the date (or just a day in the right row if the exact date is not important).

Alternatively, you could simply calculate the date and type it in.

Outlook - entering the due date

Figure 1: Entering the due date in Microsoft Outlook

You might think that both ways of entering the information that the task has to be completed in eight week's time are easy enough, and I agree that there are bigger usability challenges than this one. Enter Remember the Milk, a Web application with the one and only purpose of managing to-do lists, showing that sometimes even small challenges offer a lot of room for improvement. Its process for entering the due date for the example above works as follows:

Due date

 

Figure 2: Due field in Remember the Milk

The application takes a second to calculate the due date and displays it in the Due field, using the following format: Tue 23 Nov 06. The next time you click the calendar icon, the content of the field is selected and you can simply overwrite it.

Another way of entering a new task in this application is to send it by e-mail (to a cryptic and therefore spam-safe e-mail address that is generated for this purpose when you sign up for the service). If you send a task by e-mail, the subject line of the e-mail message is used for the task title, and if the first line of the e-mail says "Due: in 8 weeks," the due date is calculated as described above.

 

A Big Surprise

As a fan of light-weight Web applications, I happily regarded this as another case of "Web app beats clunky old desktop app." I stand corrected. Alternative ways to accomplish a task are sometimes hidden behind the surface of the GUI, as the following episode shows: Some time after I had written a rough version of this article, something completely unexpected happened. I was changing the deadline of one of my tasks in Outlook and entered the information in natural language ("in 2 weeks") just for the fun of it – I was expecting an error message. What I got instead was instant success: Outlook happily accepted the entry, calculating the right date just like that. I started to play around with the Due date field only to find that Outlook is really clever in how it interprets natural language entries. I have collected the following examples:

Entry

Calculated Due Date

"next week" (entered on a Wednesday)

The Wednesday of the following week

"tomorrow"

(Guess what)

"in 2 weeks" (entered on a Friday)

The Friday of the week after the next

"monday in 2 weeks"

The Monday of the week after the next

"2 sep"

September 2 (current year)


I have been using Outlook for seven years now, and I never even thought of entering a date in natural language until I came across this feature in Remember the Milk. You cannot miss it there, because you have to use it when you submit tasks by e-mail. In Outlook, the feature does not even seem to be documented, and the user interface suggests two ways of entering the due date: Enter an exact date or use the calendar in the drop-down box. I have now been using this natural language way of reprioritizing the entries in my task list for a few weeks, and I guess I'll stick to it, because it is a more flexible and at the same time very fast way of entering the data.

Again and Again 

Let's have a look at another, similar example. Many of us use Outlook to manage our appointments, and recurring appointments are a special type. Imagine you wanted to create a new appointment for your group meeting that occurs weekly on Tuesdays from 2 to 4 pm and has no end date. You could either look up the start date you have in mind in the calendar view and double-click the day, or choose File | New | Appointment from the menu. The next steps would be:

Outlook - entering recurrent appointments

Figure 3: Entering recurrent appointments in Microsoft Outlook

How can we simplify this procedure using natural language? An alternative approach has been developed for the online calendar  30 Boxes (guess where the name comes from, I admit it took me quite some time to figure it out). This application has an entry field above the calendar view that is always visible – it is called the One Box:

The One Box field in 30 Boxes

Figure 4: The One Box field in 30 Boxes

Entering the recurring appointment from the example above using this entry field works as follows:

This creates a new recurring appointment, starting on the following Tuesday, with "Group Meeting" as the subject line. The One Box is not very strict about the way you enter the information, and you can put much more information into the line (even notes in the body of the appointment).

Although the concept of the One Box is similar to what I described above, there's an important difference. Entries like "next week" or "tomorrow" are natural language entries that do not require mental effort – you simply enter what you would answer if someone asked you the due date of a task. The data entry that is required to set up the recurring event in my example is a translation of  "We should a have weekly group meeting on Tuesdays from 2 to 4 pm." The language that you use to set up an event is less natural, but at the same time more powerful because you can put a lot of information in just a few words. It is nevertheless easy enough to learn and use. The application displays examples for natural language entries beneath the One Box that change frequently, allowing you to pick up the concept as you go along.

 

Beyond Time and Date

The applications I have discussed in this article use natural language very effectively to offer an alternative method of entering data. They are successful in doing so because they manage to mirror how humans think about the data they enter. This leads us to an interesting question (apart from "How on earth can I enter a recurring event in Outlook using natural language?"). All my examples are about entering information that is related to times and dates. Although it seems like magic the way the applications transform your natural-language entries into exact calendar data, it is not hard to imagine how the programming logic behind this magic works (even for non-developers like me). You have to parse the string that the user enters, look for keywords ("days," "months," the names of weekdays and months, numbers, etc.) and apply a set of rules to put them together in a way that makes sense. This sounds complex, but it must be relatively easy to interpret the string if you know that the entry refers to times and dates. A number that the user enters, for example, can mean only so many things in this particular context (a time of day, a certain day in a month, a month, a year or a number of recurrences), depending on its position in the string. So why not use this advantage in other areas besides personal information management? Every application belongs to a certain domain and has a certain context in which it is used, so there must be many others that could benefit from using natural language.

Here are a few examples (most of them probably not yet implemented) for consumer and business applications from different areas:

Area

What the user would do before entering the text

User entry

Instead of

Word processing

Put the cursor in a command field that is always visible

"Add page numbers in footer"

Several clicks in the menu or toolbar

Spreadsheet

Put the cursor in a cell beneath a column of numeric values

"Add up values above"

Entering a formula

Image processing

Put the cursor in a command field that is always visible

"Resize to 50%"

Several clicks in the menu or toolbar

Leave request

Put the cursor in a command field that is always visible

"Sick leave yesterday"

Several clicks to select the leave type and the date

People management

Put the cursor in a command field that is always visible

"Show absences next week"

Several clicks to select the desired options and start the report

 

Related Concepts

Interestingly enough, some command line tools, especially in the UNIX and Linux world, do offer a way of entering complex commands via the keyboard (a good example is ImageMagick). However, they often require exact entries that do not qualify as natural language, thus missing the balance between being powerful and easy to use.

Alan Cooper has developed another way of entering commands using natural language. It uses a special combination of controls called a shuffler and can be used in user interfaces like this one:

Shuffler

Figure 5: SAP MiniApp – now called iView – with shuffler

I am not going to discuss the advantages and disadvantages of this concept in detail (see Gerd Waloszek, Efficient MiniApp Design – The Right Information Right on the Spot), but the main differences to the examples described above spring to mind: A shuffler is a point-and-click-based control – it does not use keyboard entries. Therefore the possible user entries are predefined and limited, which makes life easier for the developer and less flexible for the user. Apart from that, the sentence "Show me [the] revenue growth of [the] year 1999" may have a different syntax in other languages, which means that the labels and drop-down boxes would have to be rearranged on the user interface. This goes beyond the capabilities of the common localization tools and processes.

However, applications using natural language have to deal with localization issues as well. When an application that accepts natural language entries is translated into another language, the possible user entries must be translated as well. An application with a German user interface that only accepts natural language entries in English would not be very convincing. The application developers have to consider this in their internationalization concept from the start. Remember the Milk, for example, shows that it is possible to meet this challenge. The application is now available in several languages, both in the user interface and the languages it understands.

 

Conclusion

Adding natural language entry to your applications requires a rather unusual design process. It's not about analyzing interaction sequences or choosing patterns and controls. It's about choosing common words and phrases the user is likely to enter. This probably involves developing new methods for prototyping and usability testing before we can really benefit from this concept in our business applications.

 

top top