230 likes | 506 Views
Developing Integrated Mobile Web Applications. Jeff Foust jfoust@alum.mit.edu http://www.jfoust.com/web2001. Purpose. Think about the challenges of developing mobile web apps A look at one approach for mobile web apps See samples of approach you can use today. Outline.
E N D
Developing IntegratedMobile Web Applications Jeff Foust jfoust@alum.mit.edu http://www.jfoust.com/web2001
Purpose • Think about the challenges of developing mobile web apps • A look at one approach for mobile web apps • See samples of approach you can use today
Outline • The challenges of mobile applications • One approach for developing mobile applications • One example: WAP • Another example: PalmOS
The Challenges of Mobile Applications • Low bandwidth • Small display size • Connectivity issues • User input issues
Challenge:Low Bandwidth • PCs access at speeds from 56k to T1 and beyond • Wireless devices limited to 19.2k, often less • 2.5G and 3G hold promise for the future, but be prepared to wait...
Challenge:Small Displays • PCs have large displays, resolutions of 800x600 pixels and up • Handhelds (PalmOS and PocketPC) from 160x160 to 320x320 pixels • WAP phones may offer just a few lines of text
Challenge: Connectivity • PCs have little trouble obtaining and maintaining a connection (other than busy signals) • Mobile connectivity spotty, with dead zones, limited coverage areas, etc.
Challenge: User Input • PCs offer rich input devices: large keyboards, mice, etc. • Mobile devices limited to tiny keypads, stylus input (Graffiti): slower and more error-prone
So what does this mean? • The web browser has emerged as the primary interface between users and applications on PCs • This model will not work well on handheld devices given the challenges outlined previously
However... • Why do we have to treat mobile devices as another platform for running a web browser? • These devices are not dumb terminals: they can run a wide range of other apps
Another model • Don’t take information from or display to a browser • Instead, transfer information directly to and from the relevant applications: • Phone numbers in address book • Schedules in date book • Et cetera...
Example 1:A WAP phone book • One of the canonical examples of a WAP application is looking up a phone number • Such apps display phone numbers on the screen… • ...but if you’re looking up a number on your phone, you probably want to make a call!
Turning phone numbers into links • Wireless Telephony Application Interface (WTAI) • Extensions to WAP • Offers support to initiate phone calls, access internal phone book, etc. • Supported by some, but not all, phones
How it works <go href=“wtai://wp/mc;6175551234”/> wtai: URL protocol wp: a public WTAI library mc: initiate a phone call (think “mobile call”) 6175551234: the phone number (note no punctuation in the form of ()/-.+ etc.)
Notes • Not supported by all microbrowsers • Similar technique exists for entering data into a phone’s internal phone book, but even less widely supported
Example 2: A PalmOS scheduling app • Web Clipping Applications (PQAs) are a common way to provide access to web applications for wireless PalmOS devices • PQAs can also insert data into applications, with a little effort
What’s needed • PalmOS device with Web Clipping support: • Palm VII/VIIx • Palm/Visor with OmniSky modem • Palm with Mobile Internet Kit • PQA development tools • iKnapsack and AddPalmData plugin
How it works • Web Clipping supports palm and palmcall URL methods: • palm: launch specified application • palmcall:launch app in background • These can’t transfer data into native core apps but can into third-party apps
How it works (con’t) • Format data to transfer to iKnapsack • iKnapsack then transfers data to appropriate application and displays message
Formatting data for iKnapsack: an example palmcall:iSAK.appl?iPLG=iADD&type=1&desc=Sample Event&date=2001-09-08&start=10:30&end=12:00 This creates an event titled “Sample Event” that starts at 10:30 am on September 8, 2001 and ends at 12:00 pm for entry into the Date Book
Other notes • iKnapsack supports: • Address Book • Date Book • Memo Pad • To Do List • Expense • No support for third-party applications, though
Other Solutions • OmniSky OneTap • XML-based solution for two-way data transfer • Works on OmniSky network, but with wider range of devices (PPC) • Coola • Various solutions for sync and wireless information transfer into PalmOS applications
Conclusions • Integrating web applications with mobile applications has many benefits • It is possible to start doing this now, in rudimentary ways • More advanced and sophisticated integration techniques should be possible soon