Posts from 2014

In the thick of things with Google Code-in

Friday, December 26, 2014

Over the past three and a half weeks, teenagers from over 50 countries have been busy completing tasks in the Google Code-in 2014 (GCI) contest.  511 students have already successfully completed 1,985 tasks with the 12 open source organizations mentoring students this year!

Some of the tasks students have completed include: automating and optimizing social media accounts, writing test suites, improving mobile UI, designing website landing pages, creating training slides, working on internationalization efforts and fixing and finding bugs in the organizations’ software.

2,391 students from 86 countries have already registered for the contest. A big welcome to the students from the 21 countries participating for the first time in GCI: American Samoa, Antigua and Barbuda, Azerbaijan, Brunei, Burma, Chile, Ethiopia, Gambia, Georgia, Guatemala, Jamaica, Jordan, Kazakhstan, Kyrgyzstan, Mauritius, Nigeria, Oman, Qatar, Saudi Arabia, Suriname, and Taiwan! We look forward to seeing many of these students completing tasks over the next few weeks.

The countries with the most students completing tasks so far are:
United States - 141
India - 113
Bulgaria - 44
Singapore - 19
United Kingdom - 19

Students, there is still plenty of time to get involved with Google Code-in to earn certificates of completion and a Google Code-in 2014 t-shirt. New tasks are being added daily to the contest site so if you don’t see something that grabs your interest today, check back again every couple of days. Currently over 1,500 tasks are open for students to choose from.

The last day to register for the contest and claim a task is Sunday, January 18, 2015 with all work being due on Monday, January 19, 2015 at 9:00 am PT.

Thank you to all of the mentors and organization administrators who have volunteered to help students during the seven week contest. We couldn’t do this without all of their hard work and dedication to teaching students about open source software development.

Good luck to all of the students participating this year!

By Stephanie Taylor, Google Code-in Program Manager

Google Summer of Code Wrap up:

Friday, December 19, 2014

Today’s Google Summer of Code (GSoC) wrap up comes from Sean McGregor at the Privly Foundation, an organization dedicated to enabling private social communication for technical and non-technical users alike.


The Privly Foundation develops the Project: a web privacy stack for social media. The privacy stack enables users to share content through social media while maintaining the confidentiality of their communications. In 2014, the Foundation mentored five students through Google Summer of Code (GSoC). Two highlights were the projects’ work on user experience (UX) and mobile applications.

Andrei-Vlad Fulgeanu: Privacy UX

One goal of the Privly Foundation is to enable non-technical users to benefit from privacy software. Since Open Source development naturally fosters systems preferred by developers, UX for the non-technical user is often an afterthought. Addressing the UX problem was Vlad's project and passion. He began his work with mentor and UX researcher, Jen Davidson, by performing a "cognitive walkthrough" that would drive his implementation plan. Informed by the UX methods, he contributed a set of improvements including a re-designed anti-spoofing glyph, a new in-context posting button, a redesign and renaming of the "History" application, and several bug fixes. Vlad has continued working on after the close of GSoC and has even won a Romanian Open Source coding competition through his contributions.

Ivan Metla and Gitanshu Sardana: Mobile Capabilities

We had two students working on the Android version of the Project. Ivan Metla worked on developing an internal API which enables developers to easily drop in more content sources such as email providers, social networks, and timeline-based sources into the application. This required changes to the way content is displayed to provide a UX consistent with the context that content is scraped from. The application now supports a thread based structure for Facebook messages and a timeline based structure for Twitter content. Ivan also
worked on porting the UI of the JavaScript applications for the mobile platform thereby displaying controls specific to the mobile users.

Gitanshu Sardana worked on a major overhaul of the application UI. The old "Activity"-based structure was replaced with a "Fragments"-based layout which enabled better UI transitions.  


He then helped add an action bar for access to application settings and improved session management, along with a navigation drawer providing the users with easier access to reading and generating new content. He also worked on adding experimental support for reading protected content from Gmail that resulted in a new threaded view for email content. Finally, he added the Index application (now called "History") to the mobile application's navigation drawer.

Lessons Learned

GSoC organizations with user-facing functionality should note the power of UX methods like cognitive walkthroughs and think alouds as a means of placing prospective students in the "I can make this better" mindset. A quick think-aloud in addition to coding tasks can establish the prospective student's ability to communicate effectively and think critically about the project they are proposing.

It was a pleasure working with the GSoC students in 2014 and we are very grateful for the opportunity to bring together a larger community developing privacy on the web!

By Sean McGregor, Privly Foundation Mentor

Google Summer of Code Meetup in Kuala Lumpur, Malaysia

Monday, December 15, 2014

Earlier this year, Hu Yuhuang participated as a student in Google Summer of Code (GSoC) 2014. He recently hosted a meetup at University of Malaya to share his experiences and encourage other students to participate in GSoC 2015. (Student applications will open on March 16th, 2015.) Below, he discusses the local community meetup.


About two weeks after I officially finished my GSoC 2014 journey, I received an email announcing Google Summer of Code in 2015. I immediately forwarded this email to two friends of mine, Dr. Chee Sun Liew and fellow student Chin Poh Leong, and told them I would like to host a meetup for spreading this news. After a discussion, we decided the date (November the 28th, the last Friday of the month) and got support from our school.

We started to promote this meetup about three weeks before the event date. We used a Google Form for taking registration. By the eve of the meetup, we had received 140 online registrations among 9 local universities. The students’ enthusiasm exceeded our expectations.

On November 28th, 2014, Puzzles (a programming community that my friends and I founded) hosted the meetup at University of Malaya in Kuala Lumpur, Malaysia. We ultimately had 76 attendees from 4 local universities. We were pleasantly surprised that UTM, a local university, sent over 30 students to join this meetup. They travelled 6 hours from Johor, the very south end of Malaysia.

The meetup kicked off with Dr. Liew’s greeting speech. Afterward, I followed up with a briefing about GSoC 2015. I shared my previous experience of writing an application, getting in touch with organizations, and many details from my work over the previous summer. They asked me many practical questions about how and why they should join this program. The meetup was wrapped up with a lot of smiling and photos. Many students left us their contact information so they can stay tuned for further news and ask more questions in the future.


I’d like to thank everyone who helped me with this meetup; I couldn’t have done it without their help. Google Summer of Code is one of the best things to happen during my undergraduate life and I hope to see many talented Malaysian students participate in GSoC 2015.

By Hu Yuhuang, with photos by Yap Yee King

Google Summer of Code Wrap up: OpenKeychain

Friday, December 12, 2014

Today’s Google Summer of Code wrap up comes from Dominik Schürmann at OpenKeychain, a project helping Android users communicate securely.
OpenKeychain helps you communicate more privately and securely. It uses high-quality modern encryption to ensure that your messages can be read only by the people you send them to, others can send you messages that only you can read, and these messages can be digitally signed so the people getting them are sure who sent them. OpenKeychain is based on the well established OpenPGP standard making encryption compatible across your devices and operating systems.

This was OpenKeychain’s first year participating in the Google Summer of Code program. We received two student slots, which we gratefully assigned to the best applicants. Their work was released as part of OpenKeychain 2.8.
Vincent Breitmoser worked on the cryptographic backend of OpenKeychain which is based on the low-level library Bouncy Castle. He rewrote almost all methods related to key operations and changed the way results are handled to allow a user-readable log of what actually has been processed. He also made the methods testable by dividing the backend into methods requiring Android and Java-only methods. Java-only crypto operations are now tested automatically using Travis CI.

mar-v-in worked on better integration of OpenKeychain into the Android OS, including better support for file encryption/decryption using Android 4.4 features. Now encrypting multiple files is possible using the Storage Access Framework. He also worked on an integration with Android's contact application by connecting contacts to keys in OpenKeychain by using email addresses as identifiers.

By Dominik Schürmann, Organization Administrator, OpenKeychain

Google Summer of Code Wrap up: 52°North

Friday, December 5, 2014

Today’s Google Summer of Code wrap up comes to us from Daniel Nüst at 52°North, an international network of partners fostering innovation in Geoinformatics R&D.
The open source software initiative 52°North completed its third year in a row as a Google Summer of Code (GSoC) mentoring organization. We were pleased to work with four students this summer. 52°North’s overall goals for the projects were to extend software with strategically promising features and to improve usability of the software.

Dushyant Sabharwal implemented a graphical user interface and permissions editor - the Time Series Protector – for administrators in his project “Access Control UI For SOS Servers“. This permissions editor regulates permission to access data via a Sensor Observation Service (SOS). An administrator can now define permissions for particular user roles which control how (operation granularity) the user can access which data (parameter granularity). The 52°North Security API handles access enforcement.

In his “ILWIS mobile app“, Bouke Pieter Ottow extended the ILWIS framework for geodata capture with a mobile application. The Gatherer app enables users to collect spatial data, store it on a remote server (while in the field or using a local template and cache) and access and visualize spatial background data, such as base maps, historic measurements or administrative maps.

Rahul Raja’s project “enviroCar UX Design“ extended the existing open source enviroCar Android application. The result is a more user-friendly app. He polished up the appearance, added various parameters and localization features, and enhanced the profile page to include track information, stats and graphs.

Simona Badoiu tackled the integration of Rasdaman as a data storage backend to the 52°North Sensor Observation Service (SOS) implementation. The “Sensor Data Access for Rasdaman“ is a complex and very challenging project, which required a good understanding of three different projects: Rasdaman, ASQLDB, and HSQLDB. Simona was able to provide a first prototype of the integration of array data and the Sensor Web data retrieval service SOS.

By Daniel Nüst, 52°North Organization Administrator and Mentor

3, 2, 1 Code-in: Inviting teens to contribute to open source

Monday, December 1, 2014

Code-in 2014 logo

We believe that the key to getting students excited about computer science is to give them opportunities at ever younger ages to explore their creativity with computer science. That’s why we’re running the Google Code-in contest again this year, and today’s the day students can go to the contest site, register and start looking for tasks that interest them.

Ignacio Rodriguez was just 10 years old when he became curious about Sugar, the open source learning platform introduced nationally to students in Uruguay when he was in elementary school. With the encouragement of his teacher, Ignacio started asking questions of the developers writing and maintaining the code and he started playing around with things, a great way to learn to code. When he turned 14 he entered the Google Code-in contest completing tasks that included writing two new web services for Sugar and he created four new Sugar activities. He even continued to mentor other students throughout the contest period.  His enthusiasm for coding and making the software even better for future users earned him a spot as a 2013 Grand Prize Winner.

Ignacio is one of the 1,575 students from 78 countries that have participated in Google Code-in since 2010. We are encouraging 13-17 year old students to explore the many varied ways they can contribute to open source software development through the Google Code-in contest. Because open source is a collaborative effort, the contest is designed as a streamlined entry point for students into software development by having mentors assigned to each task that a student works on during the contest. Students don’t have to be coders to participate; as with any software project, there are many ways to contribute to the project.  Students will be able to choose from documentation, outreach, research, training, user interface and quality assurance tasks in addition to coding tasks.

This year, students can choose tasks created by 12 open source organizations working on
disaster relief, content management, desktop environments, gaming, medical record systems for developing countries, 3D solid modeling computer-aided design and operating systems to name a few.  

For more information on the contest, please visit the contest site where you can find the timeline, Frequently Asked Questions and information on each of the open source projects students can work with during the seven week contest.

Good luck students!

By Stephanie Taylor, Open Source Programs

Getting ready for Code-in: notes from BRL-CAD

Tuesday, November 25, 2014

The Google Code-in contest starts on December 1st for students. To prepare and inspire students, Christopher Sean Morrison, a dedicated mentor and organization administrator from BRL-CAD, talks a bit below about his experience with GCI over the last few years.


BRL-CAD has participated in Google Code-in (GCI) for two years now, and it’s been amazing to see the frenzy of creativity and aptitude. Our community alone has had the pleasure of introducing more than a hundred students to the world of open source software. The students’ contributions get used all around the world even though many of these students had never heard of open source or computer-aided design (CAD) before they started on GCI. With GCI, they get to explore at their own pace, learn while they are completing real world tasks, and make genuinely useful contributions to open source projects.

One great outcome of GCI is that students work as a team, often unknowingly, to achieve a complicated objective that has been broken down into piecemeal tasks. One example involved creating a scene like you might see at the beginning of a movie or a game: a half-dozen students modeled individual letters, others organized them into a scene, and a final rendering was made.  Another involved several students that unknowingly made BRL-CAD run much faster on Windows: they implemented various routines independently of each other, created test cases to demonstrate that functions worked correctly, and documented their improvements while others worked to tie it all together. Both examples might have taken even an experienced contributor weeks or months by themselves. GCI students earn recognition for these accomplishments and their work gets used by others.

For our BRL-CAD community, these young eager individuals have tackled and completed more than four hundred tasks related to computer graphics, 3D modeling, design, science, and mathematics. Some of these tasks helped our open source community grow while challenging right-brain creativity: students have designed new t-shirts, created YouTube tutorials, written blog posts, and modeled our logo for marketing materials (including the one shown above). Other tasks improved BRL-CAD by employing left-brain analytical thinking: students wrote code to fix bugs, improved websites, wrote technical documentation, and calculated 3D volumes, surface areas, and centroids.

There’s really something for everybody and every skillset. We’re excited to see what GCI 2014 will bring!

By Christopher Sean Morrison, BRL-CAD Organization Administrator and Mentor

Google Summer of Code Wrap up: ns-3

Friday, November 21, 2014

Today’s Google Summer of Code wrap up comes to us from Tom Henderson at ns-3, a discrete-event network simulator developed for research and educational use.

The ns-3 network simulation project creates and maintains open source software for conducting performance evaluation of computer communications networks. Widely used in networking research and development activities, ns-3 is aimed towards the academic community involved in publishing original research, as well as towards educational use in undergraduate and graduate courses on computer networking. In 2014, the project mentored four students through Google Summer of Code (GSoC).

Piotr Gawłowicz: LTE Fractional Frequency Reuse algorithms

Piotr worked on algorithms for LTE Fractional Frequency Reuse. Mobile phone systems need to use radio spectrum very efficiently, particularly in managing interference. The ns-3 project has extensive LTE modeling capability which was initiated by a GSoC 2010 project. This year, Piotr extended the ns-3 LTE module to support a relatively new strategy for balancing interference mitigation and spectral efficiency known as Fractional Frequency Reuse (FFR). In addition to the FFR model code, Piotr delivered extensive corresponding test code, documentation and examples. He even fixed some LTE module bugs, developed several additional features (such as downlink and uplink power control and per-Resource Block Radio Environment Maps), refined the model for channel quality indicators, and refactored the power and interference calculation code. Piotr's code was merged to the mainline development tree in time for the September 2014 ns-3.21 release.

Rubén Martínez: Licklider Transport Protocol

Computer networks built for operation in outer space differ significantly from those found here on Earth. The propagation and networking delays for signals sent beyond the Earth may be as long as minutes or hours, confounding traditional systems accustomed to millisecond response times. Delay-Tolerant Networking (DTN) can be applied to these types of networks, and a specific protocol known as the Licklider Transmission Protocol (LTP), similar in purpose to the popular Transmission Control Protocol (TCP) used on the Internet, is designed to reliably deliver data across these types of links.

In his GSoC project, Rubén authored a model of LTP from scratch for inclusion in our future DTN module. This model includes about 5000 lines of new code and is being tested for interoperability against other implementations of LTP by using the ns-3 emulation mode which allows the simulator to exchange data with real protocol implementations. Rubén's model will soon help open up the use of ns-3 for space data networking research.

Truc Anh Nguyen: Understanding bufferbloat through simulations in ns-3

Bufferbloat refers to a phenomenon where network performance (latency, packet jitter, throughput) is diminished due to packet buffers at the ingress of a congested link becoming too deep. New "active queue management (AQM)" approaches help minimize packet transit times in congested queues. Anh’s project focused on addressing the known problems and testing the then-unreleased ns-3 CoDel queue model originally proposed by Andrew McGregor and Dave Taht. The revised CoDel model, test scripts, and example programs were included in the recent ns-3.21 release, and variations that build on this model are planned for future releases.

Krishna Teja: Multicast IPv6 traffic support

In his GSoC project, Krishna developed the Multicast Listener Discovery Version 2 (MLDv2) functionality for IPv6 in ns-3’s Internet module. The code is completely new, closely matches Internet RFC 3810, and (when merged) will be automatically enabled for any IPv6 node. Thanks to MLDv2, each router is made aware of the multicast groups that each attached host is interested in and can dynamically reconfigure its routing table. The protocol is part of an ongoing effort to enhance the multicast routing support in ns-3 for IPv6.

By Tom Henderson, ns-3 Organization Administrator

Coding Android TV games is easy as pie

Wednesday, November 19, 2014

(cross-posted with the Android Developers Blog)

We’re pleased to announce Pie Noon, a simple game created to demonstrate multi-player support on the Nexus Player, an Android TV device. Pie Noon is an open source, cross-platform game written in C++ which supports

  • up to 4 players using Bluetooth controllers.
  • touch controls.
  • Google Play Games Services sign-in and leaderboards.
  • other Android devices (you can play on your phone or tablet in single-player mode, or against human adversaries using Bluetooth controllers).

Pie Noon serves as a demonstration of how to use the SDL library in Android games as well as Google technologies like Flatbuffers, Mathfu, fplutil, and WebP.

You can download the game in the Play Store and the latest open source release from our GitHub page. We invite you to learn from the code to see how you can implement these libraries and utilities in your own Android games. Take advantage of our discussion list if you have any questions, and don’t forget to throw a few pies while you’re at it!

By Alex Ames, Fun Propulsion Labs at Google*

* Fun Propulsion Labs is a team within Google that's dedicated to advancing gaming on Android and other platforms.

GSoC Reunion Recap with Magdalen Berns

Tuesday, November 18, 2014

To celebrate the tenth year of Google Summer of Code (GSoC), we recently welcomed over 500 people who’ve participated over the years to a special Reunion event. We’d like to share a few recaps of the event from the perspectives of students and mentors who joined us from 50 different countries. Today’s summary comes from Magdalen Berns, a student participant in GSoC 2013 and 2014.

The GSoC Reunion was a really great experience for me. I traveled from Edinburgh for the event. It was wonderful chatting with so many different FLOSS enthusiasts all in one place and I made lots of new buddies who I’ll definitely keep in touch with.

On the first day, Google rented out a theme park for a few hours, letting us go wild. We successfully fought the urge to be sick on the rides as they spun us around. Afterward, we were invited to the San Jose Tech Museum where we got to listen to Linus Torvalds speak about the qualities of good code. The museum’s exhibitions were very interactive and I especially liked the one which demonstrated how ice hockey protective equipment is designed for goalies. I hadn't realised how sophisticated it is!

An "unconference" was held across Saturday and Sunday, and I really enjoyed the sessions I attended. For those who have never been to an unconference, it’s much more interactive than a typical conference talk. People ask questions and make comments throughout, making it a discussion. It’s definitely a format I can get on with!

One conversation which had begun around ending misogynistic trolling on internet dating sites got really interesting because it quickly developed into two groups who were each keen to address sexism from different angles. One group focused on online sexism and the other on sexism at conferences and other events. The latter group went on to discuss establishing a universal code of conduct available for FLOSS projects to adopt if they choose, while the former group considered developing software to deal with abuse on IRC. Everyone got so engaged that we chatted until the notetaker's wrists were sore from 2 or 3 hours of typing. It was incredibly heartening to see so many men who are interested discussing these issues in one place. I have never seen anything like that before in my life! It takes quite a lot of objectivity and emotional intelligence to be able to stand up for the rights of a group you aren’t part of.

Another session was led by a Googler and we discussed the potential pitfalls of publishing work in the public domain. Laws vary widely around the world, and there are places where the work may unintentionally remain under copyright protection. That is a compelling reason to use free or open source licenses. There have been few landmark court cases since FLOSS licensing came along, so it’s difficult to be certain what things will mean in practical terms. That session made me quite interested in learning more about copyright law.

On Sunday, there was a talk on The GNOME Foundation’s Outreach Program for Women (OPW) which was well attended. I learned that projects have to demonstrate their commitment by finding funding for a student before they can take part. I think that is a good idea, but it is a shame that there are not more sponsors available so smaller projects can get involved. Hopefully as OPW continues successfully helping women get started in open source development, more companies will step forward as sponsors.

I am always keen to talk about accessible software, so I initiated an unconference discussion on the topic in one of the rooms. Although that session was not well attended, those who were there had a lot to say and were very engaged with the idea of establishing a common interest group for accessibility developers. Get in touch if that sounds interesting to you too.

Finally, we got to visit the Google Headquarters on the final day of the reunion. We didn’t get to tour inside the offices, but I at least got a peek at the famous indoor slide… Maybe next time I’ll get a chance to go up to the top.

By Magdalen Berns