In 2008, Google launched the Android Developer Challenge or ADC whose aim was to reward people for building mobile applications of good quality on the android platform. Today, android dominates the operating system of the world. The users have options to choose from over 3 million android applications that are available in the Google Play Store. All the developers, who are taking part in this challenge, will need to explore and research ways in order to make their application stand out. They need to get the people to download their app. Developers should also optimize the user experience so that people do not end up deleting it after downloading it. While working on all these developments of the app, there are many android developer challenges that they face on the road of making it successful.
Android Developer Challenge
Every year developers from all over the world come together and participate in the Android Developer Challenge. The first ADC announcement was in January 2008. There were participants from over 70 countries. ADC was successful from the very beginning. One-third of the total applicant was from the United States of America and the rest from Germany, Japan, China, Canada, France, the UK, and many such countries. The range of applications varied from games to social networking and so on.
There was a panel of about 100 judges who had all the submissions provided to them on laptops. It took them about three weeks to declare the 50 winners of the first round. They all received a funding of $25,000 for the development of their applications. They had to submit their applications for the final round before their deadline, 30th June 2008. Out of the fifty, ten teams, the Android developer challenge winners, received a fund of $275,000 each and ten received $100,000 each.
This challenge has been extremely successful over the decade. The number of countries that participated in the Android Developer Challenge 2018 broke all previous records. For the Android Developer Challenge 2019, the last date of submission is December 2. The submission date opened on October 24, 2019. You can easily submit your ideas on the official website and participate in one of the biggest developer events of the year.
What does Google expect?
Google is looking for developers who build applications with the implementation of machine learning and can really help users in numerous ways and provide them a good experience. The ideas they are looking for include taking live captions. There are over 500 million people in this world who are deaf or have difficulty hearing clearly. Live Captions can help bring content to life. This is the level and type of machine learning innovation that can make your project stand out and also help millions of users while using their devices.
The machine learning concept can either be the basis of your android app or it could work as a support system that enhances and improves the overall experience of your application like Smart Compose in Gmail. Your idea may be just a concept yet or it could be a completely built app that is ready for the users to test. You have to just explain how exactly Google can help you and what are the features of your app that use the machine learning concept in depth. It does not matter which phase your proposal is in during the submission time, Google will help you build it and make it ready before May 1, 2020.
The main key points of your proposal are that you need to build your idea for Android. In addition to that, you need to distribute the final result of the product in Google Play as an android app. Google also recommends you to share your knowledge and code and make it available to the world by making it an open-source but it is not compulsory for you to do so.
How to participate?
In order to participate in ADC 2019, you need to create a repository on GitHub and share your proposal. You have to tag it under #AndroidDevChallenge. In the cover letter that is already created, describe your ideas in about 250 words. Explain in brief about what the feature will do and how you will implement the concept of Machine Learning to get better advantages in your project. In addition to that, you also have to explain about you will implement your proposal in real life.
To submit one of the best projects so that it has the potential to move forward, you should include a sample code that you have written, a list of ways in which Google can help you as well as a well-generated timeline explaining how the project will come to life by May 1, 2020. Towards the end, you need to explain more about yourself. Share additional projects that you have done in your past so that the expert can get an idea about you and assist you with your project accordingly. The final step of submission is to fill out the form available on the website to submit your proposal officially.
Timeline of ADC 2019
The challenge submissions opened on the 24th of October 2019. To submit your idea, you need to create a repository on GitHub using the topic as AndroidDevChallenge. There is a cover letter in the repository where you can give an overview of the key importance of your project. Once you complete your submission, you need to fill out a form available on the official page to make the submission official. Make sure to submit your final proposal by December 2, 2019.
The panel of judges will select the winning projects on December 15, 2019, for the Google Developer Challenge 2019-20. The judges will select and contact ten participants and guide them in order to take their projects to the next round. They will receive proper guidance on the development and a boot camp at Google. In early February 2020, the developers will go to Googleplex in Mountain View for a boot camp. A set of Google experts will lead the boot camp in order to give a boost to your ideas.
In the months of February through April 2020, these experts will continue to help you in the development of your ideas. In May 2020, these ideas and concepts will broadcast on the Android Developer YouTube and blog channels. Google I/O platforms like keynote will also show these concepts. The winning candidates will also be present at Google I/O.
Make Your Idea a Reality
Once you complete submitting your proposals, the panel of judges will choose ten ideas for the next round of the challenge. Google experts will help and guide these ten teams in order to make their proposals a reality. Once the app is ready, these experts will help you showcase your design in front of billions of people using Google Play.
These ten teams will work with experts who will provide them with their guidance and expertise. You will be a part of a working session with Google experts at Google headquarters in Mountain View, California. Google will take care of all the expenses for these ten qualified teams. You will receive a mentorship program by Google engineers at the boot camp who will give you their technical expertise in order for you to create your application in the best possible way.
After your idea is complete and ready, Google experts will help you get users and also celebrate with you. They will feature your app in a collection on Google Play on May 1, 2020, given that it is ready and meets all the quality requirements of Google. You will receive tickets to Google I/) 2020. They will also celebrate this event on a broader scale of the Android Developer community on the community platform.
Major Challenges in Android App Development
There are many major android challenges faced by developers during the process of android development. One of them being software fragmentation. Every year, Google releases updated versions of android with new features and enhancements. However, the download rate of the latest versions is slow.
Currently, the market share rates of Android 7.0 Nougat and Android 8.0 Oreo is lower than Android 6.0 Marshmallow. Since the previous android versions are still in high use, the developers need to target multiple android versions rather than just the latest one. This will help in getting a larger number of people to download and use their applications. Developers face challenges in creating an application that has features that can work in multiple versions of Android operating system.
Device fragmentation is a major android developer challenge that they face during the development of an android application. Android is an open-source unlike other mobile operating systems and Google allows the device customization with zero restrictions. Due to this, the hardware features of the android devices are different from one another. Therefore, developers can not make mobile apps that provide better hardware experience. They will have to implement many authentications with respect to the various android devices which is not humanly possible.
Obstacles faced by Developers
While working on developing these applications, you might face many issues and obstacles that you will need to overcome. One of the problems that you might face is the absence of a standard user interface for android. The manufacturers can custom design user interface (UI) for the android device depending on its needs since Google does not provide any standard UI with respect to android operating systems.
Due to this reason, the UI varies from on android device to another which makes it extremely difficult for the developers to create and develop an android app that is compatible with every device regardless of their UI. The developers have the option to implement the set of UI design guidelines that Google recommends. But you will still need to explore new ways for the application layout to respond and adapt in all the android devices, no matter how their UI design is.
Another major obstacle that you can face during the development of the android application is the programming language. The two major programming languages for android app development are Java and Kotlin. While java is an old programming language, Kotlin is modern. Kotlin has features that help in simplification of android app development and maintenance of application code, unlike Java.
Android 8.0 Oreo and Android Studio 3.0 support both programming languages. However, most Android app development tools and frameworks do not support Kotlin yet. This is why you may find it difficult to select the correct programming language while developing your android application.
What is Android SDK?
The SDK in Android SDK stands for Software Development Kit. A software development kit has a toolset that helps you to develop android applications. SDKs generally include application programming interfaces or APIs, source code, development tools, an emulator and libraries that are necessary to build android applications. Hardware and software providers can help provide you SDK. According to the android SDK wiki page, you can develop apps with languages like Kotlin, Java, and C++.
With each release of a new version of android by Google, they release a corresponding SDK in addition to it. In order to write programs and code in the latest features of android, developers have to download and install the required SDK as per the android version of the particular mobile. The operating systems that are compatible with SDK include Windows, XP or later versions, any latest Linux distribution and Mac OS X version 10.4.9 or later. You can download the Android SDK components separately and can also download third-party add-ons.
You can use SDK to write Android programs in the command prompt. But the more reasonable and common method is to use an integrated development environment or IDE. Eclipse with the Android Development Tools plug-in is generally the recommended IDE but you can also work on IDEs like NetBeans and IntelliJ. These IDEs help in providing a graphical interface that helps the developers to develop the applications faster. You should also have the Java Development Kit or JDK installed since the android applications use Java as their coding language.