Mobile-Web Integration with Open Source Tools

2,401
-1

Published on

This is the first half of the talk given by Lukhnos and Mikimoto Chuang. They talk about how to use open source tools and libraries to integrate mobile client software with server-side services. Some thoughts and best practices are given. The cast study is TapExpense, an iPhone expense tracker. Also featuring their experiences in tackling wacky wifi/3G connections and CSV/XLS formats.

The talk is given at OSDC.tw 2009 on April 19, 2009.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,401
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
95
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

























  • Mobile-Web Integration with Open Source Tools

    1. 1. Mobile-Web Integration with Open Source Tools (1) Lukhnos D. Liu Principal, Lithoglyph Inc.
    2. 2. Agenda Client Side Server Side
    3. 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. 4. Mobile Internet is finally there!
    5. 5. Ubiquitous computing for consumers
    6. 6. But mobile web is not the answer to everything...
    7. 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. 8. Perspective Mobile computers that happen can make calls Telephony is not important Data terminal, data presentation Limited device versus cloud
    9. 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. 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. 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. 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. 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. 14. Still with us? Good.
    15. 15. Case Study: TapExpense iPhone expense tracker Requirement: Excel spreadsheet export Data analytics Internet strategy: “Shoot and Forget”
    16. 16. “XLS is complicated...” “Let’s use CSV” “But...”
    17. 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. 18. You thought that is all... 1,000,000.00
    19. 19. Parlez-vous français? 1.000.000,00 30.4.2009:Food:1.000.000,00 Ich spreche Deutsch, aber...
    20. 20. Sprechen Sie... Schwyzerdütsch? 1‘000‘000,00
    21. 21. Two Provisions Pure-text CSV: Matches user’s international settings (language and locale)—backward compatible XLS: Use server-side solution
    22. 22. Making HTTP Requests Everyone has her favorite wrapper on iPhone Our favorite: LFHTTPRequest
    23. 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. 24. Other Open Source Libs Three20 http://github.com/joehewitt/three20 Erica Sadun’s code http://ericasadun.com/ And more
    25. 25. Client-side demo

    ×