July 2013 - July 2015
Tor Instant Messaging Bundle
- Audit the Pidgin chat client, fixing security bugs, and make the Tor Instant Messaging Bundle available to end users.
- Hire a forensic expert to audit third-party components of all Tor bundles.
- Release a secure, portable chat program that sends all traffic over Tor, can be used with a wide variety of chat networks, uses off-the-record encryption of conversations by default, and has an easy-to-use graphical user interface localized into Farsi, French, Spanish, and Arabic.
- Implement an automated build and testing infrastructure to produce nightly Tor Messenger builds and automatically test them.
Tor Mail Bundle
- Prototype a Tor Mail Bundle based on Thunderbird and Torbirdy, similar to Tor Browser and Tor Messenger.
Help Desk and Documentation Improvement and Localization
- Add Farsi, French, Spanish, and Arabic translators to the help desk staff.
- Schedule support in order to offer chat, email, video, and voice support in more time zones.
- Produce easy-to-understand written materials on general communications security.
- Produce short videos and translate them into Farsi, French, Spanish, and Arabic that better explain how to use Tor, how to understand Internet circumvention, and thinking about security risks while circumventing censorship; part of this creation will involve working with a technical writer to simplify and clarify existing documentation.
- Create and maintain a public repository with outreach materials, allowing members of the Tor community to provide feedback and offer improvements.
- Concentrate efforts on outreach to Iranian end users and potential supporters in the technology community; to include train the trainer sessions, advertising on social networks, and interviews on radio and television stations operated by and for the Iranian diaspora.
Hidden Service Usability Improvements
- Analyze usability challenges with the setup of secure hidden services; use these findings to develop a script and accompanying documentation to further enhance usability for civil society technologists and network security engineers.
|#11171||Write quarterly report for Q3/2013|
We need to write a quarterly report for Q3/2013. Lunar made a list of all relevant things we did in Q3. Karen converted that list into a shiny report with help from Andrew and Kelley. The report is submitted to the sponsor as of April 30, 2014. That concludes this task.
|#11386||Decide which instant messaging client to use for the new messaging bundle|
|#11172||Write quarterly report for Q4/2013|
We need to write a quarterly report for Q4/2013. Lunar made a list of all relevant things we did in Q4. Karen converted that list into a shiny report with help from Andrew and Kelley. The report is submitted to the sponsor as of April 30, 2014. That concludes this task.
|#11281||Decide on a source format for the Tor Browser User Manual|
The "short user manual" is our primary user documentation these days. We want to turn it into the Tor Browser User Manual. The first step is to decide on a source format before starting the conversion. We compared a few options (#10978) and then chose Mallard as source format. That concludes this task.
|#11282||Write a Tor Publisher User Manual to safely serve static blog content via a hidden service|
We wrote a Tor Publisher User Manual for people to publish their blog via a Tor hidden service and asked for feedback on the tor-dev@ mailing list. This new manual describes the necessary steps to set up the blog-aware static code generator Jekyll that outputs static website files and a remotely running Nginx web server that serves static files via a Tor hidden service. The intended audience is users who know how to edit text files, though they are given step-by-step instructions what to edit and why. That concludes this task.
|#11385||Start an Off-the-Record implementation for Instantbird|
A major shortcoming of our choice of Instantbird as the underlying messaging client for the new messaging bundle is the lack of Off-the-Record Messaging support. Tackling this issue breaks down into two parts: build an extension that binds to libotr to support the protocol (#10210), and make the necessary graphical changes to Instantbird to empower the user (#10938). We started on the former, producing the extension and making changes to Instantbird's internals to support the protocol. That concludes the part of this task that was supposed to happen in Q1/2014. Continuing this implementation is going to happen in Q2/2014.
|#11173||Write quarterly report for Q1/2014|
We need to write the quarterly report for Q1/2014. Lunar collected a list of all relevant things we did in Q1, and then Karen turned that list into a shiny report. This report was due April 30 and submitted in the second half of May. That concludes this task.
|#11657||Deploy a system to offer invitation-based text chat support to users|
We deployed a system to offer invitation-based text chat support to users. This system allow us to move support requests from asynchronous email to synchronous text chat whenever this promises quicker resolution of issues. Sherief implemented this system, Lunar reviewed it, and Colin deployed it. The system is available as of May 29, 2014. A screenshot of a sample session is available. That concludes this task.
|#11533||Implement Off-the-Record support for Instantbird with minimalistic user interface|
Our goal for June 15 was to have Off-the-Record (OTR) conversations working in Instantbird, but with a minimalistic user interface (UI) that does not support configuring keys yet. Extending the UI will be done later in this project. We accomplished this goal by May 22, despite #11532 not being done yet. Instructions for compiling an Instantbird version with basic OTR support are available, as is a screenshot of a chat session using OTR. That concludes this task. Arlo did the coding, Karsten helped with the testing.
|#11669||Turn the Short User Manual into a Tor Browser Manual|
We want to make a user manual for Tor Browser that can be shipped with the browser. The manual should cover basic Tor Browser functionality, address common use issues, and inform users how to get support if needed. As of June 10, 2014, the status is that we imported most of the old "short user manual" into the new Mallard format, reworked and localized the "Tor and HTTPS" visualization, improved the introduction about Tor to give more insights about what Tor provides and what it does not provide, and set up continuous integration. The bulk of the work was done by Lunar and Matt. We originally planned to finish this in Q2/2014, but ran out of time. We're now returning it to the pool of documents to be written or updated and will make new plans in Q3/2014. That concludes this task.
|#11939||Identify what documentation (existing or new) is needed to build awareness and educate our target audience on Tor|
Identify what documentation (existing or new) is needed to build awareness and educate our target audience on Tor. This task includes identifying what written documentation should exist and deciding what existing documentation needs to be updated and what new documentation needs to be created. This task was scheduled for June 15 and completed on June 27. The resulting documentation list is available here. Kelley and Colin have been working on this task. That concludes this task.
|#11940||Define criteria for training curriculum development|
We need to define criteria for training curriculum development. We completed the curriculum framework for discussion at the Paris developer meeting from June 30 to July 4, 2014 and made it publicly available on July 11, 2014. Next steps will be to find an external training curriculum writer by August 15, 2014. Kelley and Colin have been working on this task. That concludes this task.
|#11174||Make experimental Tor Instant Messaging Bundle builds|
We want to make experimental builds of the new Tor Instant Messaging Bundle. These builds shall serve as proof of concept and to invite users to give us feedback early in the process. These bundles will not offer all security properties of the final bundle. We were planning to do this for May 15, but then decided to defer until September 15, because we don't want to release a bundle without some form of OTR support. We made bundles for Linux 64 bit, Linux 32 bit, and Mac OS X available on September 30, 2014. Arlo and Sukhbir were working on this task. That concludes this task.
|#12590||Write quarterly report for Q2/2014|
We need to write the quarterly report for Q2/2014. Lunar collected a list of all relevant things we did in Q2, and then Karen turned that list into a shiny report. This report was due July 31 and submitted on that day. That concludes this task.
|#11532||Get Instantbird changes merged upstream that support adding Off-the-Record messaging|
Instantbird requires changes to its application programming interface before we can add Off-the-Record messaging support to it. We have been discussing requirements with the Instantbird developers. We were first planning to get our code changes merged into the main Instantbird codebase by May 15, but had to shift this to September 15, because we were blocking on feedback by the Instantbird developers. As of September 15, 2014, the relevant commits (available here and here) have been merged upstream. That concludes this task. Arlo was working on this task.
|#12792||Submit Instantbird Off-the-Record extension for inclusion upstream|
We want to make our Off-the-Record (OTR) extension part of Instantbird, not just of Tor Messenger. This has the advantage of receiving first-class support by Instantbird people which eases any maintenance burden. We were planning to have this under review by September 15, 2014. This has been submitted for discussions and review on September 30, 2014. Arlo was working on this task. That concludes this task.
|#12880||Translate Instantbird to Arabic|
We contributed Arabic as the first right-to-left language translation to Instantbird. We submitted all relevant translation files upstream by September 29, 2014. Sherief was working on this task. That concludes this task.
|#13293||Write curriculum modules for train-the-trainers presentation slides|
We want to build a curriculum that trainers can use to train others about Tor, the Tor Browser, Tails, and related security technologies. As first step we plan to write a set of curriculum modules that can be turned into presentation slides. Target date is September 15, 2014. Kelley and Colin are working on this task. As of September 25, 2014, this task has been completed and the modules are available. That concludes this task.
|#13143||Complete a first version of Stormy|
We want to complete a first version of the Stormy one-click install script, which is supposed to set up secure hidden services, and get it into the hands of other developers for feedback, particularly on security. This task includes: making adjustments based on previous user feedback; making the script more maintainable long-term; adjusting the tor configuration file based on requested type of hidden service; and enabling automatic updates for hidden service dependencies. We were aiming for September 15, 2014 for this task and completed it by September 30, 2014. Griffin was working on this. That resolves this task.
|#12791||Implement user interface for Instantbird's Off-the-Record plugin|
We need to develop a user interface for the functionality added in Instantbird's Off-the-Record (OTR) plugin. This user interface will enable users to manage OTR keys and do other OTR-related tasks. We were originally planning to do this by September 15, 2014 but then postponed to the fourth quarter in 2014. This is implemented as of December 31, 2014. Arlo was working on this task.
|#13341||Write quarterly report for Q3/2014|
We need to write the quarterly report for Q3/2014. Lunar collected a list of all relevant things we did in Q3, and Karen turned that list into a report. This report was due October 31th which also when it was emailed to the sponsor. That resolves this task.
|#13363||Turn curriculum module content into slides|
|#12704||Create strategy for distributing learning materials|
We need to create a strategy with how we are going to get learning materials into the hands of as many people as possible. We have been talking to three organizations about outreach. The result of this task is this distribution plan for reaching out to both trainers and end users. Kelley and Colin have been working on this task. The original plan was to complete this by September 15, but we had to postpone until November 15, 2014, because most parties wanted to see materials before agreeing to help. This task is completed as of December 31, 2014.
List of internal deliverables for Q1 and Q2/2015
- (no tasks left)
- Continue auditing Instantbird's security, and possibly engage a third party for performing a security audit. (sukhe)
- Translate Instantbird and the OTR plugin into Farsi. (nobody)
- Translate the OTR plugin for Instantbird into Spanish. (Noel)
- Investigate possible issues in translating Instantbird into Chinese and attempt to resolve those issues. If these issues can be resolved with reasonable effort, translate Instantbird and the OTR plugin developed by Tor Messenger developers into Chinese. (Jason)
- Translate Instantbird and the OTR plugin into Arabic. (Sherief)
- Work together with Tor Messenger and Instantbird developers on displaying right-to-left languages correctly in Instantbird. (Sherief)
- Upstream the OTR extension. (arlolra)
- Make the UI/UX better for all OTR interfaces. (arlolra)
- Close all ctypes-otr tickets opened by January 15 and possibly beyond. (arlolra)
- Help release a public version of Tor Messenger by Q2 that incorporates the above deliverables and other feedback from users as part of our planned monthly release cycle. (Arlolra)
- Work with Leiah and incorporate Tor Messenger branding. (sukhe)
- Secure Instantbird's messaging window. (sukhe)
- Add support to Instantbird for in-band XMPP account registration. (sukhe)
- Enhance the account creation process by automating addition of popular IRC and XMPP servers. (sukhe)
- Add support for handling and deploying Instantbird translations of Farsi, French, Spanish, Arabic, and possibly Chinese. (sukhe)
- Implement basic support for a Tor controller. (sukhe)
- Write documentation for Tor Messenger and also start working on the design document. (sukhe)
- Close all tickets on Trac ("Tor Messenger" component) opened by January 15 and possibly beyond. (sukhe)
- Help release a public version of Tor Messenger by Q2 that incorporates the above deliverables and other feedback from users as part of our planned monthly release cycle. (sukhe)
- Build Tor Messenger for Windows and Mac OS X. (boklm)
- Help release a public version of Tor Messenger by Q2 that incorporates the above deliverables and other feedback from users as part of our planned monthly release cycle. (boklm)
- Translate the OTR plugin into French. (boklm)
- Implement an automated build and testing infrastructure to produce nightly Tor Messenger builds and automatically test them. (boklm)
- Help make a process to create a Tor Mail Bundle based on Torbirdy and Thunderbird (using the build produced by Mozilla). (sukhe)
- Make a process to create a Tor Mail Bundle based on Torbirdy and Thunderbird (using the build produced by Mozilla). (boklm)
- Respond to Farsi requests to the help desk via email and chat. (harmony, maybe vmon, maybe mrphs)
- Respond to help desk requests in Spanish via email and chat. (Noel)
- Respond to help desk requests in English and Chinese via email and chat. (Jason)
- Respond to help desk requests via email/chat in Arabic and English. (Sherief)
- Make sure that the help desk remains staffed for Farsi, French, Spanish, and Arabic. In particular, find new help desk members for Farsi and French. (Phoul)
- Respond to help desk requests in French via email and chat until somebody else takes over. (boklm, maybe Lunar)
- (no tasks left)
- Review and update the Tor brochures. (karsten)
- Bring the "About Tor" page up to date. (nobody)
- Discuss with Roger and Nick splitting up the FAQ into multiple, smaller pages; implement the resulting decision. (nobody)
- Work together with Wendy on updating the Abuse FAQ and the Legal FAQ. (nobody)
- Remove no-longer maintained Vidalia bundles from the website. (Sebastian)
- Update the Documentation Overview after new documentation has been created. (nobody)
- Help rewrite the Short User Manual by writing Mac OS X specific parts of the new Tor Browser manual. (Sherief)
- Lead the rewrite of the Short User Manual into a Tor Browser User Manual. (harmony)
- Research how to automate creation of Tor Browser screencasts, and if it can be done with reasonable effort, create screencasts for Windows, Mac OS X, and Linux. (karsten)
- Coordinate volunteer translators and voice-over speakers of the Tor animation. (karsten)
- Translate the Tor animation produced by KAJART into Spanish and help with recording a Spanish voice-over for this animation. Help with translating other video material produced by Tor into Spanish as time permits. (Noel)
- Translate the Tor animation produced by KAJART into Chinese and help with recording a Chinese voice-over or adding Chinese subtitles for this animation. Help with translating other video material produced by Tor into Chinese as time permits. (Jason)
- Translate the Tor animation into Arabic and help record the Arabic voice-over for it. (Sherief)
- Write a script for screencasts explaining how to download, verify and run Tor Browser on Windows, Mac OS X, and Linux. As time permits, record screencasts and make plans for recording voice-overs in English, Farsi, French, Spanish, Arabic, and possibly Chinese. (Sherief)
- Translate the Tor animation into French and help record the French voice-over for it. (boklm)
- Finalize the presentation index. (nobody)
- Write training materials, including slides and worksheet materials, for train-the-trainer sessions. (Phoul)
- unknown (saint)
|#14190||Write quarterly report for Q4/2014|
We need to write the quarterly report for Q4/2014. harmony collected a list of all relevant things we did in Q4, and Karen turned that list into a written report. This report was due January 31th which also when it was emailed to the sponsor. That resolves this task.
|#13090||Create an inventory of existing presentations|
We want to create an inventory of existing presentations, which includes all files in the presentations folder in the subversion repository, and produce one or more public indexes as HTML web pages. We were first aiming for September 15 but then postponed until October 31, 2014 when we made some good progress but did not finish this task. The new target date is the first quarter of 2015. saint will be working on this task.
|#13789||Update Tor Browser videos|
Previously, we had videos for teaching users about downloading, verifying and running the Tor Browser. These videos are now quite out of date, as they were written for the 3.x line of Tor Browser releases. As part of Sponsor O, we are supposed to update these videos to reflect the current 4.x Tor Browser. Sherief has committed to working on these videos, and a tentative deadline has been set for Q1 2015. Once the videos are complete, a native English speaker at the Tor Project (likely Colin Childs) will need to handle the voiceover.
|#12097||Help implement XMPP account creation for Instantbird|
Instantbird does not yet support XMPP account creation. This is bad, because we wouldn't want to force Tor Messenger users to use a separate messenger to create their account. There's an open ticket on the Instantbird bug tracker for this, and the Instantbird devs say "patches welcome". Sukhbir is going to look into this in Q3. We optimistically scheduled this for September 15, re-scheduled for December 15, 2014, and re-scheduled once more to the second quarter in 2015.
Not assigned to a quarter yet
Guidelines for Quarterly Milestones
Important: Please read the following guidelines for project tickets before you create or update a ticket for a quarterly milestone!
- 20 hours minimum: The task or group of tasks takes at least 20 hours to complete; otherwise, it should be a task/enhancement/defect ticket. Micromanagement considered evil.
- 20 tickets maximum: There should be no more than 20 project tickets for a given quarter of Sponsor O work; otherwise, tickets are too fine-grained and should be grouped into higher-level tasks.
- Yellow box principle: The ticket description starts out as slightly more verbose summary of what the ticket is about, and then turns into the progress summary and later the end result. This is done by updating the description, not by adding comments. (Yes, despite Trac's ugly diff support.) As a result, nobody needs to read lengthy change histories to see the current status. Only the part in the yellow box counts!
- Change history: No technical discussions on the ticket. If there's need for technical discussion, create a non-project ticket, discuss there, and come back with results.
- Summary: The ticket summary is always an action sentence. "Create project tickets from tasks listed on wiki pages" would be a possible summary, "Project tickets instead of wiki pages" not.
- Keywords: Project tickets use keywords like "SponsorO20140331" if they're assigned to a quarterly milestone, or just "SponsorO" if they're not assigned yet.