Component-based development of adaptive mobile web applications

5,404 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,404
On SlideShare
0
From Embeds
0
Number of Embeds
1,602
Actions
Shares
0
Downloads
61
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Component-based development of adaptive mobile web applications

  1. 1. Heiko Desruelle Component-based development of adaptive mobile web applications
  2. 2.
  3. 3. Enormous fragmentation of mobile platforms and device characteristics ...
  4. 4. Native mobile applications Application developers are forced to target multiple mobile platforms
  5. 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%
  6. 6. Native mobile applications Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) Current distribution models for native applications also have their drawbacks Native App Stores Web Apps Openness Restricted Completely open Entry Cost $0 - $200 None Developer Revenue 30% - 80% 100% Approval Few days - weeks Instantaneous
  7. 7. Native mobile applications Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) <ul><li>Application stores are not always goldmines </li></ul><ul><ul><li>Restrictive store policies, low revenue rates </li></ul></ul><ul><ul><li>Ranking-based system </li></ul></ul><ul><ul><ul><li>Dapple app: $32,000 invested vs. $535 revenue </li></ul></ul></ul>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. 8. MOBILE WEB APPLICATIONS Powerful devices Fast network connections Affordable data plans The Web as an alternative mobile platform
  9. 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. 10. Native vs. Web applications
  11. 11. Web application development iPhone / iPod Other WebKit LCD
  12. 12. Web application development 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.
  13. 13. Component-based development iPhone / iPod Other WebKit LCD
  14. 14. Component-based development 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.
  15. 15. Component-based development iPhone / iPod Other WebKit LCD ... How to implement such an adaptive Web application framework?
  16. 16. Component-based development iPhone / iPod Other WebKit LCD Challenges : Automatic evaluation and selection of optimal component versions. Easy framework extensibility with new component versions, etc.
  17. 17. Component selection IF (iPhone, iPod) jQTouch component version ELSE IF (jQuery support) jQuery component version ELSE IF ... Naive approach!
  18. 18. Component selection <ul><li>Strong dependencies between component versions </li></ul><ul><ul><li>Adding new component versions rapidly becomes unmanageable </li></ul></ul><ul><ul><li>High risk for version conflicts </li></ul></ul><ul><ul><li>Error prone, requires the modification of other developers’ code </li></ul></ul> IF (iPhone, iPod) jQTouch component version ELSE IF (jQuery support) jQuery component version ELSE IF ... Naive approach!
  19. 19. Component evaluation e.g. selection rule: pointing method = stylus Naive approach! Boolean similarity evaluation Actual device Matches this version Touch NO Stylus YES Joystick NO Clickwheel NO
  20. 20. Component evaluation <ul><li>Infeasible due to device diversity </li></ul><ul><ul><li>Requires entire spectrum of device capabilities to be covered </li></ul></ul><ul><ul><li>Impossible to provide optimal component version for each context </li></ul></ul> e.g. selection rule: pointing method = stylus Naive approach! Boolean similarity evaluation Actual device Matches this version Touch NO Stylus YES Joystick NO Clickwheel NO
  21. 21. TOWARDS ADAPTIVE WEB APPS Proposed approach: Algorithm
  22. 22. TOWARDS ADAPTIVE WEB APPS Proposed approach: Algorithm The proposed framework implements the Logic Scoring of Preferences (LSP) method, with optimizations for mobile usage.
  23. 23. Fuzzy logic evaluation <ul><ul><li>Not simply yes-or-no decisions </li></ul></ul><ul><ul><li>Include degrees of “maybe-ness” </li></ul></ul> Fuzzy similarity evaluation Fuzzy logic evaluation enables the objective selection of less-than-perfect component versions, in case no optimal candidate is available.
  24. 24. Fuzzy logic evaluation <ul><ul><li>Not simply yes-or-no decisions </li></ul></ul><ul><ul><li>Include degrees of “maybe-ness” </li></ul></ul> Fuzzy similarity evaluation
  25. 25. Logic aggregation 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.
  26. 26. Logic aggregation <ul><li>Aggregation of individual degrees of similarity </li></ul><ul><ul><li>Pointing method, CSS capabilities, ... </li></ul></ul><ul><li>Different types of aggregators </li></ul><ul><ul><li>Mandatory vs. desired, incremental scoring vs. penalties </li></ul></ul><ul><li>Results in an objective and overall score for each selection candidate </li></ul>
  27. 27. TOWARDS ADAPTIVE WEB APPS Proposed approach: Architecture
  28. 28. Component generator
  29. 29. Optimal candidate selection
  30. 30. Application request handling
  31. 31. Application request handling
  32. 32. QUESTIONS? E-mail: [email_address] Twitter: @heiiko

×