Key concepts for improving the Mobile User Experience
Applications must collaborate to organize the user's data.
- Users are too lazy to organize things on their own.
- Users may not be very good at organization - fatigue, lack of concentration, and typing/other errors result in miscategorization
- Email and music programs already do this, and photo organizers are starting to.
One side effect of self-organizing collections is that the traditional open/save dialog is no longer necessary for most operations.
Hiding the Filesystem
Another side effect of self-organizing collections is that the filesystem can (and should) be completely hidden from the user. Users interact with objects (pictures, mail messages, etc) rather than files; file management is performed by applications.
One of the most overlooked aspects of metadata is the origin of a particular piece of data. However users are likely to remember information about the data, such as who it came from. This information should be retained and used for organization:
- Transfer mechanism (IM, Email, bluetooth file transfer, sync from PC, download from the web)
- Sender (a contact, 'me/my PC')
- Associated data (link to a mail message or saved IM conversation, list of songs imported at the same time)
By saving this extra metadata, user-friendly searches become possible:
- Find the email Paul sent me last week (mail clients already make this one easy by retaining the mail message's from + date headers!)
- Find the picture I emailed to Theresa
- Find the songs I downloaded from emusic
- Find the video I IM'ed to Sara
Collections should be updated in realtime, without user input:
- When an email containing an image arrives, the image should automatically be added to the image viewer
- Spam is the obvious counterargument. One approach is to add only those images send by a known contact.
- When the email is deleted, the image viewer should automatically remove the image from its collection. This is bound to cause confusion at some point, better solutions are welcome.
Sometimes a user's query is best answered by an application other than the one traditionally associated with the data. For example:
- Find a specific picture Sean emailed me [sometime during the past 6 years I've known him].
This is a tedious operation using contemporary mail clients, but it's what image viewers are designed to do. Given proper metadata support by the mail program it's easy for the image viewer to display all images that came from Sean. Rather than introducing a search interface to the image viewer, 'From Contacts' could be a category of images in the image viewer. Inside would be a list of contacts who have sent me images. Naturally the list of categories would be updated dynamically, so an image sent by Annie would result in a new 'Annie' entry in the contact list.
All applications should expose their data and services to other applications. Examples:
- Browse (music) album covers from within the image viewer.
- Browse ebook covers from within the image viewer
- Browse mail attachments (images) from within the image viewer
- Browse mail attachments (songs) from within the music player
- Email a photo from within the image viewer
- Email a bookmark from within the browser
- Upload an image to a website from within the browser
- Upload an image to a website (such as Flickr) from the image viewer
Information is mutable
Users should be able to modify any information on the system. For example, users may want to edit the album cover of a particular song/album. They should be able to do this from within the image viewer. Any changes should be reflected automatically by the music player. Keep in mind users do not care about the copyright police, copyright laws are different in different parts of the world, and this is considered fair use even in the US (unless the resulting material is distributed). Some data - such as an ebook - may not have an appropriate editor.