[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

October Technical Status Report



Introduction

>From time to time during the first year of Xanadu's development 
epic, I wrote reports on The Status of Xanadu. This report had 
an eye focused on our schedule, and another eye on any technical 
issues we were facing.  I stopped publishing  those missives 
in August of last year. At that time, we started holding monthly 
meetings at Autodesk;  I allowed those meetings to supercede 
the status reports as a form of communication.

Well, those meetings are no longer ongoing. So I herewith return 
to my old policy of periodic status reports on the xanatech channel. 


In the old days, I had a very reliable technical indicator of 
when I needed to do a status report. A new report was clearly 
indicated whenever I needed to do a new PERT chart.

Astonishingly, that is no longer a reliable indicator. My current 
PERT chart was created in May; believe it or not, that PERT chart 
is still just fine, at least for the server. Things have been 
eerily stable on that front.

However, Tapestry is still getting redesigned periodically, so 
I can use changes in the Tapestry part of the PERT to schedule 
these reviews :-)

So, what is the Status of Xanadu? The bottom line, for those 
who do not wish to read this entire missive, is that we are looking 
very good for a First Restricted Developer Release of the server 
this year, approximately on the schedule conceived in May. Tapestry, 
however, has slipped another 3 months. 

Because the server is our most important project, overall I rate 
this as wonderful news.

Server Status

The last Pert Chart that I cast in May predicted that we would 
have the Server ready for First Restricted  Release on November 
6. Believe it or not, this is still possible: we are within weeks 
of being ready, right now.

 The permissions system, which was the stalking horse that drove 
the Nove. 6 date, is effectively done. The snarf-ent interface 
took longer than planned, but stamps & berts garbage collection 
took less time, compensating for that; we also finished the
recorders/sensors in championship time. 

The only incomplete software component is the the snarf layer 
and its interfaces: basically these pieces are required  to write 
to disk (and subsequently read back :-) When that is complete, 
we will have completed all the technical work needed for a first 
release.

For those of you interested in truth in advertising, this is 
a slightly weakened rendition of "good enough for first release" 
from my historical definition. On all the PERTs, the first release 
includes "bogus archiving", i.e., the FeBe level interface to 
archiving.  I believe that developers would be able to do a lot 
of wonderful work without the archiving interface, so I'm inclined 
to relax that requirement.

On the flip side, an actual release requires items that I never 
allocated resources for on the formal PERT chart. There are two 
of these: documentation, and starter wheels. Bob Perez had responsibility 
for these tasks, and he seemed to have them in hand; however, 
as many of you know, Bob  left the company for family reasons, 
quite suddenly, in September. I will address the documentation 
and the starter wheels tasks as separate topics in a moment.

The bottom line on all of this is still that we are very close 
indeed to being ready for first restricted release. I have started 
to browse our contacts databases for people who might qualify 
as being Outside Developer Number 1: somebody who lives close 
at hand, who is eager, who uses a Sun, preferably with C++, and 
who will not be ruined by the experience if it doesn't work out. 
Xerox PARC or Stanford would be perfect; we'll see who volunteers 
as sacrificial lambs now that we're talking serious development 
effort.

Documentation

There are about 1600 classes and methods in FeBe (according to 
rick, who had to count while building interfaces to Montage :-). 
 Each of these puppies must be documented--or must be explicitly 
culled from the developer interface.

 Some day in the couple of weeks, we will start a massive documentation 
campaign, involving over half the team. I hope this first-draft 
writing will take no more than two weeks; I have a variety of 
schemes in mind to keep the motivation high during this egregious 
but critical time. 

For the most part, we will create the documentation as comments 
in Smalltalk using tools for documentation-prompting we have 
developed there. Then, through the magic of automation, we will 
extract and translate the comments into a richly interlinked 
hypertext that appears in similar forms on different platforms. 
 Mac users will receive the documentation in Hypercard. Windows 
3.0 users will receive a Toolbook version. People who have just 
stripped-DOS machines (any 8088 with 400K of RAM will do),  will 
receive the Hyperpad version. 

Most of the toolwork for this automated process is already in 
place. The results will be rough and ready, but I believe our 
hypertextual documentation will be not only less expensive in 
developer time to produce, it will also be more effective than 
paper (though developers will be able to get it on paper, too, 
if they want to read it by the fireplace). 

I will be starting a discussion of what the documentation should 
look like on Xanatech in the next few days. After a couple of 
rounds of disagreement, enough to get all the ideas aired, I'll 
gather the unlucky volunteers for this job and work out a decision 
:-)

Training Wheels, Aka Spire

Raw documentation, even hypertextually fast and organized, is 
probably not enough help when there are 1600 places to start 
from. We have good indications that developers will face a severe 
problem getting started, a problem known as Developer Xanashock. 
Xanashock has been experienced to varying degrees by every new 
person who has gotten involved with Xanadu for the past year 
and a half, from hugh hoover to rick mascitti. It is the sense 
of being overwhelmed by chunks of software you don't understand, 
which have no purpose, yet which are required, because the guys 
who wrote the Server saw fit to compel you to use them.

Developer Xanashock can destroy Xanadu as effectively as poor 
performance or major bugs.

Part of Bob Perez's legacy to Xanadu was a rudimentary design 
for the toolkit intended to overcome Xanashock: Spire.  Spire 
is the high-level, easy to use C interface to Xanadu that will 
hopefully give our users 80% of the server's functionality with 
only 20% of the training cost. Ideally, this 80% functionality 
should encompass 100% of the abilities needed for 80% of all 
applications; Spire Release 1 will probably not quite reach this 
glorious goal :-) 

So far, I have not yet created a proper schedule for Spire. We 
do hope to have "miniSpire", enough of the toolkit so you can 
create a document and a link, in a couple of weeks. At that point 
I will create an earnest schedule for the rest of the task. If 
miniSpire in conjunction with our documentation seems adequate 
to get our first developers going, we may declare miniSpire to 
be Spire Release 1 and go on from there. 

Does that approach sound market-driven, or what? If our developers 
need a more powerful Spire, we will develop it then. If not, 
we'll do something more rewarding. Are we ready for market forces? 
Yeeaahh!! Hallelujah! :-)
 
Tapestry

One of the reasons the Server is in good shape is that, once 
again, I have sacrificed Tapestry efforts whenever warranted 
to keep the Server on schedule. Tapestry has also become the 
sacrificial lamb whenever we need resources for Spire, due to 
the strong indications that Spire will be critical to the Server's 
success.

A couple of tasks with Tapestry have taken much longer than anticipated. 
Text editing within the Tapestry context took much longer to 
implement than we estimated. And we lost more time than we should 
have, trying to make the platform-specific parts of the system 
work on the Mac (which we have temporarily abandoned because 
of compiler problems).

The upshot of all this is that our schedule has slipped almost 
3 months.  For an all-features release, the new PERT shows a 
slip from Feb. 25 to May 13. This schedule assumes that ravi 
and dean complete their respective server and Spire tasks by 
December, so that they may pitch in and help with Tapestry from 
there on out.

Conclusion

Anyway, that's where we stand. There's still a lot left to do 
before we can shrinkwrap. There is even more left to do before 
we may fulfill our destiny. And yet, where we stand today is 
certainly the best place we've ever stood, in all the history 
of the Xanadu project.

I would be happy to answer any additional questions anyone has.


--marcs