Four years ago, I wanted to get started with mobile development. Because I am an Android user, I decided that I wanted to create a native Android app. The main purpose of that application creation was to learn how to develop Android applications and to learn about the mobile world in general with its pros and cons compared to classic desktop development.
Four years later, I have an Android app which was originally developed for Android 2.2. This application does not really run well on current devices. In fact, there are some really bad things happening to my application since I first launched it.
There are 10 reasons in this list why you should upgrade your existing Android application to Android 5.0 and what your resulting benefits are.
1. Your application might be broken
There is a high possibility that your application is broken. In fact, your application might still run on modern devices, but they probably don’t have a hardware menu button.
This means that if you have an application with an old school menu implementation your users won’t be able to access the functionality provided by your menus. This means that if you have an application with an old school menu implementation, your users won’t be able to access the functionality provided by your menus. To give your users back the ability to use your menus, you should implement the new ActionBar.
For my application, this means that my users are not able to use nearly 50% of the functionality my application provides.
2. Look and feel
If you don’t upgrade your Android application to run with a target API level of 21 (Android 5.0), your application might not look like other modern applications.
There are users who do not use an application which does not look very modern. This fact can result in a loss of users.
3. Tablet support
Starting with version 3.0 (API level 11), Google implemented support for tablet devices. There are various ways to adjust your application user interfaces for tablet users. These users will probably write a positive comment in the Google Play Store.
For example, an often implemented pattern for smartphone views is to present the user a list. When the user clicks an item on that list, we show the next activity containing detailed information about the selected item.
We have a much bigger screen on tablets. Therefore, we should use that space and show the list on the left side of the screen and the details on the right side of the screen. The user can, therefore, take advantage of his screen size and need one click less to get his information.
Optimizing for tablets can be helpful but sometimes it means work. I have never heard of someone who has optimized his app for tablets and told me it was wasted time. I suggest doing it anyway.
4. Building a flexible user interface
Starting with user interfaces for Smartphones, the world now has many devices and a large diversification in screen resolutions and screen sizes as well as pixel densities.
This sounds like a huge amount of work to address all those configurations, but it’s not. If you use fragments as part of your activities, you’re able to arrange those fragments accordingly to generate user interfaces optimized for many different devices with no much effort required.
5. Update your Google Play Store page
The restrictions, guidelines, and requirements for your Google Play Store pages change constantly. In my case, this means that I am not able to upload a new apk of my application unless I update my Google Play Store page according to the newest specification of their guidelines.
In addition, the new guidelines allow you to promote your app differently. Google now allows you to upload high-resolution images and images for specific purposes. To be considered in the search results you should definitely follow those guidelines.
Always remember that your users will always be on your Google Play Store page before they decide to install your application. If they don’t like your application’s presentation on this page, they might decide not to install your app.
6. Update your applications last updated date
Google displays the date of your last update to your application. If you haven’t updated your application for months or even years, users will consider your app to be old and because of that, they may not install your application.
In addition, there seems to be a relation between the last update date of your app and the position in the search results. This is not an officially documented fact, but I think that my application always ranks a bit higher with the same keywords if I put an update out there.
7. Implement Google Play Services
Google released many new APIs during the last years. This means that there are many APIs which could help you to deliver a better user experience.
Google Play Services, in particular, offers many interesting APIs including Places, Location settings, Mobile ads, Play game services, Drive, and others.
Many applications seem to be very feature-rich and therefore very time- consuming to implement. But if you take advantage of existing APIs you can really speed up your development and get better results in a shorter time period.
If you don’t use existing APIs you should at least know about them and justify your decision of not using them. If you have reasons, it’s fine. But if you’re just lazy and try to build everything on your own, you might think about changing your mind.
8. Implement Google Maps V2
Using the Google Maps V2 API in your applications allows you to customize more and supports the latest features included in Google Maps such as different map types and custom markers.
It can be a bit of work to upgrade from an older V1 API to V2. Some classes have changed their names and some constructs are implemented using other patterns. So I suggest starting completely new when upgrading from V1 to V2 regarding Google Maps.
The implementation of the Google Maps V2 API requires API level 8. You need to use the Android Support Library because the API uses fragments. If you use a higher API level which does not require the use of the Android Support Library then everything seems to be much simpler anyway.
9. Start using Android Studio
At the time I developed my first version of my application, I used Eclipse with ADT as my IDE. At the beginning, there were several problems with the emulator and the integration between Eclipse and the Google stuff. Later on, everything seemed to work as expected.
When I came back to Android development this year I found out that Google now has its own development IDE called Android Studio based on IntelliJ which is, surprisingly for Google, not in beta anymore. I tested it and in my opinion, it’s a good choice to start developing with Android Studio.
Especially designing user interfaces seems to be a much simpler task using Android Studio. I am able to have a look at most of my XML-based activity templates without running the app on the emulator. The design preview provided by the studio seems pretty accurate in most cases. Not to mention that there are surely exceptions, especially if you have dynamic behavior implemented in the onCreate-method of your application.
Maybe I will write another blog post in the future about Android Studio functionalities, but for this list, it should be enough to mention it as a good IDE anyway. You can find much more information on the web.
10. Learn the new stuff
If you are a developer, you need to keep track with the latest API levels to be able to deliver the best solutions to the problems you face in your projects.
It is much simpler to upgrade an existing application and implement all those new things step-by-step instead of having a project with a fixed deadline where you have to implement every new thing at once.
If you haven’t started yet or you plan to start from scratch with a new project, don’t expect to know everything at once and start with tutorials or videos. Not everything seems to be obvious at first, but after you get started, it is really exciting to see your app finally running on the emulator or your device.