Miro 1.2 released! (working on Ubuntu packages now....)

Twenty minutes ago or so we released Miro 1.2. I was talking to Chris, Bryan, and John about Miro 1.2 yesterday at lunch (mid-release) because while there was a lot of work done on Miro 1.2, not a whole lot of it is immediately obvious to the typical Miro user. That got me thinking about writing a post that better explains what did happen and why it's important.

The Miro 1.2 release post has a list of things we worked on for Miro 1.2. Most of that list consists of things we did in a week or so. The majority of the release cycle work hours were spent on two items: switching to xulrunner 1.9 on Windows and re-architecting to further separate the "frontend" from the "backend". I want to talk a bit about those two items and why they're important.

Let's start with the xulrunner 1.9 change. Firefox 3 is based on xulrunner 1.9. Switching to xulrunner 1.9 even though it's not released yet was important because the Mozilla crew have done awesome work on improving performance in their current release cycle. Many of the performance improvements are memory-related. It definitely doesn't make Miro the most optimized thing ever, but it helps. Additionally, Nassar (who did the work) spent some time refactoring bits to make sure events were happening in the correct thread of execution and reducing some of the layers of abstraction and indirection involved. This work will make Miro on Windows more stable than it was previously.

The re-architecture work that Ben did is also really important. Previous versions of Miro had a backend and frontend that were tied together. Creating new platforms was arduous and it hampered any efforts towards building a daemonized platform or a platform that talked to MythTV or Elisa.... He made the split between the two much cleaner and at the end wrote a sample command line interface. In the process of doing that work, he did a bunch of other things that affected the entire code base: he fixed the namespace issues we had with Miro Python modules and he did some refactoring.

This opens up a lot of possibilities. It will be easier to write a daemon Miro platform that has an XMLRPC interface. It will be easier to write a slimmed down version of Miro for smaller computers like the Nokia n810. It's a good direction to be heading in.

status: week ending: 3/18/2008

I continued working on getting Miro 1.2 released. One thing we need to do better is coordinate translations. I'll be working on fixing that part of the release process for the next release cycle.

I also worked on getting Miro trunk to compile and work with xulrunner 1.9 and on Ubuntu Hardy. I finished this today and checked it in. It seems ok, but definitely needs peer review from someone who's more familiar with XPCOM.

I had a cup of coffee with Nathan from Creative Commons. He was out here doing work somewhere at MIT and I live nearby so we got together. For Miro 1.0, he implemented license extraction from RSS feeds. You can see the end result of this when you see the "license" item in the feed item details. When the publisher has license information in the feed, this links to the license. When you watch video content on the Internet, think about what roles you play in that content... Are you merely a passive consumer? Can you take the content and remix it into new content with new meaning? Can you share it with your friends? Can you post it elsewhere? The license information answers these questions and more. Thank you Nathan!

He and I talked about other areas where Miro and Creative Commons intersect and then we talked about PyBlosxom--another project I work on.

Once Miro 1.2 is out, I'm going to go back to work on Mediabar. I'll probably be working on that for the next week or two.

Sold my guitar

Sold the first guitar I ever bought today. I'm a little bummed about it because of the sentimental value it had, but I have to get rid of things to balance out getting new things. I'm trying to use mark and sweep garbage collection on my stuff. The unfortunate part is that I'm a very very slow CPU and it takes ages to do a single pass.

translations problems

Our current status for translations is pretty rough. We support a lot of languages, but few of them are complete translations. See https://translations.launchpad.net/democracy/trunk/+pots/democracyplayer/.

If you look at that page, you'll notice most of the translations haven't been updated and/or are missing strings. Of those translations, the only ones that are complete are English (United Kingdom), Norwegian Nynorsk, and Ukranian.

I think part of the problem is that we don't have a good way of telling people that we need translation updates.

If you're set up to do translation work or know someone who is, please take some time this weekend to update the translations for your language. We're planning a Miro 1.2 release some time next week. Hundreds of thousands of people world-wide will appreciate what you've done.

Also, if there's something that I can do to help make updating translations more timely, let me know.

status: week ending 3/11/2008

This week I fixed some bugs, worked on some bugs that I didn't get anywhere with, and finally tagged and released Miro 1.2 rc0.

I also did some work with getting Miro on Gutsy to compile against xulrunner 1.9 in the backports repository. I was basing the work on the set of packages the Ubuntu people maintain. There are some changes in there I don't understand the relevance of and their changelog isn't very helpful. I pinged Fabien, but haven't heard anything back from him.

As a side note, and I can't imagine I'm alone in this feeling, Windows bugs really suck and take gobs and gobs of time to work through.

status: week ending 3/5/2008

This week was an ok bug-fixing week. I worked on:

  • Bug 9644: implemented a preference allowing you to switch between renderers on GTKX11--it's not great, but it's good enough (probably).

  • Bug 3067: applied a patch for suspending the screensaver when playing video in fullscreen on GTKX11... then I found a couple of problems with it and backed it out today.

  • Fixed a bunch of other bugs related to gstreamer renderer, ff/rew, revver, mefeedia, ...

  • Worked on bug 9214 where if you click on the delete link when viewing a video in fullscreen on GTKX11, then you're stuck in fullscreen. I worked on it for a couple of days and ended up giving up today.

  • Sent out a proposed tentative release schedule for Miro 1.2 to the develop mailing list.

  • Helped with some of the initial GSoC preparation.

Next week I'm going to:

  • Bug 9692. Check out Fabien's patches for Ubuntu that get Miro to work with xulrunner 1.9.

  • Bug 9691. Look into Miro compiling with gcc 4.3. Uwe said something that suggested that gcc 4.3 on Debian is imminent. So... this needs to be figured out.

  • Continue to shepherd Miro 1.2 until it's out the door.

Busy busy busy....

How D&D affected my youth

I spent the better part of my youth doing Oddessey of the Mind (which has gone through some difficulties and splintered as near as I can tell), programming, bicycling, and playing D&D.

D&D was both entertaining and also wildly educational. I was in a bunch of campaigns and we were studying architecture, history, military campaigns, meteorology, the middle ages, math, economics, sociology, philosophy and a variety of other topics to create worlds that were fresh, inventive and believable. As such, I, too, salute Gary Gygax on his way to the other planes.

As a side note, I noticed a large overlap between programmers around my age and D&D players.

Changing the name; now William Kahn-Greene

I got married last May and changed my name to my wife's name. This had two interesting consequences. First, it surprises many people when they find out and I have to have my memorized explanation ready to go. Second, changing your name is really scary. I've been waiting for a period of time where I'm not involved in any governmental anything including flying because I don't want to confuse someone because I'm half-way through a name change.

I started the name-changing process a couple of weeks ago. I'm now William Kahn-Greene. I kept Guaraldi as my "maiden name"--I have no idea what the equivalent term is for men. I've spent the greater part of the last two weeks without "proper documentation"--that's been scary. Thank goodness for telecommuting!

As an aside, I can't wait for my idiot government to get over this terrorist panic. I can't imagine the next fear-craze to sweep the nation. I secretly hope it's global warming or something similar that has more useful consequences like energy usage overhaul and fewer consequences like transforming into a police state and war-mongering.

status: week ending 2/26/2008

It was an exciting week:

  • Bought a new laptop (Dell 1420n with Ubuntu Gutsy on it, 4 GB of memory and BRIGHT YELLOW)

  • Spent a couple of days switching to the new laptop and getting VNC working on my desktop machine

  • Worked on bugs 9614, 9627 and 3067--9627 took me a while to figure out

  • Centralized the list of projects for internships, GSOC, et al -- see it at https://develop.participatoryculture.org/trac/democracy/wiki/CommunityProjects

  • Toyed with Hardy Heron alpha 5 for a few hours to get a feel for where we are with that; turns out Miro 1.1.2 is in the Hardy repositories, so that's a good sign

This coming week I'm planning to:

  • Work on 1.2 bugs starting with mine and continuing with Nassar's

  • Take a look at the two-stage problem with the subscribe.getmiro.com site

I want to send HUGE thank yous to the following people:

  • mutantmonkey for the patch which disables the x screensaver for GTKX11 when watching movies in fullscreen -- this is awesome!

  • Njaal for the patch so that Miro will automatically stop seeding torrents when a specified ratio is reached in bug 8793

  • Sid for the excellent bug report for 9627

  • elmargol for help with bug 9614

  • Uwe from Debian and Christopher from Ubuntu for the work they're doing and the help they give us on packaging

Also, I'd like to apologize for posting my last status so late. I back-dated it, so it probably showed up on the planet pretty low.

Hardy Heron and Miro

I installed Hardy Heron alpha 5 in a VM and Miro doesn't compile on it. Amongst other things, Hardy uses Firefox 3, so it's likely we'll have to make some code changes to account for that. I only spent 20 minutes with Hardy and Miro to see where things are at--no clue how much work is going to be involved.

I'd love to get someone(s) to help with working out the issues with Miro on Hardy before Hardy releases. If you're interested in helping, leave a comment here, send me an email, or find me on IRC.

If no one helps out, then I'll probably deal with supporting Hardy after Hardy is released.