Software Engineering for Mobile Application Development Vamsi Raju April 11, 2013
Outline Backstory Platforms SE Research Areas [1] Universal Interfaces Software Reuse Need for Self-Adaptive Requirements Future Questions for Midterm
Backstory "Wild" growth in smartphone market First computer for many people Increased adoption of web-based services through mobile Users spending a chunk of time on mobile We have an app for everything now! Vamsi Raju CS 791Z - Topics on Software Engineering 3/26
Bottomline Mobile deserves it s own branch of Software Engineering Vamsi Raju CS 791Z - Topics on Software Engineering 4/26
Platforms Android ios Blackberry Windows Phone Vamsi Raju CS 791Z - Topics on Software Engineering 5/26
Android Fragmented OS - {2.1, 2.2, 2.3, 2.3.3, 3.0, 4.0, 4.1, 4.2} Different Devices - {size, hardware, color} Solving Android s problems = Solving everybody else s * Vamsi Raju CS 791Z - Topics on Software Engineering 6/26
* Except Windows Metro is a disaster Who needs two Dropbox apps in the same PC? Some problems are self-inflicted and need not be solved. Vamsi Raju CS 791Z - Topics on Software Engineering 7/26
Reiterate Mobile is at a nascent stage Too many problems We should be picky in what we want to solve Vamsi Raju CS 791Z - Topics on Software Engineering 8/26
SE Research Areas [1] Universal Interfaces Software Re-use Self-Adaptive requirements Vamsi Raju CS 791Z - Topics on Software Engineering 9/26
Universal Interfaces Simple tricks like scaling are not effective. Vamsi Raju CS 791Z - Topics on Software Engineering 10/26
Side Nav bar Vamsi Raju CS 791Z - Topics on Software Engineering 11/26
Pull down to refresh Vamsi Raju CS 791Z - Topics on Software Engineering 12/26
Software Reuse PC Era - Develop only for Windows Mobile Era - Website + ios + Android + Android + Windows + above Managing multiple codebases is an issue. Current solutions: Phonegap Vamsi Raju CS 791Z - Topics on Software Engineering 13/26
Need for Self-Adaptive Requirements Battery life Processor speeds Front camera Display size Active Radios Location of device Fluctuating power levels Vamsi Raju CS 791Z - Topics on Software Engineering 14/26
Non-functional requirements cannot be rigid for mobile devices. Current solutions: SDK s take care of most issues for native apps. Vamsi Raju CS 791Z - Topics on Software Engineering 15/26
Future Wouldn t it be great if we have solutions ready for tomorrow s problems? Vamsi Raju CS 791Z - Topics on Software Engineering 16/26
My Divinations! Vamsi Raju CS 791Z - Topics on Software Engineering 17/26
Convergence Convergence of operating systems is the future Mobile + Desktop + Tablet Different form factors share a single operating system Vamsi Raju CS 791Z - Topics on Software Engineering 18/26
No not Metro! It s actually diverging Metro and Desktop interface in the same operating system Maybe Windows Blue will be different Vamsi Raju CS 791Z - Topics on Software Engineering 19/26
Maybe Ubuntu... Ubuntu for Desktop Ubuntu for Phones Ubuntu for Tablets Ubuntu for Android Ubuntu for TV Vamsi Raju CS 791Z - Topics on Software Engineering 20/26
Or Google... Chromebook Chrome Android Vamsi Raju CS 791Z - Topics on Software Engineering 21/26
Definitely Apple! * *Speculation No signs of convergence right now ios and OSX are different Remember PowerPC to Intel transition Vamsi Raju CS 791Z - Topics on Software Engineering 22/26
(Important) 2 Consistent user experience on multiple form factors Code reuse for apps on multiple form factors Adaptive requirements for multiple form factors Right now mobile apps aren t complex. We have Software Engineering processes for Desktop apps We ll need solutions in the future when they converge Vamsi Raju CS 791Z - Topics on Software Engineering 23/26
Questions for Midterm Name three important areas for research in Software Engineering for mobile app development. What are self-adaptive requirements and why are they necessary? Vamsi Raju CS 791Z - Topics on Software Engineering 24/26
References [1] Anthony I. Wasserman. Software engineering issues for mobile application development. ACM, FoSER, November 2010.
Questions? Vamsi Raju for GSA! Vote for me!