Your SlideShare is downloading. ×
Five Elements of Software Engineering for Mobile
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Five Elements of Software Engineering for Mobile

814
views

Published on

I presented five elements of software engineering for mobile that IMHO increase the chance of success to Computing students at Imperial College. …

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/

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
814
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. @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
  • 2. @ManfredBo Overview 0. Why Mobile is Different 1. Technological Platform Choices 2. Users’ Experience 3. Methodologies 4. Web APIs 5. Tools
  • 3. 0. Why Mobile is Different
  • 4. @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
  • 5. Source: MaximumPC, http://www.maximumpc.com/article/news/more_mobile_phones_south_korea_people Fragmentation
  • 6. Source: http://www.idownloadblog.com/2013/05/16/idc-smartphones-q1-2013-2/
  • 7. Source: Tsahi Levent-Levi, http://www.flickr.com/photos/86979666@N00/7809646882
  • 8. Source: OpenSignal, http://opensignal.com/reports/fragmentation.php?
  • 9. @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
  • 10. @ManfredBo Difference: Market Characteristics ● Ephemerality ● User acquisition / retention ● Distribution ● Business models ○ Revenue models
  • 11. @ManfredBo Why is it worth thinking about these things at all?
  • 12. “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/
  • 13. 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
  • 14. 1. Technological Platform Choices
  • 15. @ManfredBo Choices ● Native ● Web ● Hybrid ● Cross-platform ○ Appcelerator, Marmalade, PhoneGap/Cordova, Xamarin ...
  • 16. @ManfredBo App Lifecycle Source: http://developer.android.com/training/basics/activity-lifecycle/starting.html
  • 17. @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/
  • 18. 2. Users’ Experience
  • 19. @ManfredBo The Sum of Everything a User Experiences Source: Smashing Magazine, http://mobile.smashingmagazine.com/2012/07/12/elements-mobile-user-experience/
  • 20. 3. Methodologies
  • 21. Building a business Product development Customer development Methodology
  • 22. @ManfredBo Building a Business
  • 23. @ManfredBo Customer Development See: “How to build a Startup” Udacity free online lecture by Berkeley Prof. Steve Blank https://www.udacity.com/course/ep245
  • 24. Source: Alex Osterwalder, http://www.businessmodelgeneration.com/
  • 25. @ManfredBo Revenue Models Which apps make more money? http://www.visionmobile.com/blog/2013/04/which-apps-make-more-money/
  • 26. @ManfredBo Product Development
  • 27. 4. Benefit of Web APIs
  • 28. @ManfredBo What are Web APIs? APsdfAPI
  • 29. @ManfredBo Evolution of APIs Current nb of APIs: 11,188
  • 30. @ManfredBo Evolution of APIs Source: tuts+ http://code.tutsplus.com/articles/the-increasing-importance-of-apis-in-web-development--net-22368 (2011 data)
  • 31. @ManfredBo Evolution of APIs Source: tuts+ http://code.tutsplus.com/articles/the-increasing-importance-of-apis-in-web-development--net-22368 (2011 data)
  • 32. @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
  • 33. @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
  • 34. @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
  • 35. @ManfredBo Practical Example: Android (2/3)
  • 36. @ManfredBo Practical Example: Android (3/3)
  • 37. @ManfredBo SDKs Image Source: http://www.wikitude.com/
  • 38. 5. Tools
  • 39. @ManfredBo Developers who use tools make more money
  • 40. @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
  • 41. appdeveloperatlas.com/
  • 42. Take-aways
  • 43. ➔ 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/
  • 44. Helpful Resources
  • 45. @ManfredBo Helpful Resources http://www.visionmobile.com/ http://wip.org/ http://ben-evans.com/ http://www.3scale.net/blog/
  • 46. @ManfredBo Helpful Resources http://www.scoop.it/t/api-mag

×