component-based development of adaptive mobile web applications

32
Heiko Desruelle Component-based development of adaptive mobile web applications

Upload: heiko-desruelle

Post on 05-Nov-2014

5.851 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Component-based development of adaptive mobile web applications

Heiko Desruelle

Component-based development ofadaptive mobile web applications

Page 2: Component-based development of adaptive mobile web applications

2

Page 3: Component-based development of adaptive mobile web applications

3

Enormous fragmentation of mobile platforms and device characteristics ...

Page 4: Component-based development of adaptive mobile web applications

4

Native mobile applications

Application developers are forced to target multiple mobile platforms

Page 5: Component-based development of adaptive mobile web applications

5

Native mobile applications

Platform Language Market share 2009

iPhoneOS Objective C 18%

Android Java (Dalvik JVM) 4%

Windows Mobile .NET / C++ / Java 8%

Symbian C++ 46%

Palm OS C, C++ 1%

Blackberry Java (with RIM API) 21%

Page 6: Component-based development of adaptive mobile web applications

Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN)6

Native mobile applications

Native App Stores Web Apps

Openness Restricted Completely open

Entry Cost $0 - $200 None

Developer Revenue 30% - 80% 100%

Approval Few days - weeks Instantaneous

Current distribution models for native applications also have their drawbacks

Page 7: Component-based development of adaptive mobile web applications

Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN)7

Native mobile applications

Application stores are not always goldmines Restrictive store policies, low revenue rates

Ranking-based system

Dapple app: $32,000 invested vs. $535 revenue

Native App Stores Web Apps

Openness Restricted Completely open

Entry Cost $0 - $200 None

Developer Revenue 30% - 80% 100%

Approval Few days - weeks Instantaneous

Page 8: Component-based development of adaptive mobile web applications

8

MOBILE WEB APPLICATIONS

Powerful devices

Fast network connections

Affordable data plans

The Web as an alternative mobile platform

Page 9: Component-based development of adaptive mobile web applications

9

Native vs. Web applications

Application development using standardized Web technology such as HTML, CSS and JavaScript.

However, the available device APIs for Web-based development are limited to geolocation, local storage

and screen orientation information.

W3C and BONDI are currently addressing this issue. Meanwhile, hybrid development solutions

(e.g. PhoneGap) can be used for richer device interaction.

Page 10: Component-based development of adaptive mobile web applications

10

Native vs. Web applications

Page 11: Component-based development of adaptive mobile web applications

Web application development

11

iPhone / iPod Other WebKit LCD

Page 12: Component-based development of adaptive mobile web applications

Web application development

12

iPhone / iPod Other WebKit LCD

“Create once, run everywhere”

The ultimate goal is to provide a single application that is able to serve a diversity of

mobile devices.

To face fragmentation issues,

Web applications need a high degree of adaptivity.

Page 13: Component-based development of adaptive mobile web applications

Component-based development

13

iPhone / iPod Other WebKit LCD

Page 14: Component-based development of adaptive mobile web applications

Component-based development

14

iPhone / iPod Other WebKit LCD

Component-based approach

The developer only defines what type of building blocks his application is made of.

The application server takes care of the specific rendering, based on the client devices’ capabilities.

Page 15: Component-based development of adaptive mobile web applications

Component-based development

15

iPhone / iPod Other WebKit LCD

... How to implement such an adaptive Web application framework?

Page 16: Component-based development of adaptive mobile web applications

Component-based development

16

iPhone / iPod Other WebKit LCD

Challenges:

Automatic evaluation and selection of optimal component versions. Easy framework extensibility with new component versions, etc.

Page 17: Component-based development of adaptive mobile web applications

Component selection

17

IF (iPhone, iPod)

jQTouch component version

ELSE IF (jQuery support)

jQuery component version

ELSE IF ...

Nai

ve a

ppro

ach!

Page 18: Component-based development of adaptive mobile web applications

Component selection

18

IF (iPhone, iPod)

jQTouch component version

ELSE IF (jQuery support)

jQuery component version

ELSE IF ...

Nai

ve a

ppro

ach!

Strong dependencies between component versions Adding new component versions rapidly becomes

unmanageable

High risk for version conflicts

Error prone, requires the modification of other developers’ code

Page 19: Component-based development of adaptive mobile web applications

Component evaluation

19

Actual device Matches this version

Touch NO

Stylus YES

Joystick NO

Clickwheel NO

e.g. selection rule: pointing method = stylus

Nai

ve a

ppro

ach!

Boolean similarity evaluation

Page 20: Component-based development of adaptive mobile web applications

Component evaluation

20

Actual device Matches this version

Touch NO

Stylus YES

Joystick NO

Clickwheel NO

e.g. selection rule: pointing method = stylus

Nai

ve a

ppro

ach!

Boolean similarity evaluation

Infeasible due to device diversity Requires entire spectrum of device capabilities to be covered

Impossible to provide optimal component version for each context

Page 21: Component-based development of adaptive mobile web applications

21

TOWARDS ADAPTIVE WEB APPS

Proposed approach: Algorithm

Page 22: Component-based development of adaptive mobile web applications

22

TOWARDS ADAPTIVE WEB APPS

Proposed approach: Algorithm

The proposed framework implements the Logic Scoring of Preferences (LSP) method, with

optimizations for mobile usage.

Page 23: Component-based development of adaptive mobile web applications

Fuzzy logic evaluation

23

Not simply yes-or-no decisions

Include degrees of “maybe-ness”

Fuzzy similarity evaluation

Fuzzy logic evaluation enables the objective selection of less-than-perfect component versions, in case no optimal candidate is

available.

Page 24: Component-based development of adaptive mobile web applications

Fuzzy logic evaluation

24

Not simply yes-or-no decisions

Include degrees of “maybe-ness”

Fuzzy similarity evaluation

Page 25: Component-based development of adaptive mobile web applications

Logic aggregation

25

Multiple device characteristics can be used to evaluate the candidate components.

Elementary degrees of similarity will need to be aggregated into an overall objective score.

LSP provides a number of logic aggregators.

Page 26: Component-based development of adaptive mobile web applications

Logic aggregation

26

Aggregation of individual degrees of similarity Pointing method, CSS capabilities, ...

Different types of aggregators Mandatory vs. desired, incremental scoring vs. penalties

Results in an objective and overall score for each selection candidate

Page 27: Component-based development of adaptive mobile web applications

27

TOWARDS ADAPTIVE WEB APPS

Proposed approach: Architecture

Page 28: Component-based development of adaptive mobile web applications

Component generator

28

Page 29: Component-based development of adaptive mobile web applications

Optimal candidate selection

29

Page 30: Component-based development of adaptive mobile web applications

Application request handling

30

Page 31: Component-based development of adaptive mobile web applications

Application request handling

31

Page 32: Component-based development of adaptive mobile web applications

32

QUESTIONS?

E-mail: [email protected]

Twitter: @heiiko