Summary: if you would like to mentor an awesome student working on an ODK project this summer, please comment below with a project you’re interested in.
Google Summer of Code (GSoC) pairs university students of all levels (undergraduate to PhD) with open source projects for 3 months of code contributions. Students apply by submitting a project proposal and those who are accepted are paid a stipend to work with their mentoring organizations.
Last year was the first time ODK participated and we were lucky enough to work with @Shobhit_Agarwal for the whole summer. He did really valuable work, got a great job offer after and continues to be a core contributor, most notably recently being selected as part of the Technical Steering Committee. The program is an excellent opportunity to make progress on important projects, expand the community and mentor promising students.
The full timeline is at https://developers.google.com/open-source/gsoc/timeline. Interns would be active May 14 to August 14. The application period is February 12 - March 12.
I am willing to be the organization admin and co-mentor a student. If anyone else is interested in being an org admin I am happy to co-admin or act as an admin mentor!
To participate in GSoC 2018, we must apply by January 23rd with the following information: https://docs.google.com/document/d/1JkCGlxa-qhBGNdEjGZILBN6wQi6rfdeUQDDBRgEhHZw/edit Please request write permissions if you are interested in helping fill this out.
To be considered, we need committed mentors and project ideas. Ideally each project would have one software developer mentor who can review code and provide technical advice. Non-technical co-mentors can play a really important role by defining the project, offering ongoing feedback and keeping the student on track. Mentors should expect to spend 2-5 hours a week on GSoC Feb - March and May - August.
Here are some quick project ideas I’ve thought of:
Supervisor app that is a companion for Collect. A supervisor would run the app on one device and data collectors could send all of their forms over bluetooth or NFC. The supervisor could then verify the data and either approve or reject specific filled forms. @Shobhit_Agarwal you may be interested in this one.
Basic offline analysis on Collect data potentially with the ability to view read-only server data if online or previously synced. This could be in the View Forms screen or be a companion app and potentially leverage some of the work done with ODK Tables. @mathieubossaert I know you’re particularly interested in a summary map view and perhaps you could help with initial specifications and/or mentoring.
Server tester: an application that given a URL verifies that the server is OpenRosa-compliant. As there are more and more compatible servers, this would be a useful community tool.
Community mapper: a system for visualizing where community members and/or projects are. This follows up on the conversation at Country Wise List of Users in ODK Forum. Perhaps @mistcrrgpsa or @Andrew would be interested in mentoring? This could potentially be done as a Discourse plugin and maybe we could see if someone in the Discourse community is interested in co-mentoring.
JavaRosa / Collect profiling and optimizing. @dcbriccetti has been taking the lead on this and there are still many opportunities for speed increases. This would be a challenging one and would need an advanced student with testing experience. Would be best if @dcbriccetti were interested in mentoring!
I had also shared some ideas for projects in collaboration with other communities at Notes From Google Summer of Code 2017 - #5 by LN.
If you have any interest in mentoring or just a project idea, please comment below. Maybe one of the above interests you, maybe you or your organization has a need that you don’t have time to fulfill but could mentor a student to do or maybe you came up with a really cool project in the shower once!