Many developers are unaware of a platform called the Google Developers Dev Library and what it is about. I was one of those people and after finding out I was able to have my open-source Android app featured on the platform. In this article, I will outline my journey to becoming a Dev Library contributor with a featured app and what the Google Developers Dev Library is.
How I found out
I first found out about the Google Developers Dev Library in a post on LinkedIn with the tag #DevelopWithGoogle from the official Google Developers account, inviting contributors to submit their open-source work. I of course was curious as all my app development centers around Google technologies and in particular my open-source app, Upnext: TV Series Manager.
A post from the Google Developers account on LinkedIn inviting contributors to submit their open-source work
What is the Google Developers Dev Library?
The Google Developers Dev Library is a curated platform consisting of technical content or software built using Google technologies, in particular, Android, Angular, Flutter, Firebase, Google Cloud, Machine Learning and Google Assistant. It is built with the intent to give developers from around the world a platform where they can showcase their usage of Google technologies as well as provide other developers with inspiration and tools which they can then use in their own projects.
The Google Developers Dev Library platform
Many developers find that they would need tutorial or project examples after reading documentation in order to help them better understand. The platform is, therefore, meant to help complement Google’s official documentation through learning from the technical content and featured projects on the platform.
When projects are submitted, they are carefully reviewed by product experts at Google to determine whether the submission is “high-quality, relevant, and unique”.
Apart from being featured, are there any other perks?
By being on the platform, your project or technical content will receive increased visibility. In addition to this, you will receive a contributor badge on your Google Developer profile, Google’s stamp of approval on your work and being also featured in Google Developers monthly newsletter.
Prerequisities for submission
In order for the technical content or project to be accepted on the platform there are a number of prerequisites that need to be met:
- Github license — for projects it is required that the project has a license, either an Apache 2.0 or MIT license.
- Properly documented README — your project’s README should be well-documented, well-explained and clear. For example, if the project itself has prerequisites such as API keys that need to be retrieved first or configurations that need to be first set up then these need to be explained fully. How the project is structured or libraries contained are information that would be vital in a README. Screenshots or other visuals can also be part of the README.
- Versioning — ensure that you are using the latest versions of software included in your project.
- Article monetization — ensure that articles are not behind any paywalls, do not have ads or getting monetized in any way.
- English content — for both technical content and projects, the library only currently accepts content in English, for now.
- Most recent — the content being submitted needs to be the most recent. Old or not recently updated projects may likely be rejected.
For technical content, there are also these guidelines which can be found here, for example:
Example of guidelines for technical content submissions
Submitting my project — the first attempt
After cross-checking the above-mentioned prerequisites to determine whether my Android project met all the requirements, I then attempted to submit it. The Google Developers Dev Library uses the Advocu platform for submissions as well as relaying feedback to the content creators as to whether their projects have been accepted or not.
The Advocu platform used for submissions for the Dev Library content
The form is a three part form where you will be required to provide details about yourself as well as the technical content or project that you are submitting. I provided all the details also specifying that my project is a Jetpack Composeproject.
I submitted the form and waited for feedback from the platform.
My project was rejected at the first attempt with the following reason:
The reasons for rejection vary from the quality of submission to the freshness of the project. For more reasons, check out our FAQ page. Also, please refer to the contributor guidelines for content improvement.
From this response, I wasn’t exactly sure which part of my submission was at fault so I reached out to the team through this form to try and find out more.
The Dev Library team is awesome, and their feedback was really quick as they responded within the same day via email. I expressed my uncertainty around the feedback and they were great to provide more details around what was amiss with my submission. At the time of my submission, my project was only partially using Jetpack Compose as I had only started on migrating it to Jetpack Compose. Because only part of the project was Jetpack Compose, the Dev Library team needed me to increase the Jetpack Compose coverage.
I proceeded to update the project, updating the UI’s from XML-based to Composable-based screens. I updated the README to reflect the new Jetpack Compose changes, ensured that the dependencies were all up to date and then proceeded to submit again.
Submitting my project — the second attempt
After submitting the project again via the Advocu platform, I received feedback within two days that my project was accepted!
It took about a week or so for my project and contributor profile to be visible on the Dev Library platform.
My Google Developers Dev Library profile
There is nothing quite like being featured with over 300 other developers from around the world on such an awesome platform. Developers can learn from your technical content or project about how to implement certain features in their own Google-based projects or how well-developed projects are supposed to be structured, organized and so on.
If you have technical content or an open-source project using Google technologies and would like to have it featured, do submit it to the Google Developers Dev Library.
This article was originally published on proandroiddev.com on April 24, 2022