Cyberguide Project Plan
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
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.
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
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.
Robert Duncan - Team Leader
robert@cc.gatech.edu
874-0430
As team leader/member of the Outdoor Cyberguide team, he is responsible for:
- infinity Set the schedule for the team
- infinity Act as liason between the team and the Project Leader
- infinity Responsible for the team's overall results
- infinity Guide the direction of the team in conjunction with the Project Leader
- infinity Self-training in Cyberguide, NewtonScript and the Newton Toolkit (NTK)
- infinity Co-software/architecture engineer for team
- infinity Responsible for documentation of design and code
- infinity Documentation Manager for team documents
Derek Abiusi
gtd263a@prism.gatech.edu
892-6818 x.121
As team member of the Outdoor Cyberguide team, he is responsible for:
- infinity Setup of the revision control system for code developed by the team
- infinity Self-training in Cyberguide, NewtonScript and the Newton Toolkit (NTK)
- infinity Co-software/architecture engineer for team
- infinity Responsible for documentation of design and code
- infinity Responsible for procurement of new equipment/hardware
- infinity Equipment Manager for team equipment
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.
We intend to implement our goals via the following activities:
3.4.1 Analysis
- 1. Attend the NewtonScript tutorial session.
- 2. Become familiar with NewtonScript and the Newton Toolkit (NTK).
- 3. Study and examine the existing Cyberguide code.
- 4. Understand interactions between the existing positioning system and the map.
- 5. Learn the map structure used and the formats for information used by the information
browser of Cyberguide.
- 6. Learn how the Newton handles program files, serial input, and SOUPS.
3.4.2 Feasibility
Phase One:
- 1. Become familiar with the GPS equipment and the specs. of the output format over a
serial connection.
- 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. Determine map size constraints (estimate available memory).
- 4. Meet with the map builder tool team to discuss future map format.
- 5. Develop approach for development of phase one.
Phase Two:
- 6. Examine scrolling limitations and map detail constraints given processor speed and
capability.
- 7. Investigate use of existing technology developed for other products.
- 8. Establish scheme for translating GPS coordinates directly to non-discrete positions on
map.
- 9. Develop approach for development of phase two.
3.4.3 Outdoor Cyberguide
Phase One:
- 1. Replace the Motorola IR circuitry with the GPS device and integrate into the existing
Cyberguide system using discrete positional updates at fixed locations.
- infinity Develop design of object classes, methods and interactions with existing Cyber
guide objects classes.
- infinity Develop the objects in NewtonScript and integrate with the existing code.
- infinity Test, redesign, and rebuild as needed.
Phase Two:
- 2. Improve the positional update on the map with the intention to produce a non-discrete
position, scrolling map.
- infinity Develop design of object classes, methods and interactions with existing Cyber
guide objects classes.
- infinity Develop the objects in NewtonScript and integrate with the existing code.
- infinity Test, redesign, and rebuild as needed.
3.5.1 Analysis
- infinity Activity 1. January 17
- infinity Activity 2. January 17 - Ongoing
- infinity Activity 3. January 20 - January 21
- infinity Activity 4. January 20 - Ongoing
- infinity Activity 5. January 21 - January 23
- infinity Activity 6. January 21 - January 23
3.5.2 Feasibility
- infinity Activity 1. January 19
- infinity Activity 2. January 23 - January 25
- infinity Activity 3. January 23 - January 25
- infinity Activity 4. January 25
- infinity Activity 5. January 25
- infinity Activity 6. February 2 - February 4
- infinity Activity 7. February 2 - Ongoing
- infinity Activity 8. February 4 - February 6
- infinity Activity 9. February 8
3.5.3 Outdoor Cyberguide
- infinity Activity 1. January 17 - February 8
- infinity Activity 2. February 1 - February 22
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.
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.
Stephen Eley
gt6877c@prism.gatech.edu
892-6579 x.208
Currently the only member of the Map Services Team. He is responsible for:
- infinity Self-training in Cyberguide, Newton, and NTK
- infinity Analysis of current Cyberguide program units
- infinity Design of the new Map Services utilities
- infinity Implementation of Map Services utilities in NewtonScript
- infinity Interfacing with other project teams to ensure compatible development
- infinity Documenting and reporting on Map Services Team status.
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.
We intend to implement our goals via the following activities:
4.4.1 Analysis
- 1. Become familiar with Newton operation and NTK.
- 2. Examine current Cyberguide code in the Open Systems Lab.
- 3. Evaluate said code, keeping notes on basic implementation for utility integration (and
possible later redesign).
- 4. Meet with Map Building team to discuss possible path-building hooks in the provided
map.
- 5. Meet with Information Browser team to evaluate future integration difficulties, if any.
- 6. Deliver final report on Map Services team status at end of quarter.
4.4.2 Path Generation
- 1. Develop a Breadth First Search algorithm for optimal path generation given rele
vant data points.
- 2. Design necessary object classes and relationships in NewtonScript.
- 3. Call for modification of Cyberguide or Map Building tool (if necessary) to provide
necessary data relationships.
- 4. Implement utility design in NewtonScript.
- 5. Test, debug, and redesign as necessary.
4.4.3 Map History
- 1. Design necessary object classes and relationships in NewtonScript.
- 2. Implement utility design in NewtonScript.
- 3. Test, debug, and redesign as necessary.
4.5.1 Analysis
- infinity Activity 1. January 19
- infinity Activity 2. January 22 - January 26
- infinity Activity 3. January 22 - January 26
- infinity Activity 4. February 5 - February 9
- infinity Activity 5. February 5 - February 9
- infinity Activity 6. March 4 - March 8
4.5.2 Path Generation
- infinity Activity 1. January 25 - January 31
- infinity Activity 2. January 29 - February 8
- infinity Activity 3. February 5 - February 9 (if necessary)
- infinity Activity 4. February 12 - February 26
- infinity Activity 5. February 26 - March 4
4.5.3 Map History
- infinity Activity 1. January 26 - February 4
- infinity Activity 2. February 7 - February 15
- infinity Activity 3. February 15 - February 20
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.
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.
Daniel Bassett - Team Leader
dbassett@cc.gatech.edu
As team leader/member of the Data Tool team, he is responsible for:
- infinity Set the schedule for the team
- infinity Act as liason between the team and the Project Leader
- infinity Responsible for the team's overall results
- infinity Guide the direction of the team in conjunction with the Project Leader
- infinity Self-training in Cyberguide, NewtonScript and the Newton Toolkit (NTK)
- infinity Co-software/architecture engineer for team
- infinity Responsible for documentation of design and code
Chris Goodrum
grendel@cc.gatech.edu
As team member of the Data Tool team, he is responsible for:
- infinity Setup of the revision control system for code developed by the team
- infinity Self-training in Cyberguide, NewtonScript and the Newton Toolkit (NTK)
- infinity Co-software/architecture engineer for team
- infinity Responsible for documentation of design and code
- 1. Analyze the information needs of the Cyberguide.
- 2. Develop a data format for the Cyberguide. (to be done in conjunction with the Info
browser group)
- 3. Determine whether any currently existing tools can be used with little or no modifica
tions.
- 4. Design and implement a set of tools for creating and managing Cyberguide tours.
5.4.1 January 17 -- January 26
- infinity Meet with the Infobrowser group to discuss data format needs.
- infinity Research existing utilities and tools. Specifically, determine whether current tools for
creating HTML ISMAP files will be acceptable.
5.4.2 January 27 -- February 2
- infinity Research methods of transferring data to the Newton from a workstation.
5.4.3 February 3 -- February 9
- infinity Complete design of data format and survey of available tools.
- infinity Determine what workstation platform to build the tool for.
- infinity Begin implementation of tool on selected platform.
5.4.4 February 10 -- February 22
- infinity Complete implementation of tool.
5.4.5 February 22 -- March 9
- infinity Perform usability study on tool.
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.
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.
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.
- 1. Learn Newton programming
- 2. Learn and experiment with the Newton hardware
- 3. Produce various documents and keep them most up-to-date (e.g. team project plan,
requirements plan, user's manual, etc.)
- 4. Porting the LlamaTalk protocol to UNIX
- 5. Develop a working simulation of the wireless network
- 1. Attend Newton tutorial sessions and access related material (e.g. experienced people,
books, newsgroups, etc.)
- 2. Find official specifications for the Newton hardware; run experiments in determining
information such as IR range, speed, etc.
- 3. Coordinate the Technical Writer in producing and updating various documents, espe
cially on the World Wide Web.
- 4. Translating Pascal code into UNIX C; understand how LlamaTalk operates
- 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
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
- infinity Produce the team project plan.
- infinity Systematic understanding of the existing Cyberguide.
- infinity Acquire some hands-on experience with Newton programming
6.5.2 Week ending 1/27/96
- infinity Meet with Prof. Chris Atkeson to discuss further administrative and technical detail.
- infinity Complete Newton programming training.
- infinity Experiment with different infrared communication hardware (the existing Newton IR
and the Sharp IR).
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.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
- infinity The information browser is intended to manipulate existing html files for viewing on
the Newton.
- infinity The browser will have the capability to maintain the links which are part of the html
code.
- infinity The browser will use the mapbuilder tool being developed by Chris and Daniel in order
to maintain consistency between the two projects.
- infinity The team will not concern itself with maintaining communications, wireless or serial,
between the machine providing the html code and the Newton itself.
- infinity The team will also not attempt to modify the Bookmaker program which handles the
conversion of html code to Newton books. Instead, the output and input will be format
ted appropriately with scripts.
Danny Lentz
gt6933c@prism.gatech.edu
(770)441-7908
- infinity Learn the Newton Bookmaker tool.
- infinity Coding the appropriate input and output scripts.
- infinity Coordinate with the map builder team in order to ensure compatibility.
- infinity Maintain documentation on schedule slippage for the project.
Prabhath Valiveti
johnny99@cc.gatech.edu
(404)609-9856
- infinity Learn the Newton Bookmaker tool.
- infinity Coding the appropriate input and output scripts.
- infinity Produce documentation for activities undertaken by the team.
- infinity Maintain documentation on software effort and any costs that arise.
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.1 Learning:
- 1. Go through the NTK tutorial to become familiar with Newton programming.
- 2. Speak to Sue Long about the Newton Bookmaker utility.
- 3. Evaluate/Examine the Bookmaker utility to understand basic functionality.
- 4. Begin preliminary testing on html to books conversion i.e what are the results?
- 5. Write basic scripts in order to become familiar with the scripting environment.
7.4.2 Coordination:
- 1. Have an initial meeting with the map builder team to work on conceptual ideas.
- 2. Establish set meeting times (on a weekly basis) to continue coordination, especially in
the coding stage.
- 3. Appoint liasons between the groups who can communicate whenever necessary.
- 4. Develop the software conjunctly on a periodic basis.
7.4.3 Documentation:
- 1. Maintain a "sub" project notebook for the information browser.
- 2. Perform scheduled evaluations for the following software development areas:
- infinity Schedule slippage
- infinity Software effort
- infinity Software costs
- infinity Development or goal changes
- 3. Assign roles to each group member to keep track of the major software development
areas.
- 4. Periodic printing of evaluation material so that it can be available to the entire Cyber
guide team.
7.4.4 Building:
- 1. Have scheduled programming times so that the team can work as a unit in the coding
process.
- 2. Periodic checks to verify code consistency and control error propagation.
- 3. Periodic evaluations of the code to verify the other team members work.
- 4. Coordinate opportunities for the map builder team to examine the teams code and func
tionality.
7.4.5 Assessment:
- 1. Have scheduled intervals where the entire documented process is examined in order to
assess the state of the project.
- 2. Allow all of the "sub" teams to review the assessment.
- 3. Begin, if necessary, new goals and activities for the remainder of the project period.
7.4.6 Functionality:
- 1. Assess the functionality of the following areas:
- infinity Ability to receive html format
- infinity Ability to convert html format
- infinity Ability to create viable Newton books
- infinity Ability to maintain html links as Newton books
- infinity Ability to interface with the Map Builder tool
- 2. Assess the ability of the software to integrate with the CyberGuide Project as a whole.
- 3. Produce documentation to verify the functionality.
7.5.1 Week 1 (Jan 15 - 21)
- infinity Develop project plan [Prabhath]
Jan, Wednesday 17:
- infinity Begin NTK Tutorials and Bookmaker examinations. This will continue until Jan. 21, at
various times. [Danny and Prabhath]
Jan, Sunday 21:
- infinity Meet with Mapbuilder team to agree on platform and conceptual direction. [Danny and
Prabhath]
7.5.2 Week 2 (Jan 22 - 28)
- infinity Begin preliminary coding and functionality. [Danny and Prabhath]
- infinity Begin documenting development process [Prabhath]
- infinity Begin documenting schedule changes [Danny]
- infinity Set a meeting time to meet with map builder group to discuss progress
- infinity Please note that Week 2 will be a basic plan for activities for a typical week. The rest of
the schedule contains dates that are milestones that we set:
7.5.3 Week 3 (Jan 29 - Feb 4)
Jan 30th
- infinity Assessment period, to track programmer proficiency and essentially finish
design period
7.5.4 Week 4 (Feb 5 - 11)
Feb 5th
- infinity Have become proficient in the Newton Bookmaker platform and can write scripts.
- infinity Preliminary scripts and design ideas are completed.
7.5.5 Week 5 (Feb 12 - 18)
Feb 12th
- infinity Write scripts for accepting html input.
Feb 17th
- infinity Work on conversion process. In other words attempt to ensure that the html code is
properly turned into Newton Books.
7.5.6 Week 6 (Feb 19 - 25)
Feb 20th
- infinity Reassessment period.
Feb 25th
- infinity The output should be in Newton Book form and html links will be preserved in the
book format.
7.5.7 Week 7 (Feb 26 - Mar 3)
March 1
- infinity The Map Builder tool should be integrated with the Information Browser.
7.5.8 Week 8 (Mar 4 - Mar 10)
March 5
- infinity Prepared final documentation with schedule slippage, costs, efforts, and the develop
ment process should be ready.
7.6.1 Both team members are new to Cyberguide and Macintosh programming.
SOLUTION:
- 1. Begin immediate and early immersion in NTK and Newton Bookmaker:
- infinity impossible to calculate time necessary for familiarity
- infinity inherent complexity within platform cannot be overcome, even with tutorials.
- 2. Coordinate extensively with Sue Long and other graduate assistants:
- infinity Will take time away from actually completing project
- infinity Less learning and more mimicing of code
7.6.2 The chosen platform will not allow the desired functionality.
SOLUTION:
- 1. Spend time initially researching other html conversion utilities:
- infinity Will cause schedule slippage
- infinity Using other platforms may not allow us to be advised by other members of the
Cyberguide team
- 2. Switch platforms if necessary further in the project development period:
- infinity Obvious schedule slippage, much more extensive
- infinity Problems with overall system compatibility
7.6.3 The communications platform will limit downloading of html documents.
SOLUTION:
- 1. This area is not our teams directly, but our end could be modified to rectify communica
tion incompatibility:
- infinity Lack of communication knowledge could slow project down
- infinity Major changes could be necessary if the communication tools are not examined
carefully
- infinity Script rewrites would also be likely
7.6.4 The map builder coordination effort will not be compatible, causing
redevelopment of one or the other tool.
SOLUTION:
- 1. Work with map builder team to modify their software end:
- infinity Lack of experience might not help such an effort
- infinity The difficulty in modifying the map builder tool is difficult to estimate beforehand.
- infinity Once again schedule slippage is likely
- 2. Modify the information browser to be compatible with the map builder:
- infinity Act as liaison between the Project Team and the instructor (Mike McCracken) and the
sponsor (Gregory Abowd).
- infinity Set the schedule for the project.
- infinity Guide the direction of the project in conjunction with the sponsor.
- infinity Responsible for the project's overall results.
- infinity Aid other project members in learning NewtonScript.
- infinity Aid other project members in understanding the NTK.
- infinity Act as software engineer as needed for the various teams.
- infinity Keep track of equipment whereabouts at all times.
- infinity Make sure that batteries are charged and ready for use.
- infinity Have faulty or damaged equipment repaired or replaced (if feasible).
- infinity Responsible for the location of the equipment.
- infinity Convert FrameMaker documentation to HTML when needed.
- infinity Maintain the Cyberguide web page with helpful links.
- infinity Responsible for the Cyberguide page content.
- infinity Take meeting minutes.
- infinity Develop and coordinate meeting agendas with faculty advisor.
- infinity Make sure the meeting is following the meeting agenda.
- infinity Responsible for maintaining and distributing meeting minutes.
- infinity Responsible for quality of the documentation.
- infinity Make sure the documentation is up to date.
- infinity Establish and setup revision control system for software files
- infinity Make sure that software is being well commented.
- infinity Backup software files on a regular basis.
- infinity Organize presentations
- infinity Make sure everyone is doing their part in the presentations
- infinity Responsible for the quality of the presentations
[ Cyberguide Project Notebook ]-[ Cyberguide home page ]-[ FCE home page ]
Last Modified 2/13/95 --
Chris Goodrum
(grendel@pobox.com)