2015 Google Summer of Code Wrapup
In 2015, the Foundation mentored three students through Google Summer of Code (GSoC). Two highlights were the projects on user experience (UX) and browser extension development.
施闻轩 (Breezewish): Better UX with Seamless Posting
The Priv.ly project allows users to post and view protected content through any website. When viewing a website, Privly “seamlessly” integrates content into the web site. In contrast to the seamless nature of viewing Priv.ly content, posting content with Priv.ly has a bad UX because it requires the user to leave a page to compose messages, status updates, or emails. This summer Breezewish developed a seamless posting experience that places a protected form inside (potentially) untrusted websites. It is 'Seamless' because the user does not need to leave a web app in order to post encrypted content.
You can see one example of the outcome below with the screen capture of posting seamlessly on Google Hangouts. The background of the seamless posting form is intentionally set to green to help users easily identify whether their posting content is protected by Priv.ly.
In addition to implementing seamless posting, Breezewish also helped refactor the code base.
Hitesh Sharma and Sambuddha Basu: Browser Extension Development
Hitesh and Sambuddha developed new versions of the Priv.ly Project’s browser extensions. Hitesh worked to port the original Firefox Priv.ly browser extension to a newer framework. The project proved to be timely, since Mozilla deprecated the old framework right as Hitesh was wrapping up his work! We are excited to incorporate Hitesh’s project so we can stay one step ahead of the relentless pace of technology. The picture below shows Hitesh’s new browser extension working on gmail. “Hey!” is a web app injected into the message, which decrypts the ciphertext stored on the server.
Sambuddha worked to create the Priv.ly Project’s first browser extension for Safari. The most challenging aspect of this project was dealing with a set of restrictions and deviations from standards. Sambudha opened several issues with Apple to bring the extension framework in line with its peers. Despite not much movement from Apple, he managed to complete a browser extension that works with the vast majority of websites.
Our 2015 group of applicants was our strongest ever. We attribute the success to several improvements in our recruitment and mentoring processes. Chief among these was the “issue ladder” that methodically onboarded students through a sequence of development “levels.” We tagged each issue in our queue with a “level” that presumes knowledge of previous levels. The first level establishes basic pull request communication and the last level requires extensive knowledge of our architecture. We wove these development levels into our dev guide to help students bootstrap.
It was a pleasure working with all three students and we are very grateful for the opportunity to bring together a larger community developing privacy on the web!
(a version of this post will appear on Google's Open Source Programs Blog)