Troy Brant

Location-Based Service

Class Info: Objects and Design (CS 2340)
Class Date: Summer 2004
Language: Smalltalk (Squeak)
Group?: Yes (4 members)
Completion Time: 6 weeks

Project Description

For this project, we implemented a location-based map service for PDAs. The application allowed users to post notes about points of interest near their current location. These notes were viewable to other users who were using the application in the same area since the program was networked. Displaying bus routes was another feature our application supported. Unfortunately, our program wasn't sophisticated enough to pull real-time bus data from some data source; instead, we just moved the bus on a timer. Finally, the program could approximate if it would be faster to walk or take the bus to get from the user's current position to a particular destination.

This was the capstone project for this class on Objects and Design. The programming language of the course was Smalltalk, the ultimate object oriented language. Our group had four members, and we had about six weeks to complete the project.

Responsibilities

I was responsible for everything GUI-related. This was a rather interesting GUI project because I had to figure out how to scale down our viewport from a typical 800x600 display to a view that would fit on a PDA. The screenshots show the result of my work.

Screenshots

PDA interface. Georgia Tech campus with bus route in center. The 'Find' menu on the right allows you to 'find' all notes in the area. The bottom pane displays information about whatever is selected, but displays the user's information if nothing is selected.
Menu of options when a particular location is selected on the PDA with the stylus.
PDA interface for creating a new note at the selected location.
Notes all over Atlanta about points of interest.
Bus is outlined in green when you are "on" the bus.
Normal PC interface showing the result of asking the application for the shortest route to a destination.
Yellow line = fastest route (bus route in this case)
Brown line = slower route (walking in this case)
Shortest path selection selects walking over taking the bus.