Developer Demos
As part of our aim to improve the experience for new/prospective GNOME developers, we decided to produce a set of high-quality introductory tutorials. The brief was to have the reader write a small but interesting program which demonstrates several key GNOME technologies, and to have them do it in a short time (perhaps over lunch?) if possible. Each tutorial would be written in five of GNOME's key languages (C, C++, JavaScript, Python and Vala), and each tutorial would be enough to launch a newbie into programming with GNOME 3.0.
Here's how the set of tutorials looks so far (X denotes either completed code or a completed guide):
| Name | C (code) | C (doc) | C++ (code) | C++ (doc) | JS (code) | JS (doc) | Py (code) | Py (doc) | Vala (code) | Vala (doc) |
| Audio Player | X | |||||||||
| Guitar Tuner | X | X | ||||||||
| Image Viewer | X | ~ | X | X | ||||||
| Magic Mirror | X | X | ||||||||
| Message Board | ~ | X | ||||||||
| Photo Wall | X | X | ||||||||
| Record Collection | X | X |
The C version of the Guitar Tuner has been fully edited, so that's probably the best-looking guide right now. The JavaScript Image Viewer is hot on its tail, and most of the others are close behind in at least one language. It's looking good, thanks to all the great work by the guys who attended the hackfest. We're not doing too well on C++ and Python though; no-one at the hackfest attempted a C++ version, and there were problems with the Python GObject Introspection stuff.
This is all in git right now; you can check it out with git clone git://git.gnome.org/gnome-devel-do
(For the git-impaired: Nightly builds here.)
Terminology
Shaun and I worked on fleshing-out some new terminology guidelines - it works so much better in person than through IRC or a mailing list. These will be folded into the HIG and what may or may not materialise as a new documentation style guide.
HIG 3.0 in Mallard
I ported some of the new HIG material on live.gnome.org to Mallard - you can find it in the hig3/ directory of gnome-devel-docs in git. I gather that HIG development is in a state of flux at the moment, but I'm hoping that providing some infrastructure for it will make things easier for the usability guys who're tackling the rewrite. There's a template for UI patterns in there too - working on a pattern could be a good way to start contributing to the HIG (hint, hint).
Cheesy sounds?
You know how Cheese can apply fun filters to your webcam feed? It might be cool to do something similar for your microphone input. I mean, really, who doesn't want to sound like Darth Vader from time to time? Is it possible to build something in GStreamer perhaps? It could make for a nice project for someone over the Christmas holiday season. Just sayin'...