Thursday, September 13, 2007

Remember those Attachments?

coffee.fetchNow();
post.History(initial, followUp);

User Scenario (for the Problem Statement)

Dave Burton has just finished working the sales forecast for the quarter. His boss, Lee Hunt, asked for the document by the end of the day. Dave switches to his Outlook window, and creates a new email. He types:

Lee,

I’ve attached the sales forecast you requested for. Please review and comment.

Dave.

Dave clicks the “Send” button, and goes out for his well deserved coffee break. When he’s back, he sees the following reply from Lee.

Dave:

I didn’t receive any document in your email. Please check and revert asap.

Lee.

“Whoa!” thinks Dave. He forgot to attach the document. This time, doubly careful, attaches the document in reply to Lee’s mail. His email body reads:

Lee,

I guess I forgot to attach the document the last time. Please find it attached here.

Dave.

The Solution

User Scenario

Dave Burton has just finished working the sales forecast for the quarter. His boss, Lee Hunt, asked for the document by the end of the day. Dave switches to his Outlook window, and creates a new email. He types:

Lee,

I’ve attached the sales forecast you requested for. Please review and comment.

Dave.


Dave clicks the “Send” button, thinking about going for a well deserved coffee break, when he sees a message pop-up.

Dave clicks on “Yes”, thinking “phew, thank you for reminding me!”

Feature Specification

Outlook should be able to automatically detect the user’s intention to send an attachment with an email by unobtrusively looking in the email body for words, which we shall call “attachment-indicating” words or phrases.

Following is the set of attachment indication words & phrases [Note: this list will be revised after the usability tests.]

  • Attachment
  • Attach
  • Here you go

Normal Flow

The user is in the Compose Mode. The Compose mode includes New Message, Editing a Draft Message, Reply, Reply All & Forward email options.

The attachment auto-detect feature is turned on. This could be implemented as a separate thread, process or program. The spec will use “thread” as a metaphor to describe its functionality.

The thread checks whether there is an attachment to the mail already. If there is, it stops.

If there is no attachment, then the thread periodically scans the new content in the email body for any attachment indicating words or phrases. As soon as it finds one, it sets off a flag.

If the any of the email content is deleted, the thread runs its checks again, and updates the flag accordingly (if any word/phrase still exists, then keep the flag on, else turn it off).

When the user clicks on the Send button, check for the status of the flag before sending email. If the flag is on, then prompt the user with the following message.



If the user clicks

  • Yes: Close the message dialog, and focus the cursor on the “Attached” field of the email. Display the “Attached” field if it wasn’t displayed earlier.
  • No: Close the message dialog, and send the email.
  • Cancel: Close the message box, and place the cursor in its last position in the email body.

Alternate Flows

The user decides to save the email to send later

Behavior: The flag status is stored as well, and the checks resume when the user opens up the message in the drafts folder.

The user cancels the message

Behavior: The flag status for that message is also deleted.

The user has multiple windows open in the Compose Mode

Behavior: Each message has its own flag, and each flag status is maintained even if the user switches windows.

Also Applies to:

New Appointment, New Meeting Request


p.s.: This is the first post I've written with some commercial interest. At last I'm making money by blogging.

11 comments:

Umesh said...

Good good. I liked the idea right from the first.

Can i suggest a small thing in your flow - The yes no cancel part

Yes: Clicking on Yes can directly open the file select window

No: can send the mail like u said. no change

Cancel: The word doesnt have any meaning in context with your question. Just imagine me answering cancel if you ask me that question. I know its widely used but lets make it better. It should be something like "Take me back to the mail". I know its long, can we make it shorter keeping the same meaning?

Sowmya said...

@Umesh:

Yes:
One can attach either a file or an "item" (such as another email, note or calendar item) within an email. Opening the file dialog directly will mean that the user will not have the option of attaching another Outlook item.

Cancel:
I chose those buttons to stay consistent with the Outlook message dialog metaphor and tone.
E.g., If you are composing a mail and try closing the window, you get a message that says (something like) "Do you want to save the changes?" With Yes/No/Cancel as options. In most contexts, cancel means "just close this window and take me back to what I was doing".

If I was doing the message dialog for GMail, I'd do different buttons to be consistent with that UX metaphor, and consider using a different tone. (I've seen a message on one Goog site read "Bad, bad server, no donut for you".)

Umesh said...

Agreed

I just thought of improving the overall outlook communication. As we are talking about a new feature implementation for outlook, we thought we will improve the other parts as well. :-)

Umesh said...

oh btw "bad server, no donut for you" is Orkut's server down message. I'm just very much FOR these kind of system communication copy which is very human.

Sunil Shinde said...

@Sowmya:

>>Yes/No/Cancel as options. In most contexts, cancel means "just close this window and take me back to what I was doing"<<

I agree with you. CLicking NO should send that email out (like the spell check dialog box). Cancel should just leave him on the email.

Umesh said...

@Sowmya/Sunil

My only problem is that both Yes and Cancel are taking me back to the mail. Ya you are highlighting the word "Attach" on hitting yes, but ultimately the effect is the same. Just can we think of a work around in this area. something more useful when clicked on Yes. Cancel i agree can go back to the mail. What if we have only Yes and No? Will it work?

btw Some one has already done a similar plugin for apple mail app. http://home.cc.gatech.edu/eaganj/MailApp

But dont think its as good as your idea, like searching for the word through the threads.

Sunil Shinde said...

Can you imagine a vice president of a company trying to log into his email and getting a donut message? :)

Umesh said...

@Sunil: Ofcourse not. The copy should be in terms with the people who are going to use it.

But that doesnt mean you have to speak machine language to him.

I have written something about this on my blog New age web messages. In the post please have a look at the cleartrip messages. Its so human, i dont find any problem in giving that message to a vice president or in that matter to a president or my dad. They could have even said "Sorry try again". But they chose to explain the problem in a more friendly way and believe me it works.

Do you know how many times my father has told me

"i have entered the password but its asking me the "confirm password". Whats that? Do I have to enter another pwd for confirm pwd too?"

Instead they could have said "type that password again" (Refer 37 signal's tadalist registration form copy), dad would have understood that better.

I just said the word "Cancel" giving as an answer to the question has no human meaning in the that context. Microsoft introduced the lingo long back which we guys are still following. The need of the hour is change. Lets be more human, Instead of "Cancel" lets put it "Take me back to the mail". Its very much vice president safe.

Sowmya said...

I agree with Umesh that we need to make the copy as intuitive as possible to the user. In the current context of 1 screen in Outlook though, I wouldn't want to mess with the existing metaphor.

The way I see it, getting more user-friendly with the copy is analogous to using first names in the workplace. A couple of decades ago it was still Mr.Shinde, or Mrs. Karmali, but now it is Sunil or Umesh -- even if they are VP or CXO.

Vinodh Nandakumar said...

definitely, I love cleartrip's messages, though I really hate Orkut's one 'coz I keep getting it so often..
Talking human language in errors makes user's more comfortable with the app rather than just making them wonder if they screwed up with something :)

Sowmya said...

@Vinod: Very insightful. If a customer feels "comfortable" using your product, its a source of competitive advantage in a market where most product offer almost the same features.