Home Products Solutions GregorNotes News GregorXSLTFramework JraBio.html Services Download Contact


Home
Up

Wireless XML data services demo

 

02/17/03 -- We are excited to present a Java applet as an example of PDA access to wireless XML data services enabled by Gregor XSLT compilation and XML model runtime technologies. The demo application runs on a Sharp Zaurus SL-5500, Linux and Java powered PDA.

Introduction

We strongly believe in the synergy of wireless applications and XML web services. Exploiting this synergy is an exciting challenge. On one side we have the attractive factors of 

bulletXML universality and multi-purpose nature, as well as 
bulletthe wireless PDA's  potential ubiquity and location freedom: in fact, location from being a constraint turns to a fundamentally useful source of information

On the other hand we have the obstacles

bulletthe effective wireless bandwidth continues to be a limiting factor: how soon a request for information will be served (latency) and how much time will it take to complete
bulletbattery life limits how much computation is available for processing,  including rendering information to screen
bulletthe low computational power -- CPU and memory speed -- necessitates extra high performance programming
bulletsmall screen dictates the need for information presentation designs differing from today's WWW browser practice

Goals

Our technological goals can be described by a desire to build interactive applications

bulletthat access information wirelessly
bullet... as fast as possible ... as much as possible
bulletenabling true interactivity: fast + presenting good sized chunks of information
bulletwith wait-time minimized amidst interaction
bulleteasily developed and deployed (XSLT programming, client components download)

Approach

XML virtues are actually important allies in bringing information to limited devices. An XML document instance can carry a wealth of information. The information payload is not burdened by presentation details: those can be computed at the target. The content can be repurposed: several different document 'views' can be generated on demand from the same data. This will typically involve sorting by different criteria and detail suppression/expansion. The content can also be used for lookup or as input to spreadsheet style calculations.

New techniques developed in the context of Gregor Server and Runtime excel at XML data model compression. For example, a UBL Order document (see Compiled UBL stylesheets) when expanded to universally browsable HTML is about 31,000 bytes. It would take approx. 30 seconds to download using today's default wireless technology for the Zaurus. In contrast, the original XML document is only 5011 bytes, while Gregor Server further compresses it to 697 bytes (theoretically under a second download). Gregor compressed XML data model instances are pre-parsed and transformation ready: in general no effort is spared to remove unnecessary computation from the path between content creation to access and interaction at target.

Content packages arrive pre-parsed and transformation-ready at the wireless PDA: it then up to any of multiple XSLT translets to present a view of the content that can be read and/or interacted with. We are actively working on direct pathways for content rendering on the PDA's screen

A user can interact with a content package by invoking Gregor translets to generate a variety of document views. We want to stress that in contrast to the prevailing Web browsing practice obtaining new views on a Gregor powered PDA does not require a server request response roundtrip! Bandwidth and server computation are saved while the PDA user enjoys seamless interactivity. Each new view is generated on the fly by a translet.

As always at Ambrosoft, the content processing logic is encoded in XSLT for programmer productivity (the transformations could be coded in Java or C but not as quickly and easily). The XSLT is then compiled to Java bytecodes for speed and small size using our flagship compiler and hi-perf runtime technologies.

No markup is processed on the PDA. The content arrives pre-parsed. It is then transformed directly to rendering input instead of e.g. first producing HTML markup to be then immediately parsed back and submitted to a HTML rendering engine.

Applications

In addition to the example application demonstrated below (Amazon music CDs) many types of content would benefit from our approach: stock data, news, flight/train/ferry/etc. schedules, UBL documents, event calendars, movie schedules, product catalogues.

This Ambrosoft's solution transcends wireless PDAs and can be used in the form of applets as interactive, information rich content pills or advertisements to be embedded in other forms of content access. (In fact a demo below is not only a demo but a live and real information access artifact; during our work on the app we found ourselves sometimes forgetting about technology and reading the reviews with great interest). More examples with more interesting graphics will follow (however there really isn't all that much space for flashy graphics on the small screen).

Example: Amazon music CDs

We use a pioneering XML web service from Amazon.com, available to Amazon associates. One instance of the service presents information on music CDs: in response to a query for e.g. an artist an XML document is generated with details on the artist's CDs, their Amazon sales rank, price, reviews, etc.  The Sharp Zaurus demo application takes a user query and sends it to Gregor server at ambrosoft.com. The Gregor server processes the content package for wireless transmission and for subsequent XSLT transformations, then sends it back to the caller.  Back on the handheld the info package is transformed by a default translet that sorts the CDs by name and otherwise shows very little information. The point is the user should be able to read a meaningful chunk of the document view without much scrolling. Titles are shown in bold face, prices in red font. Titles are clickable: a lengthier CD review is displayed by another translet. Instead of "go back" button the user can simply regenerate a view of all the titles by pressing either of "by name" or "by price" buttons. The latter presents the CD list in the order of growing prices while additionally displaying Amazon's sales rank number.

You may request information on a new artist by typing their name into a text field an pressing enter or on of two main sorting buttons. A short wait follows as the request is processed by Amazon via the Gregor server. Actually this time can be about 15 seconds for the Verizon CDPD connection even though a stronger compression is used than in the demo applet case. (This is still much better than getting the same information via regular WWW/HTML browsing.) Once the information arrives though, the user can interact with it swiftly: translets and rendering are fast. You can return to a previously browsed artist by retyping their name; the access will be immediate if the information is still cached (data model compression makes it possible to cache more documents).

Note: Make sure Java applets are enabled in your browser. If the default applet still doesn't work in your IE, reflect on Microsoft's de facto policy (on the platform it tries to control) against the world's favorite programming language and then try a Java plugin version at http://ambrosoft.com/.html/AmazonCDsPlugin.html (alternatively install Java and use appletviewer with the URL 'http://ambrosoft.com/.html/AmazonCDs.html).

Note: this is not a demo of the best GUI practices (suggestions welcome at mailto:jra@ambrosoft.com). Also, more information actually comes from the Amazon source than is currently displayed here; this is work in progress). Occasional HTML markup comes from the content source and is not a Gregor bug.

alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!

 

Home ] Up ]

Send mail to info@ambrosoft.com with questions or comments about this web site.
Copyright © 2008 Ambrosoft, Inc.
Last modified: March 07, 2008