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