Habitat Chip's 1986 Quantum Link Diaries

From Reno Project
Revision as of 01:33, 20 March 2021 by Stu (talk | contribs)


January

3-Jan-86

3-Jan-86 1pm. Talked to Marc on phone.  Acknowledged reciept of two fedex
listings of communications software.  Complemented his 6502 programmer on good
code.  Confirmed visit for next week is still on.  Discussed demo needs.
Looks like a 'tape recording' of some line interchange will do just fine.
They are going to install instrumentation on their end to capture such data.
Talked about upgrade distribution.  Looks like on-line stuff will work.  Marc
reiterated that their concern is who pays.

7-Jan-86

7-Jan-86 all day.  Had meeting with Marc and Janet.  Introduced them to Randy
and showed them balloon-o-matic, discussed communications problems.
Introduced them to Gary and showed them early avatar animation and the cel
editor.  Introduced them to Aric, showed them the animation driver and
discussed animation problems/solutions.  Introduced them to everybody else
(courtesy and cultural background info).

Spent morning discussing the big picture: what the components of their system
are and how they interact, what the components of our system will be, how it
all fits together.  One of their concerns is how we balance the load when the
number of users gets large.  What they have to be able to do is spread the
host's job over a bunch of separate computers running concurrently.
Fortunately, our design makes this quite easy.  In fact, it turns out that
they will probably be able to use their existing software that that supports
their room-oriented chat system as the basis for the host database handler.

Took them to lunch at the Ranch.  They were suitably impressed and ooh'ed and
ah'ed at all the right things.

Spent the afternoon discussing who had to do what to get the thing going.
They will do the host remote procedure call object behavior lookup system
(Looi).  We will provide the object behavior software routines themselves.
They will do the host-end object database software.  We will specify the
layout of the host database and actually provide the data to go into it.  They
will provide tools for entering this data into their system and for altering
it once it is already there.  We will provide advice on what these tools
should be as part of the database specification.  They will provide routines
so that the object behavior code can get at the contents of the database
easily.  In the process of figuring this all out we redesigned the
communications protocol and the object reference and naming scheme in order to
solve some problems which Marc identified.  The result is greatly superior to
what we had before in every respect.  Lots of ideas were generated and both
Marc and Janet got real excited.  They even started talking about the eventual
need to do "MicroCosm II" (for fancier machines with faster communications)
someday after MicroCosm is a big hit.

We talked intermittently about the game itself and the MicroCosm fantasy.  We
discussed the avatar and turf customization kits and what sort of interface to
the system they would require.  This lead Marc to raise the question of
whether the players would be able to choose where their turves connect into
the world.  I had thought that the locations were fixed, but letting people
fiddle with them in certain constrained ways enables a number of interesting
things to happen, including a real estate marketplace and the formation of
political alliances based on territoriality.

We discussed asynchronous events that can occur within the system.  From our
point of view, the two most significant are the arrival of mail in the
player's electronic mailbox and the arrival of an on-line message from another
player.  We (LFL) need to discuss the extent to which we want to integrate the
communications facilities of the MicroCosm fantasy world (mail, telephone)
with those of the Q-Link system.  In particular, if somebody (who is not
inside MicroCosm) sends you a mail message, can you read it from your
MicroCosm mailbox?

We came up with a list of short-term things for each of us to do.

I am to define the basic layout and contents of the databases that will be
required, to make a first crack at defining what kinds of low-level routines
will be needed to interact with the database, and to think about interactive
tools for constructing and modifying the world model that the databases
contain.  I'm also supposed to spend some time thinking about what sorts of
statistics collection and usage monitoring hooks we want to embed in the
thing.

They are going to start setting up the database structure itself based on my
input.  (They are going to use off-the-shelf database software for the bulk of
it).  They are also going to start hacking around a version of the "rooming
house" software (that which handles "rooms" in their chat utility) to become a
"region monitor" module.  Part of this involves figuring out what sorts of
asynchronous events within the system will be needed to make it work.  They
are also going to work on low-level routines for interrogating and updating
the database.  Also, Marc is going to send us information about the Q-Link
load-file format so that we can have our Commodore 64 software load and run
off of disk under Q-Link's control (i.e., when you select the "MicroCosm" menu
item inside Q-Link).  This will let me write a filter to make our object files
compatible with theirs.

We went out to dinner at the Royal Thai, which they both enjoyed immensely,
except that Marc accidently ate a Thai pepper and had to chug water and
hyperventilate for 15 minutes in order to survive.

Marc is going to CES and offered to take us out to dinner in Las Vegas while
we're there.  Also, there is going to be a giant west coast Commodore Users'
Group meeting in San Francisco on February 6-7 (that's a weekend) which they
are going to be attending.  Marc is going to be on a panel along with
representatives from all their competitors.  He recommended we come to this
meeting, if only to see what kind of people our hard-core customers are going
to be.

13-Jan-86

13-Jan-86 1pm On arrival found message that Marc had called.  Called him back.
Something about putting together dog & pony show for Clive Smith and Commodore
bigwigs.  Didn't go into details because haven't talked to sda yet about what
it's all about.

16-Jan-86

16-Jan-86 Sent off progress report describing activities in December.

17-Jan-86

17-Jan-86 Sent off package with January 15 deliverables (object set document
plus cover letter).
17-Jan-86 Spent day putting together dog and pony disk for Clive.  Sent it off
via Federal Express AND uploaded to Q-Link so that Marc can retrieve it for
insertion into demo Q-Link system.  Talked to Marc on the phone twice, to
discuss upload and delivery arrangements for demo.  He also confirmed reciept
of December progress report and said a reciprocal report would be on its way
soon.

20-Jan-86

 20-Jan-86 11am Called Marc and confirmed reciept of dog & pony demo.  All
seems to be well.
20-Jan-86 noon Called Clive Smith's office to discuss demo disk.  He wasn't in
and will call back (or so his secretary said).

21-Jan-86

21-Jan-86 2:45pm Called Marc, confirmed that he got demo disk working OK.  He
says direct database correspondence to Janet as she will be becoming the
technical contact from now on as she comes up to speed on the project.
21-Jan-86 Sent off database contents document with cover letter to Janet
Hunter at Q-link.
21-Jan-86 2:50pm Called Clive Smith, told him demo was on its way (he was
pleased).  He says he will send demo disk back to us when he is done with his
D&P show, but that he would like a permanent copy for future presentations
when we get around to polishing it up with the appropriate legal incantations
and so on.  He mentioned that he, Steve Cayce and sda will have to get
together SOON to put out some kind of press announcement.  He says the press
is already snooping at the door and that Steve Cayce was approached at CES by
a well-connected reporter who wanted to know what was going on between Quantum
and LFL.

28-Jan-86

28-Jan-86  Fedexed new copy of the communications protocol document (#14) to
Janet Hunter.

29-Jan-86

29-Jan-86 11:14am  Phone conversation with Janet Hunter.  She acknowledged
reciept of protocol document.  She will be starting work on database layout
tomorrow, but will be gone on vacation all next week.  After she gets back
she'll be starting coding in earnest.  I advised her to coordinate with Randy
on the nit-picky communications details.

February

4-Feb-86

4-Feb-86  Returned demo disk from Clive arrived in mail today.

11-Feb-86

11-Feb-86 12:15pm Tried to call Janet Hunter.  She was not there.  Voice who
answered (what a space case he was!) said she was back from vacation but not
there today.  I left a message for her to call be back.

12-Feb-86

12-Feb-86 1:08pm Janet Hunter called.  Said she has been out a couple of days
with the stomache flu and apologized for being a little behind.  Says she has
laid out the preliminary database definitions and is now working on modifying
the People Connection room processor to become a MicroCosm region processor.
I outlined the sequence of events that I'd like to follow, namely: 1) get
barebones region processor up and talking to the comm. line sending out
messages that basically say "I'm alive". 2) get it talking the MicroCosm
protocol so that it can say "I'm alive" to our C64 system. 3) handle the whole
object oriented request dispatch operation with some dummy test objects.  4)
start worrying about fitting in actual MicroCosm objects.  She said that this
would be fine.  I told her to coordinate with Randy as far as getting the
comm. stuff working goes.  We agreed to keep in contact every few days for the
time being.  I will call her again on Friday.  I then transferred her to Randy
to talk communications.

14-Feb-86

14-Feb-86 11:00am Tried to call Janet Hunter.  She wasn't there.  Left
message to call back.
14-Feb-86 afternoon  Janet Hunter called back.  Says everything is going fine.
I told her we had tape ready to go and would be sending it out presently.  She
had some techie questions for Randy about communications, but he's not here
due to weather, so we'll cover those another time.

18-Feb-86

18-Feb-86 11:35am Called Janet Hunter.  Explained about tape being delayed due
to weather delaying our making a copy (as folks who would copy tape for us
went home early).  She said "OK, no problem".  Says she is working on
communciations protocol software.  I handed her off to Randy for techie-talk
about that.

20-Feb-86

20-Feb-86 1:45pm Called Janet Hunter.  Told her about foulup with date on
mid-February deliverables cover letter (it said January when it should have
said February).  She said no problem.  Communications is ready for testing,
though she says Randy should call her before he tries it so as to assure that
she isn't simultaneously trying to run something incompatible.  She said they
got the tape and liked it a lot.  Told her I'd be sending object manual
sometime next week, and that it should give them a more concrete vision of
what their system must do.  She said that would be great.

3-Mar-86

3-Mar-86 2:15pm Janet Hunter called.  Just checking in as we hadn't spoken in
a while.  Long conversation.  She has communications working and is now
building the database.  We discussed strategy for constructing the database.
I described the object definition document.  It seems like what we need is a
face-to-face meeting to resolve various pickyune technical issues relating to
the database, followed by a week or so of development work at their end, then
an extended visit by me to which I come armed with the complete object
definition document and spend several days madly hacking in PL/1 putting the
objects into their system.  I am trying to get the object definition document
finished so she can look at it, but if I can't finish it in the next two or
three days we decided I should send her a few annotated sample pages just to
give her an idea of the kind of thing I'm up to.  We will probably schedule
the f.t.f. meeting next week sometime.  I am to get with sda and figure out
how that should work (me going there or her coming here, timing, etc.).  We
breifly discussed deliverables, and I indicated that the mid-March stuff was
on track except possibly for the demonstration of interaction with objects and
the host, since that requires the host-database system which is not working
yet.  We discussed communications issues and I explained to her that Randy was
out today with the flu but that we had received her new communications test
disk that lets us boot up without needing two simultaneous Q-Link logins as
the present arrangement requires.

6-Mar-86

6-Mar-86 2:30pm Janet Hunter called.  Long technical discussion.  Told her sda
had advised she come out here for next visit since I'd be going there for long
visit.  I raised possibility that we might be able to deal with issues via an
extended conference call rather than a personal trip, and she thought that
this would be a good idea both as a money saver and as a more productive use
of our time.  Says she thinks she will have a partial database engine
(something we can talk to if not use outright) by Wednesday or Thursday of
next week.  We had an extended discussion of the sequence of events involved
in the behavior protocol of messages exchanged between the Commodore 64 and
the host.  I also described the set of communications idioms I was using in
specifying the object behaviors.  We talked about what sorts of resources
would be needed at their end and in particular she asked whether any objects
had time-driven functions.  The parking meter proved to be an example of such
an object, and the day/night cycle also is under similar constraints.  She
thought that these would be no problem.  I also discussed for the first time
the jukebox/radio/stereo idea and she said she'd have to give it some thought
to see how that would operate in practice.  I am to try and get the damn
object spec document done and sent off to her ASAP.  This is going to be dicey
given my time constraints over the next few days.  We agreed that I will call
her tomorrow morning before the Epyx winners' visit to update her on the
prognosis for that.

7-Mar-86

7-Mar-86 10:35am called Janet Hunter.  Confirmed that I didn't get the object
document done last night (we expected I wouldn't) and I told her I'd try real
hard to get it done to have it in tonight's fedex shipment.  She asked how
Randy was coming with the communications software and I told her that he had
it rewritten and was now getting ready to assemble and test it.

12-Mar-86

12-Mar-86 11:50am called Janet Hunter.  Asked her about reconsidering use of
CRC for error detection and substituting a less computation intensive error
detection scheme.  She said this sounded OK to her but had rather far-reaching
system ramifications, so she would bring it up with the other folks there.  I
told her how system integration was coming along (it's coming along fine).
She had a couple of questions.  One was about the integration of Q-Link's
native mail system and on-line message system with MicroCosm.  I told her I
thought integrating OLMs wouldn't work (she agreed) but that integrating mail
was probably both doable and desirable.  I also explained my mail addressing
scheme which she thought would be no problem.  She also asked about the
continuation/termination bit in the message protocol and requested a slight
revision so that her communications processor can distinguish single-packet
messages from multi-packet messages and the start of multi-packet messages
from the rest.  I told her that I'd discuss this with Randy and that one of us
would get back to her on it.  She also said that she was starting integration
of their terminal handler with the MicroCosm database processor there, and
that we should soon be able to talk to a real process!

17-Mar-86

17-Mar-86 1:50pm Janet Hunter called.  Says she is ready to test and wants to
know what sort of test objects to code up.  I said I would talk to the guys
here and get back to her ASAP.  She also said she had finished going over the
object specification document and had some questions about object containment,
which I answered.

21-Mar-86

21-Mar-86 11:10am Called Janet Hunter.  Purpose of call was to cover various
technical issues: 1) any progress on changing CRC to something less CPU
intensive?  Answer: she talked to the other folks there about it, there
reaction was unenthusiastic.  Basically, it can be done, but it won't be done
anytime soon.  More persuasive argument must be pursued.  2) How are the test
objects coming?  Answer: only a few hours from being testable.  I told her we
are ready to test anytime she gives us the relevent parameters.  For the
second level of testing (where the region descriptor tells what objects are
present) she needs to know the format of the region contents vector.  I am to
get this for her.  3) Travel plans: how about me coming out first week in
April?  Answer: first few days of that week (Monday, March 31 to Wednesday,
March 2) she is going to be on vacation.  I don't need a lot of her attention
while there, but what I will need I will need at the start of the coding
session.  It seems the best thing would be for me to fly out there Thursday,
April 3 and depart the Thursday, Friday or Saturday of the following week.
Some more coordination is still needed before we should start making airline
reservations however.  Also, their computers are now overloaded and they don't
have a dedicated development system (which means they can only do development
during off-hours).  This is SUPPOSED to be remedied by then, but you never
know (she is going to look into this too).  4) Tell me various specific
details about the execution environment of the PL/1 code that will implement
the object behavior.  Answer: blah, blah, blah (various technical details).
Additional topics: she would like a copy of our test disk to aid her in her
own testing of the Stratus host.  I said this should be OK and that I would
speak with Randy about it.  She is going to call back in a couple of hours
when she gets the test objects working.

25-Mar-86

25-Mar-86 11:00am Janet Hunter called.  Had some questions about contents
vector definition and the way the object containership relation operated.
There was also a question about whether noids should be represented implicitly
or explicitly in the region contents vector description.  We discussed the
technicalities at some length.  I said I would discuss these matters with
Randy and Aric and get back to her later today.  Also told her about tentative
travel plans (go out there Thursday, April 3, return Saturday, April 12).
Asked her to writeup what she had about PL/1 execution environment of object
behaviors so that I could do as much work as possible in advance, she said she
would do this.  Also asked her to look into setting up remote dial-in access
for us to do development work on their machine, which she agreed to do.

27-Mar-86

27-Mar-86 1:30pm Called Janet Hunter.  Answered previous day's questions about
object identification (we are going to put explicit noids in the contents
vector for the time being, possibly going to implicit noids later once
everything works; I asked her to put instruments on the output channel so we
could see how many bytes this was costing us, which she said she'd do), and
about containership (we'll treat containers as a sort of all-or-nothing thing:
if a container is open, everybody knows what's in it, so the host sends out a
contents vector with every container opening, and when it's closed it's a
black box: nobody knows what's in it).  Also discussed mailer issues (how mail
messages are to be formatted) and names.  Janet asked the question, "do
avatars have names?".  My feeling is that they should, but what good are they?
We can't use them for mailing because of collisions with Q-Link login names.
I thought perhaps they could be "True Names" that are used to obtain magical
power over others, but this idea needs further thought.  Also, Janet is going
to be faxing me a copy of a document, describing the PL/1 environment for
programming objects, tomorrow morning some time.

23-Apr-86

23-Apr-86 9:50am Called Janet Hunter.  Two problems: listing not here yet and
no Telenet access yet.  She said she shipped listing regular UPS not realizing
how long it would take and will reprint and reship via a faster route.  She
says the X25 mods to let us access their development system via Telenet are in
place but she wants to test them before getting us involved.  She will call me
back this afternoon with the info as soon as she's had a chance to check it
out.

24-Apr-86

24-Apr-86 11:15am Called Janet Hunter.  Several things: 1) Randy would like to
have a direct access to MicroCosm disk for testing purposes, so that he
wouldn't have to wait for the whole q-link login procedure every test run.
Janet says this is in the works but won't happen soon.  She also said that the
problem with getting hooked to a computer that didn't have Microcosm is now
fixed.  2) Randy would like to be able to send an INIT message instead of
waiting for a HEARTBEAT message.  Janet says they are working on this, but it
involves changing the semantics of the INIT message so that it doesn't reset
everything and log you off, so it'll be a few days.  3) I want Telenet access
for debugging.  She said they made the mods required to have this happen,
tested it, and it didn't work.  You could log in but you never got a command
interpreter.  This seems to be a Stratus problem and they are currently
conferring with Stratus on the matter.  4) Listing: did she send a new
listing?  Answer: not yet.  She printed a new copy last night and will send it
out this evening if she doesn't hear from us to the contrary before then
(i.e., because the first listing finally arrived).  5) RDL: she was in the
middle of fixing something else for Randy, so she didn't want to talk about it
now, but she'll call back later today.

18-Jul-86

18-Jul-86 11:20am Called Janet.  Discussed ongoing problem with bad data in
Riddle file (the result of an off-by-1 bug in Slur).  Concluded the easiest
fix was just to generate a whole new Riddle file and send it.  Janet is going
to try to get a reliable file transfer utility working today.  She is also
going to try to get us finished rough documentation for the Twiddle utility.
She asked if I could provide her with a list of unfinished components (i.e.,
ones that are in the system spec but which won't be in the beta test).  Since
I had to generate such a list for sda anyhow I said I'd fax her a copy of
that.  She also asked for a list of features which work in the C64 but not on
the host.  I am to try to generate that today also, but that is somewhat lower
priority than the other list.

22-Jul-86

22-Jul-86 1:10pm Call from Clive Smith.  He is concerned about avatar
customization and thinks that heads are not enough.  He harranged me for
several minutes on the subject, and then I explained why things were the way
they were and that we were working on it but technical limitations seemed
pretty strong at this point.  He also said he had some comments on the manual,
but had to take another call before he could tell me what they were.

28-Jul-86

28-Jul-86 2:05pm Called Janet.  Asked about Twiddle: has it been upgraded as
we requested?  Answer: she added create object function and fixed text
handling.  New twiddle.doc file describes new features.  BTW, create object
requests you to provide a new global object id, but if it's already used it
starts searching from there until it finds a free one.  She says the
populopolis data has id's up to about 4830.  We still need to be able to
handle arbitrary objects.  I suggested she could just point us to the table it
uses to understand what objects it has, so we could revise it as needed when
we create new classes.  She said this is doable, but the format of the tables
is kind of complicated, so she wants to write it down rather than trying to
explain it over the phone.  Also asked about teleports.  She says the stuff
should be working on her end, but she had a problem with the atm and tokens
blowing up her C64 (I don't know why) so she wasn't able to test.

31-Jul-86

31-Jul-86 Conversation with Janet.  Gave her "wish list" items for Twiddle: a
"display" command that doesn't actually display, multiple commands on a line,
and a way to find all instances of a particular class.  She will take these
under advisement.  Also asked for delete object command and she explained the
way to do this is to move the object to region 98 or 99 (98=destroyed,
99=limbo).  We need to add some new fields to the avatar and the region, which
is problematic because those databases are hard to change.  We need a "stun
counter" field in the avatar, but we decided to use the "bus fare paid" flag
since the bus system is dead.  We need a "light level" value in the region,
but we decided to use "width", since region width is currently a meaningless
concept.  I also pointed out that we will need to give her a teleport
directory and asked for a convenient format to put it in (as a text file).
She suggested each entry on a line: 20 char address, space, region number.
She mentioned some problems with message transmission on paper write, which I
said I would pass along to Randy.  She also asked if we could have the cursor
keys function in the text interface.  I said that this wasn't hard, but the
problem is the amount of memory that the code to do it would take.  I said I'd
take this up with Randy.