Internship Project: Improve ODK-X Services Login User-Interface

Welcome prospective Google Summer of Code participants! Check out our DIAL Sub-Org page and our main thread. Please discuss your ideas for the Improve ODK-X Services Login User-Interface project here or in the project slack channel.

ODK-X Services is an Android application that provides core functionality to ODK-X mobile apps such as a shared database, file access, and data synchronization to the cloud. ODK-X Services is a core tool that is essential in every ODK-X deployment. Data that is collected in ODK-X Survey, ODK-X Tables, or another application is stored in the database that is managed by ODK-X Services. Services also handles synchronizing that data between the Android phone and the Cloud Endpoint server.

ODK-X Services provides the user interface for a user to authenticate with a cloud server, update system settings, synchronize data between the mobile client and the server, and reconcile data conflicts that happen during the synchronization process. After a few years of field usage, we have gathered user feedback about what is difficult to understand with Services user interface. This project focuses on revising the Services user interface to based on user feedback. This includes simplifying the authentication workflow to be clearer and easier to use. Currently the user credentials are edited by navigating deep into the settings menu, and then authentication is done on a separate screen. The screen to sync with the server is easy to access, but confusing if you haven’t already authenticated. Additionally, the status notifications in the android alert area should be revised.

Services is an Android application written in Java. However, applicants for this project should have a deep understanding of the Android application lifecycle. The authentication workflow navigates this lifecycle in complicated ways.

Github: Services Project and Issue Queue
Skills: Java and Android. Android lifecycle knowledge required
Difficulty: Hard if no Android Java experience, Medium if experienced with Java Android lifecycle.
Mentors: @Vyankatesh, @dexter21, @W_Brunette


Hello everyone,
I am Pawan Singh Harariya currently pursing B.Tech in ECE from NIT Hamirpur. I have strong foundation in Java language and more than 1 year of experience in building native, responsive and robust android applications. I have sound knowledge of android architecture components, android application lifecycle and material design guidelines for responsive UI design. This is my first time in open source community and I am looking forward for a kick start. I am willing to contribute to this project any suggestions, tips or guidance will be helpful.


Hi Community,
Myself Deepak Kumar. I am an Android Developer and live in India. I am pursuing my Bachelor of Science from Indira Gandhi National Open University. I have worked with the “Android Jetpack Architecture Components” like “Room Persistence Library”. I have also contributed to Open-Source Organisation by Crio.Do and powered by DigitalOcean. I am currently an intern as an Android developer in Spacenos Technologies. I currently work with Dagger2 and RxJava. I find my interest in the “Improve ODK-X Services Login User-Interface” Project and want to work with Android in Java.

My LinkedIn handle:
My Github handle: deepak-prajapatii (Deepak Kumar) · GitHub


Thanks for your interest @Deepak_Kumar and @pawanharariya! I believe I’ve responded to each of you in slack, but for anyone else reading this, if you’re interested in contributing to this project, as a first step, please take a look at our documentation and install our applications. Then you can find an issue in our issue queue and start working on it. Ideally it would be good to find an issue related to Services or our other Android applications.

Here is a link to our main forum post that should help you get started: Welcome GSoC applicants!


@Jeff_Beorse Hey! I m not able to join any of the slack workspace, may be i didn’t get the invitation link for the slack. So will you please join me to Login user interface slack workspace.

1 Like