Why create an Android app?
Peculiarities of Android application dev outsourcing
Writing of apps natively and by Google Play rules
Building Android apps requires knowledge of native elements. Google created a visual language - Material Design - and developed design principles for Android apps. These principles are also taken into account by our mobile outsourcing developers to create a clear and convenient interface.
Application interface
UI/UX should take into account not only the different screen sizes of the devices, but also the multi-window operation and pixel density of the screens. Using thin fonts on poor quality displays will be distorted or disappear. We take all this into account during the development process.
Huge number of devices
The variety of devices running on Android – the most popular operating system in the world – is enormous. Therefore, you need to make sure that most of the device models support the mobile apps. It is equally important to test the models on a large number of physical devices.
Technologies
Peculiarities of Android mobile apps
First, Android can be installed on many different brands of devices. The fragmentation is really enormous. It’s perfect for the users, as they can choose their phone to suit any taste and any technical requirements. But it is very difficult for the developers when it comes to both hardware and software.
In terms of hardware, the device may either have a front camera and may have no frontal camera. There can be any number of sim cards. Physical buttons may be present or not. There can be two screens; an additional screen can be installed on the back side or on the case.
Existing elements also have different parameters. For example, the accelerometer sensor may be installed differently on different devices.
These differences may seem insignificant. But if you play a game controlled by tilting the device (for example, a race), then first you need to ask the user to rotate the phone in the hands in certain directions, so that the app will recognize the position of the installed sensor. Otherwise, the users of certain smartphones will have to make the left-right tilts, while the users who have other devices have to make back-and-forth tilts.
Second, many different versions of the Android OS are installed by users. This gives rise to many problems:
-
The developers need to take into account the peculiarities of display of the interface on different versions of the operating system and different shells. So, the system controls may look quite different on different versions of Android and different shells may be on the same version of Android.
-
In certain moments, different versions have different operation logic. For example, up to version 6.0, the apps did not have to request each permission separately (access to the camera, microphone, etc.), as they were listed in Google Play and, it was implied, that the user reads them before downloading the app. Starting from 6.0 version, each permission has to be requested separately, while the app is running. Therefore, if you do not implement both versions of logic, the app will not run either before version 6.0 or in later versions.
-
Software methods and libraries change. Some of them are considered outdated and need to be replaced by newer ones. Thus, there is always a choice: either to support the latest features of the operating system or allow as many users as possible to install the mobile app.
-
In recent versions of the OS, multitasking workspace was added. The user can display several apps on the screen at the same time, and your app can get an area of a random size. We also take this into account.
Third, the architecture of the application itself varies. In contrast to iOS, where the apps architecturally represent a unified whole, in Android, the apps are collected from the logically independent and separate parts – activity and fragments.
This approach was chosen to ensure that the apps run on different devices, including those with very small RAM and very weak processors. If parts of an app are independent, any of them can be removed from the memory at the right moment and don’t waste valuable resources to maintain its lifecycle.
Policy of publishing applications on Google Play
Before being published in the Google Play app store, assemblies are much less tightly controlled in terms of compliance with the requirements for interface design, subject matter selection and user personal data inquiry.
The average time to review the app is 2-4 hours. This is much faster than 2-3 days, which is the case of the App Store.