Help wanted: Google Summer of Code 2018 application 🌞

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! :shower:

13 Likes

Hi! I'd like to volunteer to be a mentor or co-mentor of a student. I haven't come up yet with any project but I'm on it :wink:

In the meantime, I would be glad to take on the Briefcase projects from last year

2 Likes

unfortunately i am not that much expert, so, i want to became your student in a project, what about this ?

In Interview - Narendra Singh, @iamnarendrasingh, said, "One area of focus I would recommend is improving Briefcase user interface because it is harder to use than the other tools." @Nader has said similar things to me.

Narendra and Nader, are there specific changes you'd like to see? If we can structure them as a project, @ggalmazor might be able to mentor a student to take those on.

3 Likes

@TobiasEigen @downey Do you think there could be a Discourse/ODK GSoC project where one of our students builds a mapping plugin? Would either of you be interested in co-mentoring?

2 Likes

It's an interesting idea. I'd like to hear more about the vision/use case, if @yanokwa or others have things in mind!

@LN Supervisor app sounds like an interesting idea. I'd like to volunteer to be a mentor.

3 Likes

The vision is described in Country Wise List of Users in ODK Forum.

The minimum viable product for me would be a map at a forum.getodk.org/map that mapped a single "Home" location for every user. I'd like this because then it's easy for folks in a particular locale to find each other and connect. And if that goes well, I'd love to add a layer for folks to identify where they have projects (e.g., atlas.openmrs.org). Does that give you the detail you need?

1 Like

Yeah I'm down for that ... although it sounds much more like a Discourse development project rather than ODK, right?

Need to get my head around how that'd best work within the GSoC framework.

@TobiasEigen would such a Discourse user map be useful for you? It seems like it would have broad interest as a plugin.

2 Likes

Yes, that sounds right to me. But I don't see that as a problem as long as we can get the right kind of mentorship lined up! The plugin would be hosted and maintained by the ODK community. It would first and foremost be designed to meet the needs here but built generically enough to be broadly useful. This could be an amazing opportunity to get some great developers aware of ODK and to benefit not just our users but other communities'. :star_struck:

EDIT: I'll add that I don't have any Discourse dev experience but I've written quite a bit of Ruby/Rails so I could perhaps do some technical mentoring if needed.

1 Like

Amazing! Of course it doesn't have to be that project if you have other ideas. I haven't thought deeply about this one yet so it may not be a great fit. I talked a bit with some folks at eHealth Africa about such an idea so maybe @adam.butler would have some thoughts or know people in his organization who would be interested in developing the concept. @adam.butler my conversation was with the software team in Kano. I think they had built something similar for a custom tool you have.

That would be cool! GSoC is for students, though, so you'd need to make sure you fit the eligibility requirements --

Anyone can share project ideas, too!

Hey! The maps thingy for Discourse sounds amazing :slight_smile:

I've run a quick search on the plugin database and I found these:

Maybe serves as inspiration for the thing we want to make :slight_smile:

2 Likes

@LN I am very much happy and interested to work for the same. At the same
time i would like to make it clear that i dont have any exposure to open
source software development or coding, i have knowledge of desktop software
development using Visual Basic and have experience in Requirement Analysis,
Process Design, Software Testing, Implementation and Training. Pls let me
know where I can Contribute for the betterment of ODK Community.

Thanks & Regards,Anup Krishna P,Specialist MIS,State Program Management
Unit(SPMU),Rasthriya Gram Swaraj Abhiyan (RGSA),Local Self Government
Department,Govt. of KeralaPh: 94960 46910

Hi !! I would like to participate in GSOC '18 as a student.

Project idea :
Optical Character Recognition tool for ODK.

According to me it would be a useful tool for the community.
In certain scenarios, paper based data collection is unavoidable. Through this tool, users would be able to easily convert paper based forms into digital forms. Although ODK scan helps to do so, it requires manual text input and capture images through android app.

Features :
1. The proposed tool should be able to receive images from various sources like local machine, mobile, remote cloud storage like Google Drive,etc.
2. Tool can be a core library which can be used as an plugin to any project.
3. Use latest technologies to generate accurately filled forms.
4. Provide an interface to manually verify data and correct it if needed.
5. Prompt user in situations where text couldn't be determined.
6. Able to add support for new languages easily.
7. Choose template form.

Link for discussion and feature request.

2 Likes

@LN @Shobhit_Agarwal Yes, we built something similar for one of our custom data collection apps. In the field P2P data synchronisation constantly features on project wishlists, whether for supervision, or for complex data collection that requires input from more than one surveyor (as was the case on this project, which involved multiple medical tests).

The problem is that consistent, reliable P2P discovery is hard. We just gave up on Bluetooth in the end (although once the discovery process is complete, BT is still fine for actually transmitting the data). Wifi Direct looks promising, but it's pretty complex, and we never really got beyond POC.

NFC turns out to work pretty well, especially when paired with BT for the actual data transmission, but it has two potential show-stoppers, depending on project requirements:

  1. Devices have to be next to each other or, ideally, held back-to-back

  2. NFC support on Android tablets is not great, unfortunately. In our case, we happened to get lucky, since the project in question was exclusively using a device that happened to have NFC. Support is very good on phones though, mainly because NFC is the underlying tech for tap-to-pay solutions.

But this sounds like a great idea, and it would be amazing to have an ODK-based solution for these problems.

3 Likes

I chatted with a few folks in the GSoC IRC channels last night about this. There have been some other successful cases where GSoC Project X is running a student project to build code for/about GSoC Project Y ... so I think there's definitely a precedent and it'd be OK.

That said, all 4 folks I chatted with recommended trying to find someone from Project Y (in this case, Discourse) to work with to be a sort of unofficial co-mentor, in case advice or troubleshooting is needed about Project Y. So maybe a good topic to discuss on the Discourse Meta site by those interested?

1 Like

Hello
My name is Murad and I would like to be a part of the ODK GSoC team this year. Are newcomers welcome here?

That's great! I think going into a little more detail in what the user experience for this user mapping idea would be really helpful so the project requirements are clear. Your requirement analysis experience should help a lot. Maybe that can happen back in the Country Wise List of Users in ODK Forum thread.

@adam.butler thanks for sharing your experience related to the supervisor/local sync companion idea. @Shobhit_Agarwal and I talked a little bit about it in Slack. @Shobhit_Agarwal has some experience with Wifi Direct that could be leveraged. There's now a brainstorming document here to try to expand on this idea a bit.

Yes! Anyone can propose project ideas and describe what skills they could share as mentors.

Good Morning to all, and best wishes for this new year,

This is a great opportunity for the projects and for students to get involved in such a project :slight_smile:

@LN, th summary map should be a great feature for my colleagues, and more generally, the possibility to show objects over the background layer of the map (old data or study area with a little label) would be a great feature to collect GEO data.

I do not have the necessary skills to mentor a student but I can get involved to specify the needs and test things. @pailletm and @Remy_CLEMENT maybe you could confirm / complete my saids

Mathieu

3 Likes