KDE Doc: A technical/Organizational view

Frans Englich frans.englich at telia.com
Thu Aug 26 05:23:19 BST 2004


We have many areas which needs documentation. Two crucial issues are where 
those are placed(as in websites), and how far we should split into separate 
documents.

Initially, I would like to ventilate a future project of mine, which I think 
closely relates to this:

The Great Docbook'ing of Developer.kde.org. First of all, it would make 
maintenance easier as docbook does, and it would also take care of much glue 
such as structure/TOC and common constructs such as FAQ. But the largest 
reasons are not those. 
That, in order to build 3rd KDE applications that integrates properly with the 
desktop environment, a developer have to hunt multiple incomplete/informal 
README all scattered over cvs.kde.org and the net, is unacceptable; it hurts 
KDE significantly and especially world domination. That docbook'ed 
dev.kde.org would be a pure technical reference which walks through the KDE 
technologies, for example, combined with chapters about the KDE community. If 
such a document existed, I think there would be a very little need for 
tutorials/HOWTOs and many typical questions on kde-devel etc, would 
significantly drop.

Frans shares evil plans: The KUA[1] project is a website with the docbook 
backend disguised, slowly growing towards a general book about usability. The 
HIG uses docbook too. And with a technical reference, we have better 
websites, and the successive writing of a KDE Developer Book which does not 
become out of sync like the KDE 2 book did. What we will have in 
the end is a cool project, written by hundreds of people, and which can go to 
print with no technical problems, and with no production 
costs(well..). Perhaps 4.1 is reasonable -- then the 4.0 code have settled 
down, and documentation is in a calm state. 

<SNIP>
>  Who     What
>  KDE accessibility   Team accessibility Guidelines (AG)
>  KDE Artists      Community Identify Guidelines (CIG)
>  KDE Usability Team  KDE Human Interface Guidelines (HIG)
>  KDE Documentation  provided docbook expertise
>  KDE developers   input and feedback from the developer's perspective
<SNIP>

> to facilitate this, we will probably be working in Docbook format in a CVS
> module (proposed name: kdeguidelines). Docbook should allow us to create
> html and print (e.g. PDF) versions of the guidelines as well as support the
> high degree of cross-referencing we desire.
<SNIP>

> the AG will take a similar form, and all three guidelines will be linked
> together. it is proposed that they will be housed at a common website
> (http://guidelines.kde.org) and linked to by the appropriate websites
> (artist.kde.org, accessibility.kde.org, usability.kde.org,
> developer.kde.org, etc).

Pessimistic is not fun to sound, but what we're starting here is huge. Three 
docbook(book) projects, a new sub domain, maintenance of existing sub domains 
-- and gluing this all together. It's tons of files, and lots of web work. My 
experience says all projects are initially hyped, and then their 
productivity/work flow drops to 10/25%. This documentation revolution will 
drop in speed, but how much? And can the current plans survive that? In other 
words, that organization has the problem that it's tons of work and it's a 
risky. It's also a big initial threshold for reaching actual result.

The Docbook'ing Of Developer.kde.org will probably happen sooner or 
later, done by someone, because it's a reasonable idea. It would be strategic 
to be prepared and adapted for that future project.


Apart from that multiple guidelines and a new sub domain brings tons of 
maintenance work, it also brings a heavy overhead in using these documents. 
It also means a reduced chance to bring focus on these important issues, and 
it splits developers.

We need focus and developer awareness on usability, but we need it even more 
on a11y. When we separate documents we reduce the chance devs reads the 
second doc -- if a11y is sewn into the usual HIG it will be read on the fly, 
regardless of if a11y involves any itches(yes, it's a crude world). We need 
to keep the amount of documents down, for developers' sake, and in the end  
KDE's. The GNOME folks have sewn a11y into their HIG, and have a separate 
docbook article on about 20 pages(estimation) -- we are most likely talking 
about the same sizes and starting a separate book instead of probably a 
chapter is overkill. Also, I see many a11y adaptions as exceptions from, and 
emphasizations of ordinary Guidelines(but I can of course be wrong), and that 
would then be another reason.

I see the same problem with the artwork front: A lack of usability focus. It 
doesn't focus on usability, but simply on creating (nice looking, cool?) 
artwork. By making the icon guide a section(a part) of the HIG we clearly 
signals it's a /subset/ of usability, and the content becomes related to 
other usability which is also read.

We are in the same boat as Apple and GNOME, and they have their icon guides 
and a11y related in their HIG(not counting technical/implementation papers).

Will this result in a huge HIG? In case we write such huge amounts of 
documentation that we outrun the other two(and if we have a valid reason..) I 
suggest we split it up first then, and it will take a long time before that's 
reached.


Regarding domains;

Apart from the maintenance burden, we again add confusion. If I as developer 
wants to reach the basics of usability and a11y for my app -- what websites do 
I visit? guidelines(GKO), accessibility(AKO), usability(UKO) or 
developer.kde.org(DKO)? Them all? Isn't DKO for developers? The content of 
GKO is solely for developers, and DKO is for developers; we shouldn't have two 
sites for the same thing.
Let's have one central place for developer related materials. Move HIG & KUA 
to DKO and move developer related from AKO to DKO too(application specific is 
untouched). I think that would render UKO useless, which is good -- less 
maintenance. AKO would still have content relevant for the public and hence 
should stay.



How is this practically done?

It will take time before DKO is docbook'ed, and trying to integrate other 
projects(HIG etc.) before that's done would mean duplicate work and a messy 
result. Instead, let's move them to areas/www/developer(not a new module, 
KISS, consistency with other subdomains, and easy access to the resources in 
www) and let a temporary subdomain(or UKO) serve it until DKO is docbook'ed, 
and then moved to areas/www/developer, which then developer.kde.org would 
server. Before DKO is docbook'ed I don't think it would make sense investing 
in framework; we will be busy with content anyway(and the default docbook 
navigation is just fine).

But when DKO is united with the other docbook projects on www/areas/developer, 
we can do a good framework in one place:

* We could use the Cocoon app framework to take care of content generation so 
we don't have to bother with that; PDF and XHTML. I asked sysadmin about 
Cocoon for UKO but got a No, motivated by server load. I think that's wrong, 
Cocoon caches content generation and practically serves static pages; it 
would be less dynamic than the current copy&paste PHP. Cocoon would also be a 
rock for anything else XML related(XInclude, XSL SS processing, or any other 
flexibility and sophistication).

* We could add RSS feeds etc. and make it portal like: It's one central, place 
and investments have a high return.


What are your thought of the technical side of matter?

I recommend not to you the PHP framework with docbook: It's a mess, inflexible 
and ties ones hands; I've tried it twice. It's easily solved by writing an XSL 
for the main web code(needed anyway).


			Frans


1.
http://usability.kde.org/kua/current/




More information about the kde-core-devel mailing list