five elements of software engineering for mobile

Post on 28-Jan-2015

104 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

I presented five elements of software engineering for mobile that IMHO increase the chance of success to Computing students at Imperial College. These five elements are: 1. Make the technical platform choices right for your context 2. Get the UX right 3. Choose the right methodologies in the areas of building a business, customer development and product development 4. Enrich the functionality of your app integrating Web APIs 5. Leverage the power of tools (rather than reinventing the wheel) I started a write-up of this talk. Find it here: http://www.3scale.net/2014/04/five-elements-software-engineering-mobile-part-1/

TRANSCRIPT

@ManfredBo

5 Elements of Software Engineering for Mobile

Manfred Bortenschlager

I work at 3scale.netOut-of-the-box API Management

Imperial CollegeMarch 24, 2014

@ManfredBo

Overview

0. Why Mobile is Different

1. Technological Platform Choices

2. Users’ Experience

3. Methodologies

4. Web APIs

5. Tools

0. Why Mobile is Different

@ManfredBo

Difference: User Behaviour

● Inherently mobile

○ Limited cognitive resources, 4sec attention time span

● Limited hardware

○ Screen size, battery, bandwidth, CPU

○ 1sec delay ⇒ 16% customer satisfaction decrease

● Cost

○ Data transfer and data plans

Source: MaximumPC, http://www.maximumpc.com/article/news/more_mobile_phones_south_korea_people

Fragmentation

Source: http://www.idownloadblog.com/2013/05/16/idc-smartphones-q1-2013-2/

Source: Tsahi Levent-Levi, http://www.flickr.com/photos/86979666@N00/7809646882

Source: OpenSignal, http://opensignal.com/reports/fragmentation.php?

@ManfredBo

Difference: User I/O

○ Multipoint-touch

○ Gestures and motion detection

○ Sensors (acceleration, tilt, GPS, compass)

○ Haptic feedback

○ Speech-to-text / text-to-speech

○ Camera (face recognition)

● No conventional I/O means

@ManfredBo

Difference: Market Characteristics

● Ephemerality

● User acquisition / retention

● Distribution

● Business models

○ Revenue models

@ManfredBo

Why is it worth thinking about these things

at all?

“Mobile app development is a

$68 billion industry (2013)“

GDP of Cuba11m population

Source: Vision Mobile,http://www.visionmobile.com/product/developer-economics-q1-2014-state-developer-nation/

Not even touched wearables,Internet-of-Things, or sensors, yet...

Sources: http://www.catwig.com/google-glass-teardown/ http://edition.cnn.com/2013/05/02/travel/london-city-airport-internet-of-things/http://www.libelium.com/wireless_sensor_networks_to_control_radiation_levels_geiger_counters/And respective product sites.

Cisco: $14.4tr market

1. Technological Platform Choices

@ManfredBo

Choices

● Native

● Web

● Hybrid

● Cross-platform

○ Appcelerator, Marmalade, PhoneGap/Cordova,

Xamarin ...

@ManfredBo

App Lifecycle

Source: http://developer.android.com/training/basics/activity-lifecycle/starting.html

@ManfredBo

Specific Programming Idioms

E.g.: Intents in Android

Android-specific communication mechanism

Allows asynchronous messaging between platform and app components, primarily to:

1. Start an activity

2. Start a service

3. Broadcast to other apps

Image source, http://www.itcsolutions.eu/

2. Users’ Experience

@ManfredBo

The Sum of Everything a User Experiences

Source: Smashing Magazine,http://mobile.smashingmagazine.com/2012/07/12/elements-mobile-user-experience/

3. Methodologies

Building a business

Product development

Customer development

Methodology

@ManfredBo

Building a Business

@ManfredBo

Customer Development

See: “How to build a Startup”Udacity free online lecture by Berkeley Prof. Steve Blank

https://www.udacity.com/course/ep245

Source: Alex Osterwalder, http://www.businessmodelgeneration.com/

@ManfredBo

Revenue Models

Which apps make more money?

http://www.visionmobile.com/blog/2013/04/which-apps-make-more-money/

@ManfredBo

Product Development

4. Benefit of Web APIs

@ManfredBo

What are Web APIs?

APsdfAPI

@ManfredBo

Evolution of APIs

Current nb of APIs: 11,188

@ManfredBo

Evolution of APIs

Source: tuts+ http://code.tutsplus.com/articles/the-increasing-importance-of-apis-in-web-development--net-22368(2011 data)

@ManfredBo

Evolution of APIs

Source: tuts+ http://code.tutsplus.com/articles/the-increasing-importance-of-apis-in-web-development--net-22368(2011 data)

@ManfredBo

Web APIs, REST

● REST = Representational State Transfer

● Stateless client/server communication protocol

● Architecture style entirely based on Web

standards

○ HTTP, URL, XML/JSON

● Supports all CRUD operations

● OS/platform independent

@ManfredBo

Practical REST Example

Send HTTP verbs GET, POST, PUT, DELETE as

URLs to a server.

Example: Email verification API

http://my.api-providers.webaddress.com/version/VerifyEmail

?UserID=<myUserID>&Password=<myPassword>&TheEmailToVerify=

<email Address To Verify>&VerifyEmail.Timeout=<Time Out>

App ID and App Key are often required too

@ManfredBo

Practical Example: Android (1/3)

Based on http://blog.strikeiron.com/bid/73189/Integrate-a-REST-API-into-Android-Application-in-less-than-15-minutes

@ManfredBo

Practical Example: Android (2/3)

@ManfredBo

Practical Example: Android (3/3)

@ManfredBo

SDKs

Image Source: http://www.wikitude.com/

5. Tools

@ManfredBo

Developers who use tools make more money

@ManfredBo

The Power of Tools

Backend services, storage: Amazon, Dropbox, Kinvey, Parse

Monetization: AdMob, InMobi

Feature testing: Splitforce, Testflight

Prototyping: AppGyver Prototyper, FluidUI

Usability testing: UXCam

Performance & crash reporting: Crittercism or BugSense

User support: Helpshift

appdeveloperatlas.com/

Take-aways

➔ Understand and embrace the difference of mobile

➔ UX for mobile is much more than just (G)UI

➔ Include users soon and often

➔ Iterate often, focus on essentials

➔ Don’t reinvent the wheel -- use tools

➔ Enrich your app with Web APIs

➔ Massive potential -- go, grab it!Image Source http://www.entrepreneur.com/

Helpful Resources

@ManfredBo

Helpful Resources

http://www.visionmobile.com/

http://wip.org/

http://ben-evans.com/

http://www.3scale.net/blog/

@ManfredBo

Helpful Resources

http://www.scoop.it/t/api-mag

top related