Always remember

Always remember

Today is [Holocaust Memorial Day](https://www.hmd.org.uk/default01.asp). Today marks the 60th anniversary of the liberation of the former Nazi concentration and extermination camp, Auschwitz-Birkenau, in 1945.

It is mind-boggling to think of the sheer scale of human misery that was afflicted on the world back then. Sometimes its important to step back from the frivolity of today and remember this horrific blot on the human condition. It really does put everything in perspective…

Leeching companies don’t succeed

Leeching companies don’t succeed

[Dave](https://blogs.gnome.org/view/bolsh/2006/01/26/0), I agree with you, and this is one of the difficult aspects of our community. Then again, this affects all communities. If anyone is to stand up and violate the fabric of a community, retaliation is common. This is no different to paediatricians getting lynched because people thought they were peodophiles. Its a shocking display of ignorance. Although I strongly disapprove of the actions of Luxuriousity, they are within their rights to do what they do – it just isn’t all that community spirited. Mind you, this point concerned me a little:

> I did ask if they had an FTP server where I could get their modified sources, but they didn’t have one, and said they didn’t need one, since they included the source code on the CD they ship with the binaries, and provide an offer of source code on a CD to anyone who asks.

When you say *provide an offer of source code on a CD to anyone who asks*, is this the source code on a CD for the price of the media, as stipulated by the GPL, or does the source only come with the full price version? If it is only the full price version, thats a no-no.

The one consolation we have is that leeching companies like this rarely get anywhere. If you look at the many, many companies who have attempted to take our software and flog it without even the smallest attribution or contribution, they typically die and short and swift death. I suspect the reason for this is two-fold:

* Firstly, a company that can take an Open Source project and re-brand and exploit in such a way really has no understanding of Open Source. Sure, Novell, Red Hat, CodeWeavers, Canonical, Linspire and others have their own degree of re-branding, but their clear understanding of the Open Source ethos ensures that they fullfil the *good citizen* tenets of the community such as giving credit where credit is due, bug reporting, working with the community, sharing at least part of their development and being involved. To not do this is to already hammer part of the nail in.
* Secondly, taking a piece of software and re-branding it really is a limited business model. If you are not doing anything than re-branding, you bet your business on the actions of others. Fair enough if they take the software, hack it and release their own version with extra bits, but to just take the bare application and sell it as-is is something of a short-scale vision.

So, the moral of this story – it looks like they complied with the license, but success is more than just complying with a license. You need to understand the community to really benefit from the assets it produces.

Comment spam banished!

Comment spam banished!

People of the world, rejoice, for I have fixed my comments page to prevent automated comment spam. Now when you add a comment, you are asked to add two numbers together. This is quicker than having to generate a captcha image and more accessible. This news will no doubt come as a nice surprise to those of you who subscribe to my [blog comments RSS feed](https://archivedblog.jonobacon.com/rss/jonobacondotorg-blog-comments.xml), which has been repeatedly battered with comment spam. 🙂

This week has been heroically busy, so not as much blogging as I would have liked. I am still working on this bug in RaccoonShow, and I [posted to the swftools mailing list](https://lists.gnu.org/archive/html/swftools-common/2006-01/msg00038.html) to see if someone can help. If some of you are bored one evening and want to try and figure out what the problem is, do go ahead. The sooner I fix this bug, the sooner I can release.

Always remember

Bug lover

Last night I spent a few hours hacking on RaccoonShow and resolved the bug with the PDF to JPG conversion. It seems the bug was triggered in an older version of Ghostscript (7.07 and below). In later versions of Ghostscript the conversion is fine. I am also using Ghostscript directly instead of using Imagemagick’s convert which in turn uses Ghostscript. This reduces the dependency trail.

The current problem I have is with some of the timings of the slides. If I manually set the timings in the swftools script it seems to work OK, so I don’t think the problem is the images taking time to load. When I generate the timings the bug seems to be present, so I need to look into the script generation. When I have resolved this bug, I will be ready to release. Last night I also added a few extra switches, wrote the README, Changelog, LICENSE and tidied up some bits and pieces. So, one bug to go – I hope to have this resolved soon and RaccoonShow released shortly after.

## Advocacy

When I did the talk at ManLUG I recorded it do I could release it later (hence the inspiration behind RaccoonShow). I hope to release this soon with the slides so others can make use of the presentation. Preliminary feedback seems to be that the talk went down well. Thanks also to [Matthew Edmondson](https://www.matthew.edmondson-uk.com/) who wrote a particularly kind review:

> Went to an excellent ManLUG on Saturday. Saw Jono Bacon speak about Linux advocacy. It was inspiring seeing how someone has made a successful career from Linux Advocacy. His talk was full of insight and humour. I have been following Jono’s work since I subscribed to Linux Format, so it was nice to be reminded that whilst the Linux movement grows, it is still a community. Jono has many great attributes that make him an excellent Linux Advocate. He is frank and outspoken, and uses his experience, intellect and humour to share his “bullshit free”[TM] insights. Nice one Jono. check him out at Planet Advocacy and many other places.

Seeing short paragraphs like this really do give you the oomph to keep on truckin’. Thanks so much Matthew.

In other advocacy news, I have been working with Brisol about their StarOffice case study and they are sending me some answers to some questions I mailed them. They really are a committed bunch and from my initial investigation, it seems they executed the migration effectively.

I am also in the process of working on a case study of a local NHS organisation who have made the move to Open Source. I first met one of the managers at a local government event that we were attending. I booked a meeting with him and he was professionally interested in an Open source CRM solution as well as personally interested in replacing Windows on his ageing home PC. I gave him an Ubuntu CD and he was really quite blown away when he installed it at home. This obviously gave him the gusto to investigate Open Source further, and another meeting was booked to further discuss SugarCRM (an Open Source CRM) and a possible migration. They have now deployed SugarCRM and are looking to further their Open Source adoption by procuring 500 Zimbra licenses. And to think it all happened from a single discussion at Aston Villa in a dusty formal conference…

In [Planet Advocacy](https://planetadvocacy.jonobacon.com/) news, [Benjamin Mako Hill](https://mako.cc/) is the most recent addition. I had a natter with Mako yesterday about the discussion on [LUGRadio Season 3 Episode 7](https://www.lugradio.org/episodes/42) about how far you take free software. Mako is a clever guy, and a great addition to the Planet.

## Preparing for LA

In a few weeks I head over to the [Southern California Linux Expo](https://www.socallinuxexpo.org/) in Los Angeles. I arrive the Thursday before the show and leave the Monday after. If anyone fancies a beer, let me know.
—–

RaccoonShow

RaccoonShow

This weekend I started a new project which I have codenamed *RaccoonShow*. For a while now I have been wanting to find a tool that can take a presentation file, an audio file of the recorded talk and squeeze them together into a flash animation. I am certainly not the only person who has been looking for this, and [Lessig also mentioned it](https://www.lessig.org/blog/) recently.

Last night I started to hack something up to do this. To get started I have created a command line version of the application which gets the backend working, and I am also going to create a GTK version frontend. With this command line backend, it means that other GUI frontends can also be added if needed. The way it works is simple. You first of all need to save your presentation slides as a PDF file. Taking the slide input as a PDF makes RacconShow more flexible than restricting it to OpenOffice.org files or suchlike.

You also need to save your audio as a WAV file. Listen to the WAV file and create a new text file (it can be called whatever you like, but I name it `times.txt`). In the file, add the times when the slides should change in the order of the slides. Put each time on a new line:

0.32
1.21
2.01
2.34
3.30

Save this file and then run the following command:

raccoonshoow -p slides.pdf -w audio.wav -t times.txt

After a few seconds out pops `Presentation.swf` which maps your slides to your timings and bangs the whole shebang into a single flash file. Load it in your web browser and there you have it – instant presentation. Cool huh?

Everything is written and working, but the only problem I have is that the slides in the flash file seem to have a lot of blank area at the top. I think this is down to a scaling issue so it should be easy to fix. When I have tidied it up I will will release the code. RaccoonShow requires [swftools](https://www.swftools.org/) and Python and is licensed under the GPL.

When I have this glitch fixed and made a first release I will start work on the GUI interface. The interface will allow you to pick the slide changes graphically and make the whole thing a cinch. 🙂

## ManLUG

Been a busy week for speaking, and with my Open Source Briefing talk on Monday and MythTV talk on Wednesday I was looking forward to heading over to Manchester to do my *On the Front Line: Convincing People of the Inconvincible* talk. I got there a little early, wandered round Maplins and then headed over to meet the LUG. The talk seemed to go down well with plenty of questions and a good turn out.

I was also pleased to see some members of the LUGRadio faithful show up. I took a snap of them in the pub:

Thanks to ManLUG for inviting me up, and thanks for the folks who showed up. It was great to put faces to nicks. 🙂

## Yorkshire Pudding

Sooz can cook a mean Yorkshire pudding:

Birds have no burp reflex

Birds have no burp reflex

Yesterday I published an article called [Building up the Advocacy Community](https://www.oreillynet.com/pub/wlg/9057). This short piece just discusses why the advocacy community has slowed down and focuses on how to build the community back up.

My band, [Seraphidian](https://www.seraphidian.com/), have decided when we are going to record the follow up album to Caged. We will enter the studio in Late April and early may for an intensive recording session. The new music is sounding utterly brutal and we can’t wait to lay it down. We have also moved to a WordPress site for the new site. We are currently moving everything over. Our old PHPNuke site was rather unsurprisingly hacked to buggery, so we are building it back up.

I am also in the process of writing my own solo album. I will about that over at [Recreant View](https://www.recreantview.org/) soon.

## Bristol Council and Open Source

Recently I have been working with [OpenForum Europe](https://www.openforumeurope.org/) and the [Open Source Academy](https://opensourceacademy.gov.uk/) to help push the merits of some recent Open Source case studies. Of particular interest is the Bristol Council migration. In this particular example, a bunch of computers, specifically 5,500, have been gloriously moved over to StarOffice. What is interesting about this case study is that they have [made much their findings available under the Creative Commons](https://www.opensourceacademy.gov.uk/osa/folder.2005-09-28.8524679420/folder.2005-09-28.7241574634/).

An interesting report that really needs to be used as a carrot and stick for those companies considering the move to StarOffice or OpenOffice.org is their

  • (https://www.opensourceacademy.gov.uk/osa/folder.2005-09-28.8524679420/folder.2005-09-28.7241574634/featurecomparison/). In it they say:

    > This report summarises our practical experience of evaluating and using StarOffice 7, and also compares the features available in StarOffice 8, released in September 2005. The features we describe are all available in OpenOffice.org 1.1.4 or 2.0 respectively. We compare with MS Office 2003 as the current version of the dominant product.

    The report goes into some detail through the different applications in the suites and lays out the comparisons in a table. At the end of the report they summarise:

    > StarOffice is a good quality, usable office suite, containing the majority of the features needed by Council staff in Bristol in a straight-forward and logical way. OpenOffice.org contains all of the core features of StarOffice, so our judgements in this report apply to it in equal measure.

    > The upgrade to StarOffice 8 has improved all of the component products:

    > * Writer now matches all of the core features of Word that Bristol staff use, and also contains some that are genuine improvements, such as XForms support.
    > * The overall picture is the same for Calc, although some improvements are still needed in the charting capability.
    > * Impress is the most improved product, and can now be used as easily as PowerPoint. It only lacks the automatic organisation diagrams.
    > * Base provides a simple personal database application, and the ability to connect to and work with enterprise databases, but is not as sophisticated as Access. limiting its use for developing workgroup database systems.
    > * Draw is a very competent hybrid vector and bitmap editing package that exceeds the features in the MS Draw applet, and can match many of the features of Visio. Combined with the rest of the suite, Draw makes inclusion of sophisticated diagrams very easy.

    A good, detailed and objective report. I have mailed [Erwin Tenhumberg](https://blogs.sun.com/roller/page/dancer) to see if he knew about this.

    Also included on the site is their [business case](https://www.opensourceacademy.gov.uk/osa/folder.2005-09-28.8524679420/folder.2005-09-28.7241574634/businesscase/) for StarOffice or OpenOffice.org. This again proved interesting reading.

    ## On Big Brother

    I love [Big Brother](https://www.channel4.com/bigbrother/). I have watched it every year and never grow bored of its endless fun and hilarity. Every year I sit there, screaming at the telly, and laughing manically when someone gets dealt a dose of their own medicine. How can anyone dislike a show where 12 lunatics are placed in camera-infested asylum and are repeatedly prodded with challenging social situations?

    Unfortunately, there does seem to be some snobbery about Big Brother. I am shocked at the amount of people who have lambasted me for enjoying the show and often saying *jees, Jono, I would have thought you were above that show*. Sure, its possibly perceived as cheap and cheerful telly, but its fun. I really don’t get this snobbery about an entertainment show – it really isn’t that important to be snobbish about.

    Anyway, the point of this entry is to vent some pent-up anger from last night’s show. Now, I have got mightily annoyed in the past at some of the contestants. As an example [Marco](https://www.bigbrotheronline.co.uk/bb5/contestants/marco.htm) really made my blood boil, and although I vowed to never vote for anyone to leave the Big Brother house, I voted for him four times one night. He was a whiny, pathetic moaner with an unnecessary bitchy side to his personalty. Though Marco was nasty, you ain’t seen nothing until you have seen [Pete Burns](https://www.bigbrotheronline.co.uk/celebritybigbrother4/contestants/pete_burns.htm) in Celebrity Big Brother.

    In the show last night, Burns delivered an unrepentant verbal assault at [Traci Bingham](https://www.bigbrotheronline.co.uk/celebritybigbrother4/contestants/traci_bingham.htm). I have rarely seem such a nasty, mean and outright cruel attack at someone. I was *utterly disgusted* at just how horrible someone could be someone else. She was genuinely trying to be nice to him and he attacked every side of her personality with venom. I don’t like people who are mean for the sake of being mean, and he stepped over the line. I really hope the ungrateful, attention seeking bastard is kicked out of the house sometime soon.

    ## Dogs don’t like Linux

    Speaking in Manchester

    Speaking in Manchester

    This is probably of most interest to subscribers of [Planet Advocacy](https://planetadvocacy.jonobacon.com/), but I will be giving a talk about sensible advocacy entitled *On the Front Line: Convincing People of the Inconvincible* at [Manchester Linux User Group](https://www.manlug.mcc.ac.uk/) this Saturday (21st Jan). The meeting kicks off at around 2pm. There is also a talk about coreutils by Dave Gilbert.

    My talk covers some of the *golden rules* of advocacy and how you can achieve more when helping people move over to Open Source and free software.

    Hope to see some of you there.

    PS – The RSS feed should be fixed now. 😛

    Open Source for Shareware Developers

    Open Source for Shareware Developers

    [Patrick](https://blogs.sun.com/roller/page/patrickf?entry=why_business_people_write_books), I am certainly going to have to pick a copy of that book up. One thing that has continually irked me is the utterly meaningless language of many parts of the IT industry. When I was learning to write, the great William Zinsser inspired me to take the perspective that the communication of ideas, thoughts and concepts should be as clear and understandable as possible. As he says, “there is no sentence too short in the eyes of god”. Some members of the IT Marketing fraternity could do with heeding his advice.

    ## Open Sourcing for shareware developers

    Today I got an email asking an interesting question:

    > I have an advocacy problem for you. How do you persuade a typical shareware developer that they should be writing free software?

    The sender included some details of the case in question. It is a Shareware application in which the author solely earns money from the application for his family. Should the application be Open Sourced and instead use a donations link to earn money?

    This was my response:

    > I think the way to look at this problem is by identifying that a revenue stream *must* be ensured for the project to continue. As you have made quite clear, the author of the program has to put food on the table and kids in school, and as such payment is a pre-requisite to continue developing the software. As such, the concept of a donations link is redundant. As you say, donations are really intended as occasional payments that often don’t amount to all that much. People often think of donations as 50p swapped for a sticker with someone shaking a coinbox outside a supermarket.

    > You therefore need explore other revenue streams. One option is taking the software and developing an entire business around it. This is of course highly dependent on the type of software, and I agree that an RSS reader may not have a huge amount of logs to keep bringing in the revenue. There are however, a number of possible opportunities to shape revenue earning functionality around the edge of it. Bounties, advertising, exclusive membership systems, support, training, documentation etc. Each of these can be charged for.

    > An interesting example of this is the Blender project (www.blender.org). They have an Open Source application but have created the Blender shop in which they sell merchandise, documentation (PDFs and Books), related products (such as textures) and more. Remember that each Open Source project has a community of users, and this community are likely to want to invest in products and services that are relevant and offer good value.

    > Aside from the monetary angle, the developer needs to take into account how the Open Source development model can improve the application. Sure, if the product is Open Sourced there is a perceived risk that the code could be taken and implemented in another project, but this is rare, and the reality is that the developer has already created a product that already has a reputation and a user base. If this reputation is further improved by Open Sourcing the project it is unlikely that a fork will occur unless the proposed fork maintainers radically disagree with the direction of the project. If this does happen, the main project still exists and the fork will diverge away from that direction anyway.

    > It is essential to remember that the process of Open Sourcing a project fosters the possibility of a development community. This community is sure to reap many benefits as a wider range of skills and experience comes on board to improve the application. Again referencing Blender, the Blender project used to be free but no Open Source. When they Open Sourced it, the development of the application sped up intensely and has developed far beyond the expectations of many people. This is a great example of how Open Sourcing an application can harness the community to really improve and extend it.

    > What is also essential to remember is that if you just Open Source an application, that is not enough. With the code available, some effort needs to go into building a community around it. This primarily involves creating a roadmap, some mailing lists, having a public CVS/Subversion server and having a publicly accessible bug tracking system. When the project is first open sourced, the developer should be on tap on the mailing lists to answer some questions from new developers about how the code is structured, where the direction of the project is going. After a while the community will build and the team will begin to look after itself.

    > So, in summary:

    > * A donations link is not enough to secure income. If you *need* to secure income from the application, develop a products and/or services offering around the application. Be creative – look at how other groups such as Blender and MySQL have done it.

    > * Open Sourcing an application creates the opportunity for an improved and more diverse development process. This process is however dependent on a strong community which needs some work to establish.

    Interesting question and lots of interesting points to take into consideration. What do you folks think about it?

    Birds have no burp reflex

    Building the Perfect Audio Editor

    In the past, I have gone into quite some detail about why I believe that the current crop of Linux multi-trackers are not up to the job for both recording my own music and recording [LUGRadio](https://www.lugradio.org/). To remedy this, Aq and I sat down for a few evenings and fleshed out a bunch of ideas about how an audio editor should work. Although much of the interface can be inspired from contemporary editors such as Cubase, there really is no point in just re-implementing the same interface for the sake of it. It makes sense to step back and re-think the interface in ways that might make the application more usable, more learnable and easier to use.

    The aim of this short document is to give a clear understanding about what I would love to see in a general purpose audio editor, and to share some of the subtle ways in which we have thought through some functional and interface concepts. This document is by no means complete and really is just the result of a first round of thinking – building an audio editor is a complex job, and so is designing one. However, this guide should hopefully provide a solid grounding in which to move forward.

    Of course, the plan is to hopefully see these ideas implemented in something such as JonoEdit (their name, not mine :P), which has been [discussed on the forums](https://forums.lugradio.org/viewtopic.php?t=1071) in some detail and also has a [wiki page](https://wiki.lugradio.org/index.php/JonoEdit). Thanks to everyone who is keen to get involved in it.

    ## Functionality

    The editor really needs to have this core set of features to be useful:

    * The ability to record from any ALSA sound card, including multi-input cards such as the M-Audio Delta 44.
    * Non-destructive editing.
    * Undo/Redo (at least to a reasonable limit, but preferably unlimited).
    * Be able to edit the volume curve in different parts of the track.
    * Resizable track views to easily zoom in and out of a waveform.
    * Support for effects plug-ins, most notably LADSPA.
    * Be able to apply effects to an entire track or a selected portion of a track. When applying effects, there should be the ability to preview the sound with the effect before it is applied.
    * It should be able to master to OGG, MP3 and WAV.
    * It should be able to import OGG, MP3 and WAV.
    * Most important, it should be easy and intuitive to use.

    There of course, some non-essential features that would be nice:

    * Support for VST plug-ins or good modules with (and this is important) sensible defaults. Modules I use are Compression, Limiting, DoubleDelay, EQ, Reverb etc.
    * Sensible wave editing. I only use simple stuff, but I should be able to cut and merge waves and insert fades and silence easily.
    * Well documented python API where users can write there own scripts to extend JonoEdit.

    ## Interface thoughts

    The main area in which Linux audio software seems to have a problem is with the interface. Editors of today seem rather complex, unwieldy beasts that rely a lot of technical knowledge and a keen understanding of the parlance of multi-track recording. There is no reason why the software needs to be this complex. Aside from rethinking some of these interface elements, something as simple as just changing the jargon is useful. Why call them Tracks? They are really *Instruments*. Why refer to collections of tracks as Subgroups? They are really *Combinations*. Simple changes such as this as well as some simple and effective design could create a ground shaking audio editor.

    The point here is not in satisfying every possible music recording edge case. The point is to create a sensible editor that satisfies the general requirements of people who want to record some music and audio on their computer. As such, JonoEdit leaves out lesser used or overly complex functionality and instead focuses on key features and functionality. Naturally, I have modelled this around my own needs, which I feel are fairly typical. I record music (Recreant View) and a radio show (LUGRadio) and these two projects use a good subset of features in an audio editor.

    The interface should follow some simple golden rules, mostly nicked from good design theory:

    1. The interface should be as simple and intuitive as possible. The requirement to read the manual should be kept to a *bare minimum*, and the interface should be as discoverable and intuitive as possible.
    2. The user should never be asked for information the computer can figure out itself. Never query the user for details that can be detected, discovered or *reasonably* assumed.
    3. The language of the application should be the language that musicians understand.
    4. The interface should work in a visual way that maps to the context of music recording. As an example, if you need to connect something (such as an Instrument to a Combination Socket, drag a line as if you were making a connection with a cable).
    5. The user need to remember as few commands and screens as possible.

    ## Suggested design

    To solve these problems, we have come up with a suggested design. Again, this interface is by no means complete, but it provides a simple and consistent design with plenty of room for expansion. The current design caters for the major features discussed above.

    The application is split into three major areas (called *Workplaces*):

    * Recording – in this view, the different instruments are displayed. This view is typically used when the music is recorded.
    * Compact Mix – this view combines a smaller Recording view and the mixing sliders. This is ideal for setting rough volume settings.
    * Detailed Mix – this view is where the detailed mixing happens. In this view more detailed sliders are displayed as well as Combinations (the new name for Subgroups) and other bits and pieces.

    Each of these views should be mapped to keyboard shortcuts such as F5, F6 and F7, as well as large toolbar buttons. With three main views to remember, the application’s learning scope is easier – each of those three views can service most typical needs. Also, these these three views are quicker to access – once the user learns the shortcuts it is quick to navigate around the application. Another key decision has been to avoid using MDI and floating windows. Floating windows are a pain in Cubase and require a lot of mousing around to stop windows obscuring windows. This design avoids all of this.

    ### Getting started

    When the application starts[1], it will look something like this:

    [1] well, the application will display this interface but no doubt also throw up a getting started wizard

    This is the interface with no instruments loaded into it. I have numbered the different parts of the application to describe how it fits together:

    1. The toolbar. The toolbar contains a limit selection of large essential icons. Unlike other multi-trackers, this one should not bombard the user with a huge number of buttons. When recording music, you are often stood up, holding a guitar and need large buttons that don’t require a great degree of mousing accuracy. This buttons include the Record, Play and Stop buttons as well as buttons to add a New Instrument and the click track.
    2. The menu bar.
    3. The timing view. Sat on the toolbar is the timing view which displays the time of the track. This can be flexible. It would be good to not only show the current time but also have different modes such as a bar count and possibly even show the total length of the recording.
    4. The workspace buttons. These are toggle buttons that toggle between the different workspaces discussed above. Note: each of the icons shown on the buttons would be different, and not the swirls shown here.
    5. This area contains a few elements. On the left side is the click track time. If the user clicks this box they can change the regularity of the clicks. To the right of this are two long lines. The top line is where markers can be placed to set the start and end point of sections (as an example, if you record a song and want to master it to a single audio file, you would click the line to add a starting marker and also add an ending marker – the song would then be mastered between those two markers). Beneath that line is a grid which notes the times in seconds and minutes or bars. The lines that divide this area are when the click track clicks.
    6. This is where the workspaces display their views.
    7. This portion of screen is left clear. This would be good to use for status labels and any essential editing buttons.

    When the user clicks on the New Instrument button, they see something such as this:

    The user selects on the instrument(s) that they want to add. The term *Tracks* has been thrown out and and replaced with *Instruments*. When you record something in a multi-tracker you are always recording from an instrument. This could be a guitar, woodwind instrument, bass, drum, vocal microphone or even a sound effect. By using the term *Intrument* it not only relates to the language of audio production, but there are some other key benefits:

    * A small image of the instrument in question can be placed on the screen and used as a visual cue to see which instrument is which.
    * By specifying a specific instrument, certain effects could be set up with some sane defaults. As an example, if you are going to add a vocal instrument, you are likely going to want a specific type of compression (audio compression, not not data compression) and some subtle reverb. Setting these sane defaults provide a great starting point for users to customise these effects. Again, remember, this may not be suitable for everyone, but I suspect it will be suitable for the majority of cases.

    When the instrument(s) have been selected, the screen looks like this:

    Each instrument that is added to the main part of the screen has some key features:

    * The name and image of the instrument is on the left side of the box. This makes the instrument easy to identify. The name is clickable so the user can change the name to something specific to them such as the person who plays the instrument.
    * The record toggle button enables that instrument for recording.
    * The `M` button mutes the instrument and the `S` button turns on Solo, in which only that instrument is heard. Both of these buttons are toggle buttons.
    * The black wavey line is the volume curve for the track. In most multi-track editors a waveform is displayed, but in reality, a waveform is not really required and simple a volume curve is more attractive and more useful. Note: the area below the volume curve would be shaded a colour, but I could not figure out how to do this in Inkscape. 😛
    * The watermarked instruments that appear behind the volume curve help identify the instrument easily.
    * The red line is the playhead in the project. The user can click the timing line to move the play head.

    To record an instrument the user would do this:

    1. Tick the small record button on the relevant instrument(s).
    2. Move the play head to the start of the track and hit the main Record button on the toolbar. As the user plays their piece, the volume curve is updated as it records.

    When the piece is recorded, the user can perform a number of adjustments to the instrument track:

    * The volume curve can be grabbed with the mouse cursor and dragged to adjust the volume visually.
    * Tools can be used to cut the waveform. To do this, a tool is selected (I have not added any of these tools to the interface yet, but they could appear in the space at the bottom of the screen) and the user can click at any position on the instrument. At that point, a cut is made and then the user can select the left or right part of the cut and delete it (by pressing the Delete key) or move it by dragging it with the mouse.

    With the piece recorded, the user is likely to want to adjust the volume of the recording. To do this they hit the `Compact Mix` or `Detailed Mix` buttons.

    ### Compact Mixing

    The idea behind the compact mix workspace is to see both the instrument view and some main fader controls. This view is useful when you need to see the different parts in the different instruments, but also be able to mix them. When you have a complex song with lots of parts that start in different sections of the song, a view like this is essential. This view improves on MDI based tools as there is no obscuring of the instrument or faders – both are clearly in view.

    It looks like this:

    On the left side, each fader is displayed with three buttons:

    * The mute button (`M`) – this mutes the instrument.
    * The solo button (`S`) – this mutes everything else but this instrument.
    * The effect button (`E`) – this opens up another dialog to configure effects that are applied to the instrument.

    The effects button is used to specify specific effects for that specific instrument. The use of effects is not covered in this document and will be developed later. From a UI perspective all we need to know for now is that when you hit the `E` button, another dialog box pops up to apply effects. That dialog box will be designed and developed later.

    The rectangular region to the right of each fader is a VU meter that displays the current volume when the project is playing. This meter shows in real time the current volume of each instrument and the fader can then be used to adjust the volume. This VU meter should also be coloured like most VU meters with green at the bottom, amber in the middle and red at the top. This colour scheme is an established system in the majority of recording equipment.

    To the right of the screen are the (L)eft and (R)ight volume faders and their VU meter. These faders control the general volume for the project.

    ### Detailed Mixing

    Detailed mixing occurs when the instruments have been recorded and the parts no longer need to be edited and moved in the instrument view. All that is left is to apply effects and mix the project.

    This is what the view looks like:

    Inside this view, the instrument faders are visible, and each fader has similar buttons to the Compact Mix view. There are a few differences though:

    * The *Shape* button is used to adjust the EQ of the track. There must be a better word than Equalisation to describe what it does, and Shape was my first reasonable idea. I am sure there is a better word though. Clicking this button opens up another window to set the EQ on the instrument.
    * With the sliders taking up the full size of the window, it enables finer grained control of the sliders an more accuracy.

    Another feature in the Detailed Mix workspace are *Combinations*. In the multi-tracking world, there is a concept called Subgroups. The idea behind a subgroup is that you can take a bunch of tracks and assign them to a single fader. As an example, imagine you are recording a drum kit. You have five instruments added, one for each part of the kit. When you have the general volume of the sliders set in relation to each other (such as making sure the snare is louder than the hi-hat), you can then assign those sliders to a subgroup slider. This single subgroup slider then controls the five drum sliders.

    In other software, setting up these subgroups is complex, so I have re-thought this. Firstly, lets throw *Subgroup* out of the window and instead call them *Combinations*. To create combinations, you click on a menu item and get this dialog box:

    On the left side are the current instruments, and the right side are the *Combination Sockets*. To make the connection, just drag from the instrument to the correct socket, and a line will be displayed to indicate the connection has been made. Simple as that!

    Back in the Detailed Mix window, you can see the Combinations sliders on the right hand side. Currently I have not visually indicated in this view which instruments are assigned to which Combination slider. This is something I am currently thinking about.

    ## Conclusion

    So there we have it – that is the proposed design for the bulk of what I would consider the perfect recording tool; a tool that combines power, ease of use and good design. I really, really hope that some of the discussions about implementing these ideas goes ahead, and I hope that the implementation uses Python, GStreamer, PyGTK and Glade, so I can contribute where I can.

    Naturally, if there are any questions or thoughts, do use the comment box to post them. Thanks.

    Speaking in Manchester

    Schools and Communities

    Got up early today to head off to iCentrum to do a talk on VoIP. Good turnout and the response was very positive. At OpenAdvantage we have a couple of specific subjects that people seem to go nuts about, and it seems that VoIP is delving into that list. After we got back and had some lunch, [Paul](https://www.devel.co.uk/) and I fiddled with Asterisk@Home to prepare for our VoIP FastTrack course at the end of the month. Asterisk@Home is nice, although it feels less integrated in the interface in parts. It just needs a little unification to tidy it up a bit, but technically its sound. We also discovered that there is a Linux version of the [X-Ten](https://www.xten.net/) softphone. Nice.

    ## On the cusp of a migration

    A local school who has a headmaster that I have known for a few years is looking to move to an Ubuntu with an LTSP setup, today I was discussing some of the barriers that are standing in his way. He informed me that there really is only own barrier to adoption – problems accessing a Windows share. He already uses OpenOffice.org extensively throughout the school on both Linux and Windows and he needs to use it to edit files directly on the Windows share. As such, he wants to be able to use the Open dialog in OpenOffice.org on Ubuntu to navigate to the share and then load the file, edit it and save it directly to the share. The last time he tried this it did not work.

    The only solution to this problem seems to mount the share somewhere and access the files via the mount point. Would you folks suggest this as the best way to solve the problem, or is there a way to directly use the files on the share itself?

    The solution to this minor niggle could mean an Ubuntu roll-out on 60 school computers. 🙂

    ## Supporting community projects

    You know, I have worked on a couple of community projects here and there, helping community centers, local groups and schools to move over to Open Source, and although solving their IT problems is often fairly simple, solving their staffing problems is another matter. As many of you will be aware, Open Source has not only involved the development of software, but groups have also set up to help with these community centers. This got me thinking how the Open Source community could help with these problems.

    Anyway, recently I have worked with a community center in Aston, Birmingham. They are desperately looking for people to help them train the people in their area. We have helped them set up 10 Ubuntu Breezy computers and it would be great if there were some volunteers from the Open Source community to help. Your help could not only come in the form of showing up to train people in different Open Source tools such as Firefox, OpenOffice.org, Blender and The Gimp, but those of you who are not near Aston could help prepare training materials and guides that could be of use. If you can help, let me know.

    Maybe there should be some form of [circuit riders](https://www.lasa.org.uk/circuitriders/) group for Open Source. Hmmm…