Skip to content

GNOME

Meet Snowy, Tomboy's best friend

Tomboy was one of the first GNOME products I contributed code (documentation) to. It also is one of my all time favorite apps and one I can’t do without on a day to day basis. Whether it’s jotting down ideas I don’t want to forget, to-do lists, or organizing the release plan for the next GNOME Journal, I always have a bunch of notes open.

A few weeks ago, I finally got around to trying to sync my notes via sshfs on my desktop and laptop. And, to be frank, it was a pain in the butt, and not documented well. It’s working, but I don’t think it’s working quite right yet.

Which is why I couldn’t be more excited for Snowy. Snowy is a web application for synchronizing, viewing, sharing, and editing your Tomboy notes online. Snowy will power the Tomboy Online service, and in addition to syncing your own notes online, let you also share and edit with friends.

Best of all, Snowy will be Affero GPL licensed – so if you want to run your own Snowy server and sync your notes there, you can! (It’s similar to identi.calaconica is the open source software that powers identi.ca, and you could run your own microblog server on laconica if you wanted to).

I recommend reading Sandy Armstrong’s (lead developer of Tomboy) blog post on Tomboy and Snowy (including an early screenshot), and Brad Taylor’s (lead developer of Snowy) blog post introducing Snowy. (And the title of this blog post is stolen right from Brad’s mouth).

More to come!

GNOME.org revamp

After lots of stops and starts over the last few years, which really isn’t worth recapping, the GNOME web team is moving forward with a new www.gnome.org.

After lots of chatter on the gnome-web mailing lists the last couple months, Lucas organized a meeting, a set of tasks to be completed, and the timeline.

Personally, I’m helping with the content team – do we have the right pages for the new www.gnome.org? Is the sitemap correct with how those pages flow? From there we’ll work on adding the content, and then editing.

Want to help? This is a great area to jump in and help – you don’t have to know how to code, just help us write some paragraphs!

Join the GNOME Marketing mailing list and get involved!

GUADEC!

I’m going to GUADEC this year!

In all my travels, I’ve visited almost all 50 states in the U.S., but I’ve never travelled internationally. Now in the span of 30 days, I’ll be visiting both Canada and Europe – and both are related for GNOME events. And I’d like to say a big thank you to GNOME for helping subsidize my travel to both events.

The initial GUADEC schedule was posted this morning, and I’m excited (and nervous) that Stormy’s and my Birds of a Feather session on GNOME marketing was accepted! (Thursday, 10:00 a.m.). I was hoping to fly back home Friday morning, but now I need to find a way to stay to see Davyd‘s talk on Documentation Friday morning.

In related GUADEC news, we at the GNOME Journal are publishing a GUADEC special edition. Are you going to GUADEC? Have an interesting idea for an article – maybe from a talk you want to attend to learn about (and share about with the GNOME Journal audience!) or someone you might want to interview face to face while at Gran Canaria? Let us know, more info is available here.

I’ll be seeing you in July in Gran Canaria.

GNOME Journal Issue 14 released!

Just in time for your weekend reading pleasure, for the first time since December 2007, a new GNOME Journal has been published!

Articles featured include:

I’m especially proud of this issue, as it is my first herding cats as release coordinator. I’ve written an article and edited others before, but this is my first one as a major contributor to the team.

What are you waiting for? Go read it now!

GNOME Updates

Lots of stuff going on in the world of GNOME for me!

Attended a few meetings last week with GNOME related projects.

This past Sunday, April 19th, the Documentation team met for the first time in a while. Shaun gave an update on the status of Mallard, the new markup language for GNOME Docs; a possible change to how we license docs; an introduction to Pulse and some brainstorming on new ways to bring guides to users.

On Tuesday, the Tomboy team met to discuss the road to a 1.0 release. More exciting though is the news on the work being done around syncing for Tomboy, including a potential online syncing service for users. As someone who’s lazy, and not that technical, but owns multiple computers that use Tomboy, I’m very excited about the potential a syncing service has. (And if you want to help update the Tomboy end user website, please let me know!)

Related to the Documentation news though, I’m happy to announce I’ll be attending the first ever Open Source Documentation conference, Writing Open Source, in June in Owen Sound, Canada. The GNOME Foundation is graciously covering my lodging, and three other GNOME Documentation team members, including Shaun, will be there. In addition to the tracks on Friday, there is an unconference on Saturday, and we will be having a documentation hackfest on Sunday. The hackfest might also be the first public unveiling of Mallard as we start working on all new documentation for GNOME 3.0.

I booked my flight and paid for the conference this weekend, now comes the hard part – the waiting until June.

GNOME Documentation Meeting

There is a GNOME Documentation Team meeting this Sunday, at 17:00 UTC.

I am a sucker volunteered to help Shaun McCance facilitate the meeting. Here is the meeting announcement I just sent to the mailing list:

Are you a seasoned and wily Docbook veteran? New to writing documentation and don’t know where to start? Now is a great time to join the team!

There is not a formal agenda, but we will start with Shaun giving a brief update on Project Mallard (http://live.gnome.org/ProjectMallard) and a question and answer session. I will do my best to help facilitate the Q&A, but there may be questions that we won’t be ableto answer and have to come back to at a later date.

I also recommend reading Shaun’s latest blog post with his personal goals for GNOME – http://blogs.gnome.org/shaunm/2009/04/14/my-goals/.

Lastly, if you have a blog or micro-blog, spread the word about the meeting and let’s see if we can’t get some new faces to come. We have lots of work to do as we work towards GNOME 3.0!

Thanks in advance to everyone who is coming, and for those who can’t make this time, I will keep notes and publish them.

Hope to see you there!

GNOME Journal Needs You!

GNOME Journal, the online magazine dedicated to everything surrounding the GNOME Desktop, needs your help!

We haven’t published an edition of the GNOME Journal since December 2007, and work is ramping up to get a new edition published.

What kind of help do we need? I’m glad you asked! It might not be what you think. We need:

  • CSS / HTML hackers – We are migrating GNOME Journal from it’s current CMS to WordPress, and we have some final touches that need to be fixed on our WordPress theme, as well as the look and feel of the archives section.
  • Editors! We have the content, it just needs to be proofed.
  • Writers – We have the content for this edition, but we know how long it can take to write an article, and we want to get back to publishing on a more regular basis.

To sum it up – if you want to help, we probably have a job for you. We are having a meeting Thursday night (tomorrow!) in GimpNet IRC in #gnomejournal at 22:00 p.m. EDT. More information at the links below.

Want to learn more? Here are some links:

Now is a great time to join the GNOME Journal team as we’re just getting active again. All help is welcome – hackers, writers, editors. Join now!

Writing GNOME Docs, Part III (Let's write some code!)

I’ve been chronicling my learning on writing documentation for GNOME. In Part I, I covered getting up to speed on GNOME documentation and the tools available; and in Part II I wrote about picking a project that you want to help, getting involved, and setting up your environment and finding updates that need to be made.

Now it’s time to apply those needed updates to the documentation and write some actual code in Docbook.

As the Tracking Documentation Status page on LGO mentions, there are a few different ways writers can update a doc, including getting the relevant content in, but not updating all of the markup; writing the chapter headings to capture sections that need to be updated, but not adding the content yet; or working through the document step by step updating the content and markup.

I do the latter – I work sequentially through the document updating the markup and content. As I mentioned in Part II, I use Tomboy to capture my research on what updates the document needs, such as new features or bugs filed in Bugzilla.

Let’s start at the beginning of a document and work our way through it. I’m going to assume you’ll pickup the Docbook markup as you go, or have some familiararity with it. When I first started working on the Foresight User Guide a year and a half ago, I had no experience with it either. I would not claim I know it well at this point either – most of my experience comes from doing what we are about to do – just editing existing documentation, or at least using that as a base.

In Part II, you checked out the Tomboy source code out of GNOME Subversion. In your favorite text editor, open the Tomboy help file located in $/home/source/tomboy/help/C/tomboy.xml

Working through tomboy.xml section by section:

Description

<code markup="none">&lt;abstract role="description">&lt;/abstract></code>

Find the above code snippet in tomboy.xml. This is the description of the project. Why is this important you may ask? Did you know that all of GNOME’s help files are also available online at http://library.gnome.org/users/ ?

If you click on that link and scroll down under “Utilities”, you will find Tomboy, and it’s description:

Tomboy Notes Manual

Tomboy is a simple desktop note-taking application, with some powerful built-in features to help you organise your ideas.

As part of Bug 500803, the above description needs to be updated, and this is the section where that change will be applied.

In the xml file, you will see:

<code markup="none">&lt;abstract role="description">
  &lt;para>Tomboy is a simple desktop note-taking application, with some powerful built-in features to help you organise your ideas.

</para> </abstract>

Change the text inside the <para></para> tags to:

<br /> <abstract role="description"> <para>Tomboy is a simple desktop note-taking application, with many features designed to help organize ideas, such as spell checking, highlighting, auto-linking URLs, lists, font stylizing, quick access with a table of contents for notes, and plug-ins to extend Tomboy's capabilities. </para> </abstract><br />

Bug fixed!

Pulse Compatibility

Let’s make the Tomboy docs compatible with Pulse. As mentioned in Part I, familiarize yourself with the Status Tracking. Update the status by adding this block of code, as show in this example. This will add a status to the document, that Pulse can show, that lets other documentation writers know that the document is in the process of being updated, needs a review, or has been finalized.

Copyright & Author Information

Next, take credit for the work you’re doing – add your name to the copyright and author information. This is helpful to other doc writers as well, especially if you don’t have commit access, that other doc writers can reach out to you if they have a question with the last changes made. After the last tag, update with your name and year:

<code markup="none">&lt;copyright>&lt;br />
  &lt;year>2009&lt;/year>&lt;/p>

<p> <holder>Paul Cutler</holder><br /> </copyright>

Same under the <authorgroup> </authorgroup> tag, this time also including your email address:

  <code markup="none">&lt;author>&lt;br />
    &lt;firstname>Paul&lt;/firstname>&lt;/p>

<p> <surname>Cutler</surname></p> <p> <affiliation><br /> <orgname>GNOME Documentation Project</orgname></p> <address><email>pcutler@foresightlinux.org</email></address> <p> </affiliation><br /> </author>

For the GNOME 2.26 cycle, I mostly added documentation to make the Tomoby docs reflect that it now works on both GNOME and Microsoft Windows. (Yes, I had to document an app to run on Windows! Who would have ever thought I’d be saying that…)

I’m not going to detail the markup of the changes I made; hopefully you’ll pickup Docbook’s syntax by editing changes inline in the document. (If you’re really curious, you can see the changes here in Bugzilla – the + denotes lines I added, and the – are lines I removed.) The above changes are changes you almost always want to make each time you update GNOME documentation.

As you document features for the application, think back to Part I, and revisit the GNOME Style Guide. Think about your audience, and focus on tone. Each documentation writer has their own strengths, whether that is tone, spelling, grammar, docbook markup, etc. Focus on your strengths and let the peer review process help you with the other areas.

Next is one of the most important parts – review your changes! Let’s fire up the xml file in Yelp, the GNOME Help Browser. To do this, Yelp has to call the file from the absolute path. For example, yelp tomboy.xml will not work.

yelp /home/yourusername/source/tomboy/help/C/tomboy.xml

And it should start. If Yelp starts, but doesn’t display anything, and an error pops up, close Yelp, and look at your console output. The console will tell you what line the syntax error is occurring that needs to be fixed. When I was first learning Docbook by writing the Foresight User Guide, I would spend twenty to thirty minutes trying to debug where I made an error. It can be frustrating, but you’ll find it.

Check your grammar, your tone, capitalization, and spelling. I will run two instances of Yelp side by side – the version I created / edited, and the actual help file for the application. (Run the application and hit F1 to bring up the help). I will compare the original against the changes I made.

When you’re comfortable with the changes, and Yelp displays everything correctly, it’s time to create a patch to submit those changes. You are probably like me and don’t have commit access to GNOME. Don’t worry though – keep working on GNOME docs and submitting patches and before you know it someone will recommend you be added.

As mentioned in Part II, the GNOME SVN wiki page has the details:

svn diff [filename] > [patch]

For Tomboy, I did:

svn diff tomboy.xml > docs-cross-platform.patch

I then updated Bug 576487 by choosing “Create a New Attachment” in Bugzilla, and filled out the form, noting the changes this patch made to tomboy.xml. I also let Sandy, one of the lead Tomboy developers, know in IRC that the patch was submitted and need a developer review and committed. You may also want to drop an email to the projects list to let them know the patch was submitted.

With that complete, it’s also recommended to have 3 peer reviews done by the GNOME Documentation team. I sent an email to the Docs list with a link to my bugs asking for peer reviews of my documentation changes.

As of this writing, I’m waiting to hear back from both my peers on the Docs team and Sandy on the Tomboy team. I’m sure there will be some changes that need to be made, as I’m nowhere close to knowing everything about how to write documentation, but I’m learning.

Once those changes are made, and the reviews are complete, the status will need to be changed to “candidate”. At that point, the GNOME Doc Team leaders will review it one more time, and with their approval, the document will be updated to “final” and committed! And you have officially helped to give back to the GNOME community and make GNOME better.

As I mentioned earlier, this may not be the best way for everyone, or the official way of doing things, but this is what works for me as I work on updating GNOME documentation. I hope you found this helpful, and feel free to leave me a comment below with your thoughts or questions.

Writing GNOME Docs, Part II

So you’ve decided you want to contribute to GNOME and write some documentation. In Part I, I wrote about the steps I went through to prepare to write GNOME documentation and picking a project.

In Part II, we will take a look at the final preparation stage, including checking out the project’s source code via GNOME Subversion and finding documentation that needs updating. I am still fairly new to the process myself, but these are some of the steps I take in writing documentation.

Part III will cover updating the Docbook XML file, reviewing your changes and submitting a patch with the updated docs.

Now that you’ve picked a project to work on, I recommend subscribing to the project’s mailing list, and, if they have one, hang out in their IRC channel. A list of all GNOME mailing lists is here, and be aware of the GNOME Code of Conduct when sending an email to a list.

Personally, I recommend letting the project or lead developer(s) know you want to help out. This is helpful for a couple of reasons, including:

  • If you, like me, are new to contributing to GNOME, you probably don’t have SVN access to commit your changes. A developer on the project, or a member of the GDP if you’re working on a project the GDP can commit, will have to submit your changes to the project.
  • You might have a question on how a feature works, and want clarification. If you’ve introduced yourself, other project members will understand why you’re asking.
  • Help is always appreciated! You have nothing to worry about – almost all projects will welcome you with open arms. Especially doc writers, as it sometimes considered unglamorous work.

As I mentioned in Part I, I’ll be working on the Tomboy documentation, and I sent an email to the list letting the developers know, and asking if there were any areas of the docs that also needed changes or updates. (The Tomboy mailing list is generating a 404 error when I try and click on my email which can be found here).

In a terminal, create a directory where you will to checkout the source code of the project too. GNOME uses Subversion, and will be moving to git in the future. The GNOME Wiki has a great page on using Subversion. Move to the directory where you want the source code, and per the GNOME SVN wiki page, checkout the project:

svn co http://svn.gnome.org/svn/[module]/trunk [module]

For Tomboy, I would do:

<br /> svn co http://svn.gnome.org/svn/tomboy/trunk tomboy

The Tomboy source code is now checked out to the “tomboy” directory in the directory I’m currently in. For the purpose of this example, we will assume you checked out the source code to $/home/source/tomboy

Now it’s time to find some documentation that needs updating. Good sources to find documentation updates include:

  • Projects’s Bugzilla
  • Reviewing the projects current documentation
  • Project’s release announcement of new features
  • Mailing list

I recommend starting by doing a query in the project’s Bugzilla (bug tracker) and see if any users have filed bugs or requests against the project’s existing documentation.

Log in to GNOME Bugzilla, and click the “Browse” button in the top menu. On the Browse page, click on the drop down menu next to “Browse:” and click on the project you want to view, and “Show product”. You will be taken to the project’s Bugzilla page, which provides an overview of the number of bugs, type, and severity, among other information.

In the search box towards the top, you will see “project:Tomboy” already entered (or the project you chose), after that type documentation and hit search. The results will show any bugs that have a keyword of documentation, and you can browse through any open bugs to see if there are any changes that need to be added to the project’s documentation.

You will want to keep notes of any bugs you come across, or changes and updates the documentation file needs. Ironically, Tomboy is a great tool for this, and even supports the ability to drag and drop a GNOME Bugzilla link from your browser into Tomboy and converts it to an easy to use link.

I also recommend reviewing the project’s current documentation. Open the application, and hit F1 to bring up the help in the GNOME Help Browser (Yelp). With GNOME being on a 6 month release cycle, it may be possible that new features were added without being documented, which is why it’s also helpful to see if there was a Release announcement that outlines those new features.

Review the sections in the documentation, and compare to the behavior of the application. Do they match? If not, it might be useful to ask the developers in IRC or on the mailing list to double check, and make a note that the documentation needs to be updated to reflect those changes. This process can be time intensive, which is why you may want to start working on documentation with an application you’ve used and are familiar with.

If you introduced yourself on the project’s mailing list, the community members may have pointed out some areas that need updates as well.

Hopefully this has helped in getting you ready to (finally!) update the documentation. In Part III, I’ll cover updating the documentation’s Docboox / XML file and submitting your changes to the project.

Writing GNOME Docs, Part I

It’s been just over a year since I submitted my first patch to GNOME, for updated Tomboy documentation.

In that time, Shaun McCance of the GNOME Documentation team has been doing a lot of work to make it easier to get involved with the GNOME docs team.

Though Shaun is trying to make it easier to see which projects might need help with documentation updates, it’s still kind of overwhelming to try and figure out where to get started, especially as some of the information on the GNOME Docs team is outdated.

The Docs Team page on the GNOME wiki is a great place to start. Let’s take a look at a number of the steps it lays out, and I’ll try out point out where, in my opinion, some of the important steps lay and additional tools available, such as Pulse.

Step 1 & 2: Join the mailing list and IRC, as it refers to.

Step 3 & 4: Choose a project and document to work on. First, you should choose a project that interests you, and that you may know a little about. Here is a quote from Shaun McCance to the GNOME Docs mailing list on 5/8/08:

My general recommendation to new writers is to pick

an application manual for something you use frequently.

It’s easier to write documentation for an application

you’re familiar with. Smaller manuals will allow you

to go through the entire writing process and actually

finish something. Finishing things feels nice.

The good news is that this is one area Shaun is making easier with the Pulse project. Pulse isn’t officially released yet, and is run manually by Shaun. Pulse tracks all of the software in GNOME, including documentation and translations.

In January, Shaun sent an email to the GNOME Docs list that helps understand this process better, especially as it relates the GNOME 2.26 process, and with some updated steps that aren’t covered in the wiki:

When looking for documentation to work on, you can use Pulse to help sort:

Use Pulse to view all GNOME 2.26 documentation: [http://www.gnome.org/~shaunm/pulse/web/set/gnome-2-26-desktop#documents

]5

Pulse can show which docs don’t have a specific individual as a maintainer, and will display GDP (GNOME Documentation Project) if it doesn’t. It’s recommended to start with a document maintained by the GDP to work on. Follow this link: http://www.gnome.org/~shaunm/pulse/web/team/userdocs#documents and click on “Maintainer”. That shows the list of all projects maintained by the GDP. One of the advantages of working on a document maintained by the GDP is once your documentation move to the final state, the GNOME Docs team can commit the changes for you, as they are pre-approved with the maintainers of that project.

For my example though, wanting to update the Tomboy docs that I worked on a year ago, Tomboy is not maintained by the GDP. That’s ok – I’ve worked with one of the lead developers before, and I let him know in IRC that I was going to being working on documentation.

Going back to the Pulse list of documents, and clicking all, I then will choose and click on Tomboy.

Looking at the upper right hand corner of the Tomboy page in pulse, you will see:

Release Info

Status:

None

Familiarize yourself with the Status definitions that Pulse will display: http://live.gnome.org/DocumentationProject/StatusTracking

None – great! This is the document I’ll start working on as no one has started working on it yet.

Step 5: Going back to the GNOME Docs Wiki, step 5 is familiarizing yourself with the GNOME Style Guide.

The sections I found most useful, was Chapter 1, Fundamental Concepts, especially the sections on Tone and the Golden Rules. Chapter 7, Writing for GUIs, is good to cover as well.

When it comes to writing Docbook though, the best advice I can give is to jump in to a document – you’ll quickly learn the syntax with or without prior programming experience. I have zero programming experience outside of some very basic HTML , and by looking at a couple of different pieces of GNOME documentation, was able to write the Foresight User Guide in Docbook.

Steps 6 & 7: Create accounts in GNOME Bugzilla and the GNOME Wiki (aka live.gnome.org).

The only other advice I can give, especially as it relates to IRC and the mailing list, is to drop a note and introduce yourself, and let the community know you want to help out. All of this might sound complicated, but instead of spending hours wading through all of the documentation and webpages available (some of it really out of date), I think if you read the above steps it will start to make sense (at least it did for me!)

In Part 2, I’ll cover my experience in some of the basics around using SVN to check out a project, updating the status and the documentation, and submitting a patch.