Interesting multimedia developments

I ended up doing a full reinstall of my Fedora 8 install yesterday. It finally gave me a chance to play with PulseAudio. I guess I have for a long time belonged to the group of people skeptical about the value of a soundserver in a local setting. But working with people like Wim and having them tell me my skepticism is misplaced and that PulseAudio seems to be doing it right I haven’t voiced my skepticism to loudly.

And while there still is some work needed on the UI side (something I saw Lennart point out himself in a wiki post) I have to say the functionality provided by Pulse is nice. Those who have followed the latest iterations of GNOME would have noticed that the audio support has been evolving at a steady pace for quite a few releases. These things have focused on playing with the GStreamer gconf elements which allows your sound output to be configured through various GConf keys. This does work, but it do not lend itself to a high degree of granularity and we still have some way before it provided the user experience we wanted in terms of devices that come and go like USB and Bluetooth headsets. PulseAudio seems a more natural fit for these scenarios and I have to say it was a fun experience today switching audio back and forth between my USB headset and the laptop speakers using the PulseAudio mixer.

As said some UI improvements is still needed before this is perfect, for instance it took me a little time to figure out how to do it before eventually discovered that right clicking was my friend :). But I have to say the feeling I got is that this is the way forward and that the foundation is very solid.

And of course thanks to the PulseAudio GStreamer plugin Lennart wrote all my GStreamer apps work wonderfully in this new PulseAudio world :).

GStreamer on MacOS X and Windows

Speaking of GStreamer, Julien commited two plugins recently to gst-plugins-bad I think are quite exciting. The two plugins in questions are a Quicktime codec loader for MacOSX and a DirectShow codec loader for Windows. The Quicktime loader, which I believe is the first working one available in any open source project, gives GStreamer access to native codecs when running on MacOSX. This means that when you run a GStreamer application under MacOSX you don’t need to install GStreamer specific codecs for codecs provided by MacOSX by default.

The DirectShow codec loader is very similar to what people have been using under linux for a long time to load Windows codec .dll files using Wine, but once again its goal is to enable access to native codecs when running GStreamer under Windows.

The MacOS X plugin was written by Edward Hervey, while we were still at Fluendo, and the Windows plugin was written by Sebastian Moutte, Juliens brother. The two plugins where done as the result of an agreement with Songbird so a big thanks goes to them. In fact the Songbird team just recently released their 0.3 release of the Songbird player so if you haven’t already you should give it a try.

So anyone reading this who runs and/or develops with GStreamer on either Windows or MacOSX platforms please test the plugins and help ensure they can be moved over to gst-plugins-good in the not to distant future.

Life in England

Beginning to feel settled in here in Cambridge now with most practical stuff taken care of. Sharing and office with Rob and Daf here at Collabora has been a very nice experience so far. Cambridge is also a really interesting town with a lot of things happening. For instance on Wednesday I attended the founding meeting of Games Eden, a business networking organization for people in the East England area involved with various aspects of computer game industry. The meeting was attended by for instance the guys from Ninja Theory who are behind the PS3 game Heavenly Sword, David Braben the man behind the legendary game Elite and who runs his own game development studio here in Cambridge was there, Andy Serkis was there, who was the person giving life to the characters of Golem in Lord of the Rings and King Kong in the movie by the same name. Andy was partly there due to his involvement in the creation of Heavenly Sword, but he also had some very interesting business ideas which would ensure his future involvement in the game industry going forward.

Things going very well business wise at Collabora, seems there is not a week going by without a new company popping onto the scene using GStreamer, often in conjunction with Telepathy. And more often than not they are also interested in our help with getting their products and projects moving forward. Ended up with a lot of onsite assignments recently which has had especially Edward probably spending more time away than at home. :). I also have to say that I am quite impressed with how Robert and Philippe manages to keep so well coordinated across time zones and continents. It think it would have been very easy to end up with two very separate units with the team almost spread 50/50 between Europe and Canada, but they somehow manage to make it seem easy to keep the two parts of the company humming like one integrated machine. Part of it is of course applying open source social mechanics to organization of the company, but even with that as a background it is a big challenge and Rob and Philippe without a doubt got a natural affinity for the challenge.

When reason goes out the window

Been reading some of the comments to the recent GNOME Foundation press release about OOXML involvement. Reading things like the comments on osnews and linux.com leaves me in a state of disbelief.

When you have people like Michael Meeks and Jody Goldberg, who have been working on free software office software for a longer time than most others in the community has even been using free software, it is sad to see people trying to claim they know more about the respective qualities of the ODF and OOXML standards than they do. The claims of being corporate shills sounds even more hollow considering these people have been working on free software office software for much longer than they have been paid to do so. Having known especially Michael for many years and had many a beer with him I it saddens me when people in the community doubt his word. Michael care about free software, but whats maybe more important in this context is that he cares about technical excellence.
And thus he is not willing to claim that the ODF spreadsheet specification is better than the OOXML one when he, based on his eight years worth of hacking experience doing spreadheet software in the context of Gnumeric and OpenOffice, knows it not to be the case.

The question worth asking here is if the community has come to a point where we no longer care about quality and technical perfection in what we do, instead we are going to join the proprietary software vendors in a game of FUD and mud slinging. When I started out with free software it felt as the ethos of the community was that we are not a community of people blinded by pride or arrogance instead we happily adopt and evolve the best of what is out there. If that means adapting to standards and formats originally developed by Microsoft then so be it.

Michael has been tirelessly been promoting OpenOffice for quite a few years now, even working on it and promoting it at a time when most GNOME developers felt it was a bloated and unmaintainable piece of software and most the code comments where in German. Through his and his team’s effort OpenOffice has gone from being something screaming Windows 3.11 when looking at it to something that actually looks like it belongs on my GNOME desktop. And there is no longer a half hour wait for it to start up.

I use OpenOffice.org every day doing my job today. Back in the day when I was at Oracle I couldn’t do that. Not because Oracle refused me to do so, but simply because most of Oracle’s documents where in MS Office format and at that time the OpenOffice filters where not good enough to do the job, so I had to dual boot into Windows in order to write reports for customers, fill in expense reports and so on.

Even in my current job, doing linux consultancy work around free software technologies like GStreamer, Telepathy and Webkit I would not be able to use OpenOffice if it wasn’t for the excellent MS Office compatibility. The vast majority of documents and proposals I receive from our customers are in those formats. I haven’t gotten any OOXML documents yet, but it is only a matter of time and when it start to happen I would gradually be forced back to my old dual booting ways unless OpenOffice supports OOXML in a good way.

So Jody if you are reading this, please don’t listen to the detractors and instead keep up doing such great work. I for one would be sad if I have to install windows on my laptop again because you stopped pushing OOXML in the right direction.

Open Source Video Codecs

At various recent conferences I have been asked if I think there is any hope for free software video codecs. Outside the core linux community the amount of people who even know that Theora exists is still quite small. That said and while it still is a big canvas to bleach, I do think open source video codecs have a mainstream future. At least most Linux companies are providing Theora copies of their promotional videos now, which it wasn’t that long ago they didn’t. We are still a bit raw on the tools side though, and while Pitivi is making good strides forward, its still isn’t ready for production use. One great piece of news on the Theora side of things is that Red Hat has Monty working on improving Theora further to improve video quality and get the magic 1.0 release of libtheora out. Check out this write up by Monty to get the details.

Dirac is also making strong strides forward and version 0.9.0 of libschrodinger, which got released today, will feel like a great leap forward for the causal tester. Most noticeable is that David Schleef tweaked the default parameters of the encoder to produce even nice looking images when transcoding high definition clips. This means that even if the tons of parameters you can set on the encoder is ancient Greek for you you can still play with it and create good looking video’s.

David also spent a lot of time for this release allowing you to set a specific bitrate for the encoded file, a feature a know a lot of users have wanted. That said the bitrate specification for Dirac is still not finished so any files produced with this version are not likely to keep working as development continues. But at least you can play with it now and get an idea of what Dirac will be able to do in the near future.

And of course on the horizon we do have the mp3 and mpeg2 patents ticking down towards expiration within the next 2-3 years, making these extremely common codecs free.

ECE in Linz

So Wim and I spent this weekend in Linz representing Collabora at the 9th Realtime linux Conference and the European CE Linux conference. Had a great time there, meeting a lot of interesting people. Not as many GNOME people as last one, but some familiar GNOME people like Dodji from Opened Hand and Marcel Holtman of Bluetooth hacking fame. Of course meeting Marcel at a conference is not particularly hard as he seems to be invited to attend them all :)

Had quite a few meetings with various of the embedded companies there and I think we walked away with a few solid business leads. Wim and I also probably walked away a few kilos heavier after gobbling gigantic ice creams at an Austrian ice cream cafe almost every day.

I am back in Cambridge now, while Wim will be heading up to Dublin to stay with Jan and Jaime for some days. Wim also hopes to brainstorm playbin2 with Jan while there to see if we can get some progress on that.

Back at the office I am admiring the PS3 Devkit Sony has sent us, the thing is quite big, but not as big as I feared. Tim will be starting hacking on it in the very near future to see what we can do. This means of course a partial return to the gaming industry for Wim, so maybe we will end up making a PS3 sequel to Wim’s game Puffy’s Saga ;).

Taking one for the team

Part of doing business today is of course attending various conferences in order to network and discuss current plans. Not all conferences are equally fun of course, so I am very happy that Tim, being our point man in Bristol, will be taking care of attending PonyCon 2007 on our behalf. So for those of you attending and who see Tim walking around the conference halls, please feel free to tap him for a discussion. Also if you want Tim to fix a particular GStreamer bug for you he really wants the 2003 Rainbow Haired Unicorn Christmas Special Edition Pony :)

Go Bristol!

Update: Tim asked me to let people know that only Ponies of Mint/Near Mint grade is of interest. The person who tried to peddle a Fair grade Pony will never be spoken to again.

Finally I was able to make SVG’s and OpenOffice into friends

Some time ago I put up a page detailing my pains in getting an image from Inkscape to OpenOffice. Well due to once again having an SVG I needed to import into Openoffice I decided to try again. And this time the SVG import filter from Bernhard Haumacher worked for me. Still some irritation behavioral issues in OpenOffice as I outline in the update on the page, but the import did work.

Hopefully with the relicensing effort of the Sun JDK this import filter will get bundled by the linux distros in the future in order to improve open source interoperability.

Posted in SVG

Working for Collabora

So with the press release out I guess its not a secret anymore that Wim, Edward, Tim and myself are now working for Collabora. Those who read my blog entry about our future plans a while back might have expected us to set up shop on our own, well so did we. But when Rob and Philippe came and offered us to join Collabora we decided it was an opportunity too good to pass up on.

The four of us are really excited about this and together with the great team Rob and Philippe have already assembled at Collabora I think we have some great things in store ahead of us. We have already lined up some interesting customers between us and I think people will be surprised about some of the projects we are looking at currently which are taking our key technologies such as GStreamer and Telepathy into some truly fascinating territory.

So next step, world domination :)

UPNP tools for Linux

As most of you know Zeeshan has been hacking on creating a set of upnp tools for Linux similar to those Intel makes available for Windows users. I decided to give them a test run on Fedora to make sure there where no distro differences screwing up the build, but everything went smoothly apart from some pkconfig weirdness which I think is a Fedora bug. Anyway below is a screenshot of the upnp tools control point application viewing Coherence.

Zeeshan’s Upnp tools

I think these set of tools will be of great use as things such as DLNA becomes more and more prevalent. People using the GMAE stack for instance will probably be very happy to have a native testing suite available. A big thanks to Zeeshan for the effort so far!

Update: I should have mentioned that the upnp library that the upnp control point application is using, gupnp, is done by Jorn Baayen at Opened Hand. So a big thanks also to Jorn for this.

Update 2: and for those who don’t know the Intel upnp tools and what they do take a look at this page.

gnome-sound-properties

I have known for some time that there was a work being done on improving the sound handling in GNOME, but I somehow missed out on it until today. Decided to test a USB headset and figured I would need to edit a GStreamer pipeline to get Banshee to output to this USB device. Then someone pointed out that there is GNOME sound properties now which I then used and noticed a ‘USB audio’ option having popped up. And it just worked.

So to the authors of gnome sound properties a big thank you from a happy user!

GNOME Sound Properties

The Sun and NetApp Ordeal

Read Miguel’s post about the patent suit between Sun and NetApp. I guess both parties are carefully avoiding stating something which is outright lies so instead they tiptoe around the issue a bit.

Here is my guess of how things went down:

Step 1: NetApps first approached StorageTek behind the cover of a third party intermediary seeking to purchase STK patents. This is what Jonathan mentions in his blog and nothing in the blog entry of the NetApp CEO contradicts this, it just omits it.
Step 2: Sun when being asked about the patent purchase turns around and says ‘sorry not for sale, but you can license.’ Sun having talked to the third party mentioned they make this offer directly to NetApp. So As the NetApp’s CEO says, Sun contacted them with a list of patent (the same list NetApp had asked to purchase) and said they where available for licensing.
Step 3: NetApp realize that their patent purchase request has backfired a bit and starts looking for a way out. Their first solution is to look through their own patent portfolio probably hoping to find something to cross license with Sun. (Or if they got stupid with greed, they tried to both get Sun to agree that they where not infringing on Sun’s patents and at the same time demand patent fee payment for their own).
Step 4: Licensing lawyers/people at Sun are faced with what is more than a ‘standard’ patent licensing agreement and for some reason tries to just drop it instead of dealing with it. (A scarily common event in many big companies).
Step 5: NetApp either due to worry about future legal action from Sun or due to greed decide that a request for a summary judgement about the validity of the Sun patents (which they originally wanted to buy) and a countersuit would be the best way forward.
Step 6: NetApp CEO presents his view in blog post in the hope to not get to much bad reactions from the open source/free software community.

Step 7: Sun CEO replies in his own blog.

All the above is just guesswork by me of course for what happened, but these set of events would not contradict either of the two versions of what happened.

My guess is that NetApp just got greedy in this process and starting behaving stupidly. Probably in the end they make the same fatal mistake that SCO did, they assumed the cost of a lawsuit is what you pay your lawyers. Instead the real cost of a lawsuit will often be the collateral damage it will inflict on your business. NetApp might end up experiencing the same thing that SCO did (although on a smaller scale), that suddenly their customer base wants to avoid doing business with them as they are seen as a patent troll and a enemy of open source software.