SlideShare a Scribd company logo
1 of 46
Download to read offline
@ManfredBo
5 Elements of Software Engineering for Mobile
Manfred Bortenschlager
I work at 3scale.net
Out-of-the-box API Management
Imperial College
March 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 Cuba
11m 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-minute
@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

More Related Content

What's hot

Mobile Application Development Services-MobileApptelligence
Mobile Application Development Services-MobileApptelligenceMobile Application Development Services-MobileApptelligence
Mobile Application Development Services-MobileApptelligence
Mobileapptelligence
 
How Much Does it Cost to Build a Mobile App for iPhone & Android?
How Much Does it Cost to Build a Mobile App for iPhone & Android?How Much Does it Cost to Build a Mobile App for iPhone & Android?
How Much Does it Cost to Build a Mobile App for iPhone & Android?
Alex Sam
 
Enterprise Mobile App UX: Designing from UI to Backend
Enterprise Mobile App UX: Designing from UI to BackendEnterprise Mobile App UX: Designing from UI to Backend
Enterprise Mobile App UX: Designing from UI to Backend
Sanjeev Sharma
 

What's hot (20)

Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Mobile App Development Process
Mobile App Development ProcessMobile App Development Process
Mobile App Development Process
 
Bit2go marketing 100511
Bit2go marketing 100511Bit2go marketing 100511
Bit2go marketing 100511
 
Good app ideas
Good app ideasGood app ideas
Good app ideas
 
Mobile Application Development Services-MobileApptelligence
Mobile Application Development Services-MobileApptelligenceMobile Application Development Services-MobileApptelligence
Mobile Application Development Services-MobileApptelligence
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
An introduction to mobile app development and investing
An introduction to mobile app development and investingAn introduction to mobile app development and investing
An introduction to mobile app development and investing
 
Apps
AppsApps
Apps
 
Coil Group Intro
Coil Group IntroCoil Group Intro
Coil Group Intro
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app development
 
How Much Does it Cost to Build a Mobile App for iPhone & Android?
How Much Does it Cost to Build a Mobile App for iPhone & Android?How Much Does it Cost to Build a Mobile App for iPhone & Android?
How Much Does it Cost to Build a Mobile App for iPhone & Android?
 
12 Global Business Model (GBM) Topics: Simply Organize and Present Ideas for ...
12 Global Business Model (GBM) Topics: Simply Organize and Present Ideas for ...12 Global Business Model (GBM) Topics: Simply Organize and Present Ideas for ...
12 Global Business Model (GBM) Topics: Simply Organize and Present Ideas for ...
 
Mobile App Basics for Beginners
Mobile App Basics for BeginnersMobile App Basics for Beginners
Mobile App Basics for Beginners
 
The impact of api change and fault-proneness on the user ratings of android ...
The impact of api change  and fault-proneness on the user ratings of android ...The impact of api change  and fault-proneness on the user ratings of android ...
The impact of api change and fault-proneness on the user ratings of android ...
 
Major points of challenges experienced during fintech app development process
Major points of challenges experienced during fintech app development processMajor points of challenges experienced during fintech app development process
Major points of challenges experienced during fintech app development process
 
Enterprise Mobile App UX: Designing from UI to Backend
Enterprise Mobile App UX: Designing from UI to BackendEnterprise Mobile App UX: Designing from UI to Backend
Enterprise Mobile App UX: Designing from UI to Backend
 
Mobile Website vs Mobile App
Mobile Website vs Mobile AppMobile Website vs Mobile App
Mobile Website vs Mobile App
 
How to Launch a Mobile App Guide How-To Guide
How to Launch a Mobile App Guide How-To GuideHow to Launch a Mobile App Guide How-To Guide
How to Launch a Mobile App Guide How-To Guide
 
Mobile Development Overview
Mobile Development OverviewMobile Development Overview
Mobile Development Overview
 
Industry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile ApplicationIndustry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile Application
 

Similar to Five Elements of Software Engineering for Mobile

DEVELOPMENT OF BLAST EMAIL, CHATTING, AND SMS FEATURES ON EMPLOYEE DATA APPLI...
DEVELOPMENT OF BLAST EMAIL, CHATTING, AND SMS FEATURES ON EMPLOYEE DATA APPLI...DEVELOPMENT OF BLAST EMAIL, CHATTING, AND SMS FEATURES ON EMPLOYEE DATA APPLI...
DEVELOPMENT OF BLAST EMAIL, CHATTING, AND SMS FEATURES ON EMPLOYEE DATA APPLI...
AM Publications
 
Setup API Introductie
Setup API IntroductieSetup API Introductie
Setup API Introductie
annehelmond
 
Mobilising Digital - Sydney 26/03/14
Mobilising Digital - Sydney 26/03/14Mobilising Digital - Sydney 26/03/14
Mobilising Digital - Sydney 26/03/14
Precedent
 

Similar to Five Elements of Software Engineering for Mobile (20)

Introduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trendsIntroduction to (web) APIs - definitions, examples, concepts and trends
Introduction to (web) APIs - definitions, examples, concepts and trends
 
The Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveThe Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data Perspective
 
APIs and Restful APIs
APIs and Restful APIsAPIs and Restful APIs
APIs and Restful APIs
 
Newleaks
NewleaksNewleaks
Newleaks
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile Application
 
The Power of APIs (3scale at DevLab LIVE)
The Power of APIs (3scale at DevLab LIVE)The Power of APIs (3scale at DevLab LIVE)
The Power of APIs (3scale at DevLab LIVE)
 
Building a design system with (p)react
Building a design system with (p)reactBuilding a design system with (p)react
Building a design system with (p)react
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
 
DEVELOPMENT OF BLAST EMAIL, CHATTING, AND SMS FEATURES ON EMPLOYEE DATA APPLI...
DEVELOPMENT OF BLAST EMAIL, CHATTING, AND SMS FEATURES ON EMPLOYEE DATA APPLI...DEVELOPMENT OF BLAST EMAIL, CHATTING, AND SMS FEATURES ON EMPLOYEE DATA APPLI...
DEVELOPMENT OF BLAST EMAIL, CHATTING, AND SMS FEATURES ON EMPLOYEE DATA APPLI...
 
Cti av3
Cti av3Cti av3
Cti av3
 
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
 
Project Proposel Documentation
Project Proposel  DocumentationProject Proposel  Documentation
Project Proposel Documentation
 
Semantic Web 2014/15 Course - Tools and Applications Evaluation Tasks
Semantic Web 2014/15 Course - Tools and Applications Evaluation TasksSemantic Web 2014/15 Course - Tools and Applications Evaluation Tasks
Semantic Web 2014/15 Course - Tools and Applications Evaluation Tasks
 
Resources (Links) for 2016
Resources (Links) for 2016Resources (Links) for 2016
Resources (Links) for 2016
 
Setup API Introductie
Setup API IntroductieSetup API Introductie
Setup API Introductie
 
Wecreate3
Wecreate3Wecreate3
Wecreate3
 
Wecreate3
Wecreate3Wecreate3
Wecreate3
 
Mobilising Digital - Sydney 26/03/14
Mobilising Digital - Sydney 26/03/14Mobilising Digital - Sydney 26/03/14
Mobilising Digital - Sydney 26/03/14
 
Rich Internet Applications
Rich Internet ApplicationsRich Internet Applications
Rich Internet Applications
 
How to use Donuts and Onions for Scaling API Programs
How to use Donuts and Onions for Scaling API ProgramsHow to use Donuts and Onions for Scaling API Programs
How to use Donuts and Onions for Scaling API Programs
 

More from 3scale.net

Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
3scale.net
 

More from 3scale.net (6)

Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
Droidcon: Benefits of Cross-Operator APIs
Droidcon: Benefits of Cross-Operator APIsDroidcon: Benefits of Cross-Operator APIs
Droidcon: Benefits of Cross-Operator APIs
 
AppsWorld: Panel discussion about Mobile Operator API Strategies
AppsWorld: Panel discussion about Mobile Operator API StrategiesAppsWorld: Panel discussion about Mobile Operator API Strategies
AppsWorld: Panel discussion about Mobile Operator API Strategies
 
Carrier API Strategy: How Carriers could gain (back) Developer Mindshare
Carrier API Strategy: How Carriers could gain (back) Developer MindshareCarrier API Strategy: How Carriers could gain (back) Developer Mindshare
Carrier API Strategy: How Carriers could gain (back) Developer Mindshare
 
AiRaid: Rise of the Undead
AiRaid: Rise of the UndeadAiRaid: Rise of the Undead
AiRaid: Rise of the Undead
 
bada: Introduction to Ecosystem
bada: Introduction to Ecosystembada: Introduction to Ecosystem
bada: Introduction to Ecosystem
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Five Elements of Software Engineering for Mobile