Transmageddon and GStreamer 1.0

Spent today working on Transmageddon, trying to get it ready for the GStreamer 1.0 release. It is frustrating going as I only get a little time here and there to work on it, and thus my memory of the code is not as good as it needs to be in order to do this efficiently. But I did in the end manage to file a couple of GStreamer 1.0 bug reports and restore the preset functionality to almost where it was before the GTK3/GStreamer 1.0 port.
When starting the port I disabled and removed a lot of code that in retrospect I still needed as I made some wrong assumptions about how encodebin would work. Going over the code now I also realize I have done some things in a quite stupid manner, or maybe the approaches made sense in the original codebase and just now over a series of iterations have become cludgy, anyway tried cleaning it up a bit, but didn’t have the time to really go over the code and make sure it looks nicer.

Of big issues remaining is that the missing codec functionality is still not 100% restored and working nicely, so a little more work needed there. But if you have all codecs already installed then things are shaping up quite nicely. So I think I am getting very close to having a GTK3 and GStreamer 1.0 version of Transmageddon at feature parity with the GTK2 and GStreamer 0.10 version.

Also thanks to Kalev Lember, Transmageddon is now in Fedora (the latest 0.10 based release) and he also made me co-maintainer of the package which I a very happy about. Hopefully this means that when Fedora switches to GStreamer 1.0 I can get the new Transmageddon up and running there quite quickly.

Also Gendre Sébastien plans on working on Transmageddon going forward and have already made some really cool mockups for a revamped UI. A lot of new features are planned, like the number one request I keep getting, support for setting up batches of transcoding jobs instead of having to do them one by one like now. My plan is to release a first version with the current UI and featureset for GTK3 and GStreamer 1.0, and then work with Gendre to implement his ideas. This new UI will also be more GNOME 3 styled, so hopefully it will provide users with something that feels more at home in the GNOME Shell and on Unity.

New free font from Adobe and a cool kickstarter project

Discovered yesterday that Paul Hunt of Adobe released a new font under a permisive license called Source Sans Pro. It looks quite nice and even adds Navajo support, probably as the first free font to do so. Hopefully we can get this packaged in Fedora and elsewhere quite quickly.

Another item that caught my eye is the Kickstarter for Oculus Rift, which is a VR glasses device which will include Linux support. Usually a bit sceptical about throwing out significant money on projects by people I don’t know off quite well already. But warm endorsements from people like Carmack and Gabe Newell convinced me that this was the real thing. With Gabe being so enamoured by it, maybe we can manage to get support for it in the Linux version of L4D2 :)

The Future of GNOME

Having just returned from GUADEC and now having the desktop as my job focus I been thinking about where we are going and what to do next. Benjamin managed to get quite a bit of press for his abysmally negative post, but I think his mis-stated the situation quite badly. As Dave Mason said during the history of GNOME talk, we have more or less always feel threatned and felt at times that we had an insurmountable task competing against systems with a lot more developers available than we do. There are some dark clouds in the skies, no doubt about that, but when hasn’t there been in the 15 years of GNOMEs existence? For instance the current tug of war between the GNOME shell and Unity? We have been there before, with Ximian and Eazel pushing competing visions for the GNOME desktop back in the day. Major corporate backers leaving (Nokia) or being in trouble(Novell)? Eazel and Ximian again. GNOME being perceived as being Red Hat only? That was the exact story that was being pushed before Sun and Ximian came on the scene. GNOME 3 turning away users? Hey, I can tell you that the amount of flames we got for GNOME 2 easily beats the GNOME 3 flames.

But for each of those events in the past we ended up bouncing back stronger afterwards, and I suspect we will come back with a vengance this time too. The thing is a lot of things are actually going very well. First of all the are a lot more shared projects with a healthy amount of resources behind them these days. WebKit is a great example of a project of crucial importance to GNOME, but which we share with a lot of other projects and companies. Take LibreOffice for example, yes LibreOffice do not contribute a lot of git commits to the GNOME git respository statistics, but thanks to LibreOffice we have the best and most full featured Office suite ever available to our users. And thanks to Firefox and Chrome we have browsers available with world known brands. And thanks to GStreamer, which is on freedesktop, we have a world class multimedia framework available. Instead of having our own sound server like we did with ESD, we now share a top notch sound server with all linux systems in the form of Pulse Audio.

Back during the GNOME 2 development cycle the GNOME project took an active decision that we would try to reach out to more of these external projects and try to work with them to integrate them into the GNOME experience. And we have succeeded at that, which of course have the side effect that instead of having all that development happen inside GNOME, we have bigger more active GNOME friendly projects doing these things outside GNOME.

We also made a conscious decision to focus on draining the swamp, which meant that instead of trying to work around issues and come up with funky configuration options on the user interface level to deal with missing features and bugs in the underlaying system, we instead have tried working with and contributing to fixing things in the underlaying levels. This of course moves attention away from ‘GNOME’, because people then commit their new fixes to those underlaying systems instead of implementing 100 000 lines of workaround code to ‘GNOME’, I mean I still consider Lennart Poettering a GNOME hacker even though his current work isn’t on anything in the GNOME git repository. But that does not mean that GNOME does not benefit greatly from these improvements.

So as we have succeeded in all these goals, GNOME should be a leaner setup than it used to be, as we don’t have to do all the heavy lifting inside the GNOME project anymore and that is a good thing.

As for projects such as Unity, well personally I don’t mind them at all. I mean I always saw XFCE as being a strenght and benefit to GNOME as it brought more users and developers to the shared library stack, and there is nothing different with Unity. And yes, there are some unfortunate duplications which seems redundant even in the context of differentiation, like the GNOME Online Accounts and Ubuntu Online accounts split, but hopefully we can work together to resolve such things over time.

And as for taking the desktop to the next level I think the main challenge for GNOME is not inside the GNOME 3 desktop, but instead it is a question of if the open source community can come together around pushing things like the Linux OpenGL support forward and make sure we have a strong foundation for supporting games and improving visual effects in the desktop. I for one really hope that Valve’s decision to support Linux with Steam, and the success of the Humble Bundle games on Linux, will help rally support behind the efforts to get Mesa to support newer iterations of OpenGL and get the open source Nvidia and AMD drivers in shape. Microsoft has long ago abanndoned PC gaming in favour of the Xbox, lets see if we can make Linux fill the gap.

In general I am very optimistic about the future, the strenght of the open source ecosystem is not that we have more developers to assign to a given project at a given time than Windows or Mac, but no matter what they do we keep moving forward on all fronts, so while Apple and Microsoft focus on beating each other in the tablet and phone space, maybe the time is ripe for us to strenghten our positions in the server and desktop markets? I mean tablets and phones might be all the rage atm, and maybe they are bigger markets than the traditional server and desktop market, but the server and desktop markets are still huge and ripe with opportunity if we play our cards right. And if we can deprive Microsoft of things like their Office cash cow, then that levels the playing field all the more when we later take them on again in other areas.