• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Application Development Guidelines: Developing fit-for-purpose applications
 

Application Development Guidelines: Developing fit-for-purpose applications

on

  • 1,434 views

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.

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.

Statistics

Views

Total Views
1,434
Views on SlideShare
1,359
Embed Views
75

Actions

Likes
1
Downloads
24
Comments
0

1 Embed 75

http://lanyrd.com 75

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Application Development Guidelines: Developing fit-for-purpose applications Application Development Guidelines: Developing fit-for-purpose applications Presentation Transcript

    • Application Development Guidelines Developing fit for purpose applicationsDr. Kamran KordiDeutsche Telekom AGGroup Technology
    • 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
    • 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
    • Network friendly user experience It is the end-to-end user experienceDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 4
    • User Experience Latency Asynchrony Non-modal user interface Connection loss and error handlingDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 5
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Thank you for not sleeping! Kamran Kordi kamran.kordi@telekom.comDeutsche Telekom AG, Group Technology – PD1 Smartphone Challenge 22