View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Team Rabid Fudgesicles

Members:

Jason Markowitz
Jon Storrick
Hsinyi Chou
Todd Lewis


Milestone 4: Create a PDA Port


Description

For this milestone, we ported our desktop interface to a personal digital assistant(PDA).
The goal was to learn more about building graphical user interfaces and discover how
to develop for the constrained resources of a PDA

Steps to achieve this milestone

First, it's always a good idea to play around with CRC cards. By "playing" the CRC cards on the table,
it's easier to see the relationship between the different objects. We figured out several of the classes
we needed to design our project by playing with those cards.

Second, be sure to design the project properly in the beginning!! After finding out all the classes we
neededd from our CRC cards, a detailed design for the project is the most important step in the project. A detailed
UML diagram with all the functions specified in the diagram will make life easier to integrate all the
code later on.

Third, start implementing the codes according to the project design. This part wasn't too hard once we
had a completed design for the project. The most difficult part in implementation is that Squeak
has no API, everything has to be hunted down in Squeak or on Google.

Models in the design

Basically, there are three models in our design.

GUI:
This is the user interface interacting with the Client. It passes the objects to the client, then the
client will serialize the objects and send the objects to the server. Whenever the GUI wants to
update the graphs, it sends the requests to the client and gets the objects back from the server.

Network:
It consists of two main classes, the client and the server. Objects are serialized before being sent across
the network. It uses string protocols to identify what function should get executed on the both sides.

Managers:
These manage the communication between the client and the GUI. Most of the objects are stored in
the managers. And most changes to the objects occur here.

Difficulties encountered

Network problems were a common occurence in our project. We used Sixx to serialize the
objects and send them to the server across the wire. To transfer an image takes a large amount of time if you do it incorrectly! Caching the images might be the better solution to speed things up a little bit, but it's still slow. It's best to send small images across the wire to avoid the slow network.

It was also hard to implement GUI because...again...there's no API in Squeak.


UML diagram

05-02-2005Location-based service.qsee

Senario
2340 Scenarios.doc


Milestone 5: Implement an Air Graffiti Service


Description

For this milestone, we extended our server to allow users to add notes to their location and retrieve notes
near their location. We also needed to add elements to our desktop and PDA interfaces to allow users to compose and assign a note to their location, to search for notes within a particular distances, and to read the available notes.

Steps to achieve this milestone

Since the network was already built from the previous milestone, implement Graffiti was fairly easy. We found that we could subclass from the Person class and add a radius field and it would work perfectly. The
GUI sends the Graffiti notes to the server whenever the user creates the note in his/her location. These notes are then associated with the locations that they were created in and downloaded when someone goes to that location.

GUI

Location Viewer image:
LocationViewer.jpg

Graffiti notes in the location:
graffiti.jpg

Note image:
note.jpg


Link to this Page