43
1 © Samsung Electronics Research Institute, 2011 Mobile Software Engineering Characteristics and Challenges Cambridge Wednesday Seminar, March 2, 2011 Dr Manfred Bortenschlager Samsung Electronics Research Institute Staines, UK With thanks for contributions to: Tomi Ahonen Nicolas Goell Norbert Seyff

Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 1: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 2: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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.

Page 3: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 4: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

4© Samsung Electronics Research Institute, 2011

Why is “mobile” interesting ?

Page 5: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

5© Samsung Electronics Research Institute, 2011

Why is “mobile” interesting ?

Big

Page 6: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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)

Page 7: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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)

Page 8: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

8© Samsung Electronics Research Institute, 2011

Why is “mobile” interesting ?

Page 9: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

9© Samsung Electronics Research Institute, 2011

Why is “mobile” interesting ?

We have the OK from “above” !!

Page 10: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 11: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 12: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 13: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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)

Page 14: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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.

Page 15: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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.

Page 16: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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)

Page 17: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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)

Page 18: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 19: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 20: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

20© Samsung Electronics Research Institute, 2011

A Mobile Software Engineering Pro-cess

Page 21: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

21© Samsung Electronics Research Institute, 2011

A Mobile Software Engineering Pro-cess

Page 22: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 23: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 24: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 25: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

25© Samsung Electronics Research Institute, 2011

A Mobile Software Engineering Pro-cess

Page 26: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 27: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 28: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

Example of a UI design flow diagram

Page 29: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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)

Page 30: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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 !!

Page 31: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 32: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 33: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

33© Samsung Electronics Research Institute, 2011

Case Study

Page 34: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

34© Samsung Electronics Research Institute, 2011

A Mobile Software Engineering Pro-cess

Page 35: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 36: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 37: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 38: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)
Page 39: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

39© Samsung Electronics Research Institute, 2011

Page 40: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

bada IDE: UI Builder for Rapid Prototyping

Page 41: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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.

Page 42: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

Page 43: Mobile Software Engineering (at University of Cambridge Wednesday Seminars)

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

[email protected]