Application Development Guidelines: Developing fit-for-purpose applications
-
Upload
daniel-appelquist -
Category
Technology
-
view
1.529 -
download
2
description
Transcript of Application Development Guidelines: Developing fit-for-purpose applications
Application Development GuidelinesDeveloping fit for purpose applications
Dr. Kamran KordiDeutsche Telekom AGGroup Technology
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
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
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge4
Network friendly user experience
It is the end-to-end user experience
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge
User Experience
5
Latency Asynchrony Non-modal user interface Connection lossand error handling
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Deutsche Telekom AG, Group Technology – PD1 Smartphone Challenge22
Thank you for not sleeping!
Kamran [email protected]