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

This Week



Highlights of this last week:

1. I reviewed additional resumes for a documentation person, 
but did not bring anyone in for an interview. I received a couple 
of additional writing samples and reviewed them; basically, the 
search continues. I've called some of my friends within Apple 
to talk to them about some of their contract technical writers, 
particularly those who may have experience using various forms 
of online documentation. At the suggestion of MarcS, I've decided 
to concentrate on finding someone who can take on as their first 
assignment the construction of a prototype online documentation 
system for the high-level interface, perhaps using HyperCard, 
SuperCard, ToolBook, or some other equivalent hypertext toolkit.

2. MarkM and I met, along with Roger, Hugh and Ravi, for the 
purpose of discussing the issues surrounding the high-level interface, 
and whether or not it should be built in C or C++. We discussed 
each of the function calls in my proposed draft and satisfied 
most of Mark's questions concerning ambiguities. A few items 
were changed to bring the interface more in line with our existing 
code.

3. I've decided to build the first iteration of the High-Level 
Xanadu Interface in C++, for the following reasons:

a) Both C++ and C users will benefit from and want a high-level 
interface;
b) The high-level interface will undergo refinements over time. 
Once it's settled, we'll be able to determine whether or not 
Ceran can be used to automatically create our C version. It may 
not be possible, and in that case we'll have to build the C libraries 
by hand, anyway. But by building the C++ version first, we at 
least have the possibility of being able to convert one complete 
version to the other, something we don't have if we build the 
C version first.

4. I've started building the classes, but I came across a major 
issue when I got started: during the meeting, MarkM presented 
me with an XPP version of the high-level interface. My feeling 
is that if we're going to provide a C++ interface, it should 
be as neutral and portable as possible, and not require our XPP 
libraries. Forcing all C++ programmers to use XPP imposes additional 
learning requirements on them, and thus works against the essential 
objectives of the interface. I believe that a fundamental point 
of a high-level interface is to provide users with a comprehensive 
set of functions that they can easily interact with from their 
_existing development systems_. If you require that they use 
all of your base classes and macros, you're not letting them 
use their existing development system. Unless I hear compelling 
reasons to the contrary, I'm going to build the classes as neutral 
and as portable as possible, without assuming XPP. 


Next week I'm planning to complete work on the specification 
of the C++ version of the interface.

-- bobp