Mobile applications SO FTWA RE ENGI NEE RING
Mobile applications SO FTWA RE ENGI NEE RING ISSUES NATIVE VS. WE B MOBIL E APPLICATIONS
Overview • Introduction • The issues of the mobile application development • Native VS Web Mobile applications • The user experience/interface issue • An example tool for performance metric • Conclusion
Introduction
Introduction • Boum -> Apple release the i. Phone • Nowadays, more than 250, 000 apps available ! • Most of them are small • 2 types of apps : Native and web
The issues of the mobile application development
Mobile development is really different than Desktop dev. • Sensor Handling • A choice : Native vs Web • A lot of different platforms • User interface • Power consumption
Best Practices and Recommendations
Best Practices and Recommendations • There are some recommendations from the W 3 C for coding mobile web applications : http: //www. w 3. org/TR/mwabp/ • i. Phone Application Programming guide • Developer’s Guide for Android • A lot of guidance is provided, but focused on uniplatform applications
Native VS Web Mobile applications
The code Native Web • C dialects • HTML / CSS / Javascript • Compiled (much faster) • Interpreted • Directly paint pixels • VP enginerring at google said : “Even google was not rich enough” • Better performance • Access to every resources of the device • 2 platforms have totally different user-interface paradigms • JS is getting faster
Important ! • In framework such as Phone. Gap: http: //docs. phonegap. com/en/2. 7. 0/index. html If a native feature is missing to a browser, that does not mean that it cannot do it but that it has not been done yet !
The user experience/interface issue
Focusing on the user ! • So many different platforms and with that : § Different contexts Ø Hardware : Display (physical size, color, depth, screen, resolution, pixel, density, aspect ratio) Ø Input (trackball, touchscreen , keyboard, microphone, camera) Ø Capability (processing power, storage, antennae) Ø Platforms conventions (Example : The back button) Ø Environment • A successful application should take into accounts all those aspects.
Focusing on the user ! • So many different platforms and with that : § We have to adapt the implementations in order to ensure performance : ØLatency ØExecution time • Benchmarking is today the only way to know • A successful application should take into accounts all those aspects.
Research issues • Choice of the functions that should be on the mobile version compared to the desktop one • What is the more difficult to design ? Desktop or mobile? • How can we develop applications that maximize the battery of the mobile ?
An example tool for performance metric ELEN S
What is e. Lens ? • Power consumption metric software • Code-level estimate • Based on the estimate of each bytecode of he system
How to consider different devices, users? • SEEP (Software Environment Energy Profile) • A profile for a target platform, and this profile is defining the cost function • They hope that it will be a provided information from the manufacturer • 2 types of SEEP: • Path-independent • Path-dependent
Evaluation
Conclusion IS IT POSSIBLE THAT SOFTWARE IS NOT LIKE ANYTHING ELSE, THAT IT IS MEANT TO BE DISCARDED: THAT THE WHOLE POINT IS TO ALWAYS SEE IT AS A SOAP BUBBLE?
Conclusion • A good solution for the native/web choice may be to develop an hybrid solution ! • Using the Web to build mobile applications can be really efficient, and the performance are improving everyday • To estimate the performance of an app, such research are currently done so we can hope that soon, we will have accurate metrics on mobile app
Bibliography • Chanrland, A. e Le. Roux, B. Mobile Application Development: Web vs Native. In Magazine Queue – Data, 2011, 9(4). • A. I. Wasserman. Software engineering issues for mobile application development. In Proc. of FSE/SDP, Fo. SER’ 10, pages 397– 400, New York, NY, USA, 2010. ACM. • S. Hao, D. Li, W. G. J. Halfond, and R. Govindan, “Estimating mobile application energy consumption using program analysis, ” in Proceedings of the 35 th International Conference on Software Engineering, 2013, to appear
- Slides: 25