Glade 3 released

Glade 3 released

Just a quick note. This week a new release hit the streets that seems to have gone rather unnoticed – [Glade 3 was released](https://glade.gnome.org/)!

Glade has always played an important role in GNOME and GTK development, and has had a troubled past with some rather quiet spots. I think anyone who has used Glade has shouted at its foibles, but now the Glade team seem to be cooking on gas. Congratulations to everyone involved on the release!

I am particularly looking forward to that all-in-one glade window. Read more about it in the [latest GNOME journal](https://gnomejournal.org/article/50/glade-3-sees-the-light-of-day).

The Official Ubuntu Book is out!

The Official Ubuntu Book is out!

Today when I got in from work there was a FedEx package containing one of these:

This my friends, is the [Official Ubuntu Book](https://www.phptr.com/bookstore/product.asp?isbn=0132435942&rl=1) and it is out now!

I am really pleased with how the book turned out, and it was a delight to work with Mako, Corey, Jonathan and Ivan. A special thanks should go out to the awesome Debra Williams-Cauley who nurtured the book through every step. The schedule for the book was pretty tight and it was an interesting experience writing a book around software that was not written yet. I remember hanging around #ubuntu-devel getting daily updates about the GUI installer as Colin was writing them. Bleeding edge writing if there ever was.

Also, thanks to the incredible Ubuntu community who contributed recipes for one of the chapters. This started out life as [this fridge post](https://fridge.ubuntu.com/node/282) and resulted in an awesomely diverse chapter. This not only gives the book more value, but makes the book feel like a real community effort. Thanks for your awesome work people! 🙂

Finally, the book is released under an open license, but I really urge you to buy a copy. This is not for any financial benefit for the authors, but for the potential of a second edition. If this book sells well, there will be another, and we can keep having a high quality official guide for Ubuntu. So, vote with your feet and grab a copy. If a second edition is commissioned, I would love to explore ways in which we can increase the contribution of the community and the doc team to the next edition and continue the community contribution to the book. This is not mine, Mako’s, Corey’s, Jonathan’s ad Ivan’s book – its *our* book – lets make it rock hard. 🙂

Easing contributions for creative thinkers

Easing contributions for creative thinkers

[MacSlow brings up some interesting points](https://macslow.thepimp.net/?p=78) in his most recent post, and although his idea about the library he suggests makes perfect sense to me, I would like to broaden out the discussion a little to explore ways in which visually creative people and others can better help the desktop experience, without suffering through processes alien to them.

Part of the problem is that the current development model is fundamentally based around programmers. Even if you have an artist working away in Inkscape doing some art, the artist typically needs to know about Subversion and needs to be on the bleeding edge, checking out code so they know which icons to draw. Even then, when it comes to icons there are different sizes, and technical reasons and contexts when those sizes are used. This all fundamentally detracts away from the core skill that person brings – to create beautiful artwork.

In recent months we have seen an explosion in the visual side of the desktop with Tango, Cairo, Compiz, XGL/AIGLX and more maturing. I am really interested in exploring better methods of putting visually creative people in a position where they can express their ideas in such a way that makes sense to developers/users and can be implemented easily. Now, in the long term, expansive changes to desktop infrastructure could theoretically accommodate this (such as the oft-discussed CSS driven theming engine). In the meantime I put this to you – let us try and create usecases that are amenable to non-programmers and build around it.

A few examples:

* Artists – artists should not need to know what version control is, they should not need to know about code, development, checkouts or other fluff – they should just need to know (a) which icons/imagery is required and (b) any guidelines (such as Tango) in producing that art. When art is created, it should be easy to pass it to the developer, and the developer should be easily able to manage it.
* Documentation writers – docs writers should again not need to know about this programming fluff, and they really shouldn’t need to know about markup languages. The docs writer should just be able to view a page and edit it straight away. Wouldn’t it be great if you could just click on the text on a wiki page and edit it directly instead of having to learn all that pesky wiki markup?
* Bug reporters – bug reporters should not need to know about severity, versions, milestones, products etc. The reporter should know the problem and be able to tell the developers easily. Bug buddy is a step in the right direction with regards to this, but I still think the problem can be eased. Bug reporters are users, and anything that sounds vaguely non-userish will be seen as gibberish and will put the user off reporting bugs. We should treat bug reporting with the same level as care as we treat the desktop. Why don’t we use Istanbul to record the bug happening?

All of this is about process – we need to identify methods in which we can preserve the seedling of that skill in question and not run it through the shredder. Fewer obstacles in the way of contribution means more contributions and a greater eagerness to contribute. Contributors just want to do the thing in hand, and I am convinced there are huge opportunities to ease this process.

Presets in…feel the power

Presets in…feel the power

Recently I have been working on the presets code in Jokosher, and much of it is complete and working. It is pretty cool to be able to save and load effects presets from within Jokosher, and I am really looking forward to hearing how Jokosher users will come up with their own presets, of which any we can ship. I am also interested in adding support for Preset Packs – collections of genre related presets. So, if you are are in a metal band you could install a bunch of presets, and if you are in a blues band you could install other presets. Its little things like this that should set Jokosher apart from the pack.

With the presets code in there, my work on effects support is nearly complete. A recent checkout of Jokosher SVN allows you to do the following:

* Select from a list of LADSPA effects on your system and add them to an instrument.
* Select multiple effects and string together ‘chains’ of effects.
* Adjust effect settings while the audio is playing and hear the changes in the effect in real time.
* Save and load presets for specific effects. As an example, you could have a bunch of presets for a specific Delay.
* Save and load preset chains for an instrument. A preset chain is a bunch of effects strung together, and they are accessed per-instrument. This means you can intelligently select the right preset for the right instrument (e.g. guitar presets shown only for the guitar instrument).
* Effects are saved and loaded with projects.
* Effects are represented in XML and could be theoretically shared between applications. I have tried to make the preset format as non-Jokosher-specific as possible to help with this.

There are still some bugs in the LADSPA bridge that the GStreamer hackers are working to fix, and when they are done, this is going to make Jokosher rock pretty hard.

Speaking of effects, there are a few other things going on. I have been thinking about the problems of auto-generating effects GUIs (required for LADSPA effects) for a little while (I have another post about this queued up), and I have also been looking at what the current state of Open Source digital effect development is like.

The future seems to be a project called [LV2](https://lv2plug.in/) which is LADSPA v2. This effort is being spearheaded by some key Linux audio developers, and they [recently announced their draft spec update](https://lalists.stanford.edu/lad/2006/08/0007.html). LV2 seems to solve a bunch of problems in LADSPA, and a lot of people are getting exciting about it. What it does not solve, from what I can tell, is the issue of auto-generating GUIs, but like I say, I will blog about that later.

## Other Jokosher shazaa

So, what else is going on with the Jokosher project? Here is a summary:

* Code has gone into Jokosher to support translations, and there is some incredible work going on in this area. The translations are being done on Launchpad, and you can [see the current progress](https://launchpad.net/products/jokosher/+translations).
* Aq and Laszlo have been working on the Jokosher plug-in API. This will provide support for loading special extensions to Jokosher, and this is key in making sure Jokosher becomes a central hub for audio production. Imagine browsing Creative Commons audio sites from within Jokosher, imagine automatically uploading audio to sites or burning CDs, imagine automatically generating podcast feeds. The plug-in API will allow you to do this, and opens up Jokosher for professional studios who need to add some bespoke code to hook into their processes.
* Jeff has started work on a new docs wiki that will become a central site for Jokosher documentation. This will not only enable docs to be better accessible but also provide a place in which users can create HOWTOs, guides, tip sheets and much more.
* Edward Hervey has nearly finished some additions to [GNonLin](https://gnonlin.sourceforge.net/) that allow us to hook up our volume fades GUI code to the audio engine.
* The [Art Team](https://jokosher.python-hosting.com/wiki/ArtTeam) have been busy working at creating more instrument and application icons. They are also creating multiple size pngs so we can ditch our libsvg dependency and ramp up the speed.
* Zooming was made more intelligent by Jens with quite a nifty patch to adjust the ruler measurements as you zoom in and out. Jens also sent us a cool patch for re-ordering instruments with some cool drag and drop.

## Getting involved

The Jokosher project needs you! We are really keen to get more and more people involved in the project. If you are interested in helping, head to [the main developer website](https://jokosher.python-hosting.com/) where you can find out more. We have also added a collection of [bitesize tasks](https://jokosher.python-hosting.com/report/9) that are a great way of getting started. These are small things that need fixing or adding, and are a great way of getting to know the project.

Finally, we are planning a Cleanup Day in which we are going to go through the code, tidy it up and fill it with comments. This should make it easier to get started. We will also use this day to fill the development site with more documentation.

Thanks!

Thanks!

Wow, thanks so much to everyone who posted [such nice comments](https://archivedblog.jonobacon.com/?p=737), sent such nice emails and made such nice phone calls. I am quite touched by the amount of support you lovely people have given me. Thanks. 🙂

I have already had some really awesome feedback about issues and areas in which the Ubuntu community could be clarified, buffed up or improved. This includes:

* The relationship between Debian and Ubuntu.
* The potential divide between Canonical employees and volunteers.
* The prioritisation of different skills in the project, and how artists, documentation writers, developers, testers, bug reporters and others are treated.
* The public face of Ubuntu and concerns that Canonical will over-commercialise Ubuntu and take the community spirit away like other distributors have done in the past.

I am still keen to hear more, so do post your comments. 🙂

Glade 3 released

Goodbye OpenAdvantage, hello Canonical

Well, after an awesome time working with my good friends at [OpenAdvantage](https://www.openadvantage.org/), I am moving on and recently handed in my notice to move to a new role at [Canonical](https://www.canonical.com/). On September 4th I start as the *Ubuntu Community Manager*, and I am raring to go.

I have had a wonderful time at OpenAdvantage, and the team there are fantastic to work with, incredibly supportive and great fun. I will miss each and every one of them, and particularly enjoyed the impromptu discussions, debates and demos in and around all manner of subjects. At OpenAdvantage we have made huge strides in developing the West Midlands as a hotbed of activity for Open Source, and it has been great to be part of the ride. As the project nears its completion, I really hope OpenAdvantage can continue to do such sterling work across the West Midlands and hopefully across the UK. My departure from OpenAdvantage is entirely amicable and I look forward to staying in touch with all my friends there.

So, onto the Ubuntu role. Some of you may have seen [Mark’s blog post](https://www.markshuttleworth.com/archives/47) about the position. It is an interesting and challenging role, and one I am ready for. For the last eight years I have worked in a number of different communities, developing community relations and working to understand, rationalise and manage the different aspects of community effectively. Most recently I have been doing this with the [Jokosher](https://www.jokosher.org/) project, and we have an awesome community with a strong culture and direction.

As Ubuntu Community Manager, my energy will be focused in a number of different areas, each a foundation for a strong Ubuntu community. This includes:

* Ensuring the wheels of the community are well oiled, and the different teams (Documentation, Art, LoCo, Marketing, Press, Accessibility etc.) can effectively work together, resolve conflict, source resources and more.
* Refine and explore methods to make the Ubuntu community as *approachable* as possible. I want to ensure potential contributors can get started quickly and know when, where and how to get involved easily.
* Develop processes and practises to ensure we get the most out of contributor time. Many contributors only have limited time they can dedicate to a project – we want to make sure they get the most out of that time and there are as few obstacles and red tape in the way. Happy contributors get things done and achieve doable goals – lets make this rock even more.
* To foster innovation at every level. We have so much potential to think outside the box, develop better ways of working together and new ways of delivering in each of the different teams.
* Making the Ubuntu community as *inclusive* as possible. The ever-growing Ubuntu community spreads across many countries, cultures and communication mediums – lets make sure that we always retain community feel and spirit.
* Measure and explore patterns in the community so we can understand it better and ensure all aspects of the community get the attention they need.

This is just a small subset of the work I will be doing as part of the Ubuntu project, and the job will bend, twist and move in the same direction that the community moves. Importantly, I am here to be a point of contact for the Ubuntu community. If you want to discuss something, have a concern, are unsure about something, do get in touch.

So, where now? Well, in the meantime I need to get the usual new-job related things set up, wrap up a book and finish up some OpenAdvantage projects. This should take me up till the end of the month and then I get started.

While I am doing this I want to know what you think about how the Ubuntu community could be improved, where is excels, what you would like to see happen and where you see the Ubuntu community in two years. I will be asking the same question to the different Ubuntu teams when my company email is set up, but I am interested in readers of jonobacon.com’s comments too. So, share with me your thoughts…

The Official Ubuntu Book is out!

Season 3 closes

Hey, guess what? [LUGRadio Live and Unleashed 2006](https://lugradio.org/episodes/59) has been released in audio and video form. Go and grab it, and don’t forget to help seed the (https://torrents.lugradio.org/lugradio-liveandunleashed2006.ogg.torrent).

Well, thats the end of Season 3. It has been one hell of a ride, and I want to give great thanks to my [three](https://www.kryogenix.org/) [great](https://www.understated.co.uk/) [pals](https://www.adrianbradshaw.co.uk/) who I co-present with, and of course the incredible community spread across the [forums](https://forums.lugradio.org/), #lugradio, [planet](https://planet.lugradio.org/) and our awesome mirror maintainers. This fantastic community has spread across the world into virtually all countries, and we never ever forget how awesome you folks are.

Also, thanks to the ever amazing [Bytemark](https://www.bytemark.co.uk) who have supported us hugely in terms of hosting and sponsorship for [LUGRadio Live](https://www.lugradio.org/live). If you need hosting, [get one of their VMs](https://www2.bytemark.co.uk/page/Live/hosting/prices/virtualmachine), they are awesome.

Bring on Season 4 in September… 🙂

Presets in…feel the power

Rock on GStreamer, rock on

Thanks to Frans van Berckel for mailing in to tell me about [LiveSupport](https://www.campware.org/en/camp/livesupport_news/). This is a GStreamer based radio management application. Franz actually sent me the link to their [development site](https://code.campware.org/projects/livesupport/), but I also had a poke around their main website and it looks like a pretty sweet tool, and another example of the awesome stuff GStreamer lets you do.

I am really pleased to see how GStreamer is growing more and more in popularity. In the last six months I have spent much of my spare time poking with GStreamer to write code for Jokosher, and not only has the software impressed me, but the community has proven to be friendly, inclusive and eager to help. When you combine the increasing features and stability, awesome applications that are coming out, next gen work going into network clocks/syncing/QoS etc, commercial use by Fluendo, Collabora, Nokia, OpenedHand etc, you can see why people are getting excited about GStreamer.

The advocate in me says that people need to go from zero to psyched about software quickly if they are going to use it, and GStreamer’s architecture helps this goal. The reason for this is simple. If you learn how to create a pipeline, put something in it, set its properties and state and deal with messages, you can basically write the beginnings of any media application you like. That is the gem in their offering – you learn a few skills, and the framework gives you the ability to do virtually anything. This Lego approach to media production means that the value is in learning how to stick bricks together, a skill that makes your abilities extensible. Although I have spent all my time poking at audio, I could use the exact same skills to write a video editor, a streaming media server, a media player and much more.

If you, like Franz have seen a cool app that you think I would also think is cool, do [get in touch](mailto:jono AT jonobacon DOT org).

Presets in…feel the power

LADSPA update

Well, the server move was successful, and everything is back up and running. Thanks for your patience folks.

I thought it was time I gave you a quick update on my LADSPA hacking in Jokosher. Although the code is by no means complete, more and more of it is working. Currently you can select an effect from the list of available effects on your system, and it will apply the effect to the instrument when you press play. So, as an example, I just applied the Simple Delay effect to a guitar recording and it sounded great. You can also mix down fine with the effect applied. 🙂

I did have some bugs and quirks with setting GObject properties for the effects, but I have fixed that now, and as of tonight’s commit, you can update effect settings in real-time and hear those changes while the audio is playing. To prove it, I just wasted 35 minutes fiddling with sliders on the effects that are working.

This is a great start, but there are still many things to be fixed, and much of it needs fixing in the LADSPA GStreamer element that we depend on. My friend and yours, Andy Wingo hacked in a bunch of changes in on Friday to get the element limping along, but it still needs some love. If there is anyone out there who is so inclined to hack on it, fix some bugs and get the insane levels of fame reserved for such an act, you can find it in `gst-plugins-good/ext/ladspa`. I have reported a bunch of bugs that outline the problems:

* [after changing state from PLAYING to READY/NULL, going back to PLAYING doesn’t work](https://bugzilla.gnome.org/show_bug.cgi?id=350006)
* [effects with only src pads never go past prerolling](https://bugzilla.gnome.org/show_bug.cgi?id=349902)
* [gst_element_class_add_pad_template: assertion `gst_element_class_get_pad_template (klass, templ->name_template) == NULL’ failed – segfaults](https://bugzilla.gnome.org/show_bug.cgi?id=349901)

These bugs are currently standing in the way of me getting the LADSPA support in Jokosher finished, and if you can help fix them, I am sure Mr Wingo himself will be pleased too. 🙂

UPDATE: Oops! I forgot to say, if you want to poke around with the LADSPA stuff in Jokosher, see [this page](https://jokosher.python-hosting.com/wiki/GettingJokosher). I added a few notes to the wiki.

Easing contributions for creative thinkers

Server move happening soon

Yep, I am moving to a new server, so jonobacon.com will go away for a day or so. If you can’t handle the pain, I recommend you take a screenshot, print it out and place it next to your pillow to remind you of the good times. Normal service will be resumed soon…