Application Development Guidelines             Developing fit for purpose applicationsDr. Kamran KordiDeutsche Telekom AGG...
1 million GSM subscribers                                                      over 100 million GSM subscribers           ...
Why a developer guidelines document? What is it not?!   Developer Guidelines (Dev Guide) is meant to        Encourage be...
Network friendly user experience                                  It is the end-to-end user experienceDeutsche Telekom AG,...
User Experience  Latency                        Asynchrony          Non-modal user interface   Connection loss            ...
User experience    Users expect to see results immediately              Different factors contribute to latency as a use...
User experienceMobile networks are relatively slowSynchronous requests                                    News feed    Ima...
User experience    User interface should not be blocking              Network activities should be visible to the end us...
User experience    Mobile networks are not always reliable              Response to a request can be delayed or undelive...
Optimising requests to the network      Local cache                             Media transcoding                Applicati...
Network efficiency   Fast Dormancy                              Compression                   HTTP Cache                  ...
Network efficiency   Awareness of how networks work to save battery and reduce signalling                                 ...
Network efficiency    HTTP supports compression at a protocol level                                                      ...
Network efficiency   HTTP protocol can reduce risk of showing out-of-date cached data              By verifying client’s...
Network efficiency   Efficiency of data format is defined by ratio of the actual data to transmitted data              I...
Network efficiency   Mobile devices can be connected to public Wi-Fi hotspots at any time              Applications shou...
Detailed recommendations: A brief summary   Platform constraints   Highlight visible gaps in the platforms   Solutions ...
iOS impressions   Apple defines the level of quality for user interface and user experience              It supports dev...
Android impressions    It is mostly up to the developers to deliver good user experience    Gaps:              Push not...
Windows Phone impressions   Asynchronous design by default   Silverlight UI has its own asynchronous download manager  ...
Next steps   The draft document is under discussion in GSMA              The draft version has already been reviewed by ...
Thank you                                                 for not sleeping!                                               ...
Upcoming SlideShare
Loading in …5
×

Application Development Guidelines: Developing fit-for-purpose applications

1,685 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,685
On SlideShare
0
From Embeds
0
Number of Embeds
107
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Application Development Guidelines: Developing fit-for-purpose applications

  1. 1. Application Development Guidelines Developing fit for purpose applicationsDr. Kamran KordiDeutsche Telekom AGGroup Technology
  2. 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 operatorsCommunication First GSM call 1st video call GPRS EDGE NTT NMT data/fax bearer service MMS 1G networks GSM 3G 2 2
  3. 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. 4. Network friendly user experience It is the end-to-end user experienceDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 4
  5. 5. User Experience Latency Asynchrony Non-modal user interface Connection loss and error handlingDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 5
  6. 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 handlingDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 6
  7. 7. User experienceMobile networks are relatively slowSynchronous requests News feed Image 1 Image 1 Image 2 Image 3Asynchronous requests News feed e s eed(ideal) Image 1 Image 2 Image 3Asynchronous 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 handlingDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 7
  8. 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 handlingDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 8
  9. 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 handlingDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 9
  10. 10. Optimising requests to the network Local cache Media transcoding Application scaling reduce number of requests → signalling reducing traffic → latency reducing load on networkDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 10
  11. 11. Network efficiency Fast Dormancy Compression HTTP Cache Data formats awareness of network specifics reducing traffic → latency reducing traffic → latency reducing traffic → latency SecurityDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 11
  12. 12. Network efficiency Awareness of how networks work to save battery and reduce signalling Data transfer Data transfer PowerPower 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. 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 SecurityDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 13
  14. 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 SecurityDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 14
  15. 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 SecurityDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 15
  16. 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 SecurityDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 16
  17. 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 platformsDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 17
  18. 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 automaticallyDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 18
  19. 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 appsDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 19
  20. 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 applicationsDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 20
  21. 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.comDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 21
  22. 22. Thank you for not sleeping! Kamran Kordi kamran.kordi@telekom.comDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 22

×