So you heard a lot of buzz around documentation (“because docs are sexy” cit.) and about Mallard. But what is really Mallard?

Mallard is an XML based syntax for easy writing topic based documentation created by Shaun McCance, our fearless GNOME doc leader. You can find the specification and more tech details here:

To read Mallard written docs you need a help browser like Yelp built with Mallard support, plus all the gnome-doc-utils tools Mallard-enabled (they have been released to the public and will ship in GNOME 2.28. Read more here)

Here I will try to show what the Mallard syntax looks like and how to create an easy topic based doc in a simple way. All Mallard files have a “.page” extension and the smallest Mallard document consist of at least two .page files: one fixed-name file called (like good old HTML) plus a file. That’s it. Nothing more. You can have also a single file, but that’s for now probably pretty useless.

The file is the “guide” where all the magic happens: this file is where all the topics will be shown and will usually be the starting point of your Mallard document. Let’s create one simple file and let’s give this document a name: Mallard Rocks!

<page xmlns=""
<title>Mallard Rocks!</title>

The attribute type here makes the difference between a guide-type and a topic-type kind of page. When you are creating the starting point for all your topic-based files, always use guide and call the file

Let’s deep in the file that I’ll call

<page xmlns=""
 <link type="guide" xref="index" />
 <desc>How to tame the duck</desc>
<title>How can I tame the duck?</title>
It's very easy:
  <p>Have at least the 2.27.1 version of <app>Yelp</app></p>
  <p>Have at least the 0.17.1 version of <app>gnome-doc-utils</app></p>
  <p>Read the spec at <link href=""></link></p>
  <p>Join the GNOME Documentation Project!</p>

Very easy. The syntax is also simple and it covers all the needs of the GNOME doc team: if you need something more in it, special markers or whatever, buy some beers to Shaun and he will add them! 🙂

There is an informal convention about file naming schema in GNOME:

  • don’t use: a, an, the, in…
  • use dash to separate words
  • no capital letters, all lower case
  • try to keep the name as short as possible and “topic-based” (the file name is the value of the id attribute!)

Hopefully, other doc teams will use the same convention. 😉

The cool part, where magic happens, is in the info section of the document:

 <link type="guide" xref="index" />
 <desc>How to tame the duck</desc>

It tells Mallard to insert the document as a topic of the using the description in <desc></desc>. The final result:



You can also see additional magic in the Further Reading section: there are see-also links writer-definable and the More About that are also auto-added.

Everything I said here and much more is covered in the Mallard pages in a more-professional way. Give them a look, that’s the future of our docs.

It’s always hard to get back to your usual-life-routine after spending some days hacking or at great conferences with such wonderful people and in a lovely location. Well, at least it’s always for me. There was a commercial running here in Italy of a famous Italian cruise company, where people after the cruise experience find themselves crying or in group-therapy remembering the great moment: I’m always a little bit like that.

The Writing Open Source conference (DENT:woscon,woscon09 TWIT:woscon,woscon09) has been really interesting, professionally and humanely. I have a lot of information over some big Tomboy notes that I will be reading and re-reading in the days coming, they will be always open on my desktop when I have to deal with docs.

But it has not been only a conference: Writing Open Source is now a “community” (DENT:wosdocs TWIT:wosdocs), a central point for open source tech writer and for all the tech writer out there that would like to get involved in open source or that would like to share their experiences with us (we need them and we need you!!).

So, come on in, jump on the docs writing bandwagon, we are as crazy as woolly mammoths can be!

I already blogged a little bit about the first two days of the conference, I didn’t cover yet the last one: the sprint one. We formed two working groups: GNOME and Drupal. The Drupal one worked on the Writing Open Source community website, while we have been working for laying the foundations of what will be the new GNOME 3.0 Documentation: Mallard is among us!

We have been working with Lynda Chiotti and Janet Swisher on how we can and should work, how to organize and plan the doc writing activities, brainstorming on the topics we should cover in the documentation and how to create “personas” for documentation. All the day we have been working on closing some GNOME-docs bugs (Paul) and we started to port Empathy documentation to the new topic-based approach using Mallard (me and Phil, the repository is on gitorious) while Shaun was dealing with the Mallard spec and supervising our work. We also brainstormed about how to plan the work for the 3.0 release.

The plan for the 2.28 release of GNOME is to have the Mallard spec done (well, at least almost done), Yelp ready to use Mallard and Empathy documentation written topic-based with Mallard. There are some works to be done with regards to i18n/l10n and Mallard XML files and the build structure, but we would like to have everything at least ready for the 2.28. The big goal, at least for me, would be to have Empathy ships Mallard doc on release day, will see…

A big hug goes to Emma and her mother for the organization and for feeding us with wonderful breakfasts, lunches and suppers (or dinners, or teas? whatever…) and to all the people that there were with us: Paul, Phil, Shaun, Janet, Lynda, Addi, Dru, Jim, Richard, Dinda, Jeffrey, DB… (I know I forgot someone, but I’m not a sound-learner, I’m visual. So please apologize!).

PS: the DENT|TWIT:tag[,tag] notation is my new social-exchange notation 🙂

Well, in 7 hours it will be WOSCON Day 3, but I couldn’t not blog about today. Today was the unconference day: we discussed of whatever came to our mind.

The day started with Shaun (finally) presenting Mallard to the public, the new markup language for writing topic based documentation that GNOME will use in the future. So, great times ahead for doc writers and for all GNOME documentation! Mallard rocks! Quack!

The day went on talking about translations, mostly related to the translation of documentation and how we can try to make translators happy translating documentation: first of all we need great and updated documentation to enforce a great string freeze GNOME-style here too, and that would be way cool. Second thing is great rocking topic based documentation: it should be a little bit easier for translator to do their fantastic work (obviously we need xml2po to work with Mallard, but we know somebody will take a look at it).

Other talks of the day have been on FLOSS Manuals and what they are doing: writing a complete book from 0 in 5 days. Amazing.

Last talk of the day was on certification programme creation: a wonderful talk to get into this (for me) new topic. There’s a lot of potential for open source here, really. It’s something that need to be followed.

It has been a great day. We also went to a small trip just outside Owen Sound to a waterfall. Great place in the woods, a relaxing moment away from computer screens.

The night has been total fun! Total! No words describing all the laughs we had, you can check out the #woscon09 tag on or twitter to get an idea… 🙂


I’m at the Writing Open Source Conference (jet-lag kicking in) with the other GNOME (and Ubuntu) guys, writing from the Ginger Press Library Cafe right now. First day has been very productive and interesting, chats are still going on here at the Cafe in front of some good beers and something to eat. Great people!

We started the day with a documentation license overview from the point of view of a (real) lawyer and how to work with licenses and the community involved in documentation writing. An absolute helpful talk about user-centered documentation design: absolutely great and insightful tips on how to organize the work on documentation, from start of implementation to the final product.

We also talked about fame, fortune and how to earn a living writing documentation. The final talks were about how people learn and how we can use this information when writing documentation (by Belinda Lopez from Canonical) and on documentation community.

A really really interesting day. Looking forward for tomorrow!