Upload
3scalenet
View
2.994
Download
0
Embed Size (px)
DESCRIPTION
The talk gave an insight into characteristics and challenges in software engineering of mobile apps from a more industrial perspective. A model for mobile software engineering was discussed and various best-practices proposed. Essential mobile software engineering techniques, such as experience prototyping, in-context requirement gathering (and testing), or UI/UIX design were explained using examples, case studies from real-world projects, and tools.
Citation preview
1© Samsung Electronics Research Institute, 2011
Mobile Software EngineeringCharacteristics and Challenges
Cambridge Wednesday Seminar, March 2, 2011
Dr Manfred Bortenschlager
Samsung Electronics Research Institute
Staines, UK
With thanks for contributions to:Tomi AhonenNicolas GoellNorbert Seyff
2© Samsung Electronics Research Institute, 2011
Background
Contents of this talk are also published in
– Introduction to badaBy Ben Morris, Manfred Bortenschlager, Jon Lansdell,
Cheng Luo, Michelle Somerville (2010), Wiley and Sons Ltd.
http://www.wiley.com/go/bada
– Manfred Bortenschlager, Nicolas Goell (2010): Why Software Engineering for Mobile Applications is Different. In: Proceedings of Workshop on Programming Methods for Mobile and Pervasive Systems. 8th International Conference on Pervasive Computing, Helsinki, Finland.
3© Samsung Electronics Research Institute, 2011
Overview
Motivation – 3 questions
Characteristics – What makes mobile different ?
Mobile Software Engineering Process – Best-practices
– Including Case Studies
Tool Support
Take Away
4© Samsung Electronics Research Institute, 2011
Why is “mobile” interesting ?
5© Samsung Electronics Research Institute, 2011
Why is “mobile” interesting ?
Big
6© Samsung Electronics Research Institute, 2011
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:
Tomi Ahonen (2011),
Gartner (2010), Morgan Stanley (2007), Wired Magazine (2006), Retrevo Gadgetology Report (2010) by way of Prof. Vince Mitchell (Cass University)
7© Samsung Electronics Research Institute, 2011
Why is “mobile” interesting ?
Gadget convergenceJacobs 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)
8© Samsung Electronics Research Institute, 2011
Why is “mobile” interesting ?
9© Samsung Electronics Research Institute, 2011
Why is “mobile” interesting ?
We have the OK from “above” !!
10© Samsung Electronics Research Institute, 2011
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
11© Samsung Electronics Research Institute, 2011
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
12© Samsung Electronics Research Institute, 2011
Why is MSWE important ?
Source:http://jokesprank.com/blog/cartoons/hilarious-cartoon-funny-software-engineering-jokes-sw-project-management-cartoons.html
13© Samsung Electronics Research Institute, 2011
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’s ArcGIS software to mobile
Sources: Tomi Ahonen (2011)
14© Samsung Electronics Research Institute, 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 fragmentationiOS, 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.
15© Samsung Electronics Research Institute, 2011
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 factorsMobility (constant change of position)Device capabilities (CPU, battery, screen size)Operator plan and communication costsInteraction 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.
16© Samsung Electronics Research Institute, 2011
Characteristics
Different interaction possibilities / user experience
– Conventional “desktop means” cannot be assumedNo mouse, keyboard, large screen
– InsteadMultipoint-touchGestures and motion detectionSensors (acceleration, tilt, GPS, compass)Haptic feedback STT/TTSCamera (face detection/recognition)
17© Samsung Electronics Research Institute, 2011
CharacteristicsDifferent market rules
– Much shorter product lifecyclesWith much shorter time-to-market
– More difficult user attraction: a lost user is very difficult to win backCf. Web Enginnering
– Different product distribution meansMostly centralised application stores: The “Apple Model”
– Different business modelsDepending on platform different ecosystem rules– Different price policies (Android: free apps)– Different revenue channels (ads)– Different payment methods (operator billing)
18© Samsung Electronics Research Institute, 2011
Research Methodology
Well, there was no strict scientific methodology
Based on practical work
– 25 projects (several platforms)
– 7 years
– 135 person monthsFeedback by success and failure“Formalising” a process over time based
on experiences
– Best-practise recommendations
– Hints & pitfalls
19© Samsung Electronics Research Institute, 2011
A Mobile Software Engineering Pro-cessNo ground-breaking new modelBut practical and adaptive
– Adapt “process-heaviness” to project size !SW engineering techniques reused, reordered, adapted
– Influenced by ideas from Agile/ScrumCore ideas:
– Not based on sequential stages only
– But iterative, incremental (first things first), interactive
– Early analysis with exit points
– Emphasis on prototyping and testing
20© Samsung Electronics Research Institute, 2011
A Mobile Software Engineering Pro-cess
21© Samsung Electronics Research Institute, 2011
A Mobile Software Engineering Pro-cess
22© Samsung Electronics Research Institute, 2011
Feasibility and Economic Efficiency AnalysisInitial Requirements Engineering
– Business, user, and system requirementsDesign Drafting
– UI and basic screen flow
– Early high-level architecture considerationsEarly Prototyping
– Paper or click-able mock-ups
– Experience prototypingUser Acceptance Testing
– Get a feeling for the acceptance in real world usageMilestone: Decision for Continuation
23© Samsung Electronics Research Institute, 2011
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 barcodesFirst phase
– High-level solution design created
– Implementation costs estimated
– User acceptance test executedNegative feedback
– Decision not to continue
Potentially saved a lot of money
24© Samsung Electronics Research Institute, 2011
Case Study
Friend or Foe (Android)Address book replacementAnalyses “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
25© Samsung Electronics Research Institute, 2011
A Mobile Software Engineering Pro-cess
26© Samsung Electronics Research Institute, 2011
Software Product Realisation
Requirements Reviewing and Refining
– Capturing, refining requirements
– Mobile Scenario PresenterDesign Detailing
– Fine grained UI and software design
27© Samsung Electronics Research Institute, 2011
Case Study
Augmented reality game (bada): AiRaid – Rise of the Undead
360deg AR first person shooterLive camera feed with overlaid
3D OpenGL ES objects
Example of a UI design flow diagram
29© Samsung Electronics Research Institute, 2011
Software Product Realisation
Defining Test Cases
– Based on use cases and requirementsProgramming
– Transforming the designs into program code that successfully passes the test cases
– Try to be system resource conservative (CPU, especially battery)
Testing
– 3 stagesEmulator tests (lab)Target device(s) tests (lab)In-context tests (real world)
30© Samsung Electronics Research Institute, 2011
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 !!
31© Samsung Electronics Research Institute, 2011
Software Product Realisation
User Acceptance Testing
– Make sure to meet the user requirements
– Usage of HCI techniquesQuestionnaire, controlled experiments, focus groups
Milestone: Version Released
32© Samsung Electronics Research Institute, 2011
Case Study
Peak.AR (iOS)Augmented reality app that
gives info about surrounding mountain peaksFocus on users’ context
– Difficult user interaction (cold, gloves)Start app with one clickVisibility analysis (no info overload)Switch between AR- and map-view by changing device
orientation
– Unreliable connectivityPeak information stored locally
33© Samsung Electronics Research Institute, 2011
Case Study
34© Samsung Electronics Research Institute, 2011
A Mobile Software Engineering Pro-cess
35© Samsung Electronics Research Institute, 2011
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 providerTarget audience
Product Maintaining
– Product updates, community treatment, support, bug fixing
36© Samsung Electronics Research Institute, 2011
Case Study
Red Bull Hot Spot Viewer (Android)RB is operator and media house in AustriaWanted to bring media content to their users with
unique experienceAR 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
37© Samsung Electronics Research Institute, 2011
Tool Support
Graphical WYSIWYG UI Builder for prototyping
– Easy and quick deploymentSeparation of concerns
– UI design vs implementation of functionalityTesting
– Event injector
– UI Sequencer
– Remote test lab
39© Samsung Electronics Research Institute, 2011
bada IDE: UI Builder for Rapid Prototyping
41© Samsung Electronics Research Institute, 2011
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.
42© Samsung Electronics Research Institute, 2011
To Take Away …
Core differences/characteristics
– Different usage context
– Different market rules
SWE techniques
– Heavy use of prototypingNearly in any stage
– Testing3 step testing with different focus
43© Samsung Electronics Research Institute, 2011
Mobile Software Engineering
For more info visit:
developer.bada.com
Contact:
Dr Manfred Bortenschlager
Samsung Electronics Research Institute
Staines, UK