10 practices to watch out for when building an app for the next billion users
40.5 Bn euros: that’s the revenue the world is going to reap from the ‘app economy’ in 2015. Since the origin of apps in 2007 (with the launch of the iPhone), and of the App Store in 2008, there has been no looking back. With the numbers bolting high, the total number of app downloads is expected to reach up to 310 billion in the year 2016.
However, understanding the potential of this economy, the chatter today largely trends around taming this Goliath. Helping individuals understand this mystery was Amrit Sanjeev at YourStory’s MobileSparks 2015.
Famed for his work-life balance, this guru of Android has not just co-authored books, but was also one of the youngest architects in the world to work on Android Platform Development for MNCs like IBM. Now with Google, Amrit has always laid heavy emphasis on User Experiences and Interfaces.
Sharing his insights, Amrit spoke about 10 basic practices to follow while building applications for the next billion users. Although most developers look at each one individually, looking at these 10 practices together in totality is necessary for the basic hygiene of the app.
Amrit questioned the audience on how they’d feel if they called a book a cab service only to be hung up on. Even if the cab reaches on time, the user will remain puzzled, right? He believes that most applications are doing this.
Urging developers, he stressed on how every single UI action needs to result in an immediate visible reaction. This, he says, is important to the long-term usability and experience of the app.
Citing design as a trait integral to each app, Amrit stressed on the need to have a design philosophy. Promoting Material Design, he suggested building a common experience across different phones.
For Android, this guru proposes that you:
- Use the app bar
- Understand and select a core navigation mode. Too many navigation models confuse the user, leading to a bad user experience.
- Work on backward compatibility, because users upgrade fast to newer versions and are not really keen on relearning any apps
Today, there is the need for an app to pre-fetch content. With every user having a certain usage patterns for applications, the platform must be smart enough to anticipate content relevant to the user. Picking up the example of Google Now, Amrit shared with the audience that a major chunk of its success lay in its ability to fetch the right user content at the right time.
#7 Mobile Data
It is expensive. Today, an application needs to be smart about the mobile data usage it consumes. Nothing is more irritating to the user than an application that consumes a lot of data and in the end, fetches results that aren’t really relevant to the user.
WebP is an open source image format developed by Google. Endorsing the same, this maverick developer suggested it to reduce the bandwidth required for the app to function. This format is approved to execute 24-30 per cent better compression of JPEGs.
#5 Put your APK on a diet and #4 Smoothening the app like butter
Amrit advises developers to aim for 60 FPS while building an application. He suggests minimising layout overdraw and layout depth, recommending the need to use tools like GPU profiling.
#3 Reducing Battery Usage
Would you use an application which drains your battery in 2 hours? Of course not! Explaining the cycle, Amrit told the audience that the UI for any application is tied to the code. The code, on the other hand, affects the computation of the device which directly impacts the battery. Therefore, it is essential to build a code which is simple and does not require much computation. (please complete)
#2 Memory usage
Every application has a certain amount of memory space it needs to function. The more the memory it uses, the more the garbage the system collects for your app. The result? Bad user experiences, teamed with ‘out of memory’ rejections, and the garbage collector freezing your application.
#1 App Architecture
Architecture is most essential to optimisation for a fast responsive UI. The probability of an application breaking is higher if the architecture isn’t strong enough to hold the same. A developer needs to realise that this era is about building things to change and not to last, unlike in older times.