Presentation on issues with network optimization of mobile apps given at Over the Air 2011, presented by Dr. Kamran Kordi, Deutsche Telekom AG, Group Technology.
2. 1 million GSM subscribers
over 100 million GSM subscribers 1 billion GSM subscribers
1979 1981 1991 1994 1995 1999 2000 2002 2003 2007 2008
Google
Market,
AppStore OVI, ...
Apps and gadgets
Device vendors
Blackberry
smartphone iPhone
i-mode
WAP
Network operators
Communication
First GSM call 1st video call GPRS EDGE
NTT NMT data/fax bearer service MMS
1G networks GSM 3G
2 2
3. Why a developer guidelines document? What is it not?!
Developer Guidelines (Dev Guide) is meant to
Encourage best practices in developing native mobile applications
Identify key principles in designing applications using limited resources
Highlight peculiarities of each target terminal platform
Create in-depth awareness amongst novice developers for mobile terminals
Dev Guide does not teach software development
3
4. Network friendly user experience
It is the end-to-end user experience
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
4
5. User Experience
Latency Asynchrony Non-modal user interface Connection loss
and error handling
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
5
6. User experience
Users expect to see results immediately
Different factors contribute to latency as a user experience
Manage impact of latency by using:
Local data or cache instead of the network
Efficient network connectivity
Use the network when necessary
Select efficient data formats
Optimise user interface in the context!
Latency Asynchrony Non-modal user interface Connection loss
and error handling
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
6
7. User experience
Mobile networks are relatively slow
Synchronous requests News feed Image 1
Image 1 Image 2 Image 3
Asynchronous requests News feed
e s eed
(ideal) Image 1
Image 2
Image 3
Asynchronous requests e s eed
News feed
(real mobile network) Image 1
Image 2
Image 3 (no response) X
Latency Asynchrony Non-modal user interface Connection loss
and error handling
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
7
8. User experience
User interface should not be blocking
Network activities should be visible to the end user
Latency Asynchrony Non-modal user interface Connection loss
and error handling
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
8
9. User experience
Mobile networks are not always reliable
Response to a request can be delayed or undelivered
Connection error should be handled based on use case scenarios:
User initiated or non-user initiated requests
Primary or secondary requests
Resume and retry strategy
Error notifications
Latency Asynchrony Non-modal user interface Connection loss
and error handling
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
9
10. Optimising requests to the network
Local cache Media transcoding Application scaling
reduce number of requests → signalling reducing traffic → latency reducing load on network
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
10
11. Network efficiency
Fast Dormancy Compression HTTP Cache Data formats
awareness of network specifics reducing traffic → latency reducing traffic → latency reducing traffic → latency
Security
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
11
12. Network efficiency
Awareness of how networks work to save battery and reduce signalling
Data transfer
Data transfer
Power
Power
Time Time
Fast Dormancy Compression HTTP Cache Data formats
awareness of network specifics reducing traffic → latency reducing traffic → latency reducing traffic → latency
Security
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
12
13. Network efficiency
HTTP supports compression at a protocol level 80% less
Most web servers use HTTP compression volume
Suitable for text data
On average saves about 80% of traffic
Reduced amount of data results in reduced latency
Fast Dormancy Compression HTTP Cache Data formats
awareness of network specifics reducing traffic → latency reducing traffic → latency reducing traffic → latency
Security
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
13
14. Network efficiency
HTTP protocol can reduce risk of showing out-of-date cached data
By verifying client’s and server’s versions of content
Using HTTP cache and conditional requests has beneficial impact on:
Always up-to-date information
Content is delivered if there is new data
otherwise old version of the local cache is used
Reduced traffic improves user experience (latency)
Fast Dormancy Compression HTTP Cache Data formats
awareness of network specifics reducing traffic → latency reducing traffic → latency reducing traffic → latency
Security
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
14
15. Network efficiency
Efficiency of data format is defined by ratio of the actual data to transmitted data
Ideally, should be 100%, but there is always overhead
Compression reduces format differences for text information (JSON vs XML)
Difference between Web Service and parsing full Web Page will still be significant
For example HTML vs JSON/XML
Media transcoding (using appropriate media quality/bit-rate) is critical
Media files can not be further compressed beyond standard formats
Fast Dormancy Compression HTTP Cache Data formats
awareness of network specifics reducing traffic → latency reducing traffic → latency reducing traffic → latency
Security
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
15
16. Network efficiency
Mobile devices can be connected to public Wi-Fi hotspots at any time
Applications should take care of user’s data security
As a minimum, standard techniques should be used when necessary:
User Authentication
Authentication of servers
Secure data exchange (SSL)
Secure data storage
Fast Dormancy Compression HTTP Cache Data formats
awareness of network specifics reducing traffic → latency reducing traffic → latency reducing traffic → latency
Security
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
16
17. Detailed recommendations: A brief summary
Platform constraints
Highlight visible gaps in the platforms
Solutions to produce network-friendly applications
Best practices of using APIs
Third-party frameworks and platforms
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
17
18. iOS impressions
Apple defines the level of quality for user interface and user experience
It supports developers to produce network efficient applications (WWDC)
APIs are close to ideal:
Asynchronous design by default
Secure storage for credentials
Compression is supported by default
Background mode is optimised to improve performance/battery/network efficiency
Gaps:
Default local cache does not support on-disk storage
HTTP cache is limited – does not support conditional requests automatically
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
18
19. Android impressions
It is mostly up to the developers to deliver good user experience
Gaps:
Push notifications came very late (2.2); developers had to poll data instead
Fragmentation is an issue: Google Dashboard indicates 36% of devices < 2.2
Caching is not supported by default
HTTP Compression is not enabled by default
Unrestricted background mode
May lead to inefficient use of on-device resources
Significant effort for developers to create optimal applications
No strong guidelines from Google on how to build network friendly apps
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
19
20. Windows Phone impressions
Asynchronous design by default
Silverlight UI has its own asynchronous download manager
Push Notification Framework
Supported by default
Priority notification is supported
It improves aggregation and application scaling
Gaps:
Caching is not supported by default
Does not support background services at all
Compression is not supported by default
No structured local storage (database) makes it difficult to handle local data
Resuming of applications (tombstoning) usually causes additional traffic on
resuming applications
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
20
21. Next steps
The draft document is under discussion in GSMA
The draft version has already been reviewed by a number of companies
There is a strong backing in the GSMA for this initiative
Deutsche Telekom leads the activity in GSMA
Different companies (both MNOs and Vendors) will contribute actively
We are seeking active contribution from the developers community
To make the document more relevant and complete in content
Please email me your contributions for consideration
All views would be considered with an open mind
Kamran.kordi@telekom.com
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
21
22. Thank you
for not sleeping!
Kamran Kordi
kamran.kordi@telekom.com
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
22