Post on 12-Apr-2017
Exploring the Development of Micro-Apps
Mark D. Syer, Bram Adams, Ying Zou and Ahmed E. Hassan
mdsyer@cs.queensu.caSoftware Analysis and Intelligence Lab
Queen’s University, Canada
1
All users want the same apps
4 of the top 5 apps are common to all platforms .
3
Given the same app on two different platforms, how do they compare?
4
Code Dependency Churn
Which platform requires more
development effort?
Which platform requires more
maintenance effort?
Which platform provides more
support?
Popular Mobile App Platforms
5
WordPressGoogle Authenticator
Facebook SDK
Functionally Equivalent App Pairs
Android apps are smaller
6
0
5
10
15
20
25
30
35
40
Facebook SDK Google Authenticator Wordpress
AndroidBlackBerry
Line
s of
Cod
e (th
ousa
nds)
7
Code Dependency Churn
Which platform requires more
development effort?
Which platform requires more
maintenance effort?
Which platform provides more
support?
Types of micro app dependencies
8
Unique Code Base Third Party Libraryfoo
bar
main
JAVA APIsAndroid or BlackBerry APIs
Platform DependenciesJAVA
Dependencies
Unique DependenciesThird Party
Dependencies
10
Code Dependency Churn
Which platform requires more
development effort?
Which platform requires more
maintenance effort?
Which platform provides more
support?
but, more third party libraries
12
Code Dependency Churn
Which platform requires more
development effort?
Which platform requires more
maintenance effort?
Which platform provides more
support?
but, more third party libraries
Discussion
• Platform support:– Good? additional features and functionality
reduces development effort– Bad? high platform dependency leads to lock-in
and increases the effort of porting• How do micro apps compare to desktop
applications?• How does adoption/migration of platform
dependencies vary o13