About documentation
Thomas Packer
tpackers at byu.net
Fri Sep 3 23:30:23 CEST 2004
I like the wiki. Thanks.
tomp
On Monday 30 August 2004 12:57, Mitchell N Charity wrote:
> [...] There seem to be some undocumented features of the language
> of some importance -- or at least they were quite hard to find
> using the top-level index. These features include such things as
> the simple way to assign and access cells using operators instead
> of functions. Would a new user know that these operators are
> available by looking up cells? [reformatted]
>
> You might find
> VirtualManual
> http://www.vendian.org/oz/wiki/index.cgi?VirtualManual
> of interest.
>
> "Extensive but scattered" is my own take on the Mozart/Oz documentation.
> Something experienced users can work around, but which is spectacularly
> bad for new and prospective users.
>
> As Kevin Glynn points out, cells are indeed documented... but piecemeal,
> in several different places.
>
> (The VirtualManual turns out to link the places mentioned.:)
>
> Even for experienced users, the disorder obscures opportunities to
> improve the docs (such as as-yet undocumented code and idioms).
> I suspect even most experienced users are only using smallish subsets
> of the language's capabilities.
>
> For newbies... having to repeatedly do backtracking searches across n
> documents can make the learning curve look like an exponential wall.
> When the book was on line, folks could start there. But now, their
> best bet is perhaps obscure slides, the unfinished Tutorial, taking
> extensive notes (while wading through documentation, distribution
> source code, and mailinglist archives), and... unusual perseverance.
> Most potential users will of course walk away first.
>
> In the case of the cell update operators they are used in the Oz
> tutorial and documented in the 'Infix Notations' section of the Oz
> Base Environment document. How would you suggest improving this?
>
> Create a _small_ number of documentation entry points.
> "User Manual" is a must. "Tutorial", "Reference" and "Libraries" are
> other popular candidates.
>
> Consider the entire Mozart/Oz documentation set as a single "document".
> It's ok, though not ideal, to have a single topic covered in multiple
> places. But if the places are not all cross linked, that's a bug.
> And if the path from document top to topic is not obvious, that's a bug.
>
> Thus all "it's already documented" responses on mozart-users should
> include not just the (invariably several) pages, but also the path by
> which they are reasonably found. If the path is non-obvious, it follows
> that there is a bug, and thus a concrete documentation todo item.
>
> Consider
> "a simple way to assign and access cells using operators instead of
> functions?"
>
> The document
> "Tutorials / Introductory / Tutorial of Oz"
> (ISSUE: Is this a sufficiently obvious name, given that newbies
> start out unclear on the distinction between Mozart and Oz?
> Perhaps "Oz Language Tutorial" would be better?
> Or "Mozart/Oz Tutorial"?)
> contains a section Cells
> (OK: it's indeed visible from the table of contents)
> which clearly lists the operators.
> (So we have at least a partial win.
> Though searching for "operators" or "syntax" will fail.)
>
> The document
> "Reference Manuals / Programming Modules and Libraries / The Oz Base
> Environment"
> (ISSUE: This is an unfortunately obscure name. How about something
> clearer? Perhaps "Language Manual"?)
> has a section Cells
> (OK: it's tolerably visible from the table of contents),
> which, err, doesn't mention operators at all.
> (BUG)
> The tutorial section doesn't link to the "The Oz Base Environment" section.
> (BUG)
> The "The Oz Base Environment" section doesn't link to the tutorial,
> despite the tutorial having novel information.
> (BUG)
>
> The same document contains a section "Infix Notations" with lists and
> describes all(?) operators. You have to look through them to find the
> cell ones.
> "Operator" does not appear in this section's title or index entries.
> (BUG)
> "Cell" does not appear in this section's title or index entries.
> (Not ideal, but probably not a bug).
> This page is not linked from the "The Oz Base Environment" Cell section.
> (BUG)
> This page is not linked from the "Tutorial of Oz" Cell section.
> (Unfortunate, perhaps bug).
>
> So a hypothetical new-user experience given the current topology might be:
> Discover cell operators while reading Tutorial.
> Goal: Find further information.
> "Maybe these links will help?" Explore links in section. Fail.
> Back up to documentation directory.
> "Err, which one of these is the language manual?"
> Subgoal: Find language manual.
> Search page for "syntax". Fail.
> Try "Oz Notation".
> "Ah good, Lexical Notation!:)"
> Lexical Notation. Fail.
> Context-Free Syntax. Fail.
> Backtrack to trying to find language manual.
> Try "The Oz Base Environment".
> Subgoal: Find information about "cell operators" in document
> hypothesized to be the language manual".
> "Ah, good a table of contents."
> Search for "syntax". Fail.
> Search for "operators". Fail.
> Search for "cells".
> "Ah!:)"
> Cells section doesn't help, and doesn't have any links.
> Fail.
> "Sigh."
> Backtrack to table of contents.
> Try "Index".
> Search for "syntax". Fail.
> Search for "operators". Fail.
> Search for "cells". Multiple hits. Explore. None helpful. Fail.
> Search for ":=". Hit. "Infix Notation".
> Succeed.
> Though, instead of searching the index for ":=", the user may instead
> backtrack up past the "find language manual" and do a full text search
> over the whole mozart documentation for "cells", "operators", "syntax",
> etc, and only find "Infix Notation" after slogging through those results.
> I recall doing something very much like that myself when learning Oz.
>
> Experienced users "just know" about the "Infix Notations" section.
> But good luck, for instance, figuring out how to modify a super space
> from a subspace, using only the documentation. Or quickly converting
> a nontrivial prolog program into an oz program. Or so much else.
>
> So, concrete suggestions:
> (1) Create a link, "for further information", from Tutorial/Cells to
> BaseEnvironment/Cells.
> (2) Link from
> Reference Manuals / Programming Modules and Libraries / The Oz Base
> Environment / Procedures and Cells / Cells
> to
> Reference Manuals / Programming Modules and Libraries / The Oz Base
> Environment / Infix Notations
> for its cell operator definitions.
> (3) And also to
> Tutorials / Introductory / Tutorial of Oz / Cells
> for its cell operator list, and (unfortunately brief) usage discussion.
> (4) Rename "Infix Notations" to something like "Operators and Infix
> Notations". (5) On the "Mozart Documentation" webpage, boldface the links
> to
> "Tutorial of Oz" and "The Oz Base Environment", to emphasize their
> primary importance.
>
> And perhaps
> Ask a minion, an undergraduate or graduate student, to take this pile
> of documents and knit it together into something which another
> language might call a User Manual.
>
> And perhaps
> Note that MIT Press has historically been _far_ more flexible than
> outfits like Springer, with regard to folks placing books or parts of
> books online. They actually want to do the right thing. So while
> they asked "Concepts, Techniques, and Models" be taken offline for
> its debut, it would be worth exploring getting parts of it back online.
> It's still the closest thing we have to a user manual. The absence of
> which reduces the appeal of mozart/oz, and thus of the book.
>
> And perhaps
> Anyone can create their own documentation pages on the wiki... ;)
>
> Mitchell Charity
> ___________________________________________________________________________
>______ mozart-users mailing list
> mozart-users at ps.uni-sb.de
> http://www.mozart-oz.org/mailman/listinfo/mozart-users
>
> You are invited to The 2nd International Mozart/Oz Conference (MOZ
> 2004) Charleroi, Belgium, Oct. 7-8, 2004
> http://www.cetic.be/moz2004
--
Ciao,
TomP in BYU CS NLP
I have changed my email address to:
tpackers at byu.net
Check out my way of indexing information:
http://www.ontolog.com/LinkRanker
````````````````````````````````````````````````````````````
More information about the mozart-users
mailing list