And also, the wiki software kinda blew in many ways.

One of the biggest ways was a small thing with, I think, big implications: the software would by default add an attribution line for each edit, encouraging people to view the page as a dumbed-down Web commenting forum to append a comment to, rather than as a coherent document to refine holistically.

Also, depersonalization can be good: when there are no authorship names at all on a page, some people will have less resistance to making improvements. This also removes some of the incentive to contribute for some people, which can cost the document some good contributions but also scare off some low-quality contributions (see, as cautionary tale: Java sites). I think that removing incentive alone is not a net loss, and that depersonalization overall is a big net win.

Neil Van Dyke wrote at 09/22/2010 03:53 AM:
Eli Barzilay wrote at 09/22/2010 01:18 AM:
The punchline is that your desire to use a local copy is in direct contradiction with the desire to get community involvement in improving the docs. No matter what facility is available for the community to discuss and supplement the docs -- if you have to go out of your way to see it, then you (the collective) just won't do it (statistically speaking).

I think that you can make online docs sufficiently immediate value-added that people are drawn to use those.

This can be done without compromising local-copy docs. If you did the online right, everyone knows that they get immediate benefit from the value-add of the online docs, so they must have a good reason when they use local copy.

For a simple example of docs similar to Racket's can be online and participatory to some degree, see PostgreSQL's. They have their well-structured and well-edited manuals, and online you can browse a version with old-school community annotations at the bottom of each page. I've found some of the annotations very helpful, and I'd hope that they feed future versions of the well-edited manuals.

You could also go more of a Wikipedia route. But you don't have a million contributors, and you will be spending lots of effort on quality control, and with a relatively small contributor pool you have to be more cautious about alienating people when a contribution really needs to be excised.

Whatever you do, I hope that the goodness of well-edited local-copy docs is not compromised.

Also keep in mind that some of us think that, when working on library code or documentation, the interface should present both code and doc easily. Usually, with dumb tools, that means JavaDoc-like embedded documentation. I have a goal to make Racket support this better in the future, and I hope that any new online docs thing won't get in the way, and that I can be compatible with that.

The best that you'd get is yet another scheme cookbook

I think that some of the problems that the Scheme Cookbook encountered are relevant to Racket.

One is that a few characters of Perl operators from some Perl Cookbook item, in the Scheme Cookbook could become a huge page full of different verbose, cryptic, and so-so quality attempts to do a comparable thing in Scheme. (Which, in hindsight, should not have been surprising, when Schemers are involved.) I finally decided that most of the cookbook entries would ideally mostly be pointers to reusable code libraries (*not* copy&paste&munge), which led to me to silly extremes like: http://www.neilvandyke.org/tabexpand-scheme/

There were also various quality control problems for various reasons. I got disenchanted after realizing that messes were being created faster than good content, and that it would've been much easier for me to do something correctly from scratch than find a politic way to fix an existing entry or wrestle with the wiki software to reverse some bizarre structure change some user had done. (This is actually much like software development in general.)

A problem that the Racket online docs *won't* necessarily have is that of scope: as I recall, the Scheme Cookbook was originally mostly PLT-specific, and some dork (me) advocated strongly that the Cookbook cover other Scheme implementations (e.g., R5RS whenever possible, then separate out the various implementation-specifics within an entry). This turned out to be additional mess and bulk. Racket will still have to decide what to do about version differences, but any mess will be a lot smaller and simpler to organize.

--
http://www.neilvandyke.org/
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/dev

Reply via email to