Schedule for Dale Larson/Bolt (based on "doing it right")


NOTES:

Contract extention or employment is assumed but problematic.

When Rich's office is freed up, the whole networking room will be rearranged,
resulting in a minimum 2-day disruption which isn't in the schedule.

No holidays or vacation days have been accounted for, but this is not currently
much of a consideration because I have no paid holidays or vacations.

Possible disruptions from DevCon have not been considered.  I should
review/proofread several of the papers.  I am not currently scheduled to
attend DevCon, but it is possible that more people will be sent to Denver.
John Toebes, at least, thinks that Bolt driver writing is a damn good
candidate for a Denver DevCon talk.  Additionally, Martin is unlikely to
protest a little help for his "sockets on the Amiga" talk.  Finally, I am
well-qualified to give an introductory to advanced talk on the design of user
interfaces (as opposed to the proper implementation of user interfaces).

It is unclear whether and where it fits in the schedule, but I would like to
spend at least one week reviewing and commenting on server draft RKM chapters.
Since I enjoy working with documentation, I will do at least some of this
outside my normal working hours, but I think it is reasonable to schedule a
full week of my time for it.  The RKMs should benefit and I should learn new
things, thus becoming more productive in the long-term.

Optimization is not accounted for in this schedule.  Testing with the
UDP driver should indicate acceptable performance without optimization, but
some optimization should be done for a future release.
-=-=-=-=-


(minimally) clean up source:
	remove obsolete header stuff, create an external (driver) header
	automate debugging vs. production compilation
	sketchy internal autodocs
	detailed explanations for tricky design issues (the handler's pakcet-
	queue and other mysteries)
	enforce consistent source style
%%2 WEEKS%% (14 June)

->shared socket library (17 June)
<-assist in testing and documentation of shared socket library
%%2 WEEKS%% (1 July)

**non-optimized early alpha upd driver (already partially complete)
%%2 WEEKS%%(15 July)

->early alpha testing of udp driver in-house by networking and graphics
->code review of driver by Hunt and Toebes (if he's willing)
initial bug fixes to udp driver
**re-evaluation of driver interface and state of handler and server
%%1 WEEK%% (22 July)

(the schedule from this point forward assumes a re-evaluation which uncovers
no previously undetected major problems).

<-testing of Martin's ss versions of Berkley networking utilities
initial draft user docs for Bolt with UDP (AS225)
**alpha binaries to AS225 testers (PA, engineering, external)
%%2 WEEKS%% (5 August)

<-testing of Martin's ss versions of Berkley networking utilities
clean up driver
document driver interface:
	clean up and refine NET-xxx.library interface
	write notes on implementing a driver
	clean up library autodocs
misc. server/handler bugs, including:
	config file parsers
	handler's filename parser
	requesters
		add code for requesters
		add calls to above code for unusual error conditions
	handler screws up if not also running server
	multiple-driver (local driver?) problem with first non-existent node
	handler must return pending packets when node times out
	decide many UI issues and write any required prefs editors, etc.
->code review of interesting sections by various software engineers
**first beta binaries to AS225 testers (there will be earlier alpha updates)
%%8 WEEKS%% (30 September)

clean up handler, server, driver
informal user testing of installation and use
finish user docs for Bolt with UDP, hand off to documentation department
decide on whether a second beta test is needed here (probably!)
->code review of all changes between final beta and release
** release Bolt 1.0 for AS225
%%6 WEEKS%% (12 November)

additional bug fixes as additional bugs are found
-> cheap hardware -> SANA2 driver for hardware
-> finished SANA2 driver for ethernet
-> minimal protocol (can be done independent of hardware, but must have SANA2
driver for hardware before Workshop release)
-> protocol configuration preferences editor
->'ping' type command and other diagnostics for new protocol
Bolt driver for minimal protocol
user docs for Bolt and SANA2/minimal protocol (net)
**Workshop 1.0 beta**
%%6 WEEKS%% (date dependent on externals)

bug fixes, refinements, documentation updates
**Workshop 1.0 release**
%%4 WEEKS%%

**possible 1.1 bug fix only release of Bolt for AS225 and/or Worshop

passwd program
	test/add login and password packets
	finish GUI of passwd program
	graft sending of login/password packets onto the GUI
remote 'info' type command
server monitor program
	Should be able to determine who is accessing what files in which ways,
	at what transfer rates and with what efficiencies.  Design not yet
	begun.
add 'upload' permission -- write only
interactive file handles
->print spooler
2.0 packet support
->cleaned up protocol (unless it has no bugs)
fix known bugs
update manual

**Bolt 2.0 for AS225 release**
**Workshop 2.0 release**
%%3-6 months %%
