Keeping Users in the Loop
Dan / June 8th, 2007
One of the challenges for a Software as a Service (SaaS) vendor is to provide just the right level of communication with users and potential users of your service. You want to make it very easy for users to PULL the information they want, while PUSHING them only the information they need. We've found that the key is to provide diverse communication channels, each aimed at relaying a different type of information.
System feedback
Immediate feedback to users' actions is probably the most important communication your application can provide. Feedback can reinforce actions that are successful and can alert users when there's been a problem.
In LiveTimer.com, we display system feedback in a "status bar" near the top of every screen. The status bar is a fixed height in our layout, which allows us to display messages without resizing the layout and disrupting the user's experience. We use this status bar to display three different types of messages:
- Confirmations - Used to display reassuring feedback about successful actions the user has performed, confirmations are displayed for a brief time (about 8 seconds) and then begin to fade from the status bar.

- Warnings - Warning messages should get the user's attention to let them know about system behaviour they may not expect. We display these with a bright yellow background to draw the user's attention, and we keep them visible until the user's next action.

- Errors - Error messages are used to indicate that a user's action was unsuccessful and could not be completed. We display these with a bright red background to really get the user's attention, and also keep them visible until the user's next action. The most common error messages are related to input validation and will often refer the user to another red highlighted field in the input form.

In addition to status messages, web applications can provide visual cues, such as animations, to reinforce users' actions as long as it doesn't slow down the user experience. LiveTimer.com makes use of script.aculo.us for animations and Sébastien Gruhier's transparent message to indicate progress. When considering how and when to use animations, focus on both the information that the animation conveys and whether it ultimately helps or disrupts the user experience. Forget about the initial "wow factor" and try repeating an animated action 10 times to see if you really think it's a good idea.
System notifications
Sometimes you need to notify users about changes to your service, and it's important to tell them as they are using your service. For instance, if you're planning a system update at a certain time, it would be courteous to notify users in advance (e.g. "Server update at 11:00pm"). Also, after the system has changed, you want to let everyone know about those changes (e.g. "Procedure to add new users updated").
We developed a notification system in LiveTimer.com for this purpose. Here's how a sample notification appears in the user's banner area:
These notifications appear immediately after we post them from our system console application. They don't disappear until a user clicks Close or Details, or until after the notification has expired.
Some notes:
- Since notifications are displayed to logged in users, we personalize them for each user with their display preferences (time zone, 12 hr vs. 24 hr clock, etc). If an important event is happening at 5pm EST in the U.S., the user shouldn't have to convert that time themselves if they happen to be in India.
- We may target different types of users (e.g. only account administrators) so that only appropriate messages are shown to each user.
- We archive notifications in the Help section for future reference.
When you really need to get in touch with users, whether they are currently using your service or not, sometimes "old-fashioned" email is appropriate. For instance, we send out a Welcome email to new users to provide a reminder of their account and user names. We also plan to send out an email to all users at the end of our beta period. Email is also appropriate for billing and other critical events. We tend to use this form of communication sparingly, since it can be one of the "pushiest" if the user has not specifically requested it.
Of course, an email newsletter can be an effective marketing tool, but only if users can voluntarily subscribe and easily unsubscribe. I never appreciate being automatically subscribed to a newsletter after purchasing a product or service, and I am tempted to mark newsletters as spam if they don't provide a one-click link to unsubscribe.
Blog / news site
A blog or news site should be an entirely optional form of communication that people can choose to browse, subscribe to (via an RSS feed), comment upon, or ignore completely. It's probably not the best (or only) place to tell your users about important issues like expected system downtime, since it is unlikely that most of your users will read your blog daily.
We created the LiveTimer.com News site to provide "the latest news, features and updates for LiveTimer.com." The purpose of this site is as much about describing our service to potential users as keeping current users informed of changes.
Of course, communication is a two way street. This post has focused on keeping your users informed, but it's equally important to make it as easy as possible for users to get in touch with you with questions, suggestions, comments, or problems. Sounds like material for a future post...
So, how do you keep your users in the loop? Please feel free to comment below.


