component-based development of adaptive mobile web applications
TRANSCRIPT
Heiko Desruelle
Component-based development ofadaptive mobile web applications
2
3
Enormous fragmentation of mobile platforms and device characteristics ...
4
Native mobile applications
Application developers are forced to target multiple mobile platforms
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%
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
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
8
MOBILE WEB APPLICATIONS
Powerful devices
Fast network connections
Affordable data plans
The Web as an alternative mobile platform
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.
10
Native vs. Web applications
Web application development
11
iPhone / iPod Other WebKit LCD
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.
Component-based development
13
iPhone / iPod Other WebKit LCD
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.
Component-based development
15
iPhone / iPod Other WebKit LCD
... How to implement such an adaptive Web application framework?
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.
Component selection
17
IF (iPhone, iPod)
jQTouch component version
ELSE IF (jQuery support)
jQuery component version
ELSE IF ...
Nai
ve a
ppro
ach!
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
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
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
21
TOWARDS ADAPTIVE WEB APPS
Proposed approach: Algorithm
22
TOWARDS ADAPTIVE WEB APPS
Proposed approach: Algorithm
The proposed framework implements the Logic Scoring of Preferences (LSP) method, with
optimizations for mobile usage.
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.
Fuzzy logic evaluation
24
Not simply yes-or-no decisions
Include degrees of “maybe-ness”
Fuzzy similarity evaluation
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.
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
27
TOWARDS ADAPTIVE WEB APPS
Proposed approach: Architecture
Component generator
28
Optimal candidate selection
29
Application request handling
30
Application request handling
31