[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
October Technical Status Report
- To: <xanatech>
- Subject: October Technical Status Report
- From: Marc Stiegler <marcs>
- Date: Wed, 24 Oct 90 14:58:38 PDT
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