Thursday, August 16, 2012

Working the Work Flows or I Woke Up in a Soho Doorway

Here at your friendly neighborhood Ubuntu Studio development team, we consider Ubuntu Studio as more than just a collection of applications.

This might sound like fancy, highfalutin talk - and I really thought I had talked about this before on my blog, but can't find anything - but considerable thought has been dedicated to exploring how we can make Ubuntu Studio more than the sum of its parts.

One aspect exists that I would really like to improve and I will start this series of posts by expanding my thoughts on it with you. So, sit back, enjoy the ride, and tell me where I'm an idiot and wrong;)

Curiouser and Curiouser

During the development of Ubuntu Studio 12.04 the application set (i.e. the multimedia applications shipped for content creation) was stripped down and rebuilt based on work flows. Work flows were developed to document the preferred tool chain that provided potent, complete support for a tasks Ubuntu Studio users want to accomplish. You can read more about them here.

However, I feel that the work flows are not optimally being utilized unless they are provided to users in a simple and transparent manner so engagement is immediately accessible and intuitive. Wow, that's a lot of crazy words that might not really make sense.  Yes, users can read the work flow documentation, but I believe that a way exists that makes their usage as intuitive and natural. Like breathing, or at least with minimal exploration or thought.

I especially think this is an important consideration given that the development team defined our target audience as content creators who are new to Linux.

The Kids Are Alright

Let's explore a demonstration to underscore the point. For this example we will consider a studio experienced musician who wants to record demo riffs with some simple drum patterns for an upcoming album.

A most common approach (and one documented in the work flow) is to use qjackctl (the JACK sound server control application), Ardour (the DAW), and Hydrogen (the drum machine). The actual (and simplified) work flows is as follows:

  • qjackctl is first used to manage and start the JACK sound server
  • Ardour would then be started and a new project started and tracks for guitar and drums added
  • Hydrogen can then be started and a simple pattern created on repeat
  • qjackctl is again used to make audio connections between Hydrogen and the guitar to Ardour
  • the record button is pressed in Ardour, which starts Hydrogen and records the guitars and drums

This may seem straightforward...but you cheated because I told you what would work. For a new user, there are several significant disadvantages already present which make this a difficult, although not insurmountable, proposition. In particular I would mention:
  • the requirement to start and control a sound server; which is neither intuitive nor conventional in other operating systems (especially a second sound server)
  • the "do one thing and do it well" philosophy results in multiple applications required, which is a  contrast to other operating systems' more monolithic approach
  • the preferred applications designated for a particular work flow are not immediately evident; unless the new user found the documented work flow and read it, but I do not consider this "immediately evident"
  • the Audio Production menu in particular has a lot of applications in it, finding the one needed can be difficult (although the new sub-menus in 12.04 help quite a bit...thanks Len!)
I hope that you can appreciate that even a musician with studio experience might experience difficulty transitioning to Ubuntu Studio (and perhaps Linux audio). It is an appreciable paradigm shift and I believe we need to recognize this.

My Generation

Some might be saying to themselves at this point, "Hey Self! I think Scott is being pretty depressingly critical on Ubuntu Studio." To which you might reply to yourself, "For Linus' sake, he's the bloody project lead, isn't he supposed to tell me Ubuntu Studio provides free sunshine, rainbows, giggles, warm feelings and kittens?"

I suppose I could, and maybe I should. But I can't and I shan't.

I prefer to be open and direct about such things and I think an honest assessment can provide appreciable benefit and growth.

So, the next post we will continue this exploration and discuss goals I think need to be achieve to address these (and other) issues. If I can be succinct enough (hah, probably not) I'll even describe some solutions that have been considered.


Jeff Hendricks said...

I totally agree, qjackctl is extremely unintuitive. You can use the built-in function in Ardour, but it gets complicated when you use Hydrogen, rosegarden, jackrack, qsynth, etc. at the same time. The patchbay in jack helps, but it takes so long to set up! I know this isn't specific to Ubuntu Studio, but it is indicative of the kind of thing we have to deal with. Keep working on it!

Anonymous said...

Forget qjackctl we need laditray and gladish and we need example studio's built in! Took me more than a year to realize how powerful Ubuntu Studio really is. Awesome project, thanks.

BruceG said...

Thank you so much for posting your workflow! I'm not new to Linux, but am new to Ubuntu Studio and trying to figure out audio. This certainly helps.