Mobile-Web Integration with Open Source Tools

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Mobile-Web Integration with Open Source Tools - Presentation Transcript

    1. Mobile-Web Integration with Open Source Tools (1) Lukhnos D. Liu Principal, Lithoglyph Inc.
    2. Agenda Client Side Server Side
    3. Client-Side Agenda What to put on client, what on server Mobile app design constraints Case study: TapExpense Open source tools you can use Demo
    4. Mobile Internet is finally there!
    5. Ubiquitous computing for consumers
    6. But mobile web is not the answer to everything...
    7. Server-side pro’s and con’s Server is good for LARGE data But network is slower than you think Mobile web = just ok to use But you don’t want to use it every day Native mobile app FTW
    8. Perspective Mobile computers that happen can make calls Telephony is not important Data terminal, data presentation Limited device versus cloud
    9. Client-side problems Device is limited in every aspect Display, memory, CPU speed But response is very fast Suitable code: UI, data collection, simple computation
    10. Mobile app constraints Slow CPU Low memory: 64 MB of heap, no swap So design you app as if you were in 1996 (seriously)
    11. Integration considerations Use lightweight data structure XML parsing is usually a bad idea (no SOAP, e.g.!) Stream-able or partially readable format is good (JSON, CSV, etc.)
    12. Wacky connections Internet should be assumed but not taken for granted Power management policy is a pain 3G handover Intermittent connection Design early: Offline plan, caching policy, resume mechanism
    13. UIRequiresPersistentWiFi UIRequiresPersistentWiFi <true/> <false/> Always on, but idleTimerDisalbed Always on, always wifi/3G off after 30 YES connected min 3G/wifi off when Wifi on when app idleTimerDisalbed device wants to is on, but 3G off NO even when app is when screen off on
    14. Still with us? Good.
    15. Case Study: TapExpense iPhone expense tracker Requirement: Excel spreadsheet export Data analytics Internet strategy: “Shoot and Forget”
    16. “XLS is complicated...” “Let’s use CSV” “But...”
    17. CSV is not simple at all! Originally: Email to user Common format, but tons of pain (saving, exporting) Usability = 0 No way to handle multi-line text Variants! Not all spreadsheet app is created equal Excel, Numbers, OpenOffice
    18. You thought that is all... 1,000,000.00
    19. Parlez-vous français? 1.000.000,00 30.4.2009:Food:1.000.000,00 Ich spreche Deutsch, aber...
    20. Sprechen Sie... Schwyzerdütsch? 1‘000‘000,00
    21. Two Provisions Pure-text CSV: Matches user’s international settings (language and locale)—backward compatible XLS: Use server-side solution
    22. Making HTTP Requests Everyone has her favorite wrapper on iPhone Our favorite: LFHTTPRequest
    23. LFHTTPRequest Part of the ObjectiveFlickr project http://github.com/lukhnos/objectiveflickr/ Targeting both Mac 10.4/10.5/[Redacted], iPhone OS 2.x/[Redacted], 32-bit, 64-bit Lightweight and robust
    24. Other Open Source Libs Three20 http://github.com/joehewitt/three20 Erica Sadun’s code http://ericasadun.com/ And more
    25. Client-side demo

    + lukhnoslukhnos, 7 months ago

    custom

    887 views, 2 favs, 0 embeds more stats

    This is the first half of the talk given by Lukhnos more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 887
      • 887 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 74
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories