fosdem 2009 thunderbird 3 talk
TRANSCRIPT
Thunderbird 3Why?
What.
How...
Super Fast Intro
• Thunderbird history in 60 seconds
• who we are, what we do
Successful messaging innovation is happening in centralized models
IMAP, POP, SMTP endangered
HTTP does not mean open
Decentralized innovation anduser-level hackability matters
Closed email systems are winningData ownership matters
Why Thunderbird matters
What to do?
Thunderbird is good, and precious
What could make it better?
I thought so...
Scope of work ahead daunting
How should we prioritize work?
adding/changing features(growing market)
• removing features
• centralized configuration is expensive!
• my bug fix is your regression
• “ the way that [...] works means it's not an easy fix, IIRC”
fixing bugs(higher quality)
Scary Facts
AAARGH!
>0.5 MLOC
Thousands of bugs across three layers(thunderbird, mailnews, gecko)
• 5-10M users
• 5-10 devs
• 2-3 QAs
Still...• With effort and patience, lots of improvements possible
• It’s just code
• The opportunity for impact makes people do crazy things
Thunderbird 3What
• Based on Gecko 1.9.1 (== Firefox 3.1)
• Platform upgrade
• UX improvements
When
• Ship as soon as possible & ready
Platform Update
• Firefox 3.0/3.1 improvements
• JavaScript faster
• XUL more stable
• Looks better
• Add-on manager
User Experience
• optimize high-use paths
• reflect modern realities (disks, bandwidth)
• autosync, delete, archive, add to addressbook
Auto-configuration:
• the hardest problem of all: getting started
• we can help 90+% of users a lot
• user experience trumps code simplicity
• the data we collect can be used by all email clients
Bigger UX vision• Learn from evolution of messaging in
last 10 years (Gmail, Facebook, Twitter...)
• Aim for the largest market possible, not just technophiles
• Preserve key values
• openness, extensibility, accessibility
Civilians think in terms of conversations with people, not
servers, accounts, folders, protocols, ports
• These are cultural changes.
• Cultural changes are hard.
Making contributing easier
• Cleaner, higher-level APIs
• JS APIs rather than C++ APIs
• Making room: moving specialized functionality to extensions
• Help needed!
Gloda: a powerful message DB
• Architecture
• Concepts
• Strengths & weaknesses
• Case study
SQLite & JavaScript
converstationsidentities messages
collections async
+ simple+ extensible
+ ajax-compliant- young
MIT Timeline1 plane flight
demo
experiments
• New models to provide interactions that:
• requires less from the user
• integrate with how users work elsewhere
• Experimental toolbar
• conversation & person based search results
• tabs for state management
Bigger themes
• Sorting is not the smarter search
• Conversations, not trees
• Tags are richer than folders
• Protocols are not how people think about communications
Hacking for a product with a significant market
A successful contributor has
• motivation
• balance of community fit and personal drive
• ego in check
• satisfaction from shared outcome, not personal glory
GETT INGINVOLVED
Helping with bugs• 30+ bugs / day need more info, triage,
dupe
• Bug followup
• more info needed, verification
• Untouched 10-year old bugs
• Work with others:
• Test days, Bug days
With more time & passion
• Writing automated tests
• JavaScript is all you need
• Patches!
• developer.mozilla.org
• Extension development
• Learn how it all works
Helping non-en_US
• Localization, obviously
• new website for mozillamessaging.com!
• Support sites per locale
Experimentationthrough add-ons
Futures & Challenges
• Linux distros, netbooks
• Mobile
• How to leverage the web?
• Calendaring options
• Everyone wants your address book - and you want it everywhere.