This document discusses various techniques for optimizing mobile apps for emerging markets, including:
1. Optimizing app size by using color filters to reduce assets, compressing images using formats like WebP and JPEG that can significantly reduce file sizes, and removing unused resources and content to make apps smaller.
2. Optimizing network usage by building for failure-prone networks, scaling images appropriately, using checksums to avoid re-transferring files, and transferring data in blocks.
3. Optimizing for different phone capabilities by using libraries like Facebook's Device Year Class to conditionally include features based on a device's age and power, and redesigning apps to remove features for low-end hardware.
10. Use Color Filter
• Faster way to experimentwithcolor schemes.
• Reduce thenumber of assets, which in turn reduces
theapk size.
• Less memory used as the number of assets are
reduced.
15. Compatibility
• You can use thenativeWebP decoder on 4.2 and
later.
• For lower versions, use libpng to convert to PNG
format and thenuseit intheapp.
16. Other Libraries
• Use programs like OptiPNG,TruePNG and PNGCrush
to significantlyreduce the size of PNG images.
• Use mozjpeg for jpegimages.
• 5-10% size reduction
• Won’t cause any visible changesto the images.
20. Remove Unused Content
• Use Resource Shrinking.
• Use tools likeLintand ProGuard.
• Use Android-Unused-Resources jar fileif you are
stillusingEclipse.
https://code.google.com/p/android-unused-resources/
26. Appropriate Image Size
• Store multipleimagesizes on the server
• Low-res devices mightnever need a fullresolution
image
• Most timesthe smallest imagesize is sufficient.
31. Checksum
• Avoid transfers as muchas possible.
• For filetransfers, first compute themd5 checksum
and send it to the server to checkif it already exists
on theserver.
• The cost to upload theentire file againcan be
avoided.
33. Transfer in blocks
• Do data transfers in blocks.
• Keeptrack of the blocks thathave been transferred
and yet to be transferred.
• The block size can vary based on the type of
connection.
35. Testing for different networks
• Facebook recently open-sourced AugmentedTraffic
Control(ATC).
• It is a tool to simulatenetworkconditions.
• It can simulate2G, Edge, 3G, and LTE networks.
• Has multipleprofiles for a lot of differentcountries.
http://facebook.github.io/augmented-traffic-control/
43. Redesign
• Remove featuresfrom low-end devices if they won’t
have the best user experience.
• This could be animations,videos or even
functionalities.
• No feature>>>Bad feature