Wednesday, March 11, 2009

If I were designing a new email service, I would…

If I were designing a new email service, I would…

All great designs come from deep understanding to customers. In my case, I'd like to design the email service for information workers(IW) as I am one of them. Basically they are hired to get things done. Modern projects, or tasks in smaller granularity, are getting too complex to be accomplished individually. So people have to work together – we call it collaboration. Consequently they have to communicate. They are forced to communicate. Email solves the problem of logistics and synchronization so that communication could happen between different timeframes and locations, so it is still indispensable currently. But it is far from perfect, sometimes it is a trouble. Can it be done any better? Let us have a try. This new thing is called Pmail.

Entities

First of all, let us keep in mind that tasks are actually what IWs really care about. They are much happier if they can complete assigned task without touching emails. Right? Completion of tasks is what they are trying to achieve. Second, when they have to communicate, they care about distilled information they are expecting while writing/reading emails. You will not get any additional credit through presenting your idea by writing a poem. Senders and recipients come last. Without them, communication can't happen. These two entities get lower priorities because if distilled information can be gained by other means, say search engine or anonymous DL, who cares them?

Again - email for IWs is all about tasks, not messages. This is the most fundamental philosophy differentiating my design from others.

Problems - an abused tool in workplace

By nature, current email systems allow one sends anything to any number of persons at anytimeanywhere. Gradually it turns out true that something that can be anything can do nothing actually. Theoretically any email should be of your interest; otherwise sender will not send it to you. Realistically it is so easy to be over-used:

Email overload. You might probably find everyone around you is complaining about too many emails. Doubt? Open you email clients, see how many unread mails you have. NY Times reports, E-MAIL has become the bane of some people's professional lives. This occurs likely because of complicated job nature, but I'd say often it is actually because of poor email prioritization. Can you easily tell which email is much more important than others? Or emails tell its priority to you?

Hard to map emails to one's day-to-day jobs. How many times you have to search your emails to dig certain messages out because you need something?

Mail thread discussions often go wild. Do you find you are in trouble finding out what is going on when suddenly looped in a thread?

At a glance

Pmail's design goal here is to help team get jobs done efficiently – under right timing, priorities, order and resources. Everyone would have a clear picture about how his work contributes to team success.

Pmail would also minimize communications as much as possible. Leave users alone please. In task-centered email design, all emails will fall into one of below four categories:

Category

Description

Example

Your Action

FYI

There is no immediate impact to any tasks in your plate at this moment

High level org changes announcement

Knowledge sharing

News letter

No – No immediately action required

Catch the ball

Someone requires you do something to unblock his task(s)

Signoff request

Fix broken printer

Mandatory code review for checkin

Action required – Do something and then back to requester with results

Here you go

Someone provides you what your task(s) require

Approval letter

Team member phone number collection table

Action unblocked – You are ready to go complete specific task(s) if all dependencies are resolved

Collective efforts

Someone needs your inputs for task(s) he is working on

Execution plan review

Brainstorming

Best efforts – do what you can to provide inputs

Persona/User scenarios

Key scenarios that Pmail addresses include:

Know big picture for better prioritization – Steven, who is a developer in a software development team, came to his office in a morning. He opens pmail to check how his tasks (or WBS in more general term) fits into the entire team. He notices one of his tasks, task8, is in critical path according to updated plan(never expect plan is really locked after lock-down). This task is automatically prioritized to p0(highest priority) by Pmail. It is about implementing a feature according to design specification by feature PM.

Maintain dependencies – Steven goes ahead to open task8 and find this task depends on two resources, 1) one LHS virtual machine, which has been completed by task7. VM address and credential are also attached. Nice! 2) PM spec. It is also claimed completed.

Main email threads around tasks –Steven opened the spec document in team Sharepoint server, and he finds several points are not clear for him. Then Steven starts a mail conversation with relative PM, Joanne, against this task. The mail thread is linked to task8 and its status is open.

Drive team work flow – Joanne received a catch-the-ball mail from Steven about p0 task8, so it is a shadow p0 task for her as well. Joanne can check task details in the Pmail. She quickly comes up with answers regarding Steven's questions and writes back a here-you-go email to Steven. Steven receives the email and get unblocked. Steven closed the email thread by several sentences. This mail thread is traceable in task8 and can't be replied any more as it is closed. Several hours later, Steven completes task8 and closes it in Pmail and picks up another one task9.

Maintain team discussion – Task9 is about designing a new feature F9. Deliverable is reviewable dev design spec. Steven has two options about solving a technical problem, but not sure which way to go. He then sends a collective-effort discussion mail to the whole team. Since this is not a catch-the-ball mail, team mates will treat it with best efforts, but Steven still gets several great feedbacks. When he feels the problem is solved, he summarizes the thread with several sentences and closes the thread.

Check history – One year later, Steven transfers to another team and his replacement, Eric, would like to better understand why F9 is designed this way. He opened task9 in Pmail, check the mail thread and better understand original design decision.

Demo

Bird view will look like above diagram. Let us go to task view.

Mail view will also a bit different.

Key features in Pmail

In addition to biggest difference we covered before, you might also get excited when seeing below features.

Sometimes feature-rich is not a good thing. It is so easy to reach this point when email system is designed for multiple purpose, say home usage included. But in any event, Pmail will provide a button to show/hide buttons(or other features entry points) which I don't use in last month. Show me a simple world.

Mouse hover will show abstract of email(user could assign, or automatically select) before without reading it

Send me SMS notification when a selected thread gets new mail. No special carrier service needed.

Send submission about brainstorming results or decision made, and then close the thread by marking it as un-reply-able

Enforce sequential replies, for example fill in a excel table

Automatically memorize folder or url of files you are editing, and go to Pmail, it can be attached a email by hot key, say "ctrl+shift+v"

mailURL(say, steven-task9-show-me-money-88; don't use GUID, please) which can be shared across the clients