Cyberguide Project Plan

Winter Quarter 1996
1/19/96

Project Sponsors:

Gregory Abowd
Chris Atkeson

Cyberguide Team:

Robert Duncan
Sue Long
Prabath Valiveti
Michael Minori
Eugene Liu
Chris Goodrum
Daniel Bassett
Danny Lentz
Derek Abiusi
Stephen Eley


1.0 Introduction
2.0 Related Documents
3.0 Outdoor Cyberguide Team
3.2 Team Description
3.3 Team Goals
3.4 Team Activities
3.5 Team Schedule
3.6 Project Risks
4.0 Map Services Team
4.1 Project Task
4.2 Team Description
4.3 Team Goals
4.4 Team Activities
4.5 Team Schedule
4.6 Project Risks
5.0 Data Tool Team
5.1 Project Task
5.2 Team Description
5.3 Team Goals
5.4 Team Activities & Schedule
5.5 Project Risks
6.0 Network Team
6.1 Project Task
6.2 Team Description
6.3 Team Goals
6.4 Team Activities
6.5 Team Schedule
6.6 Project Risks
7.0 Information Browser Team
7.1 Project Task
7.2 Team description
7.3 Team Goals
7.4 Team Activities
7.5 Team Schedule
7.6 Project Risks
8.0 Key Personnel
8.1 Project Leader - Robert Duncan
8.2 Domain Expert
8.3 Equipment Manager - Eugene Liu
8.4 Web Manager - Chris Goodrum
8.5 Meeting Manager - Daniel Bassett
8.6 Documentation Manager - Prabhath Valiveti
8.7 Software Manager - Micheal Minori
8.8 Presentation Manager - Stephen Eley

1.0 Introduction

The Cyberguide Project was started in March 1995 by the Future Computing Environ ments (FCE) group and is headed by Gregory Abowd. The Cyberguide "vision" is to develop an intelligent handheld tourguide that has information about surrounding areas and your location. This vision was partly realized in the Summer of 1995, as a non "posi tion-aware" version of the Cyberguide was developed on the Newton for the GVU Demo Days. Fall quarter of 1995, a version of Cyberguide was developed that included a fully- functional, "position-aware" tourguide for the GVU Demo Days. This quarter, the Cyber guide Team is continuing the evolutionary prototype by developing an outdoor GPS ver sion, a wireless IR networked version and creating a data building tool. In addition, this quarter, the Cyberguide Team will be redesigning the information browser presently used by Cyberguide and adding path generation as well as map history utilities. Because of the wide variety of tasks that will be under construction this quarter, the Cyberguide Project Team has been split up into five separate teams.

2.0 Related Documents

Last quarter the Cyberguide Team produced a Project Plan and a Design/Implementation document as well as several other important and useful documents. These documents can be very useful to people trying to understand how the current Cyberguide is actually implemented. An on-line copy of the Design Document as well as the many other docu ments may be found at this URL:

http://www.cc.gatech.edu/fce/cyberguide/project_notebook/index.html

3.0 Outdoor Cyberguide Team

3.1 Project Task:

This team is responsible for developing a separate outdoor version of Cyberguide using a global positioning system (GPS) device. The Outdoor Cyberguide will be created in two distinct phases. The first phase will consist of developing a first-run prototype that replaces the infrared (IR) positioning system with the GPS device and provides discrete position updates at specific locations on a low detail campus map. The intention of this prototype is to perform the integration of the Newton and the GPS device while reducing to a minimum the complications which may be introduced due to changes in map scale, detail and size as well as improvements in the frequency of positional updates and map scrolling. This will provide a prototype that functions in a nearly similar fashion to the existing Cyberguide with reduced effort required to develop new functionality. The sec ond phase of Outdoor Cyberguide will involve the redesigning of the positioning on the map in order to make the updates in position on the map more continuous within the limits of the abilities of the GPS device. The intention of this incremental development is to both provide a space for the learning curve expected in order to understand the existing Cyberguide and NewtonScript as well as demo an intermediate working prototype during mid-quarter.

3.2 Team Description:

Robert Duncan - Team Leader
robert@cc.gatech.edu
874-0430

As team leader/member of the Outdoor Cyberguide team, he is responsible for:

Derek Abiusi
gtd263a@prism.gatech.edu
892-6818 x.121

As team member of the Outdoor Cyberguide team, he is responsible for:

3.3 Team Goals:

We intend to achieve the following goals during the Winter 1996 quarter:

3.3.1 Analysis

Develop a thurough understanding of the existing Cyberguide code in order to determine how to integrate the outdoor functionality.

3.3.2 Feasibility

Determine how the outdoor functionality will be integrated with the existing code and what degree of map, positioning and information code reuse from the existing Cyberguide will be possible.

3.3.3 Outdoor Cyberguide

Develop an outdoor version of Cyberguide that integrates the map and information brows ing functionality of the existing Cyberguide with an outdoor GPS positioning system.

3.4 Team Activities:

We intend to implement our goals via the following activities:

3.4.1 Analysis

  1. 1. Attend the NewtonScript tutorial session.
  2. 2. Become familiar with NewtonScript and the Newton Toolkit (NTK).
  3. 3. Study and examine the existing Cyberguide code.
  4. 4. Understand interactions between the existing positioning system and the map.
  5. 5. Learn the map structure used and the formats for information used by the information browser of Cyberguide.
  6. 6. Learn how the Newton handles program files, serial input, and SOUPS.

3.4.2 Feasibility

Phase One:

  1. 1. Become familiar with the GPS equipment and the specs. of the output format over a serial connection.
  2. 2. Determine how the GPS information will be translated into what Cyberguide presently expects via the serial port connection with the Motorola IR circuitry.
  3. 3. Determine map size constraints (estimate available memory).
  4. 4. Meet with the map builder tool team to discuss future map format.
  5. 5. Develop approach for development of phase one.

Phase Two:

  1. 6. Examine scrolling limitations and map detail constraints given processor speed and capability.
  2. 7. Investigate use of existing technology developed for other products.
  3. 8. Establish scheme for translating GPS coordinates directly to non-discrete positions on map.
  4. 9. Develop approach for development of phase two.

3.4.3 Outdoor Cyberguide

Phase One:

  1. 1. Replace the Motorola IR circuitry with the GPS device and integrate into the existing Cyberguide system using discrete positional updates at fixed locations.

Phase Two:

  1. 2. Improve the positional update on the map with the intention to produce a non-discrete position, scrolling map.

3.5 Team Schedule:

3.5.1 Analysis

3.5.2 Feasibility

3.5.3 Outdoor Cyberguide

3.6 Project Risks:

3.6.1 The Newton can't read the GPS signal.

SOLUTION:

Develop hardware to convert the GPS signal into data that the Newton can understand.

DAMAGE:

The loss of time needed to create the new hardware. The money that will be needed. Also, the Newton will have extra equipment added onto it that will make it harder to han dle. We will also have to rely on others to teach us how to make such a device.

3.6.2 The GPS does not give discrete and constant changes in position.

SOLUTION:

Need to develop an algorithm that will round off to the nearest position that the Newton knows about.

DAMAGE:

Extra time will be needed to develop and implement such an algorithm. The time neces sary to compute the position will increase, possible reducing performance.

3.6.3 The scale of the map is not large enough to accommodate the GPS positioning scheme.

SOLUTION:

Use a larger scale / less detailed map.

DAMAGE:

The position of the user will not be as precise. The user will have to travel longer dis tances to see a change on the map.

3.6.4 The GPS does not work correctly.

SOLUTION:

Get another GPS that works correctly.

DAMAGE:

Time and money will be spent replacing the GPS.

3.6.5 A large and detailed map will require too much memory if added software is needed to interpret the GPS into a language that Newton can understand.

SOLUTION:

Add memory to the Newton.

DAMAGE:

Time and money will have to be spent.

3.6.6 A large and detailed map coupled with the addition GPS interpreting software could slow the processing time of the application. If the processing time becomes too long, delays in the users position could render the Newton useless.

SOLUTION:

Optimize the code so the processor is not working as much. Use a less detailed map that will take lees time to draw. Move the software that interprets the GPS signal into a lan guage that Newton understands into an external hardware device.

DAMAGE:

Time will be spent trying to optimize the code. Time could also be wasted building a hardware device that interprets the GPS signal.

3.6.7 We will not be able to purchase necessary devices, i.e. cables, and they will need to be custom built.

SOLUTION:

Build the cables ourselves.

DAMAGE:

Time wasted building cables. Relying on others to teach us how to construct the cables.

4.0 Map Services Team

4.1 Project Task:

This team is responsible for creating path generation and history utilities for the Cyber guide system. With the path generation utility, a user will be able to select a starting point (usually his/her current position) and one or more destinations, and Cyberguide will dis play the most efficient path to visit all destinations. The history utility will display for the user a list of all points visited. We intend to implement these utilities via NewtonScript extensions to the existing Cyberguide system, possibly with some data format support in the map building tool. We do not intend to alter the existing functionality of Cyberguide, nor do we intend to significantly influence the development of the map making tool.

4.2 Team Description:

Stephen Eley
gt6877c@prism.gatech.edu
892-6579 x.208

Currently the only member of the Map Services Team. He is responsible for:

4.3 Team Goals:

We intend to achieve the following goals during the Winter 1996 quarter:

4.3.1 Analysis

Examine current Cyberguide functionality, and determine the best way to integrate the new utilities.

4.3.2 Path Generation

Develop a utility in NewtonScript for conducting a breadth-first search of possible paths, given a Cyberguide map and associated data structures.

4.3.3 Map History

Develop a utility in NewtonScript for storing points visited on a Cyberguide map in a data structure, and later viewing of said structure.

4.4 Team Activities:

We intend to implement our goals via the following activities:

4.4.1 Analysis

  1. 1. Become familiar with Newton operation and NTK.
  2. 2. Examine current Cyberguide code in the Open Systems Lab.
  3. 3. Evaluate said code, keeping notes on basic implementation for utility integration (and possible later redesign).
  4. 4. Meet with Map Building team to discuss possible path-building hooks in the provided map.
  5. 5. Meet with Information Browser team to evaluate future integration difficulties, if any.
  6. 6. Deliver final report on Map Services team status at end of quarter.

4.4.2 Path Generation

  1. 1. Develop a Breadth First Search algorithm for optimal path generation given rele vant data points.
  2. 2. Design necessary object classes and relationships in NewtonScript.
  3. 3. Call for modification of Cyberguide or Map Building tool (if necessary) to provide necessary data relationships.
  4. 4. Implement utility design in NewtonScript.
  5. 5. Test, debug, and redesign as necessary.

4.4.3 Map History

  1. 1. Design necessary object classes and relationships in NewtonScript.
  2. 2. Implement utility design in NewtonScript.
  3. 3. Test, debug, and redesign as necessary.

4.5 Team Schedule:

4.5.1 Analysis

4.5.2 Path Generation

4.5.3 Map History

4.6 Project Risks:

The following are considered risks to the Map Services portion of the project, in order of estimated likelihood:

4.6.1 Lack of Data Hooks

There may be no manageable way of extrapolating necessary data from the given map (currently a bitmap).

SOLUTION:

Redesign the map data structure, or provide additional path information concurrent to the map.

DAMAGES:

The Map Builder tool may have to be reworked or modified. Cyberguide code may have to be modified for Map History information.

4.6.2 Lack of Processing Ability

Given Newton processor speed or inherent limitations in the NewtonScript language, there may be no efficient way of conducting a breadth-first search of applicable data points.

SOLUTION:

Find a different algorithm to generate the path. (Depth-first search?)

DAMAGES:

Design time lost; possible failure to generate optimal path.

4.6.3 Design Changes

Changes in the Cyberguide system, possibly deriving from the Information Browser team or from code redesign, may render the Map Services utilities unusable.

SOLUTION:

Modular code; stay informed of any new developments; make code requiring fewer data hooks.

DAMAGES:

Possible time lost; utilities may lose some functionality if data hooks are revised or removed.

4.6.4 Unmanageable Code

Because Cyberguide has gone through several iterations of the rapid-prototyping cycle, some aspects of the design may be too damaged or lack the necessary functionality for Map Services.

SOLUTION:

Redesign and reintegrate vital portions of Cyberguide.

DAMAGES:

Redesign is a MAJOR undertaking, and out of the scope of this project team. The Team Project Plan may have to be rewritten.

5.0 Data Tool Team

5.1 Project Task:

The current method of setting up a tour for transfer to the Newton is somewhat tedious. It requires the user to deal with some of the raw data structures that underly the Cyberguide, and this is seen as undesirable.

We would like to build a tool that streamlines this process, and hides details of the pro grams operation from the user preparing the demo.

5.2 Team Description:

Daniel Bassett - Team Leader
dbassett@cc.gatech.edu

As team leader/member of the Data Tool team, he is responsible for:

Chris Goodrum
grendel@cc.gatech.edu

As team member of the Data Tool team, he is responsible for:

5.3 Team Goals:

  1. 1. Analyze the information needs of the Cyberguide.
  2. 2. Develop a data format for the Cyberguide. (to be done in conjunction with the Info browser group)
  3. 3. Determine whether any currently existing tools can be used with little or no modifica tions.
  4. 4. Design and implement a set of tools for creating and managing Cyberguide tours.

5.4 Team Activities & Schedule:

5.4.1 January 17 -- January 26

5.4.2 January 27 -- February 2

5.4.3 February 3 -- February 9

5.4.4 February 10 -- February 22

5.4.5 February 22 -- March 9

5.5 Project Risks:

5.5.1 Dependence on Infobrowser being correctly and completely implemented.

SOLUTION:

Modify the design of the tool to produce data that can be used by the current design.

5.5.2 Existing tools cannot be used.

SOLUTION:

Create a tool to manipulate the bitmaps and for selecting hot spots.

5.5.3 Transferring data to the Newton proves to be me challenging than expected.

SOLUTION:

Shift schedule to accommodate additional research and development of a solution.

5.5.4 Selected platform proves to be inadequate or unacceptable.

SOLUTION:

Shift to another workstation platform.

6.0 Network Team

6.1 Project Task:

There are two areas of Cyberguide networking: 1) wired networking between a UNIX sys tem and Cyberguide, and 2) a wireless infrared network. Both of these networks will be able to achieve two-way communication.

The wired network system includes connecting a Cyberguide unit to a UNIX box to estab lish a communication link. The person holding the Cyberguide will be able to send e-mail and retrieve information via the link. By allowing direct and immediate communication, this will be a convenient extension to the existing Cyberguide system.

The wireless infrared network will handle communication between a central server and various Cyberguide units. The network will allow useful features such as message broad casting and peer location. Since Cyberguide already has built-in infrared communication capability, developing the network based on infrared is a feasible attempt. Due to time and technical resource restraints, we will build a network simulator by the end of the quar ter.

6.2 Team Description:

Eugene Liu - Team Leader
eliu@cc.gatech.edu
(404)352-1813

Kevin Cloudt - Software Engineer
gt5258b@prism.gatech.edu
(404)206-4411

Robert "Bear" Marples - Team Architect
gt3642b@prism.gatech.edu
(404)874-8847

Rich Bails - Schedule Manager/Software Engineer
richb@cc.gatech.edu

Trevor Toth - Technical Writer
gt1844a@prism.gatech.edu

Michael Minori - Software Engineer
twelve@cc.gatech.edu
(404)206-4223

Michael Minori will work closely with Sue Long (suelong@cc.gatech.edu) in porting an existing protocol software (LlamaTalk) to UNIX.

6.3 Team Goals:

  1. 1. Learn Newton programming
  2. 2. Learn and experiment with the Newton hardware
  3. 3. Produce various documents and keep them most up-to-date (e.g. team project plan, requirements plan, user's manual, etc.)
  4. 4. Porting the LlamaTalk protocol to UNIX
  5. 5. Develop a working simulation of the wireless network

6.4 Team Activities:

  1. 1. Attend Newton tutorial sessions and access related material (e.g. experienced people, books, newsgroups, etc.)
  2. 2. Find official specifications for the Newton hardware; run experiments in determining information such as IR range, speed, etc.
  3. 3. Coordinate the Technical Writer in producing and updating various documents, espe cially on the World Wide Web.
  4. 4. Translating Pascal code into UNIX C; understand how LlamaTalk operates
  5. 5. Programming the Newton in order to run simulations; programming the server platform (possibly UNIX) to run simulations; build the necessary hardware (if any) to run simu lations

6.5 Team Schedule:

The schedule for the Cyberguide Network Team is hard to determine at this moment. Since the team will work closely with Professor Chris Atkeson, it is crucial we have a meeting with him early on in this stage. After a formal meeting, we will be able to prepare a more precise schedule.

6.5.1 Week ending 1/20/96

6.5.2 Week ending 1/27/96

6.6 Project Risks:

6.6.1 Leaving of one or more team members.

SOLUTION:

Redistribute responsibilities and tasks.

DAMAGE:

Each team member will be responsible for more things and acquire a heavier workload.

6.6.2 Unable to acquire necessary hardware for the project.

SOLUTION:

Seek an alternative hardware or workaround; or abandon the tasks related to the specific risk.

DAMAGE:

Slowing down progress; spend extra time on finding alternative; spend extra money in finding alternative; and maybe abandoning parts of the project at a greater scope.

6.6.3 Conflicting schedules.

SOLUTION:

Meet with those who cannot attend announced meetings separately or keep constant con tact.

DAMAGE:

Slows down the whole team sometimes; more time spent on meetings; and extra time spent on communication.

7.0 Information Browser Team

7.1 Project Task:

7.1.1 The Information Browser

The information browser is a tool which would allow the Apple Newton to convert html files into linked pages on the Newton itself. Rather than build a database to store large amounts of information on GVU projects and personnel, a properly developed information browser would download (either wireless or serial) existing html links and format them for use on the Newton. The information browser will most likely be implemented on an existing utility for the Newton, and would be closely tied to the map builder tool.

7.1.2 Scope of the project

7.2 Team description:

Danny Lentz
gt6933c@prism.gatech.edu
(770)441-7908

Prabhath Valiveti
johnny99@cc.gatech.edu
(404)609-9856

7.3 Team Goals:

7.3.1 Learning:

To become familiar with the Newton Bookmaker utility. This means being able to write scripts and navigate efficiently within the tool.

7.3.2 Coordination:

To be able to effectively communicate with the map builder team in order to keep both projects consistent. Both projects are dependent on the other, so this is a key goal.

7.3.3 Documentation:

To be able to properly document all of the following key areas throughout the project:

- Schedule slippage - Software effort - Any substantial additional costs - Development of the information browser

7.3.4 Building:

To be able to begin substantial development on the information browser. This goal entails all of the first three, but it can be viewed as long term goal, that is to continue coding, documenting, and learning throughout the development period.

7.3.5 Assessment:

To be able to periodically assess the state of the project, both as our "piece" and as a whole.

7.3.6 Functionality:

To be able to code the information browser so that it can convert existing html documents to Newton books. The browser can also maintain the html links that were originally downloaded.

7.4 Team Activities:

7.4.1 Learning:

  1. 1. Go through the NTK tutorial to become familiar with Newton programming.
  2. 2. Speak to Sue Long about the Newton Bookmaker utility.
  3. 3. Evaluate/Examine the Bookmaker utility to understand basic functionality.
  4. 4. Begin preliminary testing on html to books conversion i.e what are the results?
  5. 5. Write basic scripts in order to become familiar with the scripting environment.

7.4.2 Coordination:

  1. 1. Have an initial meeting with the map builder team to work on conceptual ideas.
  2. 2. Establish set meeting times (on a weekly basis) to continue coordination, especially in the coding stage.
  3. 3. Appoint liasons between the groups who can communicate whenever necessary.
  4. 4. Develop the software conjunctly on a periodic basis.

7.4.3 Documentation:

  1. 1. Maintain a "sub" project notebook for the information browser.
  2. 2. Perform scheduled evaluations for the following software development areas:
  1. 3. Assign roles to each group member to keep track of the major software development areas.
  2. 4. Periodic printing of evaluation material so that it can be available to the entire Cyber guide team.

7.4.4 Building:

  1. 1. Have scheduled programming times so that the team can work as a unit in the coding process.
  2. 2. Periodic checks to verify code consistency and control error propagation.
  3. 3. Periodic evaluations of the code to verify the other team members work.
  4. 4. Coordinate opportunities for the map builder team to examine the teams code and func tionality.

7.4.5 Assessment:

  1. 1. Have scheduled intervals where the entire documented process is examined in order to assess the state of the project.
  2. 2. Allow all of the "sub" teams to review the assessment.
  3. 3. Begin, if necessary, new goals and activities for the remainder of the project period.

7.4.6 Functionality:

  1. 1. Assess the functionality of the following areas:
  1. 2. Assess the ability of the software to integrate with the CyberGuide Project as a whole.
  2. 3. Produce documentation to verify the functionality.

7.5 Team Schedule:

7.5.1 Week 1 (Jan 15 - 21)

Jan, Wednesday 17:

Jan, Sunday 21:

7.5.2 Week 2 (Jan 22 - 28)

7.5.3 Week 3 (Jan 29 - Feb 4)

Jan 30th

7.5.4 Week 4 (Feb 5 - 11)

Feb 5th

7.5.5 Week 5 (Feb 12 - 18)

Feb 12th

Feb 17th

7.5.6 Week 6 (Feb 19 - 25)

Feb 20th

Feb 25th

7.5.7 Week 7 (Feb 26 - Mar 3)

March 1

7.5.8 Week 8 (Mar 4 - Mar 10)

March 5

7.6 Project Risks:

7.6.1 Both team members are new to Cyberguide and Macintosh programming.

SOLUTION:

  1. 1. Begin immediate and early immersion in NTK and Newton Bookmaker:
  1. 2. Coordinate extensively with Sue Long and other graduate assistants:

7.6.2 The chosen platform will not allow the desired functionality.

SOLUTION:

  1. 1. Spend time initially researching other html conversion utilities:
  1. 2. Switch platforms if necessary further in the project development period:

7.6.3 The communications platform will limit downloading of html documents.

SOLUTION:

  1. 1. This area is not our teams directly, but our end could be modified to rectify communica tion incompatibility:

7.6.4 The map builder coordination effort will not be compatible, causing redevelopment of one or the other tool.

SOLUTION:

  1. 1. Work with map builder team to modify their software end:
  1. 2. Modify the information browser to be compatible with the map builder:

8.0 Key Personnel

8.1 Project Leader - Robert Duncan

8.2 Domain Expert

8.3 Equipment Manager - Eugene Liu

8.4 Web Manager - Chris Goodrum

8.5 Meeting Manager - Daniel Bassett

8.6 Documentation Manager - Prabhath Valiveti

8.7 Software Manager - Micheal Minori

8.8 Presentation Manager - Stephen Eley


[ Cyberguide Project Notebook ]-[ Cyberguide home page ]-[ FCE home page ]
Last Modified 2/13/95 -- Chris Goodrum (grendel@pobox.com)