Skip to content

First Open Chemistry Beta Release

Open Chemistry

We are pleased to announce the first beta release of the Open Chemistry suite of cross platform, open-source, BSD-licensed tools and libraries - Avogadro 2, MoleQueue and MongoChem. They are being released in beta, before all planned features are complete, to get feedback from the community following the open-source mantra of “release early, release often”. We will be making regular releases over the coming months, as well as automatically generating nightly binaries. A Source article from 2011 introduced the project, slides from FOSDEM describe it more recently, and the 0.5.0 release binaries can be downloaded here.

Open Chemistry workflow

These three desktop applications can each be used independently, but also have the capability of working together. Avogadro 2 is a rewrite of Avogadro that addresses many of the limitations we saw. This includes things such as the rendering code, scalability, scriptability, and increased flexibility, enabling us to effectively address the current and upcoming challenges in computational chemistry and related fields. MoleQueue provides desktop services for executing standalone programs both locally and on remote batch schedulers, such as Sun Grid Engine, PBS and SLURM. MongoChem provides chemically-aware search, storage, and informatics visualization using MongoDB and VTK.

Open Chemistry library organization

Avogadro 2

Avogadro 2 is a rewrite of Avogadro; please see the recently-published paper for more details on Avogadro 1. Avogadro has been very successful over the years, and we would like to thank all of our contributors and supporters, including the core development team: Geoff Hutchison, Donald Curtis, David Lonie, Tim Vandermeersch, Benoit Jacob, Carsten Niehaus, and Marcus Hanwell. We also recently obtained permission from almost all authors to relicense the existing code under the 3-clause BSD license, which will make migration of code to the new architecture much easier.

Avogadro 2 rendering a molecular orbital

Some notable new features of Avogadro 2 include:

  • Scalable data structures capable of addressing the needs of large molecular systems.
  • A flexible file I/O API supporting seamless addition of formats at runtime.
  • A Python-based input generator API, creating an input for a range of quantum codes.
  • A specialized scene graph for supporting scalable molecular rendering.
  • OpenGL 2.1/GLSL based rendering, employing point sprites, VBOs, etc.
  • Unit tests for core classes, with ongoing work to improve coverage.
  • Binary installers generated nightly.
  • Use of MoleQueue to run computational codes such as NWChem, MOPAC, GAMESS, etc.

Avogadro is not yet feature complete, but we invite you to try it out along with the suite of applications as we continue to improve it. The new Avogadro libraries feature much finer granularity; whereas before we provided a single library with all API, there is now a layered API in multiple libraries. The Core and IO libraries have minimal dependencies, with the rendering library adding a dependence on OpenGL, and the Qt libraries adding Qt 4 dependencies. This allows us to reuse the code in many more places than was possible before, with rendering possible on a server without Qt/X, and the Core/IO libraries being suitable for command line use or integration into non-graphical applications.

MoleQueue

MoleQueue is a new application developed to satisfy the need to execute computational chemistry codes locally and remotely. Rather than adding this functionality directory to Avogadro 2, it has been developed as a standalone system-tray resident application that runs a graphical application and a local server (using local sockets for communication). It supports the configuration of multiple queues (local and remote), each containing one-or-more programs to be executed. Applications communicate with MoleQueue using JSON-RPC 2.0 over a local socket, and receive updates as the job state changes. A recent Source article describes MoleQueue in more detail.

MoleQueue queue configuration

In addition to the system-tray resident application, MoleQueue provides a Qt 4-based client library that can easily be integrated into Qt applications, providing a familiar signal-slot based API for job submission, monitoring, and retrieval. The project has remained general in its approach, containing no chemistry specific API, and has already been used by several other projects at Kitware in different application domains. Communicating with the MoleQueue server from other languages is quite simple, with the client code having minimal requirements for connecting to a named local socket and constructing JSON strings conforming to the JSON-RPC 2.0 specification.

MongoChem

MongoChem is another new application developed as part of the Open Chemistry suite of tools, leveraging MongoDB, VTK, and AvogadroLibs to provide chemical informatics on the desktop. It seeks to address the need for researchers and groups to be able to effectively store, index, search and retrieve relevant chemical data. It supports the use of a central database server where all data can be housed, and enables the significant feature set of MongoDB to be leveraged, such as sharding, replication and efficient storage of large data files. We have been able to reuse several powerful cheminformatics libraries such as Open Babel and Chemkit to generate identifiers, molecular fingerprints and other artifacts as well as developing out features in the Avogadro libraries to support approaches to large datasets involving many files.

MongoChem

We have taken advantage of the charts developed in VTK and 2D chemical structure depiction in Open Babel to deliver immersive charts that are capable of displaying multiple dimensions of the data. Linked selection allows for selection in one view, such as parallel coordinate; views of that selection in a scatter plot matrix, and the table view. The detail dialog for a given molecule shows 2D structure depiction, an interactive 3D visualization when geometry is available and support for tagging and/or annotation. We have also developed an early preview of a web interface to the same data using ParaViewWeb, enabling you to share data more widely if desired. This also features a 3D interactive view using the ParaViewWeb image streaming technology which works in almost all modern browsers.

Putting Them Together

Each of the applications in the Open Chemistry suite listens for connections on a named local socket, and provides a simple JSON-RPC 2.0 based API. Avogadro 2 is capable of generating input files for several computational chemistry codes, including GAMESS and NWChem, and can use MoleQueue to execute these programs and keep track of the job states. Avogadro 2 can also query MongoChem for similar molecules to the one currently displayed, and see a listing sorted by similarity. MongoChem is capable of searching large collections of molecules, and can use the RPC API to open any selected molecule in the active Avogadro 2 session.

Acknowledgements

The development of the Open Chemistry workbench has been funded by a US Army SBIR with the Engineering Research Development Center under contract (W912HZ-12-C-0005) at Kitware, Inc.

Originally published on the Kitware blog

Avogadro 1.0.0 Released!

It is with great pleasure that I announce the release of Avogadro 1.0.0. After many years of work we have released what we consider to be a stable Avogadro release on Mole Day, which seems appropriate given the projects's name. There are still some rough edges, but I think this is a good release. With your help we can fix bugs in the release while working on new features in trunk.

Avogadro - Code Swarm from Marcus Hanwell on Vimeo.

What better time to look back to the beginnings of Avogadro. There was a blog post made today by Sourceforge about Avogadro detailing a little of that history. I have also made a code_swarm movie visualizing the history of the Avogadro project. There have been quite some changes in that time both at a project level and a personal level.

I would like to thank Google for sponsoring me for a GSoC project in the summer of 2007. Also Geoff Hutchison for giving me the opportunity to work with him at the University of Pittsburgh on interesting computational and visualization projects. Then there is my new employer, Kitware, who have provided me with an exciting opportunity to push scientific visualization and cross platform development to its limits.

To finish off a great day, my wife has informed me my new espresso machine has arrived! I am going to Camp KDE in January too!

The Big Move and New Position at Kitware

On Monday 21 September we packed the majority of our belongings into the back of a Penske truck and made the 500 mile drive (in convoy - Louise, William, Dax and myself) from Pittsburgh, PA to Clifton Park, NY. Since then we have been unloading the truck, unpacking our things into our new home and doing all those things you have to do when you move house, and several things necessary when moving between states and jobs.

Me in the Penske truck before returning it

This is certainly the most rural house I have lived in since I was very young. We found a nice duplex on the outskirts of Clifton Park, it uses well water and I am the proud owner of the contents of two full propane tanks (no natural gas lines run out to the house). We also have a really nice wood fire in the living room, and I snagged the family room and am using it as a large home office! Thankfully they were able to hook up a cable Internet connection on Tuesday last week, and so I was not offline for too long.

Tomorrow is my first day with Kitware, I will be attending a training course being run by Kitware for the remainder of the week and so won't have my first day in the office until next Monday. I will be working in the scientific visualization group on projects such as ParaView, and have had lots of ideas for future Avogadro development over the last few weeks. I am very much looking forward to working in some new areas, but also to enhancing the previous research and development I have done in the area of visualization in chemistry. I am also looking forward to working on CMake.

Avogadro Nominated for SourceForge Community Choice Awards

I am very pleased to announce that Avogadro has been nominated as a finalist in the SourceForge community choice awards this year. We are in the "Best Project for Academia" category, and I would like to encourage you to vote for Avogadro.

This is a real honour for all of us, and I appreciate all of you who nominated Avogadro. We are all pushing very hard on polishing Avogadro, getting ready for our 1.0 release. It would be absolutely amazing to see Avogadro win this award, so please vote for us.

Avogadro collage

There are also some other really nice projects in there too, such as Lancelot, ClamAV, phpMyAdmin and RepRap. So please take a few moments to place your vote, and tell your friends!

Update: You can vote even without a SourceForge account - just enter your email address and verify your vote.

Appeal for Help: Avogadro Toolbar Icons

Over the last few days we have been working on improving the look and feel of the Avogadro user interface. We owe both Qt Software and the Oxygen icon team a lot for making this process a lot easier. Avogadro uses quite a few Oxygen icons that we have taken and in some cases adapted slightly.

Avogadro toolbar

The sliver of screen shot above shows our tools tool bar, along with the tool and display settings buttons. We are pretty happy with the majority of the icons, which are (from left to right) draw, navigate, bond-centric manipulation, atom centric manipulation, selection, auto rotation (animated rotation about axes), auto optimise (continuous optimisation of the molecule geometry), z-matrix, measure and align tools.

I would really welcome any suggestions and/or icon submissions for the auto rotate (the spinny thing near the centre), and the auto optimise (the wand with the circle) tools. I think auto rotate is OK, but it would be better if it conveyed more of a three dimensional rotation. The auto optimise wand is perhaps the worst as it does not suggest optimisation of the geometry, but I am not sure what would. Do any of you more creative types have any suggestions?

I also wonder if there are nice icons we could use for tool and display settings, or a way to make those buttons smaller without losing discoverability. I look forward to hearing people's thoughts. As this is what people see when they first open Avogadro we would like to make the interface as inviting and intuitive as possible.

Avogadro 0.9.4 Released

A week ago today we released Avogadro 0.9.4. If you would like to try out the new release then you can grab packages and source here. No pretty pictures this time as I am at the KDE GSoC America sprint in Boston, MA and only have my little Eee PC with me. I will see if I can remedy that when I get back home.

This week has been really busy. I have been working hard on getting an Avogadro, OpenBabel super project set up on the Mac. Then using the CMake functions to make a fully relocatable app bundle. This is really experimental right now, but if you would like to play with it then check it out in the downloads section. It is actually the 0.9.4 release with a few patches to our translation files and some other small fixes. It can be run from any directory, and contains Qt and OpenBabel.

There were a few problems with the 0.9.4 release we discovered a few days after the release was made. The main user visible issue is with the translation files not loading, and so we will hopefully get a new release out soon. This is already fixed in head.

CMake Performance with Open Babel

Recently, Luca made a post comparing the speed of CMake and autotools in which some timings were posted. I have to say that I am not sure I agreed with the conclusion and have had a very different experience with the projects I am involved in. As with anything your mileage may vary, and I have not looked at Wesnoth.

I think it is questionable at best to include the time it takes to build CMake, but not autotools. Seems like this is a one time cost and the build time is not that high for either. All tests were performed on my quad core Gentoo box at work. Each step is for the first cold run as would normally be the case when compiling Open Babel from source. The make step used `time make -j5` and I have listed the real time in each case.

The timings are shown in the table below. They seem somewhat similar to the experiences of the QGIS developers who made this move quite some time ago. All times shown are in seconds and are the real time reported by the time command.

  Autotools CMake
Configure time 20.39 4.79
Compile time 116.45 102.23
Install time 28.39 4.19
Total time 165.23 111.21

For those interested, on this system the total CMake compilation/installation time (cmake-gui disabled) was 1 minute and 54 seconds. The compilation/installation time for automake, autoconf, libtool, m4 was 2 minute and 14 seconds. I am not sure how relevant either of those times are, other than to show neither of them take that long to compile and install. Gentoo users/developers may or may not have CMake installed, most other developers will install the binary packages for either one and are likely to be much more interested in how well it integrates with their development environment, compile and install times.

As a developer I prefer CMake, and have been using/maintaining the CMake based build system for Open Babel for over a year now. It was originally contributed by the KDE Windows porting team, but I found that I spent less time waiting for it to do things when I was working on code too. Add to that the extras CMake comes with, such as CTest, CDash and CPack I think it makes a very attractive option for many projects. I am also hoping that it will allow Open Babel to drop maintaining a totally separate build system for MSVC.

I am sure the Open Babel autotools build system could be optimized (I never tried), but when you add in the additional benefits mentioned above, support for multiple targets such as makefiles, XCode, MSVC, Eclipse etc, one shared language/syntax for all build files and an increasingly polished competitor to autotools, I honestly think it is a sensible choice for projects to move to CMake. There are a few less well known features such as Fortran module dependency parsing that I think are fairly unique and valuable, in scientific coding at least (and I have used the Fortran module dependency parsing at least once and was pleasantly surprised).

Full disclosure: I recently accepted a job offer with Kitware, and will start in the Fall assuming all the visa paperwork falls into place. The opinions expressed here are my own. I think it is great to discuss issues like this objectively, and hope to be a part of making CMake a better build system. As with most software - there are areas that need improving.

Avogadro 0.9.3 Released

Avogadro 0.9.3 on Linux/KDE 4

Yesterday, on April 1, we tagged and released Avogadro 0.9.3 exactly one calendar month after 0.9.2 was released. This has been quite a big month for Avogadro - I took it to the APS March meeting and the Q-Chem workshop. To the left is a screenshot of the latest release showing the electron density of a vitamin C molecule with the approximated electrostatic surface potential mapped onto it.

Ray traced mystery molecule

We made quite a few fixes and improvements leading up to the APS and Q-Chem meetings. The highlights are in the release notes. Some of my favourites are the animation of molecular vibrations, plotting of IR spectra, improved rendering/handling of surfaces including meshes with colours mapped to their vertices. The Windows build is also fully relocatable, meaning it can even run off of a USB stick. I am hoping to do the same for the Mac and Linux builds too. I made several improvements to the super cell builder, surfaces and even made a start on a z matrix editor (not ready yet).

Ray traced benzene molecule with electron density and electrostatic surface potential mapped onto the density surface

To the right is the ray traced image of a larger molecule and one of its molecular orbitals. The POV-Ray rendering code has also seen quite a few improvements. I have been experimenting with generating movies from POV-Ray rendered images too. I am planning to make improvements to our build system on Windows and Mac in order to make packaging easier. My main focus is still Linux development, but so many people insist on using other operating systems. Other more exciting things include producing videos of molecules rotating, vibrating, trajectories and using GLSL to improve the rendering performance with big systems (>25,000).

We would appreciate feedback on this release from the wider community. I am really pleased to announce we have gained at least one new contributor this month, David Lonie, who worked on the new IR spectra plotting code. I have made a new ebuild for Gentoo, prepared a Windows installer, Geoff has made a new Mac package and there is ofcourse source. I am sure other distros will have packages ready soon too. Hope you enjoy the graphics - videos to come soon!

Git and Automatic ChangeLog Generation

After our move to use Git and GitHub to host our repository I got thinking about ChangeLogs. Having a version controlled file, where you manually add details about what the version control system should be recording seems like it should not be necessary. I searched and couldn't find a solution that generates ChangeLogs in the style we prefer, which is a variant of the GNU ChangeLog.

So I wrote a quick Python script to try and accomplish this task. It may not be the prettiest Python code as I have never written more than five or six lines of Python before. ChangeLogs always seemed to be the biggest source of merge conflicts whenever we would work in branches, or just all be working at the same time. This is why I think it is necessary to automatically generate something like this that can be generated with source tarballs.

I called it gitlog2changelog.py and it has all of the basics down already. It may not be the most general script but works pretty well for us. I need to add some extra parsing for file creation/deletion so that we can add the + or - in front of the file names. Is there a general need for this? Are there better scripts out there that I dd not spot?

2008-12-29  Tim Vandermeersch <email@protected>

  ∗ libavogadro/src/pluginmanager.cpp: replace getenv(...) with
  QProcess::systemEnvironment()

  ∗ libavogadro/src/elementtranslate.h: Replace "A_DECL_EXPORT extern ..." with
  "A_EXPORT extern ..."

  ∗ CMakeLists.txt: use /MD compiler flag for MSVC

2008-12-28  Marcus D. Hanwell <email@protected>

  ∗ libavogadro/src/molecule.cpp, libavogadro/src/molecule.h,
  libavogadro/src/python/molecule.cpp: Lots of documentation updates,
  reorganised the functions and grouped in Doxygen tags. Some minor changes
  too, more are needed for const correctness.

  ∗ testfiles/multicubes.cube.gz: Removed from our source as it is the same
  size as all the other files put together. May be we should provide a more
  extensive sample of files in a separate distribution.

  ∗ libavogadro/src/engines/bsdyengine.cpp: Ported to use the new bond position
  functions.

  ∗ libavogadro/src/bond.cpp, libavogadro/src/bond.h: Added functions to
  retrieve bond positions, still need to implement the mid-point function.

  ∗ libavogadro/src/bond.h: Documentation updates.

  ∗ libavogadro/src/python/bond.cpp: Added missing Atom include.

  ∗ libavogadro/src/atom.cpp, libavogadro/src/atom.h: Documentation updates,
  added member function groupings and a destructor.

  ∗ libavogadro/src/atom.cpp, libavogadro/src/bond.cpp, libavogadro/src/bond.h:
  Added some atom accessor functions to the Bond class. This should make using
  bonds easier. Fixed assignment order in Atom constructor.

Avogadro Has Moved to GitHub and Git

After some discussion on IRC the Avogadro Project has moved its version control over to GitHub. Our new repository can be found here. Most of us are old Subversion users, and a few of us started out with CVS. I think we are still getting our head around the workflow but feel it is worth the effort for all the advantages the move will bring.

There are some great visualisations from GitHub. I have always loved the speed of Git when compared to other version control I have used. It is also great for adding in bigger changes and not having to halt development in other areas for fear of merge issues. We shall see over the coming months how positive the move was, but I am confident it will be. I have been using Git locally through git svn for over a year now I think.

For those who might wonder, the conversion was not totally automatic. The branches and tags git-svn leaves you with are not Git branches and tags. It basically required me to manually create the branches and tags. So for our repository I ran the following,

mkdir avogadro-git
cd avogadro-git
git svn init https://avogadro.svn.sourceforge.net/svnroot/avogadro --stdlayout
git config svn.authorsfile ../avogadro/authors.txt
git svn fetch

At that point I went and grabbed a coffee, took care of the dog...

git remote add origin git@github.com:cryos/avogadro.git
git push origin master

This got us most of the way there but lacked all of our tags and branches. I found that none of the push options worked as the tags and branches needed to be made into full Git entities first.

git branch -a (show all the branches)
git branch 0.8 0.8
git branch 0.6 0.6
git branch primitive primitive
git tag -f 0.6.0 tags/0.6.0
git tag -f 0.6.1 tags/0.6.1
git push --all origin
git push --tags origin

After all that we have our tags as Git tags and our branches as Git branches. You can browse them and clone the repository. A few of us have been experimenting and everything looks good. Adding current developers as collaborators enables them to push directly to the repository. There are also some web interfaces that allow for pulling from forks.

So if all goes to plan now, there will be no more commits to our old Subversion repository. We have preserved all of our history and I made sure the author metadata was improved. Hopefully this will make our development process more streamlined. We appreciate any and all tips, this looks like a good guide to keeping a fork in sync, pushing and pulling where necessary.

Now back to coding - we want to get a new release out!



Avogadro, Git, GitHub and New Toys

I have been using Git and Git SVN for quite some time now. It took me a little while to get into Git and see what all the fuss with DVCS was about. Now I find myself enjoying using Git more and more when it is the only version control in use in a project.

Git SVN is certainly a great compatibility layer, and it has allowed me to use Git as my version control system locally without requiring that the projects I contribute to switch. I had heard lots of good things about GitHub, but had not found the time to check it out until Geoff showed me Avogadro after he had pushed it to GitHub. There are some great stats and it looks like is has some great features. I was originally put off by the 100MB limit on storage as it seemed a little low.

When I got home yesterday evening I started playing with it and ultimately made three Avogadro repositories - the third one looks like it is the charm. I had not been worried about importing author metadata previously as I had just been using it locally, but after reading this short guide to migrating to Git I had all the tools I needed. A short trawl through our mailing lists, web pages and history to update author information and I had a shiny new Avogadro git repository.

I am still getting the hang of how all this works. I have added several other committers it matched up as collaborators, but did not spot what exactly that means yet. I was able to get CIA working in our IRC channel, pushed some changes and even synced up a commit from this morning. So I think all is well and I will likely keep this repo up to date with our development. It only has trunk in it, but shows photos of your friendly Avogadro developers and a really nice visualisation of development over time. I think it should open up with the latest stats first, but other that that am impressed. It complements some of the ohloh analysis quite nicely too.

Now can we all please move our source over to some kind of Git repository please!

Avogadro, GLSL and X-Ray Vision

My regular readers may remember I talked about the GLSL shaders I was adding to Avogadro. I got my head around GLSL, uniform variables and the loading process. I also raided Molekel for some nice shaders. Ever since I first saw the X-ray screenshot I have loved it. I am very pleased to announce I now have this working in Avogadro!

Avogadro, GLSL and X-Ray Vision Avogadro, GLSL and X-Ray Vision with Colour

I will give you a moment to bask in the beauty. It is a really nice visual that helps you to really see what is happening with many surfaces. The image on the left is the classic, as Mario Valle introduced it, along with other great work he has done in the area of molecular visualisation. I was lucky enough to meet him earlier this year at a conference and discuss a few ideas with him.

Tpy-Co-S with GLSL rendered HOMO

There are still a few rough edges with the new GLSL code. I hope you agree that the results are quite stunning, I really liked this final image too.

Avogadro Gets More Eye Candy: Improved Ray Tracing

Benzene rendered using POV-Ray and Avogadro

I seem to have made quite a few breakthroughs in the last week or so, and have hardly had the time to talk about them. May be it is due to a bout of insomnia and feeling inspired. I was talking to Geoff about some of the ray tracing work I have been doing. After revisiting a few of the early decisions I made and reading some of the POV-Ray documentation I have managed to make several improvements to the POV-Ray output. The rendering of the highest occupied molecular orbital for benzene looks a lot better (left). I have also been looking at the actual POV-Ray scene descriptions Avogadro outputs and making them as easy to modify as possible.

Geoff recently added a new atom colouring method, colour by atom index, which can give some really nice rainbow like effects. To the left is a large bucky ball rendered by Geoff on a Mac using MegaPOV, and to the right is a nanotube I rendered using the latest beta of POV-Ray which actually split the rendering across all four cores here. Hopefully we will be able to make a new release containing some of these new features in the near future, along with integrating some of this new functionality into the Kalzium molecular editor.

Large bucky ball rendered using MegaPOV Nanotube rendered using new Avogadro/POV-Ray code

Hope you are not too bored of all the visuals, I am working on plenty of other stuff in the backend and quantum sides, along with some really good work Tim is doing on wrapping our functionality for Python scripting. I even added our first unit tests over the weekend and hope to get at least our core classes covered over the coming weeks.

Avogadro and GLSL

Last night I finally found a little time to look at GLSL shaders and how best to integrate some into Avogadro. I had been meaning to do this for quite some time but there is always so much to do and so little time! First problem I had was actually accessing the functions to use GLSL shaders. In the end I found a great little library called GLEW that lets me test for OpenGL 2.0 and then ensures all the functions are available.

Avogadro rendered atoms without any special shadersAvogadro rendered atoms with an OpenGL 2.0 phong shader

Both of the images were rendered using medium quality. The one on the left is not using any GLSL shaders and the one on the right is using a phong style GLSL shader. I am not sure it is very optimised, and right now the code needs cleaning up a little before I can commit it. I think it is another great option to use on higher end systems while maintaining compatibility with older systems.

Hopefully I will have more time to play with shaders soon. I wrote a flattening shader that looks pretty cool too. I think that shaders introduce a level of flexibility to our rendering pipeline but I have so much to learn. Being able to effectively ray trace on the GPU is great!

Avogadro: New Screencasts and New Features

I spent quite a bit of yesterday making a few test screencasts at various resolutions, and then trying several video sharing sites in the hopes of finding something better than youtube. There are quite a few screencasts I made that were placed on youtube in the past but I was never happy with the quality. I also spent some time investigating better tools for recording, editing and commentating my screencasts.

The link above is to the blip.tv version. It is the first screencast I ever made with a title page and audio commentary. It is intended to be a brief introduction to Avogadro. It shows a few of the basic features and then moves onto some new and more advanced functionality, such as molecular orbital ray-tracing.

I also uploaded a hi-definition screencast recorded at 1280x720 to Vimeo, and the same one to blip.tv. Finally I gave the showmedo service a try here, I do like their default player size.

I used qt-recordmydesktop to record the screencasts, and kdenlive to edit the video files, compose and render the final video. I also used Audacity to record the audio commentary. The quality of the screencast with audio is a little poor due to recordmydesktop actually recording at 800x604, this resulted in some scaling which made some labels tough to read. Other than that the quality seems to be quite good.

Hopefully the screencasts are useful. I am hoping that I and some of the other developers will be able to produce some tutorial screencasts in the near future. Right now I am coding, adding new features, unit tests and padding out our core API so that we can stabilise it. It looks like screencast quality is improving, let me know what you think of this one ;-)