Your SlideShare is downloading. ×
  • Like
Challenges of AJAX Development for Smartphone Platforms
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Challenges of AJAX Development for Smartphone Platforms



Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Challenges Of AJAX Development For Smartphone Platforms
    • Max Motovilov
    • VP Engineering
    • kannuu, Inc.
  • 2. Scope Of The Presentation
    • Smartphone platforms: iPhone, Symbian S60, Android, Windows Mobile, Blackberry
    • Core challenges specific to AJAX applications on smartphones
    • Case study: search UI with assisted input by kannuu Inc. Demonstrated on Nokia E71 and Apple iPod Touch.
    • Platform-specific issues uncovered
  • 3. Core Challenges on Smartphones
    • Presentation: screen size
    • Input methods
      • Keypads (unusual layouts, navigation keys, software keyboards)
      • Touch screens (w & w/o stylus)
    • Feature support (language and DOM)
      • Javascript limitations
      • CSS & DOM API limitations
      • Hardwired input controls
    • Network performance: high latency
    • Browser performance and stability
  • 4. kannuu Search Client
    • Purpose:
      • Assisted input technology for mobile devices
      • Embeddable front end for navigating long lists of items or search term dictionaries
      • Context-sensitive ad delivery
    • Backend:
      • Stateless REST server, JSONP or JSON over XHR
      • Conversion paths for relational sources or Web spider
      • Bridged to external ad server(s)
  • 5. kannuu Search Client
    • Front-end software design
      • Styled combo-box widget with extended functionality
      • By-fragment completion + priority-based autosuggest
      • Support for option selection and direct keyboard input
      • Separate UIs for keypads and touch screens
      • Asynchronous transport layer with cache and heavy pre-fetch
    • Implementation status/compatibility
      • Desktop: Mozilla/FF, WebKit/Safari/Chrome, Opera, IE*
      • Successes: Symbian S60 3.1+ (WebKit), iPhone (Safari)
      • Failures: Android (mini-Chrome), Windows Mobile (PIE*)
      • Prospects: BlackBerry 4.6+ (Bold/Storm), Windows Mobile (Opera Mobile), Android (Chrome)
  • 6. Platform Specific Issues
    • Symbian S60
      • Requires WebKit based browser, first available in S60 release 3 feature pack 1.
      • Hardwired controls
      • Keyboard events and focus
      • Tabbed mode vs. mouse simulation mode and arrow keys
      • CSS issues (no overflow:auto or scrollbars, others?)
      • JSONP stability issues
    • iPhone
      • Touch event processing
      • Software keyboard and text box widget
      • Screen size and zoom factor
      • Dynamic/animated CSS layout very hard on CPU
  • 7. Failures and Prospects
    • Android (based on released SDK/simulator)
      • Mouse/touch event processing is shot; admitted by Google in a forum message. New Chrome may or may not provide an iPhone-like API.
    • Windows Mobile
      • IE stability issues and quirks. An alternative ActiveX supported implementation works well on desktop Windows.
      • PIE incompatible with IE down to DOM level. Potential for [different] ActiveX implementation.
      • Opera Mobile claimed to be compatible with desktop Opera 9.x (not tested)
    • BlackBerry
      • First browser with reasonable level of AJAX support available with BlackBerry OS 4.6. Only [very recent] Bold and Storm run this system. Not yet tested.
      • No navigation keys available on Bold; trackball can only be used for mouse simulation.