icsm2011 syer

13
Exploring the Development of Micro- Apps Mark D. Syer, Bram Adams, Ying Zou and Ahmed E. Hassan [email protected] Software Analysis and Intelligence Lab Queen’s University, Canada 1

Upload: sailqu

Post on 12-Apr-2017

154 views

Category:

Documents


0 download

TRANSCRIPT

Exploring the Development of Micro-Apps

Mark D. Syer, Bram Adams, Ying Zou and Ahmed E. Hassan

[email protected] Analysis and Intelligence Lab

Queen’s University, Canada

1

Huge number of apps

2

Ava

ilabl

e A

pps

(000

’s)

+244%

+150%

+70%

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

Android apps depend on platform

9

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

11

2009 2010 2011

Constantly Growing Code Base

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