Dear Final Debug: We’re looking for an internal hypertext solution at our company, for manuals and documentation, and HTML simply isn’t cutting it. We could go really high-end with SGML, but that might be overkill. I know that XML right now is more a spec than anything usable. What do you suggest?-Nat Moriarty, Chicago.
Final Debug responds: There were many proprietary hypertext solutions before HTML, the most popular being HyperCard and SuperCard for the Mac. We’ve used Guide and that old Microsoft tool that generated MVB files, but the only non-HTML hypertext authoring tool we can recommend is StorySpace, from Eastgate Systems. It’s used mostly for esoteric work like hypertext fiction, but it’s an easy-to-manipulate and very scaleable system.
However, there’s a new entrant that bears watching. Trellix Software, helmed by Dan Bricklin, is a Massachusetts-based startup that wants to automate Web documents the way Bricklin automated business calculations two decades ago (he invented the electronic spreadsheet). The idea behind the product, also called Trellix, is to bundle a set of pages into one Web document that is more malleable and more easily updated than traditional Web pages.
The program then creates a sequence in which the pages are to be viewed, allowing authors to create a site’s content and structure at the same time.
We spent a few days testing a beta version of the product, available from Trellix’s Web site. As a beta product, it runs slowly and the file sizes are large (although that may have more to do with Microsoft’s OLE than anything Trellix brings to the table), but it works as advertised and acts as a useful bridge between MS Office and the Web, allowing hypertext documents to update formerly static Word and Excel documents.
The problem, of course, is standardization. As with the above-mentioned StorySpace, Trellix’s export-to-HTML capabilities are a bit idiosyncratic and emphasize the shortcomings of HTML compared to the proprietary system. But it’s a start.
New contest!
If you want to answer this week’s question, you had better know some C++. In particular, you’ll need to be able to read the following lines of code (courtesy of David Heller) and identify the error.
void string::operator = (const
strings& Str)
(
if &STR != this)
(
delete mData;
mLength = Str.mLength;
memcpy(mData,Str.mData,mLength);
)
return;
);
Can you solve this? Answers next week, we hope.




