Top Banner
Application Development Guidelines Developing fit for purpose applications Dr. Kamran Kordi Deutsche Telekom AG Group Technology
22

Application Development Guidelines: Developing fit-for-purpose applications

Nov 01, 2014

Download

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Application Development Guidelines: Developing fit-for-purpose applications

Application Development GuidelinesDeveloping fit for purpose applications

Dr. Kamran KordiDeutsche Telekom AGGroup Technology

Page 2: Application Development Guidelines: Developing fit-for-purpose applications

22

NTT NMT1G networks

1979 1981

GSM

1991

First GSM call

1994

data/fax bearer service

1995

1st video call

1999

1 million GSM subscribers

WAP

over 100 million GSM subscribers

2000

GPRS

2002

MMS

2003

EDGE

1 billion GSM subscribers

i-mode

3G

Com

mun

icat

ion

Blackberrysmartphone

2007

iPhone

2008

Net

wor

k op

erat

ors

Dev

ice

vend

ors

App

s an

d ga

dget

s

GoogleMarket,OVI, ...AppStore

Page 3: Application Development Guidelines: Developing fit-for-purpose applications

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

Page 4: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge4

Network friendly user experience

It is the end-to-end user experience

Page 5: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

User Experience

5

Latency Asynchrony Non-modal user interface Connection lossand error handling

Page 6: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

User experience

6

Asynchrony Non-modal user interface Connection lossand error handling

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

Page 7: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

User experience

7

Latency Non-modal user interface Connection lossand error handling

Mobile networks are relatively slow

News feed

News feed

Image 1

Image 2

Image 3

News feed

Synchronous requests

Asynchronous requests(ideal)

Asynchronous requests(real mobile network)

News feed Image 1 Image 1 Image 2 Image 2 Image 3

e s eed

Image 1

Image 2

Image 3

e s eed

Image 1

Image 2

Image 3 (no response)

X

3 (no response)

Asynchrony

Page 8: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

User experience

8

Latency Connection lossand error handling

User interface should not be blocking

Network activities should be visible to the end user

Asynchrony Non-modal user interface

Page 9: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

User experience

9

Latency

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

Asynchrony Non-modal user interface Connection lossand error handling

Mobile networks are not always reliable

Response to a request can be delayed or undelivered

Page 10: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge10

Optimising requests to the network

Local cachereduce number of requests → signalling

Media transcodingreducing traffic → latency

Application scalingreducing load on network

Page 11: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge11

Network efficiency

Fast Dormancyawareness of network specifics

Compressionreducing traffic → latency

HTTP Cachereducing traffic → latency

Data formatsreducing traffic → latency

Security

Page 12: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

Network efficiency

12

Compressionreducing traffic → latency

HTTP Cachereducing traffic → latency

Data formatsreducing traffic → latency

Security

Awareness of how networks work to save battery and reduce signalling

Pow

er

Time

Dat

a tra

nsfe

r

Pow

er

Time

Dat

a tra

nsfe

r

Fast Dormancyawareness of network specifics

Page 13: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

Network efficiency

13

Fast Dormancyawareness of network specifics

HTTP Cachereducing traffic → latency

Data formatsreducing traffic → latency

Security

Compressionreducing traffic → latency

80% less volume

HTTP supports compression at a protocol level

Most web servers use HTTP compression

Suitable for text data

On average saves about 80% of traffic

Reduced amount of data results in reduced latency

Page 14: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

Network efficiency

14

Fast Dormancyawareness of network specifics

Data formatsreducing traffic → latency

Security

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)

Compressionreducing traffic → latency

HTTP Cachereducing traffic → latency

Page 15: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

Network efficiency

15

Fast Dormancyawareness of network specifics

Security

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

Compressionreducing traffic → latency

HTTP Cachereducing traffic → latency

Data formatsreducing traffic → latency

Page 16: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

Network efficiency

16

Fast Dormancyawareness of network specifics

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

Compressionreducing traffic → latency

HTTP Cachereducing traffic → latency

Data formatsreducing traffic → latency

Security

Page 17: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

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

17

Page 18: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

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

18

Page 19: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

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

19

Page 20: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

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

20

Page 21: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge

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 [email protected]

21

Page 22: Application Development Guidelines: Developing fit-for-purpose applications

Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge22

Thank you for not sleeping!

Kamran [email protected]