Thunderbird Support Intro
The 6 week cycle:
- Support day using Etherpad the day after a release (e.g. TB12 support day), email support day report to Thunderbird drivers
- Find bugs for that release the first week after a release and report to Thunderbird drivers
- Work on documentation with our part time tech writer Jen Zickerman and try to squeeze in new articles and tweaks to SuMoMo and GS and to GS API reports
- Work on betas and see what's coming, give feedback, file and track bugs in the next release
- Prepare for next release support day
- Go back to step 1 :-)
The daily cycle:
- check email to check for hot fires via email overnight
- check automatically generated daily support report for new issues in the morning (8:30a.m. Pacific e.g. April 25, 2012 8:30a.m. Support Report)
- read bugmail, update current release support report wiki page (e.g. TB12), update future release bugs solved and new features wiki page (e.g. TB13, TB14)
- check daily support report for new issues in the evening (4p.m. Pacific e.g. April 25, 2012 4p.m. Support Report)
- follow contributor growth plan: respond to contributor emails on the tb-support-crew mailing list, grow the community by asking folks who have had a good experience to consider contributing and planning events like a Thunderbird Clinic (July or August in Vancouver) and Thunderbird community day (June 1st in Vancouver)
"SuMoMo" is our abbreviation for support.mozillamessaging.com
- SuMoMo uses Kitsune KB (but not Kitsune Forum or Army of Awesome or any other apps; instead of Kitsune Forum for user to user support we use getsatisfaction)
- We are running behind since we only have 1 web developer who does everything i.e. Thunderbird static pages, AMO updates, release notes etc, Kitsune updates often get deprioritized.
- Currently run Kitsune KB from September 2011 release.
Thunderbird uses Get Satisfaction Support at: https://getsatisfaction.com/mozilla_messaging/ for user to user support instead of Kitsune forum
In February 2012, I won "The Ringmaster of the Year Award" from Get Satisfaction primarily for the work I have done with their API
GS API Reports
The Get Satisfaction REST API (GS API) is easy to use and very powerful. It's a read/write API that allows you to do almost anything you can do with the web interface ; in fact you could write a Kitsune Forum-like system with it!
Over the last 2 years, I have written many read-only scripts in ruby using the GS API to generate reports (my reports were much better than SUMO's reports until the dashboards came out, the SUMO team leap-frogged me :-) !); just haven't had time to develop scripts that write to the API.
After some experimentation and iteration I have developed the system as follows (all code is on github in my momogs repo):
- poll the API every 15 minutes to get the latest changes (should eliminate polling and replace with Web Hooks but no time) using mongoPoll.rb and write the Thunderbird GS data to a mongoDB database on mongohq.com. All the following scripts read the data from the MongoDB database on MongoHQ rather than using the GS API
- generate an email report with trending support topics, anti-virus, mail providers, ISPs and tags using the emailReport2.rb script at 8:30am. Pacific and 4:00p.m. Pacific daily and email it to Roland and to the Thunderbird Robot posterous blog
- once a week for the Thunderbird status call, run the weekly report metrics script, weeklyMetrics.rb
- daily, run the getContributorsWithGoodAnswers.rb script to get a list of people who have had a good GS support experience and email them manually an email asking them to consider contributing to Thunderbird
- there are many more scripts but these are the major ones!
Things I'd like to do with the GS API but don't have time for:
- Revamp and enhance the Thunderbird Support GS Real Time Dashboard to use MongoDB and project it on a big screen to show our support community's awesomeness! I tried to get this done as a GSOC project but failed to attract a student!
- Enhance the daily support report to show "trending nouns" so we can find out about new ISPs, mail service providers, anti-virus and other things we don't know about. This is doable via the AlchemyAPI or Reuters Calais but I've had no time.
- Write a script to close stale topics.
Lessons for SUMO from Thunderbird support
- an easy to use API or reporting and querying language is a big win
- free tagging is your friend :-) TB support uses GS tags extensively e.g. we use the tag "tb11<issue>" to handle specifc issues in tb11, tb12<issue> to handle specific issues in tb12, etc. It would be great to have a "normal user" free tagging system and a "contributor and employee" free tagging system in SUMO and SUMO forum as well as the IA and the contributor category system that's alrady in SUMO
- semi-automation / customized workflow is your friend; aimless forum browsing is not. I dream of everybody being able someday to semi-automate their support workflow like I have done with GS (perhaps using a SUMO Domain Specific Language)
- Thunderbird community day modelled after the successful Ubuntu community days that the Vancouver Ubuntu Community does - tentative date June 1, 2012
- Thunderbird Clinic (clone of Firefox clinic) in Vancouver in July or August 2012
- At a future Firefox Clinic, hold a small Thunderbird clinic at the same time and location
- University of Waterloo, Systems Design Engineering (Computer Engineering Option), 1988
- Nortel (C/C++ developer - 5 years and team leader - 3 years and then C++ and Java SDK Developer Relations Manager - 4 years)
- Bryght (Blogger and user and billing support for world's hosted Drupal Service (like wordpress.com but for Drupal; since there was no RackSpace cloud or EC2 we built our own cloud using real hardware like real servers, routers, firewalls, etc))
- Raincity Studios acquired Bryght in 2007 (user and billing support using Cerberus Help Desk)
- Mozilla Messaging and Mozilla (Thunderbird technical support)
Hobbies and other fun personal stuff
- cameraphone pictures (I have 50000+ on flickr taken with Nokia cameraphones since 2004) and cameraphone picture HTML5 mashups and information visualizations and maps
- bicycling to work, cross country skiing (I should have been Scandinavian :-) !), lindy hop swing dancing
- I speak German because I lived in Friedrichshafen am Bodensee while working for Nortel 1995-98 and I speak a wee bit of French because I took French for 7 years and our kid is in French immersion
- all things social on the internet (I have been blogging since 1999 and love trying out new social web tools; I try to be an early adopter on all social and messaging tools on the web); love blogs, wikis, microblogging, etc