The 4th Year WAP Project (2000/2001)
The Wireless Application Protocol (WAP) is an open, global specification that empowers mobile users with wireless devices to easily access and interact with information and services instantly. The consumer class device of choice is a micro-browser enabled handset (i.e., cellphone), the programming model follows closely the WWW model of clients issuing requests to servers and displaying the results on a small display. The companies working on the basic set of services and protocols comprising WAP are organized in the WAP Forum, all documentation about WAP is available from their website at http://www.wapforum.org/. Many companies (Ericsson, Nokia, phone.com, etc.) provide emulators of the basic handset functionality and WAP gateways that allow developers to implement and test WAP applications, see for example http://www.nokia.com/corporate/wap/index.html.

To allow students to experiment with this environment, we will make available a testbed in our lab that consists of WAP handset emulators, WAP gateways, and network emulators that allow to control bandwidth, error rate, and latency between the handset and the gateway. These components will be documented on our WWW pages at http://www.sce.carleton.ca/wmc/chameleon/testbed.html.

In this project, we will study the WAP protocol stack, with particular emphasis on the Wireless Application Environment (WAE). Important components of WAE are WML, the Wireless Markup Language, and WMLScript, a scripting language similar to JavaScript. The client devices are fairly resource constraint (small displays, limited support for graphics, accessing the network over low-bandwidth wireless links). At the same time, more and more WWW pages provide very media-rich content, the downloading and rendering of which easily overwhelms WAP handsets. A final issue is that unlike stationary client devices like a desktop PC, WAP handsets or truly mobile. This has two consequences:

We will assume that the first problem is solved for us somehow. The second issue will be at the core of the project: a fairly popular application for portable devices are tourguides/city guides. Examples (not necessarily WAP-based) are CitiKey (http://www.citikey.co.uk/) or Guide (http://www.comp.lancs.ac.uk/computing/research/mpg/most/guide.html). An even greater number of cities are increasingly offering WWW pages advertising the sights, services, and enterprises in their community, for example the Waterloo Information Network (http://win.uwaterloo.ca/) or the city sites maintained by Canoe (http://www.canoe.ca/PlanetSun/citysites.html).

The goal of this project is to explore how to access the Ottawa WWW site at http://www.ottawa.com/ with a WAP-enabled phone. To convey as much data and functionality as possible from this site to the handset, the gateway has to translate many different content types into the limited number of possibilities supported by WAP. The project will also explore how to extend the functionality offered by this site by using location information and offering services based on this information. Each student should identify one specific problem, design and implement a prototype demonstrating how to solve this problem, and discuss the experience and lessons learned in a report.