SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Mobile Software EngineeringCharacteristics and ChallengesCambridge Wednesday Seminar, March 2, 2011 Dr Manfred Bortenschlager Samsung Electronics Research Institute Staines, UK With thanks for contributions to: TomiAhonen Nicolas Goell Norbert Seyff
Background Contents of this talk are also published in Introduction to bada By Ben Morris, Manfred Bortenschlager, Jon Lansdell, Cheng Luo, Michelle Somerville (2010), Wiley and Sons Ltd. http://www.wiley.com/go/bada ,[object Object],[object Object]
Why is “mobile” interesting ?
Why is “mobile” interesting ? Big
Why is “mobile” interesting ? Big 5.2bn mobile phone subscriptions  vs. 4.2bn people with toothbrush  On-hand  For 91% of the population the device is only an arm’s length away (24/7) Users look at their mobile device 150x/day on average  Individual  60% of married people will not share their mobile with spouse  Relevant  11% of under-25 year-olds find it ok to read text messages whilst having sex !!  Sources:  TomiAhonen (2011), Gartner (2010), Morgan Stanley (2007), Wired Magazine (2006), RetrevoGadgetology Report (2010) by way of Prof. Vince Mitchell (Cass University)
Why is “mobile” interesting ? Gadget convergence Jacobs Media and Arbitron study of smartphone users finds they're spending less time with: Digital cameras  GPS units  Laptop/desktop computers Video game systems  Camcorders  iPods  and car radios  Source: Jacobs Media and Arbitron Sept 27, 2010 (by way of T. Ahonen, 2011)
Why is “mobile” interesting ?
Why is “mobile” interesting ? We have the OK from “above” !!
Why is “mobile” interesting ? We have the OK from “above” !! Statue of an angel holding a mobile phone at St. John's Cathedral in Den Bosch, Netherlands
What is Mobile Software Engineering ? Is it any different from “conventional” SWE ? Depends… on granularity level Mobile Software Engineering (MSWE) … … is the adaptive process of creating a software product that is intended to be used by people while they are mobile. By this, the process must take into account the specific characteristics of mobile usage to deliver the required quality. Quality is defined as “meeting or exceeding customer’s expectations” Which influences user acceptance, which influences market success
Why is MSWE important ? Source: http://jokesprank.com/blog/cartoons/hilarious-cartoon-funny-software-engineering-jokes-sw-project-management-cartoons.html
Why is MSWE important ? 29% of mobile phone usage is apps (23% voice calls) It is not advisable to simply mirror successful fixed (desktop) software to mobile 2 unsuccessful case studies 1. Port of Microsoft’s collaboration software Groove to mobile 2. Port of ESRI’sArcGIS software to mobile  Sources: TomiAhonen (2011)
Characteristics Higher heterogeneity Desktop world for developers is quite homogeneous Initially: problem of device fragmentation “inability to develop an application against a reference operating context and achieve the intended behavior in all operating contexts suitable for the application” Recently: shift towards platform fragmentation iOS, Android, bada, Blackberry, Win Phone 7, Symbian, J2ME/JavaFX, WebOS, Win Mobile, OpenMoko, LiMo Homogeneity at least within platform Well, to a certain degree… Some platforms do better than others. Sources: D. Rajapakse. Techniques for de-fragmenting mobile applications: A taxonomy. In 20th Intl. SEKE Conf.,2008.
Characteristics Different usage context Due to limited cognitive resources, users pay more attention to current activity, less to software interaction  Higher susceptibility to distractions Limited attention time span: 4 seconds Inherent context factors Mobility (constant change of position) Device capabilities (CPU, battery, screen size) Operator plan and communication costs Interaction possibilities  Sources:  A. Oulasvirta, S. Tamminen, V. Roto, and J. Kuorelahti. Interaction in 4-second bursts: the fragmented nature of attentional resources in mobile hci. In Proceedings of CHI 2005, pages 919–928, 2005.
Characteristics Different interaction possibilities / user experience Conventional “desktop means” cannot be assumed No mouse, keyboard, large screen Instead Multipoint-touch Gestures and motion detection Sensors (acceleration, tilt, GPS, compass) Haptic feedback  STT/TTS Camera (face detection/recognition)
Characteristics Different market rules Much shorter product lifecycles With much shorter time-to-market More difficult user attraction: a lost user is very difficult to win back Cf. Web Enginnering Different product distribution means Mostly centralised application stores: The “Apple Model” Different business models Depending on platform  different ecosystem rules Different price policies (Android: free apps) Different revenue channels (ads) Different payment methods (operator billing)
Research Methodology Well, there was no strict scientific methodology Based on practical work 25 projects (several platforms) 7 years 135 person months Feedback by success and failure “Formalising” a process over time based on experiences Best-practise recommendations Hints & pitfalls
A Mobile Software Engineering Process No ground-breaking new model But practical and adaptive Adapt “process-heaviness” to project size ! SW engineering techniques reused, reordered, adapted Influenced by ideas from Agile/Scrum Core ideas: Not based on sequential stages only  But iterative, incremental (first things first), interactive Early analysis with exit points Emphasis on prototyping and testing
A Mobile Software Engineering Process
A Mobile Software Engineering Process
Feasibility and Economic Efficiency Analysis Initial Requirements Engineering Business, user, and system requirements Design Drafting UI and basic screen flow Early high-level architecture considerations Early Prototyping Paper or click-able mock-ups Experience prototyping User Acceptance Testing Get a feeling for the acceptance in real world usage Milestone: Decision for Continuation
Case Study App for “Mobile Couponing” (iOS) Idea of providing coupons as 2D barcodes delivered to retail customers by text message  Get products for free by scanning these barcodes First phase High-level solution design created Implementation costs estimated User acceptance test executed Negative feedback Decision not to continue  Potentially saved a lot of money
Case Study Friend or Foe (Android) Address book replacement Analyses “communicativeness” with my contacts Calls, SMS, reactions,  Classification into “friends” and “foes” Can change over time  notifications Early prototyping helped to shape the app  User acceptance tests confirmed right track  Finalist in Android Developer Challenge 2009
A Mobile Software Engineering Process
Software Product Realisation Requirements Reviewing and Refining Capturing, refining requirements Mobile Scenario Presenter Design Detailing  Fine grained UI and software design
Case Study Augmented reality game (bada): AiRaid – Rise of the Undead 360deg AR first person shooter Live camera feed with overlaid 3D OpenGL ES objects
Example of a UI design flow diagram
Software Product Realisation Defining Test Cases Based on use cases and requirements Programming Transforming the designs into program code that successfully passes the test cases Try to be system resource conservative (CPU, especially battery) Testing 3 stages Emulator tests (lab) Target device(s) tests (lab) In-context tests (real world)
Case Study Mobile navigation app for inter-model travelling (J2ME) Car, public transport, pedestrian navigation Switch between means Bluetooth beacons for indoor localisation and navigation Testing All lab tests went smooth ! Tube station in Vienna was a totally different story !!
Software Product Realisation User Acceptance Testing Make sure to meet the user requirements Usage of HCI techniques Questionnaire, controlled experiments, focus groups Milestone: Version Released
Case Study Peak.AR (iOS) Augmented reality app that gives info about surrounding mountain peaks Focus on users’ context Difficult user interaction (cold, gloves) Start app with one click Visibility analysis (no info overload) Switch between AR- and map-view by changing device orientation Unreliable connectivity Peak information stored locally
Case Study
A Mobile Software Engineering Process
Distribution Marketing Make use of Social Networks Marketing via app stores (free/paid apps, banners, discounts, trial versions) Preparing for Distribution/Deployment Understand the QA/certification processes (guidelines) Find right distribution strategy based on  Ecosystem provider Target audience Product Maintaining Product updates, community treatment, support, bug fixing
Case Study Red Bull Hot Spot Viewer (Android) RB is operator and media house in Austria Wanted to bring media content to their users with unique experience AR viewer to RB hot spots with additional info (video, sound, ranking) and time slider Distribution strategy:  NOT via app store  But pre-loaded on device or retrievable from dedicated RB server for RB customers only
Tool Support Graphical WYSIWYG UI Builder for prototyping Easy and quick deployment Separation of concerns UI design vs implementation of functionality Testing  Event injector UI Sequencer Remote test lab
bada IDE: UI Builder for Rapid Prototyping
Mobile Scenario Presenter It is difficult – for everyone – to think of reasonable requirements in a lab environment or during workshop Real valuable requirements become apparent during actual in-context usage  Higher quantity – better quality Source:  Norbert Seyff, Neil A. M. Maiden, Inger Kristine Karlsen, James Lockerbie, Paul Grünbacher, Florian Graf, Cornelius Ncube (2009): Exploring how to use scenarios to discover requirements. In: Requirements Engineering 14(2): 91-111.
To Take Away … Core differences/characteristics Different usage context Different market rules SWE techniques Heavy use of prototyping Nearly in any stage Testing 3 step testing with different focus
Mobile Software Engineering For more info visit:  developer.bada.com Contact: Dr Manfred Bortenschlager Samsung Electronics Research Institute Staines, UK bada-europe@samsung.com
Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

Weitere ähnliche Inhalte

Was ist angesagt?

Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile ComputingJAINIK PATEL
 
Achieving quality contraints
Achieving quality contraintsAchieving quality contraints
Achieving quality contraintsK Senthil Kumar
 
Cloud deployment models
Cloud deployment modelsCloud deployment models
Cloud deployment modelsAshok Kumar
 
Seven step model of migration into the cloud
Seven step model of migration into the cloudSeven step model of migration into the cloud
Seven step model of migration into the cloudRaj Raj
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
Android SDK Tutorial | Edureka
Android SDK Tutorial | EdurekaAndroid SDK Tutorial | Edureka
Android SDK Tutorial | EdurekaEdureka!
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Developmentjini james
 
Designing applications with web access capabilities
Designing applications with web access capabilitiesDesigning applications with web access capabilities
Designing applications with web access capabilitiesK Senthil Kumar
 
Google app engine
Google app engineGoogle app engine
Google app engineSuraj Mehta
 
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in androidPrawesh Shrestha
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to VirtualizationRahul Hada
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesionSutha31
 

Was ist angesagt? (20)

Cloud Mashup
Cloud MashupCloud Mashup
Cloud Mashup
 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile Computing
 
Achieving quality contraints
Achieving quality contraintsAchieving quality contraints
Achieving quality contraints
 
Android User Interface
Android User InterfaceAndroid User Interface
Android User Interface
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Cloud deployment models
Cloud deployment modelsCloud deployment models
Cloud deployment models
 
Seven step model of migration into the cloud
Seven step model of migration into the cloudSeven step model of migration into the cloud
Seven step model of migration into the cloud
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Android SDK Tutorial | Edureka
Android SDK Tutorial | EdurekaAndroid SDK Tutorial | Edureka
Android SDK Tutorial | Edureka
 
Mobile hci
Mobile hciMobile hci
Mobile hci
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Designing applications with web access capabilities
Designing applications with web access capabilitiesDesigning applications with web access capabilities
Designing applications with web access capabilities
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in android
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
Cloud Service Models
Cloud Service ModelsCloud Service Models
Cloud Service Models
 
Web Application
Web ApplicationWeb Application
Web Application
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Coupling and cohesion
Coupling and cohesionCoupling and cohesion
Coupling and cohesion
 
GFS & HDFS Introduction
GFS & HDFS IntroductionGFS & HDFS Introduction
GFS & HDFS Introduction
 

Andere mochten auch

Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
Mobile Software Engineering Crash Course - C07 Frameworks and Conclusion
Mobile Software Engineering Crash Course - C07 Frameworks and ConclusionMobile Software Engineering Crash Course - C07 Frameworks and Conclusion
Mobile Software Engineering Crash Course - C07 Frameworks and ConclusionMohammad Shaker
 
Mobile Software Engineering Crash Course - C01 Intro
Mobile Software Engineering Crash Course - C01 IntroMobile Software Engineering Crash Course - C01 Intro
Mobile Software Engineering Crash Course - C01 IntroMohammad Shaker
 
Mobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMohammad Shaker
 
Five Elements of Software Engineering for Mobile
Five Elements of Software Engineering for MobileFive Elements of Software Engineering for Mobile
Five Elements of Software Engineering for Mobile3scale.net
 
النمذجة الأولية Software Prototyping
النمذجة الأولية Software Prototypingالنمذجة الأولية Software Prototyping
النمذجة الأولية Software PrototypingAnas R.
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsIndicThreads
 

Andere mochten auch (7)

Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Mobile Software Engineering Crash Course - C07 Frameworks and Conclusion
Mobile Software Engineering Crash Course - C07 Frameworks and ConclusionMobile Software Engineering Crash Course - C07 Frameworks and Conclusion
Mobile Software Engineering Crash Course - C07 Frameworks and Conclusion
 
Mobile Software Engineering Crash Course - C01 Intro
Mobile Software Engineering Crash Course - C01 IntroMobile Software Engineering Crash Course - C01 Intro
Mobile Software Engineering Crash Course - C01 Intro
 
Mobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 AndroidMobile Software Engineering Crash Course - C03 Android
Mobile Software Engineering Crash Course - C03 Android
 
Five Elements of Software Engineering for Mobile
Five Elements of Software Engineering for MobileFive Elements of Software Engineering for Mobile
Five Elements of Software Engineering for Mobile
 
النمذجة الأولية Software Prototyping
النمذجة الأولية Software Prototypingالنمذجة الأولية Software Prototyping
النمذجة الأولية Software Prototyping
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile Applications
 

Ähnlich wie Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiacharan Teja
 
Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010Lisa Renery Handalian
 
Mobile Application Developer
Mobile Application DeveloperMobile Application Developer
Mobile Application DeveloperEr. Amreesh Kumar
 
Mobile today-tomorrow-201006-aberla
Mobile today-tomorrow-201006-aberlaMobile today-tomorrow-201006-aberla
Mobile today-tomorrow-201006-aberlaNetcetera
 
Key Architectural Aspects of a Enterprise Mobility Solution
Key Architectural Aspects of a Enterprise Mobility SolutionKey Architectural Aspects of a Enterprise Mobility Solution
Key Architectural Aspects of a Enterprise Mobility Solutionroshanjk
 
Bit2go marketing 100511
Bit2go marketing 100511Bit2go marketing 100511
Bit2go marketing 100511Hanan Zakai
 
Designing a good digital experience - PDA Europe Virtual Conference 2020
Designing a good digital experience - PDA Europe Virtual Conference 2020   Designing a good digital experience - PDA Europe Virtual Conference 2020
Designing a good digital experience - PDA Europe Virtual Conference 2020 Margaux Lesaffre
 
Interactive Mobile Applications in the Enterprise: Are You Ready?
Interactive Mobile Applications in the Enterprise: Are You Ready?Interactive Mobile Applications in the Enterprise: Are You Ready?
Interactive Mobile Applications in the Enterprise: Are You Ready?CITYTECH, Inc.
 
Mobilizing The Web - A Handheld Experience (IBM)
Mobilizing The Web - A Handheld Experience (IBM)Mobilizing The Web - A Handheld Experience (IBM)
Mobilizing The Web - A Handheld Experience (IBM)Mahmood Ashek
 
Netcetera Presentation on Mobile Marketing
Netcetera Presentation on Mobile MarketingNetcetera Presentation on Mobile Marketing
Netcetera Presentation on Mobile MarketingAberla
 
On mobile - Product Strategy
On mobile - Product StrategyOn mobile - Product Strategy
On mobile - Product Strategymobiangle
 
Role of UX in a Mobile First approach @ NextStep Americas 2014
Role of UX in a Mobile First approach @ NextStep Americas 2014Role of UX in a Mobile First approach @ NextStep Americas 2014
Role of UX in a Mobile First approach @ NextStep Americas 2014Gonçalo Veiga
 
2009 Mux Florentstroppa Mobilecontext Small
2009 Mux Florentstroppa Mobilecontext Small2009 Mux Florentstroppa Mobilecontext Small
2009 Mux Florentstroppa Mobilecontext SmallFlorent Stroppa
 
Mobile Skills Summary
Mobile Skills SummaryMobile Skills Summary
Mobile Skills SummaryEvan Gerber
 
Mobile Learning: the potential, the pitfalls and the perils.
Mobile Learning: the potential, the pitfalls and the perils.Mobile Learning: the potential, the pitfalls and the perils.
Mobile Learning: the potential, the pitfalls and the perils.Anne Bartlett-Bragg
 
Chapter 1 Overview of Mobile ApplicationsMobile App Developme.docx
Chapter 1 Overview of Mobile ApplicationsMobile App Developme.docxChapter 1 Overview of Mobile ApplicationsMobile App Developme.docx
Chapter 1 Overview of Mobile ApplicationsMobile App Developme.docxbartholomeocoombs
 
Adopting enterprise mobility using Smartphones
Adopting enterprise mobility using SmartphonesAdopting enterprise mobility using Smartphones
Adopting enterprise mobility using SmartphonesLalatendu Das
 
Optimizing Mobile UX Design Webinar Presentation Slides
Optimizing Mobile UX Design Webinar Presentation SlidesOptimizing Mobile UX Design Webinar Presentation Slides
Optimizing Mobile UX Design Webinar Presentation SlidesUserZoom
 

Ähnlich wie Mobile Software Engineering (at University of Cambridge Wednesday Seminars) (20)

Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in india
 
Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010
 
Mobile Application Developer
Mobile Application DeveloperMobile Application Developer
Mobile Application Developer
 
Mobile today-tomorrow-201006-aberla
Mobile today-tomorrow-201006-aberlaMobile today-tomorrow-201006-aberla
Mobile today-tomorrow-201006-aberla
 
Fundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development TechnologyFundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development Technology
 
Key Architectural Aspects of a Enterprise Mobility Solution
Key Architectural Aspects of a Enterprise Mobility SolutionKey Architectural Aspects of a Enterprise Mobility Solution
Key Architectural Aspects of a Enterprise Mobility Solution
 
Bit2go marketing 100511
Bit2go marketing 100511Bit2go marketing 100511
Bit2go marketing 100511
 
Designing a good digital experience - PDA Europe Virtual Conference 2020
Designing a good digital experience - PDA Europe Virtual Conference 2020   Designing a good digital experience - PDA Europe Virtual Conference 2020
Designing a good digital experience - PDA Europe Virtual Conference 2020
 
Interactive Mobile Applications in the Enterprise: Are You Ready?
Interactive Mobile Applications in the Enterprise: Are You Ready?Interactive Mobile Applications in the Enterprise: Are You Ready?
Interactive Mobile Applications in the Enterprise: Are You Ready?
 
Mobilizing The Web - A Handheld Experience (IBM)
Mobilizing The Web - A Handheld Experience (IBM)Mobilizing The Web - A Handheld Experience (IBM)
Mobilizing The Web - A Handheld Experience (IBM)
 
Netcetera Presentation on Mobile Marketing
Netcetera Presentation on Mobile MarketingNetcetera Presentation on Mobile Marketing
Netcetera Presentation on Mobile Marketing
 
On mobile - Product Strategy
On mobile - Product StrategyOn mobile - Product Strategy
On mobile - Product Strategy
 
On Mobile- Product Strategy
On Mobile- Product StrategyOn Mobile- Product Strategy
On Mobile- Product Strategy
 
Role of UX in a Mobile First approach @ NextStep Americas 2014
Role of UX in a Mobile First approach @ NextStep Americas 2014Role of UX in a Mobile First approach @ NextStep Americas 2014
Role of UX in a Mobile First approach @ NextStep Americas 2014
 
2009 Mux Florentstroppa Mobilecontext Small
2009 Mux Florentstroppa Mobilecontext Small2009 Mux Florentstroppa Mobilecontext Small
2009 Mux Florentstroppa Mobilecontext Small
 
Mobile Skills Summary
Mobile Skills SummaryMobile Skills Summary
Mobile Skills Summary
 
Mobile Learning: the potential, the pitfalls and the perils.
Mobile Learning: the potential, the pitfalls and the perils.Mobile Learning: the potential, the pitfalls and the perils.
Mobile Learning: the potential, the pitfalls and the perils.
 
Chapter 1 Overview of Mobile ApplicationsMobile App Developme.docx
Chapter 1 Overview of Mobile ApplicationsMobile App Developme.docxChapter 1 Overview of Mobile ApplicationsMobile App Developme.docx
Chapter 1 Overview of Mobile ApplicationsMobile App Developme.docx
 
Adopting enterprise mobility using Smartphones
Adopting enterprise mobility using SmartphonesAdopting enterprise mobility using Smartphones
Adopting enterprise mobility using Smartphones
 
Optimizing Mobile UX Design Webinar Presentation Slides
Optimizing Mobile UX Design Webinar Presentation SlidesOptimizing Mobile UX Design Webinar Presentation Slides
Optimizing Mobile UX Design Webinar Presentation Slides
 

Mehr von 3scale.net

Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum3scale.net
 
Droidcon: Benefits of Cross-Operator APIs
Droidcon: Benefits of Cross-Operator APIsDroidcon: Benefits of Cross-Operator APIs
Droidcon: Benefits of Cross-Operator APIs3scale.net
 
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 Strategies3scale.net
 
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 Mindshare3scale.net
 
AiRaid: Rise of the Undead
AiRaid: Rise of the UndeadAiRaid: Rise of the Undead
AiRaid: Rise of the Undead3scale.net
 
bada: Introduction to Ecosystem
bada: Introduction to Ecosystembada: Introduction to Ecosystem
bada: Introduction to Ecosystem3scale.net
 

Mehr von 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
 

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

  • 1. Mobile Software EngineeringCharacteristics and ChallengesCambridge Wednesday Seminar, March 2, 2011 Dr Manfred Bortenschlager Samsung Electronics Research Institute Staines, UK With thanks for contributions to: TomiAhonen Nicolas Goell Norbert Seyff
  • 2.
  • 3. Why is “mobile” interesting ?
  • 4. Why is “mobile” interesting ? Big
  • 5. Why is “mobile” interesting ? Big 5.2bn mobile phone subscriptions vs. 4.2bn people with toothbrush On-hand For 91% of the population the device is only an arm’s length away (24/7) Users look at their mobile device 150x/day on average Individual 60% of married people will not share their mobile with spouse Relevant 11% of under-25 year-olds find it ok to read text messages whilst having sex !! Sources: TomiAhonen (2011), Gartner (2010), Morgan Stanley (2007), Wired Magazine (2006), RetrevoGadgetology Report (2010) by way of Prof. Vince Mitchell (Cass University)
  • 6. Why is “mobile” interesting ? Gadget convergence Jacobs Media and Arbitron study of smartphone users finds they're spending less time with: Digital cameras GPS units Laptop/desktop computers Video game systems Camcorders iPods and car radios Source: Jacobs Media and Arbitron Sept 27, 2010 (by way of T. Ahonen, 2011)
  • 7. Why is “mobile” interesting ?
  • 8. Why is “mobile” interesting ? We have the OK from “above” !!
  • 9. Why is “mobile” interesting ? We have the OK from “above” !! Statue of an angel holding a mobile phone at St. John's Cathedral in Den Bosch, Netherlands
  • 10. What is Mobile Software Engineering ? Is it any different from “conventional” SWE ? Depends… on granularity level Mobile Software Engineering (MSWE) … … is the adaptive process of creating a software product that is intended to be used by people while they are mobile. By this, the process must take into account the specific characteristics of mobile usage to deliver the required quality. Quality is defined as “meeting or exceeding customer’s expectations” Which influences user acceptance, which influences market success
  • 11. Why is MSWE important ? Source: http://jokesprank.com/blog/cartoons/hilarious-cartoon-funny-software-engineering-jokes-sw-project-management-cartoons.html
  • 12. Why is MSWE important ? 29% of mobile phone usage is apps (23% voice calls) It is not advisable to simply mirror successful fixed (desktop) software to mobile 2 unsuccessful case studies 1. Port of Microsoft’s collaboration software Groove to mobile 2. Port of ESRI’sArcGIS software to mobile Sources: TomiAhonen (2011)
  • 13. Characteristics Higher heterogeneity Desktop world for developers is quite homogeneous Initially: problem of device fragmentation “inability to develop an application against a reference operating context and achieve the intended behavior in all operating contexts suitable for the application” Recently: shift towards platform fragmentation iOS, Android, bada, Blackberry, Win Phone 7, Symbian, J2ME/JavaFX, WebOS, Win Mobile, OpenMoko, LiMo Homogeneity at least within platform Well, to a certain degree… Some platforms do better than others. Sources: D. Rajapakse. Techniques for de-fragmenting mobile applications: A taxonomy. In 20th Intl. SEKE Conf.,2008.
  • 14. Characteristics Different usage context Due to limited cognitive resources, users pay more attention to current activity, less to software interaction Higher susceptibility to distractions Limited attention time span: 4 seconds Inherent context factors Mobility (constant change of position) Device capabilities (CPU, battery, screen size) Operator plan and communication costs Interaction possibilities Sources: A. Oulasvirta, S. Tamminen, V. Roto, and J. Kuorelahti. Interaction in 4-second bursts: the fragmented nature of attentional resources in mobile hci. In Proceedings of CHI 2005, pages 919–928, 2005.
  • 15. Characteristics Different interaction possibilities / user experience Conventional “desktop means” cannot be assumed No mouse, keyboard, large screen Instead Multipoint-touch Gestures and motion detection Sensors (acceleration, tilt, GPS, compass) Haptic feedback STT/TTS Camera (face detection/recognition)
  • 16. Characteristics Different market rules Much shorter product lifecycles With much shorter time-to-market More difficult user attraction: a lost user is very difficult to win back Cf. Web Enginnering Different product distribution means Mostly centralised application stores: The “Apple Model” Different business models Depending on platform  different ecosystem rules Different price policies (Android: free apps) Different revenue channels (ads) Different payment methods (operator billing)
  • 17. Research Methodology Well, there was no strict scientific methodology Based on practical work 25 projects (several platforms) 7 years 135 person months Feedback by success and failure “Formalising” a process over time based on experiences Best-practise recommendations Hints & pitfalls
  • 18. A Mobile Software Engineering Process No ground-breaking new model But practical and adaptive Adapt “process-heaviness” to project size ! SW engineering techniques reused, reordered, adapted Influenced by ideas from Agile/Scrum Core ideas: Not based on sequential stages only But iterative, incremental (first things first), interactive Early analysis with exit points Emphasis on prototyping and testing
  • 19. A Mobile Software Engineering Process
  • 20. A Mobile Software Engineering Process
  • 21. Feasibility and Economic Efficiency Analysis Initial Requirements Engineering Business, user, and system requirements Design Drafting UI and basic screen flow Early high-level architecture considerations Early Prototyping Paper or click-able mock-ups Experience prototyping User Acceptance Testing Get a feeling for the acceptance in real world usage Milestone: Decision for Continuation
  • 22. Case Study App for “Mobile Couponing” (iOS) Idea of providing coupons as 2D barcodes delivered to retail customers by text message Get products for free by scanning these barcodes First phase High-level solution design created Implementation costs estimated User acceptance test executed Negative feedback Decision not to continue  Potentially saved a lot of money
  • 23. Case Study Friend or Foe (Android) Address book replacement Analyses “communicativeness” with my contacts Calls, SMS, reactions, Classification into “friends” and “foes” Can change over time  notifications Early prototyping helped to shape the app User acceptance tests confirmed right track  Finalist in Android Developer Challenge 2009
  • 24. A Mobile Software Engineering Process
  • 25. Software Product Realisation Requirements Reviewing and Refining Capturing, refining requirements Mobile Scenario Presenter Design Detailing Fine grained UI and software design
  • 26. Case Study Augmented reality game (bada): AiRaid – Rise of the Undead 360deg AR first person shooter Live camera feed with overlaid 3D OpenGL ES objects
  • 27. Example of a UI design flow diagram
  • 28. Software Product Realisation Defining Test Cases Based on use cases and requirements Programming Transforming the designs into program code that successfully passes the test cases Try to be system resource conservative (CPU, especially battery) Testing 3 stages Emulator tests (lab) Target device(s) tests (lab) In-context tests (real world)
  • 29. Case Study Mobile navigation app for inter-model travelling (J2ME) Car, public transport, pedestrian navigation Switch between means Bluetooth beacons for indoor localisation and navigation Testing All lab tests went smooth ! Tube station in Vienna was a totally different story !!
  • 30. Software Product Realisation User Acceptance Testing Make sure to meet the user requirements Usage of HCI techniques Questionnaire, controlled experiments, focus groups Milestone: Version Released
  • 31. Case Study Peak.AR (iOS) Augmented reality app that gives info about surrounding mountain peaks Focus on users’ context Difficult user interaction (cold, gloves) Start app with one click Visibility analysis (no info overload) Switch between AR- and map-view by changing device orientation Unreliable connectivity Peak information stored locally
  • 33. A Mobile Software Engineering Process
  • 34. Distribution Marketing Make use of Social Networks Marketing via app stores (free/paid apps, banners, discounts, trial versions) Preparing for Distribution/Deployment Understand the QA/certification processes (guidelines) Find right distribution strategy based on Ecosystem provider Target audience Product Maintaining Product updates, community treatment, support, bug fixing
  • 35. Case Study Red Bull Hot Spot Viewer (Android) RB is operator and media house in Austria Wanted to bring media content to their users with unique experience AR viewer to RB hot spots with additional info (video, sound, ranking) and time slider Distribution strategy: NOT via app store But pre-loaded on device or retrievable from dedicated RB server for RB customers only
  • 36. Tool Support Graphical WYSIWYG UI Builder for prototyping Easy and quick deployment Separation of concerns UI design vs implementation of functionality Testing Event injector UI Sequencer Remote test lab
  • 37.
  • 38.
  • 39. bada IDE: UI Builder for Rapid Prototyping
  • 40. Mobile Scenario Presenter It is difficult – for everyone – to think of reasonable requirements in a lab environment or during workshop Real valuable requirements become apparent during actual in-context usage Higher quantity – better quality Source: Norbert Seyff, Neil A. M. Maiden, Inger Kristine Karlsen, James Lockerbie, Paul Grünbacher, Florian Graf, Cornelius Ncube (2009): Exploring how to use scenarios to discover requirements. In: Requirements Engineering 14(2): 91-111.
  • 41. To Take Away … Core differences/characteristics Different usage context Different market rules SWE techniques Heavy use of prototyping Nearly in any stage Testing 3 step testing with different focus
  • 42. Mobile Software Engineering For more info visit: developer.bada.com Contact: Dr Manfred Bortenschlager Samsung Electronics Research Institute Staines, UK bada-europe@samsung.com

Hinweis der Redaktion

  1. Engineering manager at Samsung Mobile in Staines, UKTeam lead of the bada team: coordinates the activities to position and promote Samsung’s new mobile phone platform and ecosystem bada within the relevant developer communities. These activities comprise R&D projects, creating training material such as demo code, tutorials, blog posts, videos or the recently published “Introduction to bada” book, and organising and presenting at events such as developer days.At samsung: R&D with D and r (unis)Before that worked at Salzburg Research for roughly 7 years: applied research in area of mobile and LBS.Established and managed the ML Sun CoE.Presentation today not strictly scientific: rather a practical report from experience with some best practices. Some of the contents have been published, eg, at PC WSWith colleague and friend Nicolas Goell, who also switched from research to industry.And bada book !!