Features/Thunderbird/Instant messaging in Thunderbird

From MozillaWiki
< Features‎ | Thunderbird
Revision as of 16:41, 12 September 2011 by Fqueze (talk | contribs)
Jump to navigation Jump to search
Please use "Edit with form" above to edit this page.

Status

Instant messaging in Thunderbird
Stage Draft
Status `
Release target `
Health OK
Status note `

Team

Product manager Florian Quèze
Directly Responsible Individual `
Lead engineer `
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead `
UX lead `
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks

Some points that are still completely open to discussion but need a decision before or as part of the "Design" stage here:

  • Should IM conversations happen inside Thunderbird (removing the need for the user to have another IM client on his system), or should they happen in the user's default IM client (like http links are viewed in the default web browser)? (In the first case, Thunderbird would connect directly to IM servers through IM protocols, on the second case, Thunderbird would integrate with the IM software installed on the local system to share data.)
    • Using the default IM client seems like a false good idea because:
      • It appears like it would save implementation time and help us ship something sooner... but if we end up having to ship our own stack later, integrating with the default clients first is a waste of time/resources.
      • There's no guarantee that the clients we would like to integrate with (the clients with significant usage from our target users) provide useful APIs.
      • Possible security / privacy issues: we can't offer any guarantee on the way IM conversation data is handled locally and transfered over the network by third party IM clients.
    • Integrating some protocol implementations by default doesn't dispense us from having a plugin system for protocol which, by their closed nature, can't be implemented directly (obvious example: Skype).
  • Should IMs go above the current content (the emails the user is reading or the email he is composing) or be contained in some specific area (tab? folder? other window?) where the user would have to go to exchange IMs.
    • Showing IMs above may be interrupting/distracting.
    • IMs may go unnoticed if they aren't visible enough, and lose the benefit of "instantness" that IM has compared to email.
    • (Gmail shows IMs above emails.)
    • Users should be able to see easily if someone is waiting for a reply? (IM) or if it's probably OK to think for a few hours about the message's content before replying (email)
  • What's the scope of "instant messaging"?
    • In this context, IM may extend to social network communications, or even to telephony or anything providing a more "instant" communication than email.
    • Which networks of "instant" communication make sense here?
      • Probably depends on what the users we target need or already use.
      • Need some user research.
  • Who are the target users?
    • People already using both Thunderbird and some other IM software?
      • Should we detect already configured email accounts that are likely also usable for IM? (@gmail.com, @aol.com, @hotmail, ...)
    • Thunderbird users without IM account/experience?
      • Should we offer to create an account during the first startup?
    • People using competing software that already integrates email and IM (Gmail website, Outlook+Office Communicator, ...)?
  • What's the minimum viable product?
    • Seeing if the sender of an email is online and being able to click to start an IM conversation in the system default chat client?
      • If centralizing all the user's communication in a single application is a goal, then it's not enough.
    • Providing a reliable offline archive of all messages exchanged on some networks? (for example a read-only copy of all twitter messages)
      • Need user research to know which networks matter.
    • The short term goals we pick need to be compatible with the long term vision.
      • Is it OK to rely on other IM clients of the system if we intend to develop a mobile version later?
      • If we want to help users to "own" their data by regrouping all the communication data in a single place where it's easy to manage, is it acceptable to delegate communication tasks to external applications? (shouldn't we have control over encryption? are there potential privacy issues?)

Stage 1: Definition

1. Feature overview

The goal is to bring additional value to Thunderbird users by leveraging instant messaging communications. In other words, to enrich the email experience with instant messaging functionality.

2. Users & use cases

Targeted users are people who use Thunderbird for their emails and may IM the same set of contacts.

Additional value should come from bringing IM features closer to Thunderbird, for example:

  • Seeing that the sender of an email is available to chat may lead the user to decide an IM conversation is better to get some clarification about some points of the email he was reading.
    • Then the IM conversation could be somehow "attached" to the email. The conversation could annotate the email, so that searching the archives for the email also brings up the IM comments.
  • When a user is about to start an IM conversation with a contact, showing the list of exchanged emails with this person could avoid wasting time for both people (maybe the desired information is right there in the bulk of unread emails? Maybe the latest email explains why the person wouldn't be able to give a useful answer anyway? ...)
  • When trying to get back to some piece of information obtained in the past from someone, searching in both email and IM archives removes for the user the burden of remembering which communication medium was used.
  • Forwarding (parts of) an IM conversation should be easier if the IM conversation is reachable directly from Thunderbird.
  • If emails are shown in a conversation view, integrating in that view the IM conversations that happened on the same subject could give a better overview of the exchanges.
  • (assuming calendar integration) While setting up an event, seeing that some of the invitees are online and starting an IM conversation with them could help discuss and find a possible date/time faster.
  • Collaborative editing: asking someone who's available to proof read an email draft, and discussing the proposed changes in an IM conversation.

3. Dependencies

  • Address book updates to support IM addresses for different networks (?)
  • Composing in a tab, so that potential IM activity indicators placed in the main UI stay visible. (?)

4. Requirements

  • Manage contacts for email and IM in a single place.
  • Search both Email and IM archives at once.

Non-goals

  • Turn Thunderbird into an IM client. The goal is not to attract people who don't intend to use Thunderbird for their emails.

Stage 2: Design

5. Functional specification

`

6. User experience design

`

Stage 3: Planning

7. Implementation plan

`

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

`

Operations review

`

Stage 4: Development

9. Implementation

`

Stage 5: Release

10. Landing criteria

`


Feature details

Priority Unprioritized
Rank 999
Theme / Goal `
Roadmap Thunderbird
Secondary roadmap `
Feature list Thunderbird
Project `
Engineering team Thunderbird

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `