What should we do about API documentation?

Colin Clark colin.clark at utoronto.ca
Fri Jan 16 22:31:50 UTC 2009

Hi everyone,

Anastasia and I have been chatting about a couple of points this  
afternoon that I'd like to bring back to this thread.

Infusion is in a bit of a transition period at the moment. We've been  
operating with an "0.x" mentality for awhile now, where the rate of  
change in both our components and framework has been necessarily high.  
We've made a lot of API changes and have introduced substantial new  
functionality in each of our releases. As we approach 1.0, we're  
slowing the rate of change and providing a manageable transition for  
our users from deprecated APIs to the latest and greatest.

We've done a really good job of carefully versioning our documentation  
to help our users contend with the rate of change, and I think it  
helps to support our agility as a community. Perhaps as we shift into  
support a post-1.0 product, we'll find that dealing with documentation  
versioning may get easier, or may require a different strategy  

One of my favourite aspects of having our documentation in the wiki is  
that it invites easy contribution. Anyone who has a wiki account can  
make changes. On the other hand, Confluence doesn't seem to provide us  
with sufficient tools for juggling multiple versions of the  
documentation. A pure HTML documentation site, like the idea Anastasia  
suggested, would certainly ease our versioning issues, but it might  
also raise the barrier to entry.

I was curious to see how other JavaScript toolkits handle their  
documentation. Here's a summary:

jQuery maintains their documentation in a wiki. They don't provide  
archives to older version of the documentation.

Dojo appears to have just moved to a wiki for their documentation, and  
similarly doesn't provide old documentation.

Prototype provides a downloadable PDF snapshot of their documentation  
site for older versions of the toolkit.

MooTools doesn't provide older version of their documentation, or any  
real indication of changes across versions within the documentation.

Here are, I think, our goals for Infusion's documentation:

* Easy to maintain and update
* Current and up to date
* Support users who don't adopt the latest release right away
* Foster contribution to the documentation

I'm still not quite sure what the best documentation approach is, and  
I'll certainly defer to Anastasia and the others who are more expert  
in these issues, but let's keep these goals in mind as we come to a  


On 16-Jan-09, at 2:25 PM, Anastasia Cheetham wrote:

> On 16-Jan-09, at 12:19 PM, Michelle D'Souza wrote:
>> 5. Move to another strategy altogether for creating and versioning  
>> API docs. Suggestions?
> I actually think we're reaching a point where we need a new approach.
> My suggestion:
> Straight HTML+CSS, in SVN.
> Benefits:
> Built-in versioning; versioned docs can be bundled with a release;  
> versioned docs can be easily served up on a public site; much  
> greater control over the appearance of the docs (through CSS).
> Issues:
> Slightly more cumbersome edit/share process than the wiki: HTML mark- 
> up instead of wiki, SVN commit/update cycle necessary for sharing  
> changes with others.
> I think the benefits outweigh the issues. The initial effort of  
> "porting" what we have over to HTML will be a bit of a chore, but I  
> think it will be worth it.
> What do other people think?
> -- 
> Anastasia Cheetham                   a.cheetham at utoronto.ca
> Software Designer, Fluid Project    http://fluidproject.org
> Adaptive Technology Resource Centre / University of Toronto
> _______________________________________________________
> fluid-work mailing list - fluid-work at fluidproject.org
> To unsubscribe, change settings or access archives,
> see http://fluidproject.org/mailman/listinfo/fluid-work

Colin Clark
Technical Lead, Fluid Project
Adaptive Technology Resource Centre, University of Toronto

More information about the fluid-work mailing list