Features/Thunderbird/Instant messaging in Thunderbird

From MozillaWiki
< Features‎ | Thunderbird
Revision as of 16:46, 29 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 In progress
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

See the discussion page for a summary of questions that were discussed while this page was a draft and answers that were gathered.

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.

Presence information

  • Seeing that the sender of an email is online can help decide an IM conversation will be better than an email reply.

Unifying data storage

  • All contact information handled in a single place
  • All archives searchable in a single place: this removes for the user the burden of remembering which communication medium was used.

Leveraging links between IM conversations and emails

  • Keeping links between emails and the related IM conversations can simplify further processing of the exchanges:
    • when rereading the whole discussion
    • when forwarding it
  • Accessing the list of recently exchanged emails when a chat begins can save time:
    • if the user was about to ask a question that's already answered in an unread email
    • if the contact starting the chat is following up to a recent email

(See also the "How can this bring additional value for users?" question on the discussion page for some related discussion and a few possible future use cases).

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

  • IM right from Thunderbird
  • Manage contacts for email and IM in a single place.
  • Search both Email and IM archives at once.
  • Keep track of links between related emails and IM conversations.

Non-goals

  • Turn Thunderbird into an IM client for people who don't want to use it for their emails.
  • Support as many IM protocols as possible: For a first version with IM features included, we want to focus first on a good UI integration between email and IM features. Support for more protocols can come later.

Stage 2: Design

5. Functional specification

(at this point the content of this section is a draft, still open to discussion)

IM networks/protocol support

  • Thunderbird will support by default only a few IM protocols
    • XMPP is a good first candidate:
      • it's an open standard
      • it gives access to some quite popular IM networks (Google Talk, Facebook Chat).
    • IRC and Twitter are also interesting candidates:
      • they are open (or at least documented)
      • they are widely used in the Mozilla community
      • the user interactions are significantly different from those with XMPP, which will force us to iron out some UI integration issues that may be unnoticed with XMPP.
  • A plugin system should let users add support for more protocols (even closed protocols) with add-ons.

IM accounts management

  • While setting up an email account, Thunderbird will attempt to detect if an IM account is likely associated with the email account (@gmail.com address? Existence of DNS SRV records pointing to an XMPP server for the domain?).
    • If an IM account is found, the default action would be to configure Thunderbird to use it.
    • It should be possible to opt-out from this behavior (checkbox "also use this account for instant messaging", checked-by default?)
  • The 'Add Other Account...' wizard should offer a way to set up an IM account manually.
  • The 'Account Settings...' dialog should let users configure settings of their IM accounts.

Address book integration

  • Address book cards will support multiple IM contact info for each contact.
  • Whenever possible, IM contacts will be associated with email contacts automatically.
  • Users will also be able to add associations between IM and email contacts by hand.

General IM UI

  • IM features shouldn't get in the way of users interacting with their emails.
    • It should be easy to change one's IM status or even to sign off from all IM accounts, to avoid interruptions / revealing presence.
    • Ongoing IM conversations should have visible indicators in the primary Thunderbird UI but they shouldn't hinder the user's ability to focus on his current task (reading an email / composing a reply / ...)
      • More specifically, new unread messages should be notified unobtrusively to the user.
  • IM features should be tightly integrated into the Thunderbird UI, so that they don't feel like something added after the fact.
  • Presence information, when available, should be provided wherever some contact information appears (headers of emails, message lists, email compose UI, ...).
  • Users who only want an email client should never see the IM UI if they don't configure any IM account.

Archives

  • IM conversations should be stored in the profile, so that the user can use the transcripts for future references
  • Stored conversations should be indexed in a way that makes searching both the email and IM archives at once efficient.
  • The search results should show IMs alongside emails.

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 ` `