Will's blog

purpose: Will Kahn-Greene's blog of Python, Linux, random content, PyBlosxom, Miro, and other projects mixed in there ad hoc, half-baked, and with a twist of lemon

[ home | blog home | recent activity | guestbook | plugins i'm using (19) ]

Wed, 01 Sep 2010

Dev call 9/1/2010 minutes

Miro 3.5 status (roadmap)

Miro Community 1.1.1 status (roadmap)

Miro Community 1.2 status (roadmap)

Paul:

Janet:

Luc:

Ben:

Will:

Order of business

Bugzilla stats for Miro:

Fri, 27 Aug 2010

Server shuffling

We've had a few servers are a hosting facility in Marlboro, MA, USA for a long time now. Over the last year, we've been moving applications, sites, systems and all that from the servers in Marlboro to the Amazon cloud system. We're in the process of moving the last set of things to Amazon.

We're working on making the transition go smoothly, but there are a lot of pieces and it's possible we'll miss something along the way. If you notice PCF/Miro-related sites being down, let me know.

Wed, 25 Aug 2010

Dev call 8/25/2010 minutes

Miro 3.5 status (roadmap)

  • working on fixing up video conversion issues
  • working on cleaning things up

Miro Community 1.1.1 status (roadmap)

  • Miro Community 1.1 was released last week
  • working on some bug fixes targeted for 1.1.1

Paul:

  • pushed Miro Community 1.1 out to the new servers
  • looking at moving the db to another machine

Ben:

  • continued working on bugs for Miro 3.5
  • implemented font selection for subtitles on Windows

Will:

  • implemented the PCF bug triage Firefox addon
  • worked on database startup failure problems

Janet:

  • working on Windows installer things
  • and other things

Order of business

  • We talked a little about what Miro 4 will entail. We're going to try to plan it out in a wiki rather than plan it out in Bugzilla because Bugzilla is difficult to use for iterative design. When tasks become sufficiently defined, we'll move them to Bugzilla and start implementing.
  • Did you know there's a Miro User Manual? If you haven't looked at it yet, it's worth taking a look at. You can find it at http://getmiro.com/userguide/.
  • Priority is being put on finishing development work on Miro 3.5. Any help with this would be huge. There are a series of bugs on the roadmap that need to be fixed. If you want to help out but don't know where to start, see http://getmiro.com/userguide/contributing.html
  • If you can't contribute work, please consider contributing funding by donating. Your money goes directly to ongoing development of Miro and related projects.

Bugzilla stats for Miro:

Lot's of bug churn this week in part because of focus on regression testing and because of the creation (and heavy usage of) the PCF bug triage Firefox addon.

  • 20 bugs/feature-requests created
  • 3 bugs marked WORKSFORME
  • 1 bugs marked INVALID
  • 3 bugs marked DUPLICATE
  • 1 bugs marked WONTFIX
  • 12 bugs marked FIXED
  • 30 bugs marked INCOMPLETE

Wed, 18 Aug 2010

Dev call 8/18/2010 minutes

Miro 3.5 status (roadmap)

  • working on fixing up video conversion issues
  • working on cleaning things up

Miro Community 1.1 status (roadmap)

  • working on it--probably a release today or tomorrow

Paul:

  • Planning to tag Miro Community 1.1 and pushing out the release in the next day or two. Yay!
  • Worked on the Miro installer for Windows.

Ben:

  • Worked on bugs for Miro 3.5.
  • Talked about how to tackle bug 14203.

Will:

  • Worked on bugs.
  • Tested Miro on Maverick.

Order of business

  • We spent some time talking about fundraising. We're trying to get to the point where Miro development is self-funding.
  • Did you know there's a Miro User Manual? If you haven't looked at it yet, it's worth taking a look at. You can find it at http://getmiro.com/userguide/.
  • Priority is being put on finishing development work on Miro 3.5. Any help with this would be huge. There are a series of bugs on the roadmap that need to be fixed. If you want to help out but don't know where to start, see http://getmiro.com/userguide/contributing.html
  • If you can't contribute work, please consider contributing funding by donating. Your money goes directly to ongoing development of Miro and related projects.

Bugzilla stats for Miro:

  • 13 bugs/feature-requests created
  • 1 bugs marked WONTFIX
  • 7 bugs marked FIXED
  • 1 bugs marked WORKSFORME
  • 1 bugs marked DUPLICATE
  • 1 bugs marked INCOMPLETE

Fri, 13 Aug 2010

New Windows build environment

I spent a good amount of time over the last few months migrating Miro on Windows to a new Windows build environment that uses Python 2.6.5 and Visual C++ 9.0 (part of Visual Studio 2008).

I landed the changes two weeks ago. Janet, Ben and I identified a couple of problems and sorted those out. Last week I got the Windows build box to produce nightlies without requiring any babysitting.

Yay!

Features of the new Windows build environment:

  1. It's a lot easier to configure. Previously, we had to set PATH, INCLUDE, and LIB environment variables to the right magic values to build correctly. Python 2.6 automatically pulls those values from Visual Studio 2008 files. So we don't need to deal with those anymore.
  2. It uses Visual C++ 9.0 (Visual Studio 2008) rather than VC++ 7.1 (VS 2003). The latter can no longer be acquired legally (thank you MS). There's an Express version of the former available on the Microsoft site for free.
  3. We were using Python 2.5 which had a bunch of bugs we had workarounds for. We're now using Python 2.6.5 which doesn't have these issues and also has a series of optimizations that should make Miro run better.
  4. There's a get_requirements.sh script that downloads the versions of Python and libraries that you need automatically.

This also means that we can require Python 2.6 or later on all platforms for Miro. Therefore we can:

The one thing we still want to do is upgrade from gtk 2.16 to gtk 2.20. Bug 14037 covers the problems here. We're blocked by Bug 625972 in gtk.

I've written up instructions on setting up the new Windows build environment. It takes me about 30 minutes to do--mostly because it takes a while to install Visual C++ 9.0 Express. It's much easier to set up the new environment than the previous environment. When I first started at PCF a few years ago, it took me a couple of days to get the Windows build environment working.

For more details on the new Windows build environment, see the wiki page on WindowsBuildDocs.

Thu, 12 Aug 2010

PyOhio 2010 videos posted to Python Miro Community

Last night, I spent a few hours going through all the videos from PyOhio 2010, added metadata from the PyOhio site, added notes about video issues, and approved all of the videos except one which I'm talking with Carl about.

It looks like PyOhio 2010 was a really great conference: the talks are really great, you can feel the energy in the rooms from the people who attended, the questions are interesting, and the videos from the conference are fantastic. Also, I'm a huge +1 on using the headset mics--they absolutely make a difference in being able to hear the presenter throughout the video.

Here are three sessions I watched all the way through:

  • Teach Me Python Bugfixing - http://python.mirocommunity.org/video/1794/pyohio-2010-teach-me-python-bu
    This session walks new people through how to contribute to Python core. It's worth watching for new contributors. I also think this is useful for illustrating the barriers to entry and required workflow knowledge for new contributors.
  • PyPy and Unladen-Swallow: Making your Python Fast - http://python.mirocommunity.org/video/1804/pyohio-2010-pypy-and-unladen-s
    Alex did a test-run of this talk at ChiPy. I studied programming languages and compilers in grad school and find these talks really interesting. I liked the analysis of "slow" in respects to the language and the cpython implementation--it's towards the beginning.
  • Wrangling the bits, standardizing how apps get built - http://python.mirocommunity.org/video/1789/pyohio-2010-wrangling-the-bits
    This covers things in virtualenv I didn't know where there. It also talks about modern-package-template which I didn't know existed and fabric which I haven't played with before. Rick also mentions searching Google Code for "after_install" and "fabfile" for virtualenv and fabric usage examples. He says there's a wealth of code snippets in there. I watched the session and immediately started adjusting my scripts. This session had mic problems and the session starts at 7:20. I'm working with Carl to get the first 7:20 clipped.

Sessions from PyOhio 2010 are in the PyOhio 2010 category. Take some time today to browse the sessions and watch the ones that interest you.

Also, I'm sitting on videos for two other conferences: DjangoConf EU and Kiwi PyCon. I'm hoping to get to them in the next couple of weeks. I did PyOhio 2010 videos last night because Carl needed someone to spot-check them to make sure the uploads were good.

Wed, 11 Aug 2010

Dev call 8/11/2010 minutes

Miro 3.5 status (roadmap)

  • working on fixing up video conversion issues
  • working on fixing libcurl related issues

Miro Community 1.1 status (roadmap)

  • working on it

Janet:

  • worked on regression testing for Miro 3.5 on Windows
  • worked on Miro 3.5 bug fix verification
  • worked on Universal Subtitles testing

Ben:

  • worked on Miro 3.5 bugs focusing on downloader-related bugs

Will:

  • fixed Windows build box
  • fixed libtorrent issue on Windows
  • synced translations with Launchpad
  • fixed Miro 3.5 bugs and did some bug triage
  • helped thrillERboy land his first FLOSS patch

Paul:

  • worked on Miro Community issues and development

Order of business

  • Priority is being put on finishing development work on Miro 3.5. Any help with this would be huge. There are a series of bugs on the roadmap that need to be fixed. If you want to help out but don't know where to start, see http://getmiro.com/userguide/contributing.html
  • If you can't contribute work, please consider contributing funding by donating. Your money goes directly to ongoing development of Miro and related projects.

Bugzilla stats for Miro:

  • 14 bugs/feature-requests created
  • 2 bugs marked DUPLICATE
  • 10 bugs marked FIXED

Mon, 09 Aug 2010

Working on bugs: hurdles to bug squashing

There are two big hurdles to get through when starting on a bug before I'm in a position where I can fix it. I think the bulk of the time spent on most bugs is in getting through these two hurdles. If we could somehow reduce the amount of time and energy I spend on getting through the two hurdles, we can increase the speed that I can fix bugs.

Copyright 2008 Flickr user foxtongue

The first hurdle: what is the problem?

I think most people confuse the question "what is the problem" with "what's causing the problem". These are two distinct questions. The first one can only be answered by whoever reported the problem and this hurdle is a communication hurdle. I spend a lot of time trying to coach people into explaining the problem they have in a way that's coherent and complete.

It's not uncommon to get bug reports along the lines of "something's wrong and Miro doesn't work". I'm psyched someone has taken the time to report the issue, but there isn't enough detail here for me to do anything. In order for me to do something with this bug, I spend time walking the reporter through giving me enough details such that I have a good idea as to what the problem is. Because this requires communicating back and forth, this can take anywhere from a few hours to a few weeks to transpire.

Because it takes so long and requires me to ask 20 questions, I'm pretty sure most bug reporters find this phase very frustrating. Some question and answer volleys are really frustrating for me, too. I want to help--I just don't know what the problem is.

Assuming we get past that hurdle, then the second hurdle comes into play....

The second hurdle: what is the cause of the problem?

This hurdle is sometimes difficult because I can't reproduce the problem. I may not have the right context (e.g. "Problem XYZ happens to all people in Ecuador") or the right equipment (e.g. "Problem XYZ happens to people using Windows XP SP2 with video card Foo"). I'll read through code and work with the reporter to try to figure out the cause. Sometimes it works and sometimes it doesn't. When it doesn't it's really frustrating.

Most bugs aren't like that, though. I'm able to either reproduce the context and equipment or I'm able to use a reasonable facsimile. Then figuring out the cause is entirely on my shoulders and I can work through it like I do most things: code spelunking, research, Google searches, talking with co-workers, talking with upstream developers, ....

How can you help?

The following helps a lot:

  • use an email address that you respond to
  • be as specific as you can in your bug report description
  • attach your Miro log file
  • be patient with me when I ask my 20 questions to figure out what the problem is
  • be prompt with responses--the longer it takes to turn around a question and answer, the longer it takes to get the bug fixed
  • thank people who help get your bug fixed: other people who comment on the bug providing additional details, people who worked on the bug, people who tested the bug fix--it takes a community to build an application

Guess what....

This isn't specific to me or Miro! This is true of all FLOSS applications that you use: we're all working hard to build the best applications ever. Doing the above helps everyone.

Wed, 04 Aug 2010

Dev call 8/4/2010 minutes

Miro 3.5 status (roadmap)

  • working on fixing up video conversion issues
  • working on fixing libcurl related issues

Miro Community 1.1 status (roadmap)

  • working on it
  • finishing up implementing playlist features

Janet:

  • having problems with downloading using Windows build
  • worked on Universal Subtitles test setup and testing

Ben:

  • worked on bug 14037. created a test case that fails with gtk 2.20 and submitted the bug 625972 upstream
  • working on creating an OSX build environment

Will:

  • worked on Windows build environment issues
  • downgraded us to gtk 2.16 which doesn't have client-side windows
  • cleaned up and rebuilt the Windows build box to use the new environment
  • started working on better community organization
  • fixed http://planet.getmiro.com/
  • upgraded the Miro User Manual to 3.0.3

Luc:

  • working on video conversion problems in bug 13821
  • worked on other complex video conversion problems

Paul:

  • worked on playlists for MC 1.1
  • worked on the Windows installer

Order of business

  • The Windows build environment work is now done and we're using Python 2.6.5 and VC++ 9.0 (yay!).
  • Priority is being put on finishing off this release. Any help with this would be huge. There are a series of bugs on the roadmap that need to be fixed. If you want to help out but don't know where to start, see http://getmiro.com/userguide/contributing.html
  • If you can't contribute work, please consider contributing funding by donating. Your money goes directly to ongoing development of Miro and related projects.

Bugzilla stats for Miro:

  • 10 bugs/feature-requests created
  • 2 bugs marked FIXED
  • 5 bugs marked WONTFIX
  • 1 bugs marked WORKSFORME
  • 5 bugs marked DUPLICATE
  • 4 bugs marked INCOMPLETE

Wed, 28 Jul 2010

Dev call 7/28/2010 minutes

Miro 3.5 status (roadmap)

  • renamed from Miro 3.1 to 3.5
  • working on rebuilding the Windows build environment
  • working on fixing up video conversion issues
  • working on fixing libcurl related issues

Miro Community 1.1 status (roadmap)

  • working on it
  • implementing playlist features

Nick:

  • Launched complete alpha version of the site with full workflow.

Paul:

  • Worked on playlist feature for Miro Community.
  • Worked on Twitter and Facebook logins.

Luc:

  • Worked on Miro 3.1 bugs.
  • Now hitting bugs that are hard to fix and take a long time.

Will:

  • Fixed YouTube bug and pushed out 3.0.3.
  • Fixed a bunch of Miro 3.1 bugs.
  • Landed mostly working Windows build environment changes.

Janet:

  • Spent most of her time on Universal Subtitles.
  • Pushed out Miro 3.0.3.

Ben:

  • Hi! I'm back!

Order of business

  • We decided to rename Miro 3.1 to 3.5 on account of large changes.
  • The following release is being renamed to 3.6 for now.
  • Priority is being put on finishing off this release. Any help with this would be huge. There are a series of bugs on the roadmap that need to be fixed. If you want to help out but don't know where to start, see http://getmiro.com/userguide/contributing.html

Bugzilla stats for Miro:

  • 10 bugs/feature-requests created
  • 3 bugs marked DUPLICATE
  • 8 bugs marked FIXED
  • 2 bugs marked INVALID

Wed, 21 Jul 2010

Python Miro Community status: 07-21-2010

This is the July status report for Python Miro Community. This site indexes videos from around the Internet related to Python. In particular, we focus on indexing conference session video and videos from our more prolific Python user groups.

In the last month, we've finished approving all the PyCon 2010 videos. They're all in the PyCon 2010 conference category.

I spent a few hours adding metadata to and approving videos from PyCon AU 2010. There are some really great ones--definitely worth looking at. They're all in the PyCon AU 2010 conference category.

PCF released a new version of Miro Community with some bug fixes and a widget that allows you to embed videos on other sites. I haven't played with that yet, but it sounds useful.

I'm still working on recategorizing things per Carl's suggestions from last month.

That's it for this status report. Any thoughts, questions or concerns--let me know.

Dev call 7/21/2010 minutes

Miro 3.1 status (roadmap)

  • working on rebuilding the Windows build environment
  • working on fixing up video conversion issues
  • working on fixing libcurl related issues

Miro Community 1.1 status (roadmap)

  • working on it

Paul:

  • point release of Miro Community with video widget and fixes for Internet Explorer

Will:

  • continued to work on the windows build environment changes
  • fixed some minor bugs

Luc:

  • worked on fixing small 3.1 issues
  • waiting on git repository fixes to check them in

Janet:

  • worked on testing things
  • having problems with litmus test system after server died last week

Ben:

  • boogie boarding

bugzilla:

  • 3 bugs/feature-requests created
  • 3 bugs marked FIXED
  • 1 bugs marked WONTFIX
  • 1 bugs marked WORKSFORME
  • 5 bugs marked INCOMPLETE

Mon, 19 Jul 2010

anniversary (3)

I've been working at PCF for three years now. I think that officially makes me an old-timer. I can start sentences with, "I remember the day when..."

I mentioned that to Paul, who also just hit his three year anniversary, and he suggested the sentence, "I remember the day when ... we had an office."

I was thinking along the lines of, "I remember the day when to implement a ui change, you had to do it three times and on Windows, you had to do it in Python and then again in JavaScript."

Copyright 2006 flickr user jonwatson

Wed, 07 Jul 2010

Dev call 7/7/2010 minutes

Miro 3.1 status (roadmap)

  • working on rebuilding the Windows build environment
  • this release cycle has been pretty long; we're switching gears and going to focus on wrapping it up; help with this would be great, otherwise we'll get there as we get there.

Miro Community 1.0.1 status (roadmap)

  • releasing soon

Janet:

  • Universal Subtitles testing
  • regression testing on Miro

Luc:

  • continued working on Miro shutdown problems on OSX--problems with libtorrent
  • worked on conversions preferences, but is going to put it aside for now because of complications

Paul:

  • released Miro Community 1.0
  • working on Miro Community 1.0.2 and 1.1

Will:

  • worked on windows build environment stuff
  • worked on Miro 3.1 bugs

bugzilla:

  • 23 bugs/feature-requests created
  • 1 bugs marked ---
  • 3 bugs marked WONTFIX
  • 10 bugs marked FIXED
  • 5 bugs marked DUPLICATE
  • 1 bugs marked INVALID

Wed, 30 Jun 2010

Dev call 6/30/2010 minutes

Miro 3.1 status (roadmap)

  • working on rebuilding the Windows build environment

Miro Community 1.0.1 status (roadmap)

  • releasing soon

Paul:

  • continued working on MC server configuration and setup
  • fixed some minor bugs for MC 1.0.1

Janet:

  • tested universal subtitles project and other things

Luc:

  • worked on conversion preferences
  • worked on shutdown problem

Will:

  • tweaked logging in the downloader
  • got the downloader working in the new build environment
  • spent an hour on agpl compliance for universal subtitles
  • now working on getting VLC and XULRunner working
  • 9 bugs/feature-requests created
  • 1 bugs marked DUPLICATE
  • 1 bugs marked FIXED
  • 1 bugs marked WONTFIX
  • 5 bugs marked INVALID

Fri, 25 Jun 2010

Python Miro Community status: 06-25-2010

I spent 20 or so hours over the last few weeks working through the moderator queue for Python Miro Community and making changes to the site. We've almost posted all of the PyCon 2010 videos--I think there are three or four more still in the queue including one of the lightning talks.

I've created a bunch of bugs in the Miro Community bug tracker for bugs that I've encountered and enhancements that would make the site and curation of the site better. Miro Community is a Free Software project, so I'm hoping to find free time to fix/implement some of those.

Carl Karsten is now a curator on the site--that makes two of us. He's been a huge help so far. Having someone to bounce ideas off of makes it a lot easier and he brings a lot of enthusiasm to the site. Right now we're coordinating things through email and we're tentatively going to use the pycon-av mailing list for PMC discussion. If we need to switch to another mailing list, then we'll do that.

At Carl's suggestion, we added a new category of categories for Python user groups. The three groups we have listed now are ChiPy (Chicago, IL), BostonPy (Boston, MA), and PyAtl (Atlanta, GA). The PyAtl videos are mostly from last year--I need to catch up with a PyAtl member to find out what's going on. There are only two BostonPy videos now, but the group is interested in doing more. The ChiPy videos are fantastic. Additionally, Pior from Montreal-Python is working on getting their video workflow working--I really look forward to seeing their sessions.

I've been tagging videos that I think are good for Python beginners with the tag "python-basics". At some point in the near future, we're going to move some/all of those videos into a Learning Python category. There's a large amount of decent introductory material for Python out there ranging from videos on YouTube to tutorials at PyCon. I think this category will make it easier for people new to Python to get their feet wet quickly and easily.

On a slightly related note, the Universal Subtitles project recently launched an alpha demo of their system. I'm looking forward to this project reaching a stable status since I'm planning to use it on PMC to add subtitle/transcription to all videos on Python Miro Community. The project is in Django and it's Free Software. If you're interested in this work, they sure could use the help.

That's it for this status report. Any thoughts, questions or concerns--let me know.

Wed, 23 Jun 2010

Miro User Manual -- have you seen it?

For Miro 3.0, a couple of us sat down and wrote a Miro User Manual. Links to the manual are on the getmiro.com web-site. In Miro, the Help -> Help menu item brings up the Help page on the getmiro.com web-site.

With all that linkage, though, I haven't heard anything regarding whether the Miro User Manual is useful or not, whether there are issues, whether there are bits that are unclear or missing, ...

I encourage you to take a moment to skim the Miro User Manual today. I'd appreciate any feedback--leave it in the comments here or send me an email at willg at bluesock dot org.

Also let me know if you're interested in helping. I'm hoping to do MUM sprints prior to Miro release using PiratePad.

Dev call 6/23/2010 minutes

Miro 3.1 status (roadmap)

  • working on rebuilding the Windows build environment

Miro Community 1.0.1 status (roadmap)

  • working on scaling issues
  • working on minor bugs

Nick:

Paul:

  • worked on documentation-y stuff for Miro Community.
  • worked on scaling architecture

Luc:

  • worked on table view crashes on OSX
  • worked on downloader shutdown slowness on OSX
  • add a conversions preference panel

Will:

  • did a bunch of cleanup stuff:
    • put bugzilla overlay in a repository,
    • put the roadmap in the bugzilla-scripts repository to share with others,
    • worked with rob to get the userguide squared away in regards to the new getmiro.com workflow
  • continued working on the downloader crashing problem in the new windows build environment--I've ruled out some issues, but I haven't figured it out, yet.
  • volunteered at the FSF on Tuesday. spent a few hours talking to a friend about Windows build enviroments on Saturday.

bugzilla

  • 8 bugs/feature-requests created
  • 3 bugs marked WONTFIX
  • 4 bugs marked FIXED

Fri, 18 Jun 2010

Bugzilla scripts: timeline and roadmap

A few years ago, we switched from Trac to Bugzilla. After doing this, we discovered there were some things we really missed about Trac. The first was a unified timeline so that we could see what was going on in the bug tracker. The second was a roadmap that showed us, for a given milestone, where we were at.

I coded up both of these and over the years have made some adjustments. I made the timeline script available a while back, but I don't think I ever made the roadmap script available.

The repository with both of these is at https://git.participatoryculture.org/bugzillascripts/.

They work with our Bugzilla 3.6 instance. I haven't tested either on other versions or other instances.

If you use either or both, send me an email about whether it works for you, bugs, comments, ...

Wed, 16 Jun 2010

Dev call 6/16/2010 minutes

Miro 3.1 status (roadmap)

  • working on rebuilding the Windows build environment

Paul:

  • Working on getting Miro Community to work on multiple servers

Janet:

  • Worked on Universal Subtitles testing
  • Worked on Miro bugs

Luc:

  • Worked on weird problems with Miro on OSX

Ben:

  • Worked on Miro 3.1 bugs

Will:

  • Worked on unit tests, cleaned up downloader code, worked on getting new Windows build environment working

bugzilla

  • 13 bugs/feature-requests created
  • 1 bugs marked WORKSFORME
  • 1 bugs marked INVALID
  • 1 bugs marked DUPLICATE
  • 2 bugs marked WONTFIX
  • 4 bugs marked FIXED
  • 2 bugs marked INCOMPLETE

Wed, 09 Jun 2010

Dev call 6/9/2010 minutes

Miro 3.1 status (roadmap)

  • osx build box is rebuilt
  • working on rebuilding the windows build environment

Janet:

  • worked on Miro regression testing
  • worked on Universal Subtitles testing

Ben:

  • spent the week fixing subtitle issues

Luc:

  • worked on bugs for Miro 3.1 related to conversion
  • worked on difficult hard-to-reproduce issues

Will:

  • rebuild the osx build box with 10.6
  • worked on getting the miro community server running
  • got video conversions working on windows
  • started redoing the build environment for windows; basing on Python 2.6.5 and Visual Studio 2008 Express; ran into problems with xulrunner pyrex files

bugzilla

  • 23 bugs/feature-requests created
  • 3 bugs marked INVALID
  • 3 bugs marked DUPLICATE
  • 3 bugs marked WONTFIX
  • 9 bugs marked FIXED
  • 1 bugs marked INCOMPLETE

Wed, 02 Jun 2010

Dev call 6/2/2010 minutes

note

I was away last week, so I wasn't on the call and didn't take notes.

Miro 3.1 status (roadmap)

  • osx build box needs to be rebuilt
  • video conversion code needs testing and probably some fixing

Ben:

  • working on allowing the user to specify the encoding in the subtitle file

Janet:

  • worked on MVC testing and Universal Subtitles
  • switching back to Miro testing

Luc:

  • reworked building Miro on OSX so we can do builds from OSX 10.6 that work on other systems (yay!)
  • continuing to work on video conversion stuff

Will:

  • messed up his router like a big idiot, then fixed it
  • spent some time trying to get the osx build box up and running but had problems
  • implemented video conversion bits on Windows

bugzilla

  • 25 bugs/feature-requests created
  • 8 bugs marked DUPLICATE
  • 2 bugs marked FIXED
  • 1 bugs marked WORKSFORME
  • 2 bugs marked INVALID

Tue, 01 Jun 2010

Code growth

I was working on identifying and removing dead code in the Miro tree today when I decided to do some stats on the Miro codebase over the last bunch of versions.

version sloccount .tar.gz size
1.0
python:       44700 (94.91%)
cpp:           1313 (2.79%)
ansic:          790 (1.68%)
xml:            264 (0.56%)
sh:              30 (0.06%)
12.3mb
1.1.2
cpp:          58403 (58.71%)
python:       39985 (40.20%)
ansic:          790 (0.79%)
xml:            264 (0.27%)
sh:              30 (0.03%)
13.4mb
1.2.8
cpp:          58491 (58.53%)
python:       40187 (40.21%)
ansic:          796 (0.80%)
xml:            265 (0.27%)
sh:             196 (0.20%)
14.6mb
2.0.5
cpp:          73663 (58.74%)
python:       49198 (39.23%)
ansic:         1831 (1.46%)
xml:            438 (0.35%)
sh:             282 (0.22%)
7.3mb
2.5.4
cpp:          73808 (57.63%)
python:       51631 (40.31%)
ansic:         1874 (1.46%)
xml:            432 (0.34%)
sh:             328 (0.26%)
10.0mb
3.0.2
python:       52869 (95.73%)
cpp:            832 (1.51%)
ansic:          692 (1.25%)
xml:            432 (0.78%)
sh:             403 (0.73%)
9.7mb
git master
python:       53305 (95.98%)
cpp:            832 (1.50%)
ansic:          692 (1.25%)
xml:            432 (0.78%)
sh:             279 (0.50%)
9.6mb

There are a couple of interesting things here. First is that we switched to libtorrent in Miro 1.1. We had libtorrent code in the tarball in Miro 1.1 and removed it in Miro 3.0--that's the bulk of the cpp code.

Second, we did a ui overhaul for Miro 2.0. In doing that, we switched all three platforms to using gettext and thus only had to have one set of translations. We also ditched a bunch of binary data. That reduced the tarball size significantly.

Third, the number of lines of Python code has been going steadily up since Miro 1.1. This is the number I'm most concerned with. In adding more Python code version after version after version, we're adding more complexity and a larger domain of things to test. This adds to the maintenance work we have to do between versions, too.

We sure could use some help coding, fixing, maintaining, testing, documenting and translating.

If you're interested in helping, click this button:

Sun, 23 May 2010

Miro 3.0.2 released!

I just pushed out Miro 3.0.2 to address a few problems that users have discovered since we released 3.0.1. If you haven't upgraded to a Miro 3 series release, it's worth doing.

This is the last release we're doing for OSX 10.4. Miro 3.1 and future releases will not work on OSX 10.4.

I'm in the process of building packages for Ubuntu Jaunty, Karmic and Lucid now. As a reminder, Ubuntu packages are in the miro-releases Launchpad PPA at here.

There were two big things that drove this release. The first is that Miro on Linux sucked if you had XULRunner 1.9.2. This release fixes that by switching from XULRunner to WebKit. One of the big benefits we get from that is that it's much easier to compile Miro on Linux. The second set of changes had to do with the changes I made to the GStreamer renderer on Linux. This release fixes thumbnail building, playback from one media item to the next, and volume.

As always, release notes for Miro 3.0.2 are here.

Update 5/23/2010: I just finished up Ubuntu packages and pushed them to the PPA.

Wed, 19 May 2010

Dev call 5/19/2010 minutes

minutes

Miro 3.0.2 status (roadmap)

  • needs testing and then will get pushed out

Miro 3.1 status (roadmap)

  • things need fixing; couple more things to implement; needs testing

Miro Community 1.0 status (roadmap)

  • some style changes needed; needs testing; might release this week?

Janet:

  • Got the MacBook she has for testing up and running with 10.6
  • Did testing on Miro 3.0.2, 3.1
  • Worked on testing Miro Community and setting up regression testing and automated testing scripts
  • Started testing Miro Subtitles
  • Did some testing on final builds for Windows for Miro Video Converter

Paul:

  • Getting really close to a Miro Community 1.0 release
  • Working on updating Miro Community to work on latest Django

Luc:

  • Did nothing for a bit
  • Worked on getting Miro unit tests working better on OSX--running unit tests on OSX works fine now
  • Worked on fix for 3.0.2 which will make sure OSX 10.4 users don't get an update notification for Miro 3.1
  • Continued improving the OSX sandbox code

Ben:

  • Fixed bugs related to libcurl changes.

Will:

  • Worked on bugs targeted for 3.0.2 and some 3.1 issues, too.

bugzilla

  • 23 bugs/feature-requests created
  • 2 bugs marked DUPLICATE
  • 13 bugs marked FIXED
  • 6 bugs marked INVALID

Wed, 12 May 2010

Dev call 5/12/2010 minutes

minutes

Miro 3.0.2 status (roadmap)

  • need to cherry-pick Linux webkit fixes from master
  • need to test on Linux
  • it'll get pushed out this week or early next week

Miro 3.1 status (roadmap)

  • dropped support for OSX 10.4
  • landed libcurl

Miro Community 1.0 status (roadmap)

  • coming along nicely--single-digit number of bugs left

Will:

  • Switched Linux platform from xulrunner 1.9.2 to webkit
  • Fixed a handful of 3.1 bugs
  • Struggled with getting translations for Miro 3.0 series working in Launchpad (again)--looking forward to looking at Transifex

Janet:

  • Regression testing on Windows
  • Tested libcurl changes for Miro

Paul:

  • Miro Community work is going well
  • Working on last bugs for version 1.0

Ben:

  • landed libcurl
  • worked on a bunch of other Miro 3.1 bugs

bugzilla

  • 31 bugs/feature-requests created
  • 3 bugs marked WONTFIX
  • 21 bugs marked FIXED
  • 4 bugs marked DUPLICATE
  • 1 bugs marked INVALID

Wed, 05 May 2010

Dev call 5/5/2010 minutes

minutes

Miro 3.1 status (roadmap)

  • we decided for sure that we're dropping support for OSX 10.4

Miro Community 1.0 status (roadmap)

  • coming along nicely

Janet:

  • Worked on testing for Miro, Miro Community, and Miro Video Converter.
  • Worked on getting the Miro Community test server working with tests so we can run with a cron job.

Luc:

  • Worked on problems with the downloader process not quitting on OSX. Suspicions are currently on libtorrent.
  • Worked on problems created by autohiding the download and conversions tabs.
  • Worked on libcurl changes for binary kit.
  • We're going to ditch OSX 10.4. This means we'll have to upgrade infrastructure to 10.5 (test boxes, build box, ...).
  • Worked on conversion feature fixes.

Paul:

  • Worked on Miro Community stuff--mostly styling changes.
  • Started working on user profiles.

Ben:

  • Worked on libcurl changes--ready to check it in.
  • Fixed a bunch of small bugs.
  • Talked with Will about switching to webkit for Linux.

Will:

  • Tweaked the bugzilla email template.
  • Updated development machines to Ubuntu Lucid.
  • Worked on problems with Miro web browser on Lucid.

bugzilla

  • 18 bugs/feature-requests created
  • 1 bugs marked WONTFIX
  • 5 bugs marked FIXED
  • 2 bugs marked INVALID
  • 3 bugs marked DUPLICATE
  • 1 bugs marked INCOMPLETE

Tue, 04 May 2010

Dropping support for OSX 10.4 in Miro 3.1

Over the last year, supporting OSX 10.4 has been a pain in the ass for a bunch of reasons and is costing us a lot of development and testing time. Adding new features to Miro is cumbersome since we have to work around OSX 10.4's constraints and implement and test everything on three different versions of OSX.

For Miro 3.1, we're working on switching Miro from using a home-grown httpclient to using libcurl (bug 13010). We're also adding support for converting media files from one format to another (bug 13252). Both of these changes add external components that needs that needs binary kit support for OSX. After some discussion, we've decided to draw the line here.

Miro 3.1 and future versions will no longer be supported on OSX 10.4.

It's hard to tell exactly how many users are still using 10.4 since we don't sell Miro and we use OSUOSL for distributing binaries. We can get some probably-in-the-same-ballpark numbers from analytics on Miro Guide. I wrote some numbers in the minutes for the 04/07/2010 devcall. These numbers suggest that of the 470,000 users who looked at the Miro Guide, 12% of them are using OSX 10.4. Note that this is not 12% of all Miro users--just 12% of Miro users on OSX.

That's a large number of users and we're cognizant that dropping support for OSX 10.4 orphans these users. However, Miro 3.0 is a solid release, so it's not the case that we're orphaning them on a bad release.

It'd be great if someone who has OSX 10.4.11 installed wanted to take up the torch and continue support for Miro on that system. If you're interested, let me know and I'll hook you up with our OSX dev.

Comments, feedback, offers to help support OSX 10.4 going forward, offers to donate, ... leave them in the comments section.

Sun, 02 May 2010

Python Miro Community status: 05-01-2010

I spent a few hours with the Python Miro Community site today re-applying the template changes I made to the theme to the new version of the theme. Miro Community has released two versions since I tweaked the theme, so I was playing catch-up. I'm putting my edits into version control this time around so I don't lose them again (stupid stupid stupid).

One of the things I want to do with Python Miro Community is to build playlists of videos covering a specific theme for helping people come up to speed with those areas: testing in Python, basic Python programming, advanced Python programming, ... I've been faking this using tags, but it's pretty suboptimal because I can't control the order the videos get listed in on the tag listing page. Dean created bug 12627 for implemnting playlists/series. This would also fix the problem I have where YouTube duration maximums force a single "video" to span several YouTube urls and thus be several separated videos. Anyhow, looks like that isn't going to get implemented for Miro Community 1.0.

I started slogging through the queue. We've got 80 videos or so in the approve/reject queue right now. A bunch of them are PyCon 2010 related. A bunch are from Carl's blip.tv feed and are from ChiPy and other things. 50 or so are from a Plone feed that Nate Aune sent me. I'm going to make a concerted effort to get through the queue over the next couple of weeks.

Even though I'm behind in the queue, I encourage people to submit new videos. Some of the best material comes from Python user groups--I'd really like to see more groups videoing their sessions, posting them online, and submitting them to PMC. Don't let ChiPy and PyAtl outshine everyone else!

You can find Python Miro Community at http://python.mirocommunity.org/.

Wed, 28 Apr 2010

Dev call 4/28/2010 minutes

minutes

Miro 3.1 status (roadmap)

  • considering dropping support for OSX 10.4

Miro Community 1.0 status (roadmap)

  • coming along nicely

Luc:

  • lots of work done on the new conversions functionality
  • spent some time investigating Nick's shutdown problems; probably caused by libtorrent

Paul:

  • pushed out 0.9.6 release of Miro Community and it seems to be a solid release with a few new features
  • working on Miro Community 1.0

Ben:

  • continued working on libcurl work
  • having trouble getting libcurl working on OSX

Will:

  • helped with the bugzilla 3.6
  • built packages for Lucid of Miro 3.0.1
  • worked on 3.1 bugs that I had started a few weeks ago but was sitting on.

bugzilla

  • 30 bugs/feature-requests created
  • 1 bugs marked WONTFIX
  • 19 bugs marked FIXED

Sat, 24 Apr 2010

New desk at PCF Chelmsford office

One of the things I've been working on over the last couple of weeks was a new desk and deskspace for the PCF Chelmsford office where I work. It's been hard because I have a bunch of equipment that I need access to, as well as a bunch of paperwork and other things. Also, I felt my desk was too short for my height--I was always feeling scrunched up. Also also, my desk had a privacy guard and I have a bruise on the front of each shin from whacking the damned privacy guard all the time. I really really needed a different desk.

One night, I drew up plans. Two weekends ago, I visited my dad and we took his Suburban to Home Depot, picked up some material, brought it back to his place where he has more space, and made the cuts. Then we brought it back to my place where I spent the last couple of weeks sanding it, staining it and poly-urethaning it.

Today I finished it up, assembled it, moved everything around, and put it in place.

Old desk situation:

New desk situation:

I put the PCF build boxes under the desk where I can kick them when I'm annoyed. :)

Many thanks to my dad for all his help and my brother-in-law for his thoughts. I'm really psyched to have a better desk. It'll clear up a lot of problems I was having.

Thu, 22 Apr 2010

Bugzilla upgraded!

We upgraded bugzilla from 3.0 to 3.6 today. The new bugzilla is at the same place as the old bugzilla.

If you notice any problems, comment here or send me an email.

Wed, 21 Apr 2010

Dev call 4/21/2010 minutes

minutes

Miro 3.1 status (roadmap)

  • we're going to extend the development cycle to May 10th
  • considering dropping support for OSX 10.4

Miro Community 1.0 status (roadmap)

  • coming along nicely

Janet:

  • updated the appcast for Miro 3.0.1
  • worked on cobranded players
  • coordinated testing

Ben:

  • worked on bug 13169: trying to get miro working with xulrunner 1.9.2
  • looking at ditching gtkmozembed

Paul:

  • working on a new point release for Miro Community to get a bunch of bug fixes out to live sites
  • continuing to make good progress on Miro Community 1.0

Luc:

  • landed conversion code in master
  • continued working on ui updates, adding menus, ... filling out the functionality
  • working on code to display conversion status

Will:

  • helped with getting 13169 worked out
  • helped with Bugzilla 3.6 setup
  • worked on copyright/license issues with Miro Video Converter
  • updated Miro User Manual

bugzilla

  • 12 bugs/feature-requests created
  • 2 bugs marked WONTFIX
  • 7 bugs marked FIXED

Thu, 15 Apr 2010

Miro 3.0.1 released!

We pushed out Miro 3.0.1 a couple of days ago to address a few problems that we discovered with 3.0. If you haven't upgraded to 3.0.1 yet, it's definitely worth doing.

Release notes for Miro 3.0.1 are here.

The other big change with this release is that I've moved our Ubuntu packages from repositories on OSUOSL to our miro-releases Launchpad PPA.

As of 3.0.1, we're no longer pushing packages to our repositories on OSUOSL.

Details on the miro-releases PPA are at here.

I do plan on doing packages for Lucid, but there's a problem with Miro's embedded XULRunner browser on Lucid. It's captured in bug 13169. Ben and I are working on it, but if you've got experience with XULRunner, GTK, and/or gtkmozembed, we could use some help. Details and status of the problem are in the bug. This bug is definitely blocking packages for Lucid. If you can help, ping us on #miro-hackers on freenode.net.

Update 4/22/2010: Lucid packages are in the PPA, too.

Wed, 14 Apr 2010

Dev call 4/14/2010 minutes

minutes

Miro 3.0.1 status (roadmap)

  • released! yay!

Miro 3.1 status (roadmap)

  • coming along nicely

Miro Community 1.0 status (roadmap)

  • coming along nicely

Janet:

  • looking forward to updating everyone to 3.0.1.
  • working on testing of cobranded players.

Will:

  • finished up work to switch us over to use Launchpad PPA for releases.
  • pushed out 3.0.1.
  • fixed some 3.0.1 and 3.1 bugs.

Ben:

  • fixated on reworking httpclient using libcurl. is almost done the work required.

Luc:

  • happy to get positive feedback on bug #13120--that issue sucked.
  • worked on video conversion stuff.
  • planning to push a bunch of stuff into master tomorrow.

Paul:

  • Miro Community development continues.
  • hoping to do a point release in the next couple of weeks to fix problems with Internet Explorer and the admin pages.
  • working on the submit a video pages.

bugzilla

(Not sure how I missed this section last week...)

  • 13 bugs/feature-requests created
  • 1 bugs marked DUPLICATE
  • 8 bugs marked FIXED
  • 1 bugs marked WONTFIX

Wed, 07 Apr 2010

Dev call 4/7/2010 minutes

minutes

Miro 3.0.1 status (roadmap)

  • need confirmations on 13120 fix: Luc and Will will follow up on this
  • need a better ui for when the zugo installer fails to download the miro installer; bug 13121; Janet's following up on this
  • need to update translations; Will will do this

Miro 3.1 status (roadmap)

  • coming along nicely
  • seriously considering dropping support for OSX 10.4

Miro Community 1.0 status (roadmap)

  • coming along nicely

Luc:

  • Bug 13120 - Worked with Anne to find the possible cause of the problem, but it's still completely mysterious. Implemented a workaround that works on Anne's machine, but waiting for additional confirmation for other machines (David and additional GS person). Seems like the workaround should fix it for everyone, but it'd be good to have additional confirmation.
  • Worked on some other less important things.

Janet:

  • It was a forgettable week.
  • Did some testing on the search bug, Miro Video Converter, continued refining regression tests and made some new ones.
  • Will follow up with Zugo and Nick about bug 13121 and required interface changes.

Ben:

  • Worked on bugs from 3.0.
  • Working on replacing httpclient with libcurl (_so_ much better so far).

Paul:

  • Pushed out Miro Community v0.9.5 with a bunch of fixes.
  • Working design-side of new features for 1.0.
  • In good shape for Miro 1.0--probably 6 weeks of work.

Will:

  • Did some follow-up work on some bugs, but mostly spent the week playing catch-up with real life stuff.

OSX information

There were around 470,000 visitors to the Miro Guide site who were using OSX. Breakdown:

   OSX 10.6 - 50%
   OSX 10.5 - 35%
   OSX 10.4 - 12%

Thu, 01 Apr 2010

Servers going crazy!

We're having some problems with our servers. This is affecting our bugzilla instance, some of our web-sites, and some of the development infrastructure.

I'm not really sure what the specifics are, but I do know we've got top people working on it. Top people!

Hopefully it'll get resolved soon.

Wed, 31 Mar 2010

GNOME Miro Community status - 3/31/2010

The article I wrote for GNOME Journal about GNOME Miro Community went live yesterday. You can read it here. It's a great introduction to why I created GNOME Miro Community, what can be done with it, and how you can help. Many thanks to Sumana and Paul for their help with getting it published!

While working on that article and the screenshot, I fixed a few templates and some of the CSS (with the help of Parker from OpenHatch). There should be RSS feed links on all of the listing pages now. Additionally, I did a pass through all the videos and removed ones that have disappeared.

Sumana pointed out that in order to submit a video to the site, you had to be logged in. That was a mistake--I really apologize. In order for this site to be useful to as many people as possible, it's important not to have barriers to video submission like that. If you balked at having to sign in while submitting a video, please try again.

There are two kinds of videos I'm really interested in adding to the site:

  1. up-to-date videos showing GNOME Shell, GNOME Activity Journal, and Zeitgeist that show new functionality added recently and specify which version is being demonstrated,
  2. howto, tutorial and screencast videos for important things that need more of a spotlight; for example, accessibility

If you have anything that fills these needs, submit a video or send me an email!

Dev call 3/31/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • released!

Miro 3.0.1 status (roadmap)

  • Luc is working on bug 13120

Miro 3.1 status (roadmap)

  • planned feature freeze for April 30th
  • work is progressing

Miro Community 1.0 status (roadmap)

  • work is progressing

Janet:

  • biggest feedback for MVC release is that there isn't a Linux version
  • only one minor issue and one bizarre issue for Miro 3.0 release so far--we're doing really well
  • worked on testing for Miro regressions
  • working with interns on testing and testing test tools
  • continuing to implement eggplant tests and also move to selenium-rc and looking into sikuli

Luc:

  • working on bug 13120--it's totally bizarre
  • worked on Miro Video Converter, too

Paul:

  • working on Miro Community
  • working on finishing up the admin changes
  • planning to do a feature freeze for 1.0 soon

Will:

  • GNOME Miro Community article for GNOME Journal was released yesterday
  • worked on switching us over to Launchpad PPA for Miro releases for Ubuntu

bugzilla

  • 20 bugs/feature-requests created
  • 1 bugs marked WONTFIX
  • 4 bugs marked FIXED
  • 1 bugs marked WORKSFORME
  • 2 bugs marked INVALID

Fri, 26 Mar 2010

Miro 3.0 released!

We pushed out Miro 3.0 today. There are still some minor things to do like Ubuntu packages (I'll work on that Friday), version updates on the web-site, .... Still, it's really great to finally get the release out the door.

This release has some great features in it:

  • subtitle support
  • lots of performance fixes
  • fixes to the database layer reducing disk i/o
  • context menu item and system preference for playing videos externally (thank you Jason Woofenden!)
  • support for media keys on Ubuntu/Linux
  • a ton of bug fixes
  • and we wrote a Miro User Manual

Also important, but not something you would see direct evidence of, we did a lot of work on infrastructure and process for developing Miro:

  • Janet set up an automated ui test system
  • we fixed our unit test framework to work on Windows
  • we added 40 unit tests and updated/fixed a lot more
  • we tweaked our testing and release processes to increase quality
  • we switched from svn to git
  • we re-wrote our nightly build scripts
  • we reworked binary kits so they're versioned and in separate repositories
  • we continued cleaning up and working on documentation
  • we continued cleaning up our codebase using pylint to identify issues
  • we worked on removing code complexity and dead code; ditched some pyrex code; ditched support for xine

We're working hard to make sure that this and future releases are good quality releases. We're working hard to make sure that the four of us can keep pushing Miro in new directions and provide better support for Miro users. We're working hard to do more with less.

We're very excited about this release--it feels really good.

We've also already started on Miro 3.1 development. You can follow the roadmap here.

Wed, 24 Mar 2010

Dev call 3/24/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • release today or tomorrow

Miro 3.1 status (roadmap)

  • coming along--changed dev schedule to end of april

Miro Community 1.0 status (roadmap)

  • coming along

Luc:

Paul:

  • continued working on Miro Community 1.0 bugs
  • working on Twitter and Facebook support

Ben:

  • worked through Miro 3.1 bugs
  • did some work on VLC problems, but is of the opinion we should switch to gstreamer

Will:

  • did the last set of Miro 3.0 release builds
  • went to LibrePlanet; talked to a lot of people about stuff
  • implemented Language preference in master branch

Janet:

  • tested Miro 3.0 builds, Miro Video Converter, and Miro Community

bugzilla

  • 9 bugs/feature-requests created
  • 1 bugs marked WORKSFORME
  • 2 bugs marked INVALID
  • 2 bugs marked DUPLICATE
  • 2 bugs marked WONTFIX
  • 3 bugs marked FIXED

Wed, 17 Mar 2010

Dev call 3/17/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • soon
  • going to cherry-pick a bunch of fixes in master back to the 3.0 branch
  • Perian is very close to a 1.2.1 release--this fixes some issues on OSX

Miro 3.1 status (roadmap)

  • work is coming along nicely

Miro Community 1.0 status (roadmap)

  • coming along

Luc:

  • worked on 3.1 issues
  • worked on transcoding issues for MiroVideoConverter project

Paul:

  • reworked Miro Community infrastructure to make it easier to build new Miro Communities and have them up and running immediately
  • worked on the new admin interface
  • started working on video series feature

Janet:

  • worked on some stuff, but I couldn't hear her

Ben:

  • worked on reworking urls for search feeds issue

Will:

  • spent a lot of time researching
  • did some 3.1 work

bugzilla

  • 8 bugs/feature-requests created
  • 1 bugs marked DUPLICATE
  • 3 bugs marked FIXED
  • 1 bugs marked WORKSFORME

Thu, 11 Mar 2010

Dev call 3/10/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • should be pushed out soon

Miro 3.1 status (roadmap)

  • work is coming along nicely--probably done with development by the end of March.

Miro Community 1.0 status (roadmap)

  • coming along

Luc:

  • added support for running unit tests on osx
  • made some other clean-ups in the mac build

Will:

  • worked on Miro 3.1
  • wrote an article for Gnome Journal
  • continued research

Paul:

  • spent some time on Miro Guide fixing bugs from django-refactor going live
  • Miro Guide should be fine now for the Miro 3.0 launch
  • continued working on Miro Community 1.0 stuff

Janet:

  • continued working on eggplant tests for Miro
  • tested other things

bugzilla

  • 9 bugs/feature-requests created
  • 9 bugs marked FIXED
  • 1 bugs marked WORKSFORME

Fri, 05 Mar 2010

About me (updated)

I'm a Miro developer employed by Participatory Culture Foundation. I wrote a post about me back in September of 2007 which covered a bit of what I do. A lot has changed since then as my role on the project has increased in scope and I've moved and various other things like that. This is an update.

What I do:

I'm involved in project management, release planning, release engineering, maintaining development infrastructure (bugzilla, git, wiki pages, documentation, build scripts, nightly builds, bogon deflector, syncing translations with Launchpad, ...), Ubuntu packaging, some testing, bug triage, user support, and I'm a liason between the Miro project and packagers and related projects.

I also do a lot of Miro development primarily on the Windows and Linux platforms. I keep track of bugs in Debian and Fedora and fix them upstream. I handle most of the incoming patches from contributors and try to help contributors where I can to make their lives easier.

I spend a ton of time on Miro work--probably between 60 and 80 hours a week.

How does telecommuting work:

I telecommute which makes it easier to work on Miro whenever I have a free moment (blessing and a curse). I work with the other Miro people through email, IRC, Bugzilla comments and weekly conference calls. We're all pretty autonomous and it works pretty well. I imagine this is in large part because we're such a small team. If the team grew, we'd have to adjust the way we do things accordingly.

Development setup:

I bought a Del 1420N with Ubuntu on it a couple of years ago and do all my development on that. I'm running a pretty stock Ubuntu Karmic with a bunch of virtual machines in Virtual Box to cover different versions of Ubuntu and Windows and also other Linux distributions. This is my primary development machine. It's yellow.

I also have:

  • a Macbook running OSX 10.4 for nightly and release builds (work machine)
  • an old Dell something running Windows XP for nightly and release builds (work machine)
  • a Mac Mini running OSX 10.5 for OSX development (work machine)
  • a Dell XPS M1210 laptop (terrible machine) for Windows testing (work machine)
  • an AMD64 box I built for AMD64 builds and testing
  • an ASUS EeePC 701 running Ubuntu Karmic UNR for testing on a netbook
  • a circa 2002 Gateway laptop running Debian Testing for testing
  • a Neuros Link (graciously donated by Neuros Technology) for testing

I'd really like to get a bigger monitor. The 1440x900 display I have now is small and cramped most of the time. I also need to build a better desk.

Ways you can get a hold of me:

irc: willkg on #miro-hackers on irc.freenode.net
email: will dot guaraldi at pculture dot org

Meet me for coffee:

I live in North Chelmsford, MA, USA. It's about 30-45 minutes from Boston. If you're in the area, I'd love to hang out for coffee. I head into Boston periodically for conferences and hanging out with family and friends. I'm definitely interested in hackfests or talking shop.

The rest of my world:

My web-site is at http://bluesock.org/~willg/. I curate Python Miro Community and Gnome Miro Community. I maintain PyBlosxom. I'm a member of the Free Software Foundation. I'm a lover, not a hater.

Wed, 03 Mar 2010

Dev call 3/3/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • should be pushed out soon

Miro 3.1 status (roadmap)

  • work is coming along nicely--probably 3 to 4 weeks of development

Miro Community 1.0 status (roadmap)

  • coming along

Janet:

  • working on creating eggplant test cases from litmus test cases
  • 25% of them are created now

Will:

  • worked on Python Miro Community and Gnome Miro Community
  • made source tree layout changes to master branch for Miro 3.1
  • finished up User Manual for Miro 3.0

Paul:

  • moved Miro Guide to a new server--faster, fewer errors, better performance
  • worked on performance fixes and bug fixes for Miro Community

Ben:

  • working on Miro 3.1 stuff

bugzilla

  • 14 bugs/feature-requests created
  • 1 bugs marked DUPLICATE
  • 3 bugs marked FIXED
  • 1 bugs marked WORKSFORME
  • 3 bugs marked INVALID

Wed, 24 Feb 2010

Dev call 2/24/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • we're ready for a release. srsly.
  • making builds today and pushing it out over the next few days.

Miro Community 1.0 status (roadmap)

  • coming along

Will:

  • finishing up the user manual
  • will talk to Nick about putting manual on getmiro.com

Luc:

  • worked on 10.4 super weird issues
  • blind fixes seem to be working--so that's good
  • talked to perian folks--they're close to a release

Paul:

  • mostly worked on sysadmin things
  • changed the workflow for bug handling for Miro Community which should make it easier to get fixes in faster
  • working with sys admins to move Miro Guide to a new server

Ben:

  • really sick last week
  • triaged crash reports from 3.0 rc3
  • started organizing for 3.1 stuff

Janet:

  • fell off the call
  • continued regression testing testing Miro 3.0
  • worked on User Manual for Miro 3.0

bugzilla

  • 18 bugs/feature-requests created
  • 3 bugs marked DUPLICATE
  • 2 bugs marked WORKSFORME
  • 1 bugs marked INVALID
  • 4 bugs marked FIXED

Tue, 23 Feb 2010

Python Miro Community status: 02-23-2010

PyCon 2010 is over and the PyCon AV crew is working on taking the video they've recorded, editing it, and posting it. As they post it to the Pycon blip.tv feed, I'm pulling it into Python Miro Community. You can keep track of my status here (RSS).

I sent an email to the Cambridge Python Meetup (Cambridge, MA, USA) asking if they still record video and if so, where it gets posted.

Nate Aune sent me a link to the PloneTV feed. I'm in the process of pulling those videos in.

One thing I've noticed while curating Python Miro Community is that the quality of the image and audio make a huge difference in the usefulness of the video after the event. It's a huge project with a lot of finicky bits to reliably create great video.

Many many props to Carl Karsten, the PyCon-AV team, and all the other people out there doing this work. It allows these presentations to live beyond a moment in time and reach a much larger audience.

Mon, 22 Feb 2010

Last call for translations for Miro 3.0!

This is the last call for translations for Miro 3.0.

Translations are done with the Launchpad translation interface.

If you do translation work or know someone else who does, take some time today (Monday, February 22nd, 2010) to help improve the translations for Miro 3.0.

Wed, 17 Feb 2010

Dev call 2/17/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • rc2 is going well: 150 Windows downloads, 60 OSX downloads, 30 source downloads
  • there are a few bugs we're still working on, then another release candidate

Miro Community 1.0 status (roadmap)

  • coming along

Janet:

  • continued testing Miro 3.0

Ben:

  • worked on subtitle support issues on Windows
  • looking into weird crashes that Nick saw
  • looking into crashes on upgrade

Will:

  • worked on some bugs
  • worked on the miro user manual
  • worked on python and gnome miro community

Luc:

  • fixed some bugs that Janet found on Monday

Paul:

  • worked on Miro Community stuff over the last week
  • we have two designers working on the style sheets and html
  • working with Morgan on an admin system refresh
  • working on moving feed updates to a separate server with a queue

bugzilla

  • 24 bugs/feature-requests created
  • 1 bugs marked
  • 1 bugs marked DUPLICATE
  • 13 bugs marked FIXED
  • 1 bugs marked WONTFIX

Going to PyCon 2010?

If you're one of the lucky people going to PyCon 2010, you might want to spend some time coming up to speed on some of the talks being given.

Interested in the GIL? David Beazley is giving a talk on the inner workings of the Python GIL. He's given several GIL-related presentations before: Asynchronous vs. Threaded Python, Mindblowing Python GIL, and Changes to the GIL in Python 3.

Interested in documentation? Wesleay J. Chun is giving a talk on writing books using Python and Open Source Software. This will likely talk about Sphinx. Take some time to watch Brandon Rhodes talk about Sphinx at PyAtl.

Interested in PyPy? Maciej Fijalkowski is giving a talk on the speed of PyPy. Take some time to watch the PyPy status talk from PyCon 2009.

Don't go to PyCon unprepared!

Fri, 12 Feb 2010

Python Miro Community

Today I'm releasing Python Miro Community. This site is a Miro Community focused on Python. It brings together videos from Python conferences, local user groups, screencasts, and tutorials.

I'm working on it in my spare time because:

  1. I think it's really important to get this video out to a larger audience, and
  2. it's really important to make it easier for users and developers to find video they're looking for.

This site helps on both fronts. The first in that it collects video into one place without re-hosting it. The second in that I'm curating the site and through better descriptions and tags, the video becomes more findable.

It's not finished--it's an ongoing project that I'll continue to work on. My ultimate goal is to connect with Python video producers like Carl Karsten (whose work is phenomenal), conference A/V people, local user group A/V people, and all those people out there making screencasts, tutorials and project status videos to make sure Python Miro Community stays relevant and continues to helps creators and consumers.

It's free. I'm doing this in my spare time, Participatory Culture Foundation (the non-profit behind Miro) is providing the server and resources to host the site, and the video on the site is available for free on the Internet.

Spend some time today to take a look at the site, browse the PyCon 2009 and DjangoCon 2009 videos, spend some time honing your Python skills with either the Python basics or Python advanced tracks, follow along with the ChiPy or PyAtl local user groups, and see what's out there.

Love it? Hate it? Let me know in the comments.

Thank you to Carl Karsten and Steve Holden for their help pulling this site together!

Wed, 10 Feb 2010

Dev call 2/10/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • we released a 3.0 rc1 and it's looking really good
  • we're planning to do an rc2, get wider testing, and possibly do a release next week

Miro Community 1.0 status (roadmap)

  • we're working on 1.0 now--probably a 4-6 week dev cycle

Paul:

  • fixed a couple of bugs with comments
  • fixed some other bugs with RSS feeds
  • fixed the disk space problem on Monday
  • working on moving thumbnails to S3

Janet:

  • we did the Miro 3.0 rc1 release on thursday
  • did regression testing on Windows
  • blogged release on Miro Testing site and sent an email to the mailing list
  • we've had around 100 downloads of rc1
  • we're ready for blogging it on the main blog
  • excited about 3.0--things are really coming together

Will:

  • busy week
  • did bugzilla housekeeping
  • wants to upgrade bugzilla to the latest version
  • did some basic Miro extensions work

Old wiki page about extensions: https://develop.participatoryculture.org/trac/democracy/wiki/extensionsystem. There is also an old (obsolete) section in the journey about extensions: https://develop.participatoryculture.org/trac/democracy/wiki/thejourney.

Luc:

  • fixed some minor issues in master
  • working on fixing the downloader daemon shutdown slowness
  • +1 on doing an rc2
  • thinking about playback-during-download for a future release
  • wants to get unit tests working on OSX

Ben:

  • checked in some more changes into master that should go out with 3.0 and suggests we do another RC.
  • still working on vlc-related fixes

bugzilla

  • 17 bugs/feature-requests created
  • 2 bugs marked DUPLICATE
  • 10 bugs marked FIXED
  • 1 bugs marked INVALID
  • 1 bugs marked INCOMPLETE

Fri, 05 Feb 2010

Thoughts on crowdsourcing development

Today I read You can't crowdsource software. The title sums up what it's about.

I've had this experience with Miro. We occassionally get patches from non-PCF people but most of the work is done by PCF developers. We've spent a lot of time and effort over the last few years on getting more code contributors and reducing the barriers to entry. We haven't had much success.

However, there's a lot of other "stuff" that goes into developing an application and the article only focuses on code. Some of this "stuff" can be successfully crowdsourced without a lot of effort. For example, Miro crowdsources all of our strings translation work through Launchpad.

I work on another project called PyBlosxom. We have a core group of developers (right now this is me) who do the bulk of the core code work. I do some plugin work, but the bulk of the plugin work is done by users of PyBlosxom many of whom have never touched the core code. For PyBlosxom, plugin development is crowdsourced.

The article suggests that it's a waste of time to help bring new contributors come up to speed and contribute because they often don't contribute much. That conclusion really concerns me. How can we get more people helping out if we're not working on getting people to help out?

Jono Bacon wrote an article titled Project Awesome Opportunity which talks about a few projects that are reducing the barriers to contributing and making it a lot easier. It's very Launchpad-centric, though.

OpenHatch is a startup working on building the next generation of contributors and connecting contributors to projects that need help. They're wrestling with how to effectively fix these problems, but without tying the fix to a project development silo (e.g. Launchpad, GitHub, ...). I think that's really important.

I think systems like these will reduce the effort in getting contributors and make it easier to crowdsource code contribution.

And if you, dear reader, are looking for a project to help out on that's written in Python and need someone to mentor you, let me know.

February 5th, 2010: I should clarify I think the article is fine. I don't think the conclusion that code contribution doesn't crowdsource well is poorly formed or anything like that. Just that the implications suck.

Wed, 03 Feb 2010

Dev call 1/27/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • we're really close to a release candidate now--just squaring away some issues that have popped up and letting the code bake

Miro Community 1.0 status (roadmap)

  • we're working on 1.0 now--probably a 4-6 week dev cycle

Ben

  • Fixed bugs.
  • Feeling great about 3.0.
  • Has a few more things to do, but is pretty much set for 3.0 things.

Luc

  • Fixed bugs for 3.0.
  • Worked on testing. Started seeing memory leak issues.
  • We can release even with the Perian issue as long as we mention the issue in the release notes.

Janet

  • Going through testing and bugs and keeping up with changes.
  • We're really close to release-candidate worthy.
  • Worked on performance testing and testing on OSX--lots of performance fixes in 3.0.

Will

  • Fixed bugs.

Paul

  • Worked on Miro Community post 0.9 issues.
  • Now working on 1.0. Looking at a 4-6 week time frame.

bugzilla

  • 33 bugs/feature-requests created
  • 3 bugs marked DUPLICATE
  • 23 bugs marked FIXED

Wed, 27 Jan 2010

Dev call 1/27/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • went through P1s one by one to figure out where we were with them all
  • need help testing
  • shooting for a release candidate as soon as we can

Miro Community 1.0 status (roadmap)

  • Miro Community 0.9 was released!
  • working on 1.0 now

Paul

  • rolled out Miro Community 0.9 (w00t!)
  • 308 Miro Communities out there
  • working on 1.0 now

Janet

  • split time between testing Miro Community and Miro
  • working on Miro regression testing
  • continued building regression tests in Eggplant

Luc

  • got his Internet connection back (w00t!)
  • updated overlay pallette in OSX code to display subtitle items all the time
  • worked on slow first-playback issue on OSX
  • reimplemented MultilineTextEntry for OSX widgets
  • worked on fixing up Edit Item dialog
  • tracked down Perian developers and asked about their release timeframe for 1.2.1

Ben

  • worked on a ton of Miro 3.0 bugs
  • working on VLC playback issues; testing out vlc bindings

Will

  • reworked GStreamer playback video renderer
  • did a huge pylint pass

bugzilla

  • 24 bugs/feature-requests created
  • 5 bugs marked WORKSFORME
  • 1 bugs marked INVALID
  • 2 bugs marked DUPLICATE
  • 3 bugs marked WONTFIX
  • 19 bugs marked FIXED
  • 3 bugs marked INCOMPLETE

Mon, 25 Jan 2010

Handling media keys in GNOME with Python

Spent a while figuring out how to get Miro to handle media keys in Gnome. My current understanding (and this could be entirely wrong) is that as of 2.18, Gnome handles the multimedia keys. In order for your application to respond to multimedia keys, you have to connect to the signal through dbus.

My biggest problem is that my web searching revealed a lot of bugs, but no documentation. I did finally find Handling multimedia keys in GNOME 2.18 and then worked out the rest. I still have no clue where to find the documentation for it.

Here's what I got working:

import logging
import dbus

from miro import app

class MediaKeyHandler(object):
    def __init__(self):
        self.bus = dbus.Bus(dbus.Bus.TYPE_SESSION)
        self.bus_object = self.bus.get_object(
            'org.gnome.SettingsDaemon', '/org/gnome/SettingsDaemon/MediaKeys')

        self.bus_object.GrabMediaPlayerKeys(
            "Miro", 0, dbus_interface='org.gnome.SettingsDaemon.MediaKeys')

        self.bus_object.connect_to_signal(
            'MediaPlayerKeyPressed', self.handle_mediakey)

    def handle_mediakey(self, *mmkeys):
        for key in mmkeys:
            if key == "Play":
                app.widgetapp.on_play_clicked()
            elif key == "Stop":
                app.widgetapp.on_stop_clicked()
            elif key == "Next":
                app.widgetapp.on_forward_clicked()
            elif key == "Previous":
                app.widgetapp.on_previous_clicked()

def get_media_key_handler():
    try:
        return MediaKeyHandler()
    except dbus.DBusException:
        logging.exception("cannot load MediaKeyHandler")

If you see problems with this, let me know so I can ammend the code.

Thu, 21 Jan 2010

How can I help?

I keep seeing people say things like, "I'm not a programmer, so I can't help."

I think this is a common misconception about Free Software. Free Software empowers you. Let me say that again...

Free Software EMPOWERS You.

Miro is a Free Software project and like all Free Software projects, there are a variety of ways that you can be involved. By being involved you are taking the responsibility to help solve your own problems.

You can test nightly builds and release candidates.

You can submit bugs and help us triage and fix them.

You can send in patches. Patches can be for code, documentation, packaging, ...

You can package Miro for other distributions.

You can translate strings.

You can tell your friends and family about Miro and help them get setup. You can blog about Miro. You can dent about Miro.

You can adopt a line of code. This helps fund ongoing development. If we had more funds, we could have more paid developers.

Miro is built and maintained by all of us working together contributing our time and resources. There are features to be implemented, bugs to be squashed, systems and software to integrate with, standards to develop--the future is great with possibilities. There's a lot of stuff that can be done and you can help the Miro community do it.

Wed, 20 Jan 2010

2.6 is now 3.0

On the dev conference call today we talked about how many things have been fixed, changed, implemented, et al in the Miro 2.6 development cycle. We decided this isn't a .1 improvement--it should get it's own major version number.

As such, we're changing the version number for the next version of Miro from 2.6 to 3.0.

The effects of this are pretty small--it's just a name change. However, our Bugzilla Roadmap urls are specific to a version.

Instead of using:

http://bugzilla.pculture.org/roadmap.cgi?product=Miro&target=2.6

Use this:

http://bugzilla.pculture.org/roadmap.cgi?product=Miro&target=3.0

Dev call 1/20/2010 minutes

minutes

Miro 3.0 status (roadmap) (was Miro 2.6)

  • went through the last P1 bugs one by one
  • need more outside testing
  • shooting for a release candidate next week
  • renaming to Miro 3.0

Miro Community 0.9 status (roadmap)

  • 0.9 will get released monday (new themes, new awesome, ...)
  • almost there.... doing bug fixes now

Janet

  • spent time regression testing on Windows and OSX
  • worked on subtitle support tests
  • worked on eggplant tests
  • planning to work on Miro Community 0.9 testing for the rest of the week

Ben

  • worked on getting external subtitle files working with vlc
  • working on other vlc quirkiness
  • worked on some other stuff

Will

  • synced translations, finished up dependency upgrades on Windows, fixed gst_extractor, fixed moviedata_util, fixed a bunch of little bugs, added tests, peer reviewed code, updated copyright dates, upgraded to libtorrent 0.14.8, did some bug triage, and implemented most of the item edit dialog.
  • has a week or two of work left on Miro 3.0

Paul

  • worked on the last feature bits for 0.9
  • working on bug fixes now--almost done

bugzilla

  • 26 bugs/feature-requests created
  • 21 bugs marked FIXED
  • 5 bugs marked WORKSFORME
  • 3 bugs marked INVALID

Wed, 13 Jan 2010

Dev call 1/13/2010 minutes

minutes

Miro 2.6 status (roadmap)

  • Waiting on Perian fix.
  • Getting close to feature freeze.

Miro Community 0.9 status (roadmap)

  • Developing is coming along very nicely.

Janet

  • Worked on regression testing, found some issues which were fixed.
  • Working on building automated tests with Eggplant.

Luc

  • Worked on issues for 2.6.
  • Followed Ben's footsteps. Fixed mediatype checking working, sidebar update indicators, and some other things.
  • Worked on sidebar scrollbar issues.
  • Working on connecting subtitle files with items.
  • Most recent bugs are taking a lot longer.

Will

  • Had a crummy week.
  • Fixed some issues, but didn't get much of what he wanted done.

Ben

  • Implemented media type checking.
  • Animated the update indicator in the sidebar.
  • Fixed the Windows shutdown crash bug.
  • Totally awesome performance fixes.
  • Fixed a bunch of other issues.

Paul

  • Implemented editor comments.
  • Worked on flat pages.
  • Worked on Miro Community 0.9 stuff--it's coming along nicely.

bugzilla

  • 26 bugs/feature-requests created
  • 11 bugs marked FIXED
  • 1 bugs marked WORKSFORME
  • 1 bugs marked INVALID

Thu, 07 Jan 2010

Dev call 1/6/2010 minutes

minutes

Miro 2.6 status (roadmap)

  • Ben landed a ton of awesome performance fixes.
  • Will worked on fixing unit tests and getting unit tests to pass on Windows.
  • Development is progressing nicely.

Miro Community 0.9 status (roadmap)

  • Paul is working diligently on it.

Janet

  • worked on tests Miro Community
  • worked on tests for getmiro.com
  • started working with Eggplant to writing automation tests for Miro but ran into a problem with text recognition
  • went through the regression tests with Miro and only found a few issues

Will

  • working on the Windows build box and trying to figure out why it hangs at night like a naughty naughty machine
  • spent serious quality time with unit tests; more to do, though

Luc

  • working on small irritating bugs that are hard to reproduce and some of them seem to work fine (i.e. no bug)
  • working on support for connecting subtitle files to videos
  • talked with Perian folks and they fixed the bug Luc submitted; we're waiting on the next version of Perian

Paul

  • was on vacation most of last week
  • working on Miro Community 0.9 things

bugzilla

  • 11 bugs/feature-requests created
  • 2 bugs marked WORKSFORME
  • 2 bugs marked INVALID
  • 2 bugs marked DUPLICATE
  • 4 bugs marked FIXED
  • 2 bugs marked INCOMPLETE

Sat, 02 Jan 2010

Year end: 2009

This was a pretty big year for the Miro project and the first year for the Miro Community project. In Miro-land, we pushed out Miro 2.0 which was a complete re-write of the user interface. Then we pushed out Miro 2.5 which was a rewrite of the storage/database layer. We also switched from svn to git. That's three really big changes for a single project in one year.

Miro 2.5 was a messy release and we've made a bunch of changes so we don't have to go through that again. We've been spending time on the unit test, QA automation, and code quality for Miro 2.6. We've changed the release process so that it buffers more time to catch issues. We're doing more peer review of complex code changes. The switch to git will help since branching and merging are much easier and less error-prone.

Bugzilla stats:

Overall statistics
------------------
                                  2007  2008  2009
Opened reports at end of year:     453   705  1102
Opened:                           4052  1625  1593
Closed:                           4368  2032  1654
Users created:                     644  1083   771
Comments created:                13564  7529  8329

"Opened reports at end of year" is the total number of opened bugs at the end of that year. So at the end of 2007, we had 453 open bugs. At the end of 2008, we had 705 open bugs, ...

I wasn't sure whether to include 2007 or not since half way through that year we switched from Trac to Bugzilla. No one needed to create an account in Trac, so user numbers should be lower. Also, we were getting a lot of Trac spam, so comment, opened and closed numbers were much higher.

Bugs closed by activity:
------------------------
             2007  2008  2009
fixed         736   932   969
invalid       170   133    85
wontfix        35   142    71
duplicate     139   313   190
worksforme    169   344   151
incomplete      0    57    84

I thought this was an interesting data set.

The INCOMPLETE status was added mid-2008. We use this for whenever we ask a user for some information that we need to work on a bug and the user never gets back to us. It's better than marking it as INVALID or WORKSFORME since it's easier to find this set of bugs that were pushed to the side because need more information.

We're fixing on average 3 bugs a day--that's pretty impressive.

Top 10 bug reporters:
--------------------
   444 - Janet (PCF)
   183 - Anne Jonas (PCF)
    71 - Will Kahn-Greene (PCF)
    71 - Dean Jansen (PCF)
    42 - Nicholas Reville (PCF)
    39 - sg
    37 - Keith Lard
    28 - Uwe Hermann
    28 - Ben Dean-Kawamura (PCF)
    22 - Pan  ~ dietmar

Out of 1593 bugs, PCF employees reported 839--that's just over half. Of the non-PCF people in this list, Uwe is the Debian packager for Miro and Pan is an OpenSUSE packager for Miro. sg and Keith Lard both run OSX.

Top 10 bug closers:
------------------
   421 - Janet (PCF)
   369 - Paul Swartz (PCF)
   353 - Will Kahn-Greene (PCF)
   195 - Ben Dean-Kawamura (PCF)
   114 - Luc Heinrich (PCF)
    26 - Christopher Webber (PCF)
    21 - Dean Jansen (PCF)
    20 - sg
    19 - Anne Jonas (PCF)
    14 - Nicholas Reville (PCF)
Top 10 bug commenters:
---------------------
  2050 - Janet (PCF)
  1757 - Will Kahn-Greene (PCF)
   823 - Paul Swartz (PCF)
   533 - Ben Dean-Kawamura (PCF)
   354 - Anne Jonas (PCF)
   254 - Nicholas Reville (PCF)
   234 - Dean Jansen (PCF)
   187 - Luc Heinrich (PCF)
    98 - sg
    88 - Uwe Hermann 

Git stats

Moving along, I can now get stats out of our git repository. git ftw!

In 2009, we did 11 releases (22 releases if you include release candidates) of which 2 were MASSIVE code overhaul releases. Miro 2.0 involved a re-write of the user interface using native widgets which resulted us in dropping 4,000 files from the codebase (a large portion of that was probably locale-related). Miro 2.5 involved a re-write of the database layer. We had a lot of bug fix releases to stabilize things after these two big releases.

Between Miro 1.0 and 1.1: 1606 files changed, 127775 insertions(+), 14605 deletions(-)

Between Miro 1.1 and 1.2: 2318 files changed, 233370 insertions(+), 185511 deletions(-)

Between Miro v1.2 and v2.0: 4715 files changed, 271506 insertions(+), 560366 deletions(-)

Between Miro v2.0 and v2.5: 662 files changed, 169258 insertions(+), 175292 deletions(-)

Half of the 2.0 work and all of the 2.5 work was done in 2009. 2.0 was clearly a monumental release like no other release we've ever done.

In 2009, we did 1,382 commits. For comparison, we did 2,049 commits in 2008. The bulk of the work for Miro 2.0 was done at the end of 2008--I think that accounts for the large discrepancy here.

Contributor stats

I don't have stats for testing contributions or translation contributions so I can't speak to those. I can only speak to patches and bug triage contributions.

In 2009, we had 19 contributed fixes/features. PCF employees are doing the bulk of the work. This is still an area we could use help with.

In 2009, we've done a lot to lower the barriers to entry and make this easier: improved code quality, wrote documentation, improved build documentation, improved build scripts, added unit tests, ... In 2010, we're continuing this work.

Summary

Despite the Miro 2.5 release which was pretty rocky, I think we had a really good year and got a lot accomplished. I'm looking forward to Miro 2.6 (or whatever the next release gets called).

I'd love to see more contributions from other people. If you have some free time or some passion and want to help out, let me know. If you don't have free time, but have some spare change floating around, please donate--this helps PCF pay for employees to work on Miro.

Wed, 23 Dec 2009

Dev call 12/23/2009 minutes

minutes

Miro 2.6 status (roadmap)

  • it's coming along

Miro Community 0.9 status (roadmap)

  • it's coming along

Paul

  • working towards the 0.9 Miro Community release
  • tweaking the Windows installer and trying out another installer partner

Luc

  • fixing browser-related issues
  • working on more Miro 2.6 bugs

Will

  • updated the binary kits to libtorrent 0.14.7
  • spent time looking at sphinx-gsoc2009 to see if it was usable for a Miro User Manual--it's not

Janet

  • working on Miro Community testing
  • started to do performance comparisons between Miro 2.5.4 and what's in master after Ben's and Will's performace fixes
  • got a license for Eggplant for Miro interface testing

Ben

  • worked on performance work that makes things a lot faster for certain operations
  • has one additional thing to check in performance wise

bugzilla

  • 4 bugs/feature-requests created
  • 3 bugs marked DUPLICATE
  • 7 bugs marked FIXED

notes

We're working on Miro 2.6 targeted bugs. If there are issues that should be targeted for 2.6, let us know. If there's anything you can help with either by adding information or contributing patches to any of the bugs targeted for Miro 2.6, please do!

Wed, 16 Dec 2009

Dev call 12/16/2009 minutes

minutes

2.6 status (roadmap)

  • talked about release planning
  • subtitle support almost done
  • we want to continue working on performance issues

Janet

  • acquiring eggplant for testing
  • regression testing on miro master
  • tested miro community 0.8.5

Luc

  • working on 2.6 bugs

Will

  • worked on and submitted the PSF grant
  • worked on 2.6 bugs
  • doing a pylint pass on the codebase and working on code quality issues
  • almost done the subtitle menu changes for linux and windows

Ben

  • working on performance issues that happen when doing things with multiple items
  • other 2.6 work

Paul

bugzilla

  • 9 bugs/feature-requests created
  • 3 bugs marked DUPLICATE
  • 12 bugs marked FIXED
  • 1 bugs marked WORKSFORME
  • 1 bugs marked INVALID
  • 2 bugs marked INCOMPLETE

notes

We're working on Miro 2.6 targeted bugs. If there are issues that should be targeted for 2.6, let us know. If there's anything you can help with either by adding information or contributing patches to any of the bugs targeted for Miro 2.6, please do!

Thu, 10 Dec 2009

Subtitle support status

We've been working on subtitle support for Miro in the subtitle branch. Yesterday, Ben merged the changes into the master branch. As of this morning, nightly builds have subtitle support. Yay!

There are still a few things to implement and the code hasn't had much of a chance to settle. Also, there are still some things I think should get refactored and it's likely we'll be tweaking the interface going forward as we use it more.

Still, it's good to have landed the bulk of this feature. It's probably not wildly useful yet, but it gives us some ground work towards building better subtitle distribution/creation infrastructure going forward.

Wed, 09 Dec 2009

Dev call 12/09/2009 minutes

minutes

2.6 status (roadmap)

  • subtitle work is almost done
  • lots of bugs to work on, but some might have been fixed in 2.5.4--Janet is going to retest
  • lots of little bugs to work on left--we could use the help if anyone is interested in contributing!

Paul

  • Worked on Miro Community 0.8.5. It's pretty close to done--there are two outstanding bugs.
  • Hoping to push out Miro Community 0.8.5 out in the next few days. Lots of bug fixes, cool new administration stuff.
  • After that, there are a few big bugs for 0.9 to work on.

Janet

  • Worked on getting 2.5.4 out. Looks like it's been a good release with few complaints.
  • Working on figuring out the shutdown crash for Miro on Windows. This has been difficult and very trial-and-error.
  • Worked on Miro Community testing.

Ben

  • Worked with Janet on that shutdown crash.

Luc

  • Worked on Miro 2.6 issues from bugzilla. Just kind of going through and cherry-picking easy issues and nasty issues.

Will

  • Pushed out 2.5.4.
  • Worked on menu refactoring.
  • Worked on subtitles stuff.

bugzilla

  • 10 bugs/feature-requests created
  • 3 bugs marked WONTFIX
  • 3 bugs marked FIXED
  • 1 bugs marked INVALID

Wed, 02 Dec 2009

Dev call 12/02/2009 minutes

minutes

2.5.4 status (roadmap)

  • Will fixed an additional bug on Monday that Janet tested and it looks fine.
  • Will is going to build builds today. Then we'll test them and probably do a release Thursday morning and update the appcast file on Friday.

2.6 status (roadmap)

  • subtitle work is almost done
  • menus need to be refactored to finish up subtitle work
  • lots of little bugs to work on left--we could use the help if anyone is interested in contributing!

Paul

  • spent the week working on bugs in Miro Community
  • started working on custom templates allowing admins to change the way their site works
  • ten or so bugs left on the 0.9 roadmap to do
  • going to triage the bugs in order to push out a 0.9 sooner

Janet

  • working on finding an automated ui tester
  • worked on Miro Community testing, too

Will

  • did a bunch of fixes
  • getting ready to push out a 2.5.4
  • plans to work on refactoring the menus next

Ben

  • implemented subtitle support on linux
  • worked on osx bug fixes
  • started looking into VLC freeze issues

bugzilla

  • 7 bugs/feature-requests created
  • 2 bugs marked DUPLICATE
  • 6 bugs marked FIXED
  • 1 bugs marked WORKSFORME
  • 2 bugs marked INVALID

notes

I wasn't on last week's devcall. Thus, no notes.

Tue, 01 Dec 2009

Farewell, xine

I've been talking about removing the xine renderer for 6 months now. I don't do this lightly--generally we want to add features, not remove them. However, we're a _really_ small team of developers working on Miro and one of the things I'm focusing on for the Miro 2.6 development cycle is to reduce and simplify wherever we can so that we can focus on the work ahead of us. Also, the gstreamer folks are doing a fantastic job and that project is really coming along. I feel very confident that switching to gstreamer is a good move.

Today is the day I did the deed. As of c1c6f33, the gtk-x11 platform of Miro no longer uses the xine renderer. This checkin removes all the xine code from the codebase.

A while back, I threw together a VLC renderer that mostly works. Other renderers can be built in the same way--the infrastructure is there for anyone to create new renderers and ship them as separate packages.

Even though this is a good move, I do realize it leaves some people out in the cold. If you are interested in championing the xine renderer and starting a project to build and maintain it, let me know and I'll do what I can to help out.

Wed, 18 Nov 2009

Reducing complexity for 2.6

We've been working on reducing the complexity of the code for Miro 2.6. We've done this in a few different ways and I want to summarize them here.

moved binary kit stuff to separate repositories

This dropped the size of the git repository for miro a lot. Cloning the repository is much faster now. Plus it's easier to build Miro on Windows and OSX from the source tarball.

moving libtorrent out of portable

On Linux, this allows us to rely upon Linux distributions to have packages for libtorrent (the Rasterbar version) and the Python bindings. We don't need to compile libtorrent as part of the Miro build process anymore. That dropped the build time like a rock, reduced the tarball size, and removed a bunch of issues from configuring and compiling Miro on Linux.

removing sorts.pyx and fasttypes.pyx

Removing these allowed us to remove the build dependency on Boost. That removes a bunch of assy code we had in the setup.py file. This also reduced the time it takes to build Miro on Linux.

adjustments to setup.py to be more whiny when things are missing

I added some code to the gtk-x11 setup.py to make it clearer when it's missing build dependencies. I then tested this on Kubuntu Karmic, Fedora 12, and OpenSUSE 11.2. Miro will still try to run if it's missing things--I'll look into this soon.

updated gtkx11 build docs

I went through and updated the build recipes in the gtk-x11 build docs page. I updated the recipes for Ubuntu Karmic, added recipes for Fedora 12 and OpenSUSE 11.2 (though it won't work because I couldn't find a libtorrent rasterbar package), and removed a bunch of old recipes that would never work. I'm planning to do Gentoo and some other distributions next.

I updated the build and runtime requirements lists, too.

removing xine

This hasn't been done yet, but it'll happen soon. This will remove some build requirements and it'll make our lives easier since we'll only have to support one renderer on Linux. Supporting two takes a time and effort and we're only doing a so-so job of it. Better to cut xine loose and focus on gstreamer. I'm sorry that this will affect some people. I'm hoping to rework the code so that additional renderers can be released as separate packages like I did with frontends.

conclusion

We're focusing on reducing the complexity of the codebase and build requirements to make it easier for new people to pick it up, build and contribute. If there's anything else we can do on this front--or better if there's anything YOU can help us do--let us know.

Dev call 11/18/2009 minutes

minutes

2.5.4 status

  • Ben made some fixes for 12301, those will get merged in.
  • Need to sync translations
  • A new set of branch builds today and a release at the end of this week or early next week

subtitle support status

  • Luc has it implemented for OSX. Still need implementations for Linux and Windows.
  • Will's working on the Windows implementation.
  • Ben's going to look into moving the menu/submenu code to portable.
  • Either Ben or Will will work on the Linux implementation when their plates clear.

Ben:

  • spent a while working on bug 12301. bunch of fixes that'll go into 2.5.4.
  • researched "pumping up the volume"; looks possible so he's going to implement it.

Luc:

  • frustrating week working on gstreamer subtitles support
  • had problems getting his test files to play correctly with Miro on Ubuntu Karmic
  • wants to hand off gstreamer subtitle support to someone else
  • worked on scrollbar problem with osx

Janet:

  • tested 2.5.4, tested 12301 fixes, and did a bunch of Miro Community testing

Paul:

  • worked on bugs for Miro Community 0.9

Will:

  • will merge in ben's 12301 work, sync translations, and make a set of 2.5 branch builds
  • will work on subtitle support for windows
  • will work on subtitle support for linux

bugzilla

  • 9 bugs/feature-requests created
  • 3 bugs marked WORKSFORME
  • 1 bugs marked INVALID
  • 2 bugs marked DUPLICATE
  • 1 bugs marked WONTFIX
  • 1 bugs marked FIXED

notes

Several people said they read the reports weekly and find them very useful, so I'll continue writing them.

One person mentioned how there's no public information about Miro development. That's not correct. Here's a list of urls of public information:

Tue, 17 Nov 2009

git repository is now http

We switched the miro repository url from https://git.participatoryculture.org/miro/ to http://git.participatoryculture.org/miro/. If you were using https, then you should switch the origin url in the .git/config file. It's unlikely that's the case, though, since it's been broken for over a month now.

Fri, 13 Nov 2009

gnome.mirocommunity.org

A little over a week ago, I started Gnome Miro Community. I'm a Miro developer and we use a ton of Gnome stuff in the application. The site will index Gnome related videos from around the Internet. I hope it'll aid Gnome development.

I started a few categories: gnome-shell, gstreamer, and GUADEC 2009. I'll be adding to these going forward.

One of the big things that I did was to bulk load the GUADEC 2009 videos into Gnome MC. I built an RSS feed, populated it with descriptions of the talks from the Gran Canaria Desktop Summit wiki pages, and pulled it all into Gnome MC. Today I pulled down the videos and generated thumbnails for everything and pushed that up, too. Took about 5 hours in total, but the data is much more useful now.

Gnome MC will do searches every night for new material out there. I'll keep tabs on this queue. If you know of videos that haven't been added either let me know or submit them through the site.

I'm really excited about this site and I'll do my best to keep it going and make it as useful as possible. I hope it helps to make Gnome as awesome as it can be!

Thu, 12 Nov 2009

Binary kits are no longer in the repository

I finished the work to remove the binary kit data from the miro repository today. Removing the binary kit data from the repository changed all the shas. To alleviate the problems this causes, I did the following:

  1. Ran a git filter-branch --commit-filter that added a line to the end of every commit message stating what the original commit sha was. The shas are referenced in Bugzilla, so this maintains the papertrail.
  2. Moved the "old git repository" to miro.old. If you're building Miro versions prior to Miro 2.6, it'll probably be easier to do that in the old git repository because the binary kit material is there.
  3. Binary kit materials were moved to separate repositories.

The end result of this is that we went from 900mb for the repository and a full checkout to about 136mb. Clones are faster, it uses less space on disk, and you're not saddled with a bunch of binary date you probably aren't going to use. It's also much easier on the build boxes which are old and don't have a lot of disk space kicking around.

If you have any questions, comments, or problems, let me know.

Wed, 11 Nov 2009

Dev call 11/11/2009 minutes

minutes

2.5.4 status

  • Work is going well. There's a new bug that we should look into. But we've done RC builds and we're sending notes to users who are having problems with 12101 in hopes they'll test.
  • If things go well, we'll probably do a release in a week.

Luc

  • Did most of the implementation for subtitle support in VLC with Miro on Windows. Doesn't have a Windows build environment, so he's passing this off to Ben or Will to finish up on Windows.
  • Hoping to have the repository changes done asap.

Will

  • Keeping tabs on 2.5.4 rc1 testing progress.
  • Helped prisioner on IRC get Miro building on Windows with mingw32. Keeping tabs on that progress with the hope that we can switch from building with Visual Studio 2003 to mingw32.
  • Planning to do the big repository filtering today.
  • Planning to take on the subtitles in VLC on Windows work for Luc

Ben

  • Did a bunch of 2.5.4 work.
  • Finished the fasttypes removal work.
  • Got some more data on 12301. Going to look into it to see if there's anything we can divulge from it.

Janet

  • 2.5.4 rc1 looks good except for bug 12426.
  • Continued working on building the test infrastructure for Miro Community. Has two volunteers helping with building test cases.

Paul

  • Working on Miro Community features: html editing for comments, fixing the submit a video flow, added an RSS feed for categories, ...
  • Back to working on Miro Community bugs.

Nick

  • Morgan is going to work on another theme for Miro Community.
  • Working on making Miro Community easier to modify.

bugzilla

  • 11 bugs/feature-requests created
  • 1 bugs marked DUPLICATE
  • 7 bugs marked FIXED

notes

Are these reports useful to anyone? No one has commented, no one has mentioned them on IRC or email, ... If they're not useful and no one is reading them, then I should be spending my time elsewhere.

Thu, 05 Nov 2009

Need help testing KDE screensaver patch

About a week ago, Joe contributed a patch to disable the screensaver on KDE when Miro is playing fullscreen. I don't run any systems with KDE on them. I'd love to get some help testing this patch so that we can include it in the next release of Miro.

The bug for this work is http://bugzilla.pculture.org/show_bug.cgi?id=3067. The patch is at http://bugzilla.pculture.org/attachment.cgi?id=1980.

Let me know whether this patch works or doesn't work for you either in the comments of this blog entry or in the comments of the bug.

Wed, 04 Nov 2009

Dev call 11/04/2009 minutes

minutes

Paul:

  • Is sick.
  • Bug fixes and small features for Miro Community.
  • We have a lot of sites and things seem pretty stable.
  • Working on Miro Community 0.9 now. 0.9 isn't very feature-full, but it improves on things for style, look and feel, and such.

Luc:

  • Worked a couple of days on subtitle support for Miro on Windows using VLC. Building a test application in C. Once he's got that working, he'll transcribe it to Python and ctypes.
  • Switched gears to help Will to fix libtorrent build problems with the new binary kit system. Bumped into problems getting it to compile on OSX 10.4 (expletive expletive expletive). Worked around it.

Will:

  • Continued working on libtorrent and binary kit changes.
  • Wants to do a 2.5.4 that includes vlc 1.0.3, libtorrent/unicode fixes on Windows, and database fixes from Ben.

Ben:

  • Fixed database problems with duplicate ids.
  • Spent time removing sorts.pyx and filetypes.pyx from the codebase. This reduces complexity of the build.
  • Wants to push out a 2.5.4 with database fixes he's done recently.
  • Wants to finish the fasttypes removal work on OSX.
  • Talked about the sniffer code.

Janet:

  • Tested changes in Miro and Miro Community.
  • Working on making it easier to assign tasks to volunteers and get more volunteers involved in the process without losing track of them.
  • Wrote up a wiki page for subtitle implementation work and testing. This will become the specification of what we're implementing now that we're mostly done research. https://develop.participatoryculture.org/trac/democracy/wiki/SubtitleImplementationDetails
  • Is having her wisdom teeth taken out next week.

bugzilla

  • 19 bugs/feature-requests created
  • 1 bugs marked DUPLICATE
  • 7 bugs marked FIXED
  • 1 bugs marked WONTFIX
  • 2 bugs marked INVALID

Tue, 03 Nov 2009

libtorrent out of portable

Miro uses libtorrent-rasterbar for bittorrent downloading. We had a copy of the libtorrent source code in the portable section of our repository. Miro would compile libtorrent as a Python extension along with all the other stuff to build Miro binaries. Not any more.

Luc is almost done carrying my changes over to OSX 10.4, but as of today, libtorrent-rasterbar is no longer in the portable section of our repository.

What does this mean?

For Windows, a clean build on our Windows build box went from taking enough time for me to make dinner, eat dinner, and then completely forget what I was working on (26 minutes) to 4 minutes. In my Windows XP vm, a clean build went from 8 minutes to 1 minute. Plus I fixed the unicode problems Miro had with Windows and libtorrent and updated Miro to use libtorrent 0.14.6 on Windows.

For OSX, a clean build on my mac mini running OSX 10.5.8 went from 17 minutes to 1 minute. Plus I updated Miro to use libtorrent 0.14.6 on OSX, too.

For gtk-x11, libtorrent is now a required system package. Miro will no longer compile its own libtorrent if you don't already have it installed. I'm pretty sure that most modern versions of the major Linux distributions have packages for libtorrent-rasterbar and the Python bindings.

We have a couple of other changes that affect the project structure almost done. I'll blog about them as they finish landing.

11/4/2009 - This is completed now. Many thanks to Luc who sorted out the issues I was running into with compiling libtorrent on OSX 10.4 with Boost 1.35.0.

Wed, 28 Oct 2009

Dev call 10/28/2009 minutes

minutes

Paul:

  • Worked on Miro Community stuff over the week.
  • Talked about infrastructure for the MC services.

Janet:

  • 2.5.3 looks like a pretty good release.
  • Tested Will's torrent-related fixes--looks good.
  • Testing Luc's subtitle work. Found some bugs with the subtitle code and older versions of OSX. Otherwise, it's looking good so far.
  • Talked a bit about Miro Community testing. We have a few volunteers helping, but there's still work to do.

Luc:

  • Worked on subtitle stuff. Happy to see people are starting to test subtitle-enabled builds.
  • Worked out some bugs so it now works on 10.4, 10.5, and 10.6.
  • Working on getting subtitles working on Miro on Windows with VLC.
  • This is coming along nicely and we decided it should land in Miro 2.6 so we're going to move the work to the master branch.

Will:

  • Reworked Miro on Windows to use a packaged binary kit.
  • Switched Miro on Windows to use a pre-built libtorrent from the binary kit.
  • Planning to do the same for Miro on OSX.
  • Pushed out a set of Karmic packages for 2.5.3, but they aren't well tested.

Ben:

  • Did some bug-fixing.

bugzilla

  • 23 bugs/feature-requests created
  • 12 bugs marked WORKSFORME
  • 1 bugs marked INVALID
  • 2 bugs marked DUPLICATE
  • 3 bugs marked WONTFIX
  • 3 bugs marked FIXED
  • 25 bugs marked INCOMPLETE

Thu, 22 Oct 2009

Miro 2.5.3 packages for Ubuntu Karmic released!

I just pushed out packages for Karmic for Miro 2.5.3. Until Karmic is out, consider these packages beta quality. If you use these packages and run into problems, let us know as soon as you can.

Ubuntu installation instructions

Wed, 21 Oct 2009

Dev call 10/21/2009 minutes

minutes

Nick and Luc weren't on the call. Janet and Will had colds. Ben's side of the call had some weird 15 second delay. That made it a dicey call that we ended on IRC.

Minutes for this morning's call:

Paul:

  • Working on Miro Community finishing up version 0.8.

Ben:

  • Worked on a lot of bugs, especially 12101. Checked in a few fixes into master which look pretty good, but need testing.
  • Worked on a bunch of other bugs.
  • Worked on 12229 to allow for distribution of RSS and content on a DVD.

Will:

  • Worked on extracting binary kit stuff from the repository.
  • Planning to work on Karmic packages for 2.5.3.

Janet:

  • Sick.
  • Hoping to get to testing the changes Ben made for 12101.
  • Spent some time testing Miro Community and is getting geared up to start testing Luc's subtitle code.

bugzilla

  • 14 bugs created
  • 2 bugs marked FIXED
  • 1 bug marked DUPLICATE
  • 1 bug marked INVALID

Wed, 14 Oct 2009

2.5.3 coming soon--I promise!

The Miro 2.5 series has been a total pain in the ass--I'm not going to lie. Not only has it infuriated a number of users, but it's been like a Sysaphusian struggle for the team.

Right now there are 3 developers (Ben, Luc and myself) and 1 QA person (Janet) that work on Miro fulltime. Then we have a large community of testers, translators, and a handful of people who send in patches to fix the problems that irk them most. Even with this large community, the majority of the development, testing and support is done by 4 people.

In the last three months, Janet's house was hit by lightning frying a bunch of her testing machines; I bought a house and moved (along with the build boxes); Ben went on vacation for a month; Luc bought an apartment, moved, and then had his Internet connection totally hosed for a month; I had unforeseen medical problems (that I don't really want to talk about), that resulted in me being offline for the last two weeks; and our ssl certificates expired.

This week is the first time since the beginning of August when we've had all 4 of us working.

We've been trying so hard to get a much-needed 2.5.3 release out. It has a slew of fixes that should alleviate an array of problems that users have been experiencing. We're finally on the verge of the release. I hope it'll happen today or tomorrow.

I really appreciate the patience many of you have had with us as we scrambled to do the impossible over the last couple of months. I really wish it could have happened differently, but it's as if the forces of nature were completely against us.

Though 2.5.3 should fix a variety of issues, we're working on re-architecting some portions of Miro that aren't working well with the database changes we made in Miro 2.5. On top of that, we're working on subtitle support, extensions, and continuing to make Miro a better experience for a larger group of people. Some/most/all of this will show up in Miro 2.6 and 2.7, hopefully in the next few months.

Dev call 10/14/2009 minutes

note

I wasn't on the call for 10/7/2009, so I don't have notes for that day.

minutes

Will:

  • Planning to push 2.5.3 out.
  • Planning to keep working on extracting binary kit stuff.
  • Then get miro working on Karmic Koala.
  • Then moving libtorrent out of portable.
  • Will be in Providence, RI from October 23rd through 26th.

Luc:

  • Continuing work on subtitle work.
  • Perian doesn't support subtitles in subfolders. Luc is looking into fixing Perian and then sending a patch upstream.
  • Luc is going to start looking into VLC support next.

Ben:

  • Planning to work on 12101. One of the theories is that when torrents are downloading, Miro is doing a lot of disk thrashing.
  • Remove torrent metadata from the updates.
  • Tweak status so that we only persist to disk every now and then.
  • Plans to work on bug 12229.
  • It's difficult to figure out how many people are affected by 12101.

Paul:

  • Working on Miro Community 0.8 release. It's coming along nicely.

Janet:

  • Tested Miro Community and Miro 2.5 branch builds.
  • Working on testing plans for Miro Community post 0.8 release.

2.5.3 status:

  • Talked about 12277 and 12276 and where we're going with that plan.
  • Hopefully we'll get it out today or tomorrow.

bugzilla

  • 8 bugs created
  • 1 bug marked DUPLICATE
  • 4 bugs marked FIXED
  • 2 bugs marked WORKSFORME
  • 1 bug marked WONTFIX

Wed, 30 Sep 2009

Dev call 9/30/2009 minutes

minutes

Minutes for this morning's call:

Janet:

  • Has gone through all of the tests on Windows XP for 2.5.3 rc1.
  • Working on testing Miro on OSX.
  • 2.5.3 rc1 is looking good so far.

Luc:

  • Worked on 12212 and should have it fixed tomorrow.
  • Worked on subtitle ui--it's coming along nicely.
  • It's hard to determine which subtitle thing is which language which makes it hard to allow users to choose a default subtitle language.
  • Worked on external .srt subtitle handling.
  • Perian doesn't support external .srt for movie containers it doesn't open by itself (mp4, quicktime, ogg, ...). Luc's running into problems with that and is trying to talk to the Perian developers.
  • VLC handles everything created so far just fine. Luc's tossing around ditching Quicktime/Perian for VLC. (ed note: I think I summarized that right--but I could be completely mistaken about what Luc is tossing around.)
  • Will continue doing subtitle work in a subtitle branch that'll eventually get pushed to g.p.o.

Ben:

  • Hopped on the call to say hi.

Will:

  • Worked on 2.5.3 bugs, put out a rc1 release.
  • Working on redoing release process, scripts and infrastructure to make releases easier and cleaner with git.

Paul:

  • Working on Miro Community--almost done with version 1.0.
  • Working on unit tests.

kickstarter

We achieved the $1000 goal in large part to a couple of key donations. Thank you!

bugzilla

  • 21 bugs created
  • 7 bugs marked FIXED
  • 1 bug marked DUPLICATE
  • 8 bugs marked INCOMPLETE
  • 2 bugs marked INVALID
  • 1 bug marked WONTFIX

Wed, 23 Sep 2009

Dev call 9/23/2009 minutes

minutes

Minutes for this morning's call:

Luc:

  • Working on fixing problems with 10.6 build environment and getting Miro working on 10.6.
  • Working on subtitles. (Please help us fund this!)
  • Having issues with .srt files rendering with Perian and 10.6.
  • Snow Leopard support is targeted for 2.5.3.
  • Talked about subtitle implementation specifics.

Will:

  • Working on trying to get 2.5.3 out.
  • Working on 12101.

Janet:

  • Testing fixes targeted for 2.5.3.
  • Working on Miro Community testing. Planning testing and manual testing.
  • Suggested we build a pre-rollout/pre-demo checkoff list for testing.

Paul:

  • Worked on Miro Community and it's almost at the 1.0 point.
  • Miro Community still needs polish, documentation, testing plans...
  • Two sites are live now.
  • There are a bunch of sites on deck.

kickstarter

Subtitles project on kickstarter has 24 backers for $494. We're hoping it clears $1000 by the end of the month--8 days to go.

bugzilla

  • 19 bugs created
  • 4 bugs marked FIXED
  • 3 bugs marked DUPLICATE
  • 1 bug marked WONTFIX
  • 2 bugs marked WORKSFORME

Wed, 16 Sep 2009

Dev call 9/16/2009 minutes

summary

Every Wednesday morning we have a conference call that we call the "dev call". This has been happening for years. Mostly we use it as a place to schedule upcoming development, talk with each other about problems we're working on, and come up to speed on where we're all at.

I occasionally take minutes when someone isn't on the dev call. I'm experimenting with posting the minutes on this blog for the next month. If it turns out to be useful, I'll keep doing it. Otherwise I'll stop.

minutes

Minutes for this morning's call:

Luc:

  • working on getting Miro working with Snow Leopard.
  • cleaning up the sandbox code.
  • it'll make things much easier when we drop support for 10.4--but that's far in the future still. (15% of OSX users are using 10.4 according to Miro Guide stats.)
  • then we talked about the costs of supporting 10.4 users.

Will:

  • worked on Miro 2.5.3 and 2.6 all week.
  • talked about bug status for 12028, 12150, 12166, 12101, and 12108.
  • talked about how we're building libtorrent and how we should bump it to the binary kit which will definitely alleviate some issues and possibly alleviate others because we're not really building it "right" in the first place.
  • made changes to Planet Miro and took over curating.

Janet:

  • got her machine back which was fried by lightning in August.
  • working through reworking her test environments.
  • testing the Miro 2.5 nightly that Will built.

Paul:

  • working on Miro Community.
  • almost done with merging "users" and "authors". should get resolved in the near future.
  • continuing to implement styling stuff from Morgan.

kickstarter

Subtitles project on kickstarter has 12 backers for $191. We're hoping it clears $1000 by the end of the month.

bugzilla

Rough Bugzilla stats:

  • 16 bugs created
  • 8 bugs marked FIXED
  • 4 bugs marked as DUPLICATE

Mon, 14 Sep 2009

Planet Miro status 9/13/2009

I appointed myself Planet Miro curator this morning. I also made some changes:

Going forward, I'll blog about Planet updates.

Fri, 11 Sep 2009

Who else should be on Planet Miro?

Who else should be on Planet Miro? We're interested in getting content and updates from anyone who contributes to Miro, Miro Guide, Miro Community, Open Video, or any of the other endeavors that we're working on.

If there are blogs or people you know of whose work should be synidcated on Planet Miro, email me to let me know.

Support subtitles in Miro--do you really want it?

As of September 11th, there are only 10 people in the world who are interested in subtitle support in Miro enough to contribute to it. Is that right? Were we completely mistaken in thinking that users want subtitle support?

If subtitle support in Miro is important to you, take the time to contribute now. If you live in the United States, donations/contributions are tax-deductible because PCF is a 501c3 non-profit company.

Also, help us get the word out. Write about it on your blog, dent it, digg it, reddit it, ... Help us make it happen. Help us help you.

Mon, 07 Sep 2009

Support subtitles in Miro work

How do you contribute to Miro development?

Do you test nightly builds and release candidates?

Do you submit bugs and help us fix them?

Do you send in patches?

Do you package Miro for other distributions?

Do you translate strings?

Do you tell your friends and family about Miro and help them set it up? Do you blog about Miro?

Did you adopt a line of code?

Miro is built and maintained by all of us working together contributing our time and resources. There are features to be implemented, bugs to be squashed, systems and software to integrate with, standards to develop--the future is great with possibilities.

We at PCF are testing out feature-focused support to help pay our operating costs. We're going to pick a feature every release and turn it into a project on Kickstarter. If the feature that we picked is important to you, then pledge and help PCF help you. These aren't little features--they're big projects that implement functionality that's often requested.

For the next next release, we're working on subtitles. If subtitle support is important to you, then check out the project page and pledge your support. Help PCF continue its work on Miro. Help me and the other PCF developers help you.

Mon, 24 Aug 2009

Things are slow right now....

Things have been slow for the last week and will probably remain slow for the next week, too, mostly due to real life sorts of things among the various developers. We took advantage of this slow period (it doesn't happen often) to switch Miro development from svn to git. This is something we've wanted to do for a while and should make the development process we have a lot easier to deal with.

To summarize, things are slow right now, but they'll definitely pick up again in September.

Wed, 19 Aug 2009

Miro switched to git

I finished up the work for converting our svn repository to git and pushed the whole thing to the server. You can follow along at https://git.participatoryculture.org/miro/.

I'll be spending the next week or so updating code, infrastructure, and documentation to reflect the change.

Sun, 16 Aug 2009

Subversion to git transition

We're switching the Miro repository from svn to git. This frees us up considerably and will make development life a lot easier for us. We chose git over other dvcs systems because most of us were already using git-svn to access svn and we're already using git for Miro Guide, Miro Community, Miro Fullscreen and other projects.

For the last week or so, I've been converting the Miro svn repository to git. It's taken a long time because I ran into several complications:

  1. I've been moving from an apartment to a house which sucked up a few days.
  2. We treated tags in svn like branches: we'd tag a release, then make some adjustments "in the tag". Tags in git are immutable which is a good thing--they should be immutable. I've spent a bunch of time figuring out how to convert our svn tags into git tags and tweak the history accordingly. It takes around 20 minutes to fix each instance of the problem and there were a lot of instances of it--one for each release, release candidate, beta, .... Many many thanks to James Vega for helping me out on this.
  3. I'm running out of disk space on my laptop. I've had to do some archiving to free up space and that's taken a while.

Hopefully, I'll be done in the next day or so. Once I finish, I'll push the new git repository to a public space, have the other devs run through it for issues, post a message about it on the develop mailing list and then I'll start work on changing build scripts and other things like that to use the git repository rather than the svn one.

One thing that's happened as a result of this work is that I've really come to appreciate git internals and how it's all structured. I have no idea how Bazaar and Mercurial structure things, but git's pretty neat.

Update 8/17/2009: My math was way off. I've got another 50 tags to go at 20 minutes per tag that's at least another couple of days.

Fri, 14 Aug 2009

Theora Cookbook

The folks at FLOSS Manuals put together a Theora Cookbook. It's a great book that covers Theora and publishing video on the Internet.

It's definitely worth reading/skimming if you're interested in Open Video, Theora, and the impending future of video on the Internet.

Sat, 08 Aug 2009

Miro 2.5 post-mortem

We released Miro 2.5 a couple of weeks ago and it was a messy release which resulted in a Miro 2.5.1 a day or two later and a Miro 2.5.2 a few days after that. It sucked. I wish it had been better.

Before a release has happened, a messy release looks like any other release: development has wound down, lots of bugs have been fixed, a bunch of new features have been implemented, testing is going well, people who have looked at the nightlies and release candidates like the new features and haven't encountered any issues, ... Then we decide to pull the trigger and push it out.

It's only when a release is out that the messy release rears its ugly head and the obviousness of its messiness is revealed. Usually this is made abundantly clear by abusive emails from people who encounter problems with the release, become frustrated, and express themselves with abusive vitriol aimed at me and all the other people who worked hard on the release.

It's at this point, I bite the bullet, prepare for the world of pain I'm about to get involved in, and try to reach out to as many people as I can, gather information to identify the issues so that we can fix them, and provide support to people who are encountering problems to enable them to get through them.

So what the hell happened with Miro 2.5?

Miro 2.5 started out with a big flaw: there was no upgrade dialog showing when Miro was transforming the database from the old style to the new style. If you have a small database like mine (8 mb), you'd never notice. People who had huge databases would launch Miro 2.5 for the first time and ... seemingly nothing would happen for minutes. The person would assume Miro isn't starting, would kill the process, and then try again. At this point, Miro would see a wedged database and wouldn't start. We think there were on the order of 30,000 downloads at this point and we had maybe 50 people who had problems.

We recognized the problem and we kicked into emergency mode. Janet and I worked the GetSatisfaction forums, blog, and identi.ca. Ben poured over the incoming data, made a few fixes and put in a progress dialog. We pushed out Miro 2.5.1. Janet and I went through and talked to each user who had problems to help them unwedge their database and get back to a working Miro.

A day or two later, we found another couple of problems. I made some fixes and pushed out Miro 2.5.2. Then I wrote a script people could run to re-download data that was lost. Dataloss totally sucks. We did everything we could to help alleviate the problem after we found out it was there.

There are still a bunch of people for whom Miro doesn't work. I'm talking with a few of them. Others have given up. It's always been the case that there are people for whom Miro doesn't work and we do what we can to figure out the causes.

And that's where we are now.

Going forward, we're going to figure out how to better test Miro release candidates. We thought that 600 people would have fleshed out most of the issues, but it seems that there are classes of people whose usage patterns aren't reflected in our testers and testing. If you can help us with testing, we'd love to have you. You will have a direct impact in making Miro better.

Going forward, I'm going to work on making it easier for Miro to help people identify problems and let us know. I'd also love to get some help fixing Miro so that it doesn't lose data when things go wrong. Code contributions would help a ton here.

Going forward, I'm going to ask for help more often. There are only 4 PCF developers and we're spread very thin between Miro, Miro Guide, Miro Community, and the other things we're working on. We need your help. This isn't a new situation. What is new is that I'm going to do a better job making it explicit what I need help with right now.

I love working on Miro. I love what Miro is doing for people and for communities. I love our mission. I need your help to help me help you. Miro is your project as much as it is mine.

I hope the initiatives we're working on will eliminate messy releases in the future.

Sat, 25 Jul 2009

Miro 2.5 Ubuntu packages coming soon!

The Miro 2.5 release had a couple of issues that affected users with large databases. We've been working on those issues and helping those people out for the last couple of days. This work culminated in a Miro 2.5.1 release.

Because I was working out issues with Miro 2.5 release and helping users work through issues (more on that in a future blog post), I haven't worked on the Ubuntu packaging yet. My current plan is to wait until Sunday (tomorrow) and do packages for Miro 2.5.1 skipping 2.5.

I apologize for not getting packages out sooner, but I:

  1. was busy fixing Miro 2.5 issues and helping users
  2. thought it'd be better to hold off until the Miro 2.5 issues were worked out
  3. discovered World of Warcraft

If for some reason I can't/don't push out packages on Sunday, I promise I will do them as soon as I can. I use Ubuntu, too, so this affects me as well as all of you.

If for some reason this isn't satisfactory and you want/need it sooner than I can provide, I encourage you to build your own Miro from source. There are instructions here.

Thu, 23 Jul 2009

Miro 2.5 released!

We released Miro 2.5 today. It's a great release and a big step for Miro. My favorite features are:

  • audio playback that doesn't suck
  • handling for torrents that have folders and multiple files in them
  • video/audio tabs instead of new/single
  • totally redone database layer

The last feature is a big deal--we rewrote the entire storage layer for Miro to do it. Miro went from a pickled Python object database to a relational database. With the new database system, you can do things like this:

willg@mercury:~/.miro$ sqlite3 sqlitedb
SQLite version 3.6.10
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select count(*) from feed;
23
sqlite> select origUrl from feed;
dtv:manualFeed
dtv:singleFeed
dtv:search
dtv:searchDownloads
dtv:directoryfeed
http://www.fileden.com/files/2008/5/14/1911312/timostrailers.rss
http://feeds.feedburner.com/Gitcasts
http://www.youtube.com/rss/user/googletechtalks/videos.rss
http://feeds.feedburner.com/Screencastersheathenxorg
http://www.whitehouse.gov/rss/speeches.xml
http://www.hd-trailers.net/blog/feed/
http://pycon.blip.tv/rss
http://feeds.feedburner.com/CSS-Tricks-Screencasts
http://www.g4tv.com/xplay/podcasts/6/XPlay_Daily_Video_Podcast.xml
http://feeds.theonion.com/OnionNewsNetwork
http://www.npr.org/rss/podcast.php?id=35
http://feeds2.feedburner.com/YourWorldIn5-itunes
http://g4tv.com/cinematech/podcasts/8/G4_TV_Cinematech_Video_Podcast.xml
https://fedorahosted.org/releases/f/e/fedoratv/fedora-tv.xml
http://openmeetings.org/archives/ovc2009-sessions-mirofeed.rss
http://ubuntudevelopers.blip.tv/rss
http://makezine.com/blog/archive/make_podcast/index.xml
http://www.podshow.com/feeds/gbtv.xml
sqlite>

This is the first big step in making Miro more hackable and more accessible to projects like Coherence, Elisa, and others. It'll also make it a lot easier to debug database problems in the future.

Note: After you've upgraded to Miro 2.5, Miro will upgrade your database to the new structure on the first startup. This takes a long time depending on how big your database is. Just let Miro hang out and do its thing. The epic fail here is that there's no ui indication that Miro has started and is upgrading the database. I'm hoping we'll fix that soon.

I hope you're happy with the improvements in Miro 2.5. We're not resting there--work has already begun on Miro 2.6.

Sat, 18 Jul 2009

Last chance to adopt-a-line for 2.5!

When you Adopt-a-Line at the Miro Adoption Center, you're contributing to the continued development and maintenance of Miro and the MiroGuide in addition to helping us work on our mission to ensure that video is healthy and accessible to everyone and that Open Video flourishes. This is something that's really important to me and I can't thank people enough for their contributions that enable me to do the work that I'm doing.

We're getting really close to a Miro 2.5 release. If you adopt a line before Monday, July 20th, then we'll make sure your name shows up in the "About Miro" credits for Miro 2.5. If you adopt after that, we'll make sure your name shows up in the next version, but that'll be a few months down the road.

If contributing is as important to you as it is to me, take the time now to adopt! It only took me a few minutes, and I've got a cute baby Zowwee Kahn-Greene!

Thu, 16 Jul 2009

VLC Renderer for Miro on gtk-x11

I threw together a VLC renderer for Miro on gtk-x11 based on the VLC renderer code we use for Miro on Windows. It took an hour or so to get it working.

I'd love to toss it in into Miro, but it's got one major problem and one minor one.

The major problem is that VLC handles mouse events rather than letting them bubble up to Miro. When you double-click on the a video, VLC handles the double-click and switches the video to fullscreen (or out of fullscreen). It'd be better if Miro handled this--then it could show the media item details bar. Also, VLC handles mouse movement. Miro needs to handle this, too, so then it can show the item details bar.

The minor problem is that VLC doesn't have libvlc_video_track_count in versions prior to 1.0. I'm not sure how else to figure out if a media file has video tracks in it. Because of this, the sniffer code is pretty ham-fisted if you have earlier versions of VLC.

The code is at http://bluesock.org/~willg/download/vlcrenderer.py if you're interested in fiddling with it. There's documentation at the top of the file that walks through installing and using it.

I'd love to get some help fixing it. Adding support for VLC and dropping support for xine on gtk-x11 would make things a lot easier for us Miro devs.

Need translation help for 2.5

Ben checked in a fix for database problems that occur when a user's disk is full. This fix required the addition of 4 new strings. I really apologize for making strings changes this late in the development cycle, but we decided the fix was really important and that outweighed the imperatives of the strings freeze.

We're on the brink of releasing Miro 2.5. It's something we're hoping to do early next week--possibly Monday or Tuesday pending how Ben's changes bake out.

Because of this, we really need help with translations. If you're a translator, have done Miro translation work before, and/or know someone who has, now's the time to spend some time with translations to ensure that they're rock-solid for a Miro 2.5 release.

Wed, 15 Jul 2009

Bought a house; ramifications

For the last month, I've been going through the house-buying process. Today we found out we were approved for a mortgage and so now we're all set.

Thus, it's official: PCF-Boston will be moving and will become PCF-Chelmsford.

I plan to continue co-working, but I'll be doing it in the Chelmsford/Lowell area. [1]

There are a few ramifications. The first is that it'll be harder to take me out for a cup of coffee if you're in the Boston area. The second is that I probably won't be going into the FSF offices to help with mailings anymore. The third is that there will likely be a period of a few days in the middle of August when the build boxes will be down and there won't be any nightlies.

One of the big boons is that my office will double in space which should make it easier to get more things done since I'll have room for additional equipment, monitors, and such. And I'll have more space to produce podcasts and screencasts and such.

As a sidenote, the house-buying process is fricking insane. And not in a good way. Thank goodness for gscan2pdf, Gimp, Thunderbird, Postfix, Debian, Ubuntu, and the dozen smaller bits that made my side of the paper-pushing much much easier.

[1] Where "continue" is defined as "start coworking again which I haven't done in a long time because I just haven't had time to organize things".

Thu, 09 Jul 2009

Better developer documentation for Miro

During the Miro 2.5 development cycle, I've been working on getting better developer documentation cobbled together. It's a huge task that'll take us a while to do.

The initial focus of this developer documentation is two-fold:

  1. provide web-based documentation for architecture, modules, classes, methods, functions, ...
  2. codify project standard practices

This is important because it makes development easier for core developers, but it's even more important because it'll make it easier for casual contributors to figure out where everything is and how it works.

This is in addition to the documentation found at the Miro Development Center (aka our Trac wiki). Some content will move from the Miro Development Center to the developer docs, but we'll have both for a long time to come.

The first pass for developer documentation for Miro 2.5 is at http://pculture.org/wguaraldi/miro/2.5/developer/. It answers such questions as:

  • how do I add support for a new search engine? (see here)
  • how do I help translate Miro? (see here)
  • where's all the database code? (see here)

There's a lot more to do, but it'll get better over time if people spend time on it.

For those interested, I'm making heavy use of Sphinx. You can see the source from the developer documentation by clicking on the "Show source" link on the left hand side. The source for the documentation is in our svn tree at https://develop.participatoryculture.org/trac/democracy/browser/trunk/docs/developer.

Thu, 02 Jul 2009

Miro 2.5 schedule, translations, and Launchpad griping

Miro is nearing a 2.5 release candidate. There are only a couple of things we're waiting on now like a VLC 1.0 release. I'm hoping for a release candidate as late as next week and a final a week or two after that depending on how well the release candidate works for people.

If you're a Miro translator, the strings are frozen and we sure could use your help getting up-to-date accurate translations for Miro 2.5. If you know someone who's done Miro translations in the past, let them know that we're rapidly approaching the 2.5 release.

As a reminder, Miro 2.5 is the "trunk series" on Launchpad. Don't translate the Miro 2.0 series--changes there won't be carried over to trunk unless you do it yourself. The Miro trunk series translations page is here.

Now for the gripe. In the last week, Launchpad did an update which changes the translations pages and they no longer tell you the last updated date for individual translations. That's a real drag. I used that field to figure out whether or not to export translations from Launchpad and import them into Miro and to watch translation activity. Grumble grumble grumble.

Tue, 30 Jun 2009

Thoughts after commenting on someone's frustrations in Fedora bug 494505

I'm subscribed to all downstream Miro bugs in the Fedora bug-tracker. I'm also subscribed to all downstream Miro bugs in the Debian bug tracking system. It helps a lot to triangulate issues with external component versions and the myriad of other problems that come with developing an application that runs on Linux distributions.

Today, Rudd-O, who I've never met, ranted on the state of the Miro codebase in bug 494505 in the Fedora bug-tracker. I responded with this https://bugzilla.redhat.com/show_bug.cgi?id=494505#c13.

I thought I should blog about that since I really don't blog enough about the whos and the whys and the hows of Miro development.

After Miro 1.2, we decided to embark on some serious rewrites to fix big problems with the way Miro was structured. Thus each major version since Miro 1.2 has involved signficant overhaul.

Miro 2.0 saw a re-write of the ui. In doing so, we rewrote the Windows platform code which used to be a XULRunner application but is now a Python application using GTK. The ui rewrite fixed a lot of internal codebase problems, but the primary use case was to fix performance problems when displaying feeds with lots of items in them. Display isn't perfect, but it scales a lot better now. As a side note, it's not that we didn't like XULRunner, it's that we wanted to merge the windows and gtk-x11 platforms to make it easier to develop going forward.

Miro 2.5 (not quite out yet, but hopefully soon!) involved a re-write of the data storage code. It is a good thing to do in general, but the primary use case here was to fix performance problems with startup. No longer does Miro need to load the whole database to load the ui; now it can do it in parts. This speeds up Miro startup for a lot of people especially those with large databases. As an added bonus, the database is a regular relational database which other programs can access to see Miro managed media and metadata.

We don't have plans for the next version yet, but there's still a lot of stuff to re-write and make better. The downloading code needs refactoring. The feedparsing code needs good regression tests and once we have good regression tests, it should get refactored. There's a lot of code that needs to be documented and cleaned up. We need to add support for new standards and specifications. We need to add support for really important features like subtitles. We want to build a plugin framework allowing people to extend Miro in their own ways to meet their needs.

That's what we're working on, but there's no way we can do it all at once. We could use your help. If you can't contribute code, contribute funding for someone else to dedicate the time to work on code.

We are all Miro users. We are all Miro evangelists. We are all Miro testers. We are all Miro developers. Miro was made by you and me for you and me. Long live Free Software and Open Video!

Tue, 23 Jun 2009

Adopted a line

I adopted a line of Miro code today. Her name is Zowwee Kahn-Greene. She's pretty cute. :)

If you want to adopt-a-line, you can do so at the Miro Adoption Center.

Mon, 22 Jun 2009

Open Video Conference was awesome!

I just got back from the Open Video conference and it was really inpsiring and really awesome. From when I arrived in NYC late Thursday night to when I left this morning, the time flew by. I met a variety of people who have a stake in the Open Video game: producers, directors, creators, distributors, publishers, companies, representatives, individuals, codec hackers, renderer hackers, player hackers, site builders, community builders, independent journalists, movers, shakers, ...

I met a co-worker I've worked closely with for some months, but never met (and didn't realize who he was until after he was introduced). 7 out of 10 (or so) PCF staff were all there--the largest number of PCF staff in one place I've been a part of. Ben, Paul and I were able to do some Miro work and talk about issues we're having pushing 2.5 out the door. I met with Jean-Baptiste from VideoLAN (they make VLC) and talked about their impending 1.0 release (I scored a pre-release tarball and already started working on upgrading Miro on Windows to use VLC 1.0). I talked about metadata with a few people and I talked about problems with torrents in RSS enclosures with Kevin and Nathan (I'm pretty sure that's his name) Michael from LimeWire on things they're working on that have a lot of synergy with things we're working on. I talked with Joe Born from Neuros Technology about work I did in March on the Neuros Link and how we should go forward working out issues that Miro has when running on the Link (it runs well, but could use some ui tlc). Seeing what people are thinking about and doing with HTML 5 video tag was great.

It was a really productive conference for me. It's really clear what role Miro plays in the future of Open Video on the web. It'll be exciting to be a part of the future unfolding.

6/23/2009: I met Michael from LimeWire--not Nathan.

Sat, 20 Jun 2009

When git-svn is painfully slow...

When I upgraded from Intrepid to Jaunty, I noticed that git svn things were painfully slow. I had looked into this before, but couldn't remember how I found the answer or what it was. After skimming through thousands of lines of IRC logs, I re-rediscovered what I discovered the first time.

  rm -rf .git/svn
  git svn rebase --all

I found it at this site (oebfare.com).

Thu, 18 Jun 2009

I'll be at the Open Video Conference

My jury duty trial finished up yesterday freeing me up for going to the Open Video Conference. The conference schedule looks pretty interesting. I'll try to hit development related things as much as possible.

Sunday is going to be a hackfest day--looking forward to seeing other Miro devs and devs from related projects and working on the future of Open Video.

If you're at the conference, say hi!

Sat, 13 Jun 2009

Moved Miro stuff over

I work at Participatory Culture Foundation and I have a work blog there that I use primarily for blogging about things related to PCF, Miro development, Miro-related development and other things of that ilk. It's on a WordPress system.

I decided after a while that having two blogs sucked. Also, I don't like Wordpress. Also also, I was getting crazy amounts of comment spam on my work blog.

As such, I did a couple of pushes to finish up PyBlosxom 1.5 enough so that I could write a tags plugin that I like so that I could migrate. Then I wrote a Wordpress to PyBlosxom migration script and the result is that I'm now blogging here for all Miro related things. Since it's easier to blog here, I'll probably be talking more about Miro-land. w00t!

Fri, 01 May 2009

Adopt a line of Miro code!

Participatory Culture Foundation is the non-profit organization I work for working to build a distribution system for video and audio on the Internet that has no bottlenecks, no filter points, uses open standards, and Free Software.

Most of the software that we write is written in Python. Miro, an Internet video player, is written in Python and runs on a variety of platforms. Miro Guide and Miro LocalTV are both systems that are written in Python using Django. Miro Fullscreen is written in Python using Clutter.

Python has made it possible for a very very small group of us to tackle such a large project with very limited resources.

Earlier this week, we launched our Adopt a Line of Code, a fundraising campaign to help us fund the work we're doing. No one has ever done a fundraising campaign like this before. We think it could be a good model for other Open Source and Free Software projects to raise funds.

Take a moment to check out the Adoption Center and adopt your very own line of code! Support us in our work to make video open for everyone.

Tue, 28 Apr 2009

Jaunty packages released

I finished up a set of Miro 2.0.4 packages for Jaunty for amd64 and i386, pushed them out, and updated our download instructions page.

Two things to clarify:

  1. In the Ubuntu universe repository are Miro 2.0.3 packages, but these packages have a backported patch from Miro 2.0.4 so they're essentially equivalent to the 2.0.4 packages I just built.
  2. I put out PCF-built packages because we support Ubuntu and not because Iain and others aren't doing a fantastic job packaging Miro for Ubuntu.

I'm sorry it took so long, but I was gone most of last week, so I was a bit late to the party.

I'm currently working on getting Miro in trunk to work with Jaunty... there are a few other issues that need to be worked out still.

Instructions for installing the PCF-built Miro 2.0.4 packages are at http://www.getmiro.com/download/for-ubuntu/ .

Going forward I'll continue to build packages for Hardy, Intrepid and Jaunty. I'm no longer building packages for older versions of Ubuntu.

Thu, 16 Apr 2009

me from april 18th through 25th and a call for help

Me for the next week

I'm going on a service trip for a week to help out rebuilding and such. When I get back, I'll be spending quality time with Miro on Ubuntu Jaunty, Python 2.6 and a bunch of other support issues that have popped up and I'll be back on Miro development duty helping Ben and Luc with the changes going into Miro 2.1.

Call for help

Also, if you are technical and use Gentoo, Arch Linux, or OpenSUSE, toss me a line either in the comments below, on #miro-hackers on irc.freenode.net or by email at will.guaraldi at pculture dot org. I'd really like to get help on supporting these three systems better for Miro--I just can't do it myself.

Tue, 07 Apr 2009

db changes garner no response

I'm surprised that Ben's post didn't garner any response. I thought there was a significant number of people chomping at the bit for these db changes.

If you're one of the people that was looking forward to these changes but wasn't aware they were happening, then definitely take a look at trunk. If there are use-cases you have that you don't think are going to be handled, let us know as soon as possible.

Thu, 26 Mar 2009

notes for remote control support for mirofullscreen on linux

I spent the greater part of today adding remote control support to the Miro Fullscreen project. I thought I'd do a write up on it because there are a lot of pieces involved and it took me ages to figure it out and I'm paranoid I'll forget.

Quick caveats:

  • I'm doing this on Ubuntu Intrepid (8.10). If you want to translate this to your favorite distribution, feel free to add any notes in the comments.
  • If you're using OSX or Windows and want to know how to get things working there, I have no idea how to do it and that's not going to be covered here.
  • I used a StreamZap remote and didn't try it with other remotes.
  • This is a set of notes; it's not a good essay and I'm definitely not an expert.

Requirements

I installed three packages: lirc, python-pylirc, and gnome-lirc-properties.

sudo apt-get install lirc python-pylirc gnome-lirc-properties

LIRC

lirc has a web-site at http://lirc.org/. I had no idea what I was looking at while wandering aimlessly through that site. I think the important pages are these:

python-pylirc

The only useful site I could find for this project was at http://pylirc.mccabe.nu/. It says that Paul Hummer took over the project and moved it to http://pylirc.ironlionsoftware.com/, but that's a dead link. I found Paul's blog at http://theironlion.net/blog/. He uses tagging on his blog, but there's only one article tagged as pylirc2 at http://theironlion.net/tag/pylirc2/. I couldn't find anything useful about pylirc, the project, its status, or what's going on. Paul suggests he was going to add LIRC support to Entertainer, but it doesn't look like he ever did that.

Anyhow, so I ended up going with the documentation on http://pylirc.mccabe.nu/ and that seemed to work out ok.

gnome-lirc-properties

I don't know if I really needed gnome-lirc-properties.

The .lircrc file

So you install the three (or two--depending on whether gnome-lirc-properties is really needed) packages and you create a .lircrc file like this:

begin
    prog   = mirofullscreen
    button = MUTE 
    config = n
end
begin
    prog   = mirofullscreen
    button = VOL_UP
    config = Up 
end
begin
    prog   = mirofullscreen
    button = VOL_DOWN
    config = Down 
end
begin
    prog   = mirofullscreen
    button = UP 
    config = Up 
end
...

where prog is the string you pass to pylirc.init, button comes from the remote control lirc file and config is the string you add handling for in your application.

the Python code

The sample code at http://pylirc.mccabe.nu/?/article/articleview/Documentation/1426&themex=public gave me enough of an idea on how it worked to implement the code in Miro Fullscreen.

In closing

Hope that's useful to someone at some point.

Name Change

So... A little over a year ago, I changed my name. But I never really followed through on all the things I should have followed through on.

Today I finally got around to switching it on IRC. So I'm now willkg instead of willguaraldi.

Figured I'd mention it so there's less confusion.

Thu, 19 Feb 2009

Who's part of the team?

I saw the Our wonderful team post just now. The PCF staff is great and, but "the team" constitutes a much larger group of great people without whom the magic could never happen.

There are hackers like Uwe, Nathan, Zach, Michael and others who have sent in patches that add new features, add test cases, and fix bugs.

There are testers like Keith, Pan, Sedat, Robbt, Sumana, and dozens of others whose work directly impacts the quality of Miro.

There are bug reporters who spend their time helping us work out complex problems that result in fixes and better experiences for future users. Some of these bug reports and comments are simply awe-inspiring.

There are translators like Karl, Lukasz, and Sedat who through their efforts have done some great translation work and also fixed issues smoothing the path for other translators.

There are packagers like Uwe (Debian), Iain (Ubuntu), Christian (Ubuntu), Alex (Fedora) and others that I'm either forgetting or haven't interacted with who package Miro for other distributions, send bugs and fixes upstream to us, and help us generalize the code so that it works on as many systems as possible.

There are developers of libraries that Miro uses like Arvid who works on libtorrent, lurks on our bug system and IRC, and helps us with libtorrent issues.

There are developers and members of other projects that are actively seeking areas where we can help each other build better things like Nathan and Asheesh from Creative Commons, Gabriel Burt from Banshee, and Chris Blizzard, Aza Dotzler, and others from Mozilla.

There are thousands of users who use Miro, find and report issues, tell their friends about Miro, wax on about the importance of an open Internet and open media distribution, and give feedback that molds future versions of Miro.

There are thousands of content producers who benefit from and add to the infrastructure that we're helping to facilitate.

This massive group of people is the team. The best part is that the team is getting bigger and better every day.

Sat, 14 Feb 2009

what I use Miro for

One thing I've been meaning to write a post about was to list the things I use Miro for. There are probably other ways to do them, but that's outside the scope of this post.

  1. Keeping track of government
    President Obama's weekly address and key speeches - http://www.whitehouse.gov/rss/speeches.xml
    Metavid - http://metavid.org/wiki/

    The metavid one is really interesting. From their site:

    "Metavid is a community driven archive of legislative video from both houses of the U.S. Congress, spanning from early 2006 to the present. This archive is searchable by speaker name, spoken text, date, metadata we've scraped from outside sources and user contributions. Metavid is video wiki where users improve its accuracy by fixing transcripts and annotating speeches."
    I can subscribe to an RSS feed of anything that has to do with "Kerry" or "Kennedy". It's ultra-convenient, fascinating and a really awesome use of the all these technologies.

  2. Continuing education
    Open Courseware Consortium - http://www.ocwconsortium.org/use/use-dynamic.html
    MIT OCW - http://ocw.mit.edu/OcwWeb/web/home/home/index.htm

    Video and audio lectures and other course materials to learn subjects you didn't have time to take in college. The MIT OCW is a great site, but any of the other groups that participate in the Open Courseware Consortium are also really useful.

  3. Learning a new application
    InkScape - http://feeds.feedburner.com/Screencastersheathenxorg
    The Gimp - http://feeds2.feedburner.com/meetthegimp
    Blender - http://feeds2.feedburner.com/TheBlenderShow
    Microsoft Office on the Mac - http://mac.microsoft.com/macoffice/videos/en-us/xml/videopodcast.xml
    ...

    There are lots of podcasts out there that walk you through using specific applications to do the things you need to do. Watching how someone does something tends to be a lot easier to understand than reading about someone doing something.

  4. Learning new libraries, APIs, toolkits, whatever, ...
    Git - http://feeds.feedburner.com/Gitcasts
    CSS - http://feeds.feedburner.com/CSS-Tricks-Screencasts
    ...

    Any time I need to come up to speed on something programming related (toolkits, utilities, APIs, libraries, ...), I almost always do a Video Search on YouTube and Google Video. I go through the results and download the videos that seem relevant to what I'm doing. Often I tweak the search terms and search again. Doing this brings up tutorials, demos, presentations, tech talks, and a variety of other interesting bits. This greatly adds to what I can gather by looking through the project web-site and forums because it's distilled in a different way.

  5. Keeping up with projects, communities, conventions, meetups ...
    Ubuntu Developer Videos - http://gdata.youtube.com/feeds/api/users/ubuntudevelopers/uploads?orderby=updated
    Fedora TV - https://fedorahosted.org/releases/f/e/fedoratv/fedora-tv.xml
    BSD Conferences - http://gdata.youtube.com/feeds/api/videos?vq=bsdconferences&alt=rss
    ...

    These are useful to watch because you can see where these projects are going, who's involved, and what they're working on.

I'd love to know what other things people use Miro for. Add your uses in the comments.

Sun, 08 Feb 2009

Miro 2.0 rc3 released!

I tagged and built Miro 2.0 rc3 builds and placed them in the sticky section of the nightlies page.

Pre-release release notes are at https://develop.participatoryculture.org/trac/democracy/wiki/2.0ReleaseNotes.

Changes since rc2:

  • updated translations as of today
  • bug 11329: decimal value for movie duration is never correct in channel view
  • bug 11327: os x crash, windows error - when selecting item (non-ascii) to share
  • bug 11149: New OSX DMG Background to replace current one
  • bug 11296: 'show more' jumps back to top of list on 'Single Items' and 'New'
  • bug 11322: File "miro\feedupdate.pyc", line 67, in update_finished KeyError: 26
  • bug 11262: python 2.6 support (preliminary and untested)
  • bug 11317: os x - crash after added torrent feed then selecting channel tab.
  • bug 11354: "Global name 'time' is not defined" death on laptop
  • bug 11348: os -x - automatic update failure
  • bug 11357: list view for new tab broken
  • bug 11027: Changing default guide on windows: AttributeError: 'NoneType' object has no attribute 'url'
  • bug 11321: ValueError: I/O operation on closed file
  • bug 6179: Wrong Language (only some work done on this one)
  • bug 11360: os x r9142 - update notification is show release notes text.
  • bug 11362: Dissmising detached external playback dialog freezes Miro
  • OSX crashers and memory leaks
  • probably some other things I’m missing

The new Miro Guide will be launching very soon now. When that's released, the second browser bar you see in Miro will go away.

I've synced translations, so rc3 has the latest translations. I will sync them one more time before we do a release. If you’re a translator, we sure could use your help! See more at https://translations.launchpad.net/democracy.

We think this release candidate is release-worthy. Assuming testers don't hit any snags, there shouldn't be any changes between now and the final Miro 2.0 release. We're planning to follow Miro 2.0 with a 2.0.1 release in the near future to get the most updated translations and to fix minor issues that pop up.

To Ubuntu Hardy and Intrepid users: Some day I’ll get to learning how PPA works. When that happens, we’ll start building release candidate builds for the Ubuntu versions we support. Until then, you’ll have to download the tarball and build it yourself. If someone can spare some time to help us with this, I’d be much obliged.

Barring snags with this release candidate, we're looking at a full on Miro 2.0 release some time in the next few days. Getting really super close now!

Mon, 02 Feb 2009

Miro 2.0 rc2 released!

I tagged and built Miro 2.0 rc2 builds and placed them in the sticky section of the nightlies page.

Pre-release release notes are at https://develop.participatoryculture.org/trac/democracy/wiki/2.0ReleaseNotes.

Changes since rc1:

  • updated translations as of today
  • bug 11260: hover controls on OSX
  • bug 10552: memory leaks in Windows
  • bug 10299: re-enabled DailyMotion search (but it downloads 80x60 flv files so it still sucks)
  • bug 11269: audio visualisation still present when playing video on Windows
  • bug 11178: interface "hangs" when playing audio files
  • bug 11272: removing folders dialog didn't show information about child feeds
  • bug 11267: errors when searching on OSX
  • bug 11266: videos play on OSX after dragging a video file onto Miro
  • bug 11275, 11301: toolbar for watched folders no longer shows irrelevant functionality
  • bug 11268: fix the save resume time functionality in regards to videos that have finished playback
  • bug 11291: make sure pop in/out label is hidden/shown along with icon
  • probably some other things I'm missing

When we release Miro 2.0, we'll also be releasing a new version of the Miro Guide web-site. Amongst other things, this will remove the second browser bar that you see.

Also, prior to releasing Miro 2.0, I'll sync translations from Launchpad. If you're a translator, we sure could use your help! https://translations.launchpad.net/democracy

There are still some outstanding issues that are blocking Miro 2.0, so we're still working. You can see the existing set of bugs to fix here.

To Ubuntu Hardy and Intrepid users: Some day I'll get to learning how PPA works. When that happens, we'll start building release candidate builds for the Ubuntu versions we support. Until then, you'll have to download the tarball and build it yourself. If someone can spare some time to help us with this, I'd be much obliged.

Almost there!

Fri, 30 Jan 2009

Miro 2.0 rc1 released!

I built and posted Miro 2.0 rc1 builds in the sticky section of the nightlies page (http://pculture.org/nightlies).

We have a set of pre-release 2.0 release notes that still need updating but are pretty up-to-date at https://develop.participatoryculture.org/trac/democracy/wiki/2.0ReleaseNotes.

Please post any bugs to http://bugzilla.pculture.org/ with the version as 2.0-rc1. Please include as much information as possible. See GoodBugReports for more details.

To put this in some context, this is a HUGE release for us. We've been working hard on Miro 2.0 since May or thereabouts. It's good to get to the end of the development cycle. At the same time, there are things we're leaving on the table that we'll address in future versions.

Last call for translation help--if you're a translator and familiar with Launchpad, we could use your help! https://translations.launchpad.net/democracy.

I want to send a huge thank you for all the people who have contributed to Miro development thus far especially people I've worked with like Alex, Uwe, Keith, Pan, Robbt, Sedat, Lukasz, Arvid, Elmargol, and others.

Also, thank you to my life partner, Sadie, who has put up with me fixing bugs and doing a release candidate on my birthday.

Finally, happy birthday to me! w00t!

Mon, 26 Jan 2009

Miro needs your translation help! (update 1)

I imported translation updates today. Anything done in since the 22nd should be available in tonight's nightlies.

Since I originally posted this cry for help four days ago, twelve of the languages have been edited.

We now have four completed translations:

  • German
  • Finnish
  • Slovenian
  • Norwegian Nynorsk

Bravo!

We've got five more that are getting close:

  • Norwegian Bokmal
  • Polish
  • French
  • Swedish
  • Spanish

The rest of the languages have more than 100 untranslated strings.

If there's anything I can do to help you out, let me know. If you know anyone else that can help with translations, I sure would appreciate the help!

https://translations.launchpad.net/democracy/trunk/+pots/democracyplayer

Thu, 22 Jan 2009

Miro needs your translation help!

We've been pushing hard on Miro 2.0 development for a long time now. So far I've avoided making release date predictions, but looking at the Bugzilla queue and the rate at which we're finishing things, we're probably looking at a Miro 2.0 release in the next 3 or 4 weeks.

One thing that we desperately need help with is translation work. All translation work is done in Launchpad at https://translations.launchpad.net/democracy/trunk/+pots/democracyplayer. You can see the status of translations there, too. Right now it looks something like this:

language    # untranslated strings
--------    ----------------------
German      0 (Go German!)
Slovenian   28
Polish      39
Swedish     58
French      66

The rest of the languages have more than 100 untranslated strings.

I want to thank Lukasz, who's been working on the Polish translations, for helping an enormous amount in the last few weeks. He's identified and helped me fix a bunch of problems with the strings and also worked to make the strings easier to translate. Thank you!

If you can translate strings and/or have done Launchpad translations before, we need your help. We've got a 3 or 4 week window between now (January 22nd 2009) and a release. It's not a lot of time, but hopefully it's enough time for us all to get translations into a better state.

If you have any questions or find any problems, let me know.

parasite with miro on Linux

I saw Chip's blog entry announcing Parasite yesterday and checked it out. I had problems getting it to work with Miro, but he has since fixed the bug I was bumping into.

I think this will be a really useful tool, so I'm doing a short write up of how to use Parasite with Miro.

  1. Grab Parasite from git compile and install it. Instructions are on the Parasite web-site.
  2. When you run make install It'll install libgtkparasite.so into /usr/local/lib/gtk-2.0/modules/ .
  3. Launch Miro like this:
    LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/gtk-2.0/modules/ GTK_MODULES=parasite ./run.sh
    

That'll launch Miro with Parasite showing you the widget hierarchy and widget properties and all that.

There's a screencast on the Parasite site that shows off more things you can do.

Thu, 11 Dec 2008

new ui for rendered items

I checked in the latest ui in r8671. I've been told that a number of tweak requests are on their way, but it's looking pretty good and there weren't any major bugs.

The new ui took me a week and a half to implement. There were a bunch of complexities that made it difficult. I thought I'd talk about some of those here so people who aren't as intimate with the code can get an idea of how much work and what kind of work is involved.

First off, Miro 2.0 uses native widgets instead of HTML/CSS/Javascript for everything. The one place this isn't quite true is in the item lists where we're rendering our own widgets using a layout/cellpacking API that abstracts over a platform-dependent implementation layer. The platform-dependent implementation layer consists of two implementations: OSX (cocoa, pyobjc, ...) and GTK (pygtk, pango, ...). The abstraction layer is very similar in style to the GTK side of things. Ben wrote most of this as we needed it a few months ago.

The first problem I had was that I wasn't familiar with the platform-independent layout/cellpacking API we had.

The second is that there are a bunch of variations on the theme. Depending on what the context is, the item gets rendered differently. In playlists, items have a "Remove from playlist" button, but in channels, the item has a "delete" button.

Additionally, items have two display modes: with details and without details. The without details mode is the easiest to render since it's just a bunch of packed things and the resizing handling is easy to deal with. The with details mode is really difficult because we want to show the entire title and description for the item but the cells these bits are in expand as the window is resized. We get into this chicken-and-egg problem where we need to lay things out, but in order to lay things out we need to know the size of the space we're laying things out in, but in order to know the size we need to lay things out....

On top of that, items are either selected or not selected--both of which look different.

The other set of problems I ran into were theming issues. The rendering code tries to "look" like the platform it's running on: the OSX buttons look different than the GTK buttons; OSX uses Finder but Windows uses Explorer and the text needs to reflect that; ...

All of this makes for very complex implementation code. Structuring that as I figured things out was difficult to do well and the result isn't great structure-wise. Ben's already done a pass at fixing the resizing issues which resulted in some structure fixes. It's likely that other things will get fixed and massaged over the next week or so.

The end result of all this work is that we went from this:

to this:

Mon, 03 Nov 2008

intrepid, miro 2.0 status, et al

First off, I put together a set of amd64 packages for Ubuntu Intrepid--they're in our repository now.

Second, I want to point out that after working and playing with what will become Miro 2.0, it's really hard to go back and develop on and play with the Miro 1.2 series. We've done a lot of work on the Miro codebase improving it, refactoring it, adding unit tests, re-writing the user interface, fixing behavior, and adding new features (detached playback ftw!).

We still have a handful of things that Miro 1.2.8 did that Miro 2.0 doesn't do yet, but the list gets shorter every week. We also have a bunch of bugs that need to be looked at and worked on and some polish that needs to happen.

You can see the list of things we're working on here. It's loosely prioritized--we're spending more time trying to get things tested and fixed than we are in mothering over the bug data. There are 85 bugs in the queue of things to do. To put that in some perspective, we've fixed over 350 bugs so far.

I want to thank Jason who interned with us over the summer. It was great to work with him and his contributions to the Miro project were really helpful. Also, he was instrumental in making the Miro monster. I hope they put it up on Etsy or some other online shop because they're awesome!

I want to thank Pan, Davide, Bill, Markus, and Sedat for their work testing Miro over the last couple of months. Their efforts are invaluable and very much appreciated.

Fri, 24 Oct 2008

chris

Earlier today or yesterday (time goes so fast these days I can't remember when I did what), I added Chris' blog to the planet.

He's been contributing to Miro development for a while now and I mentioned him in a previous post. It's good to have him on the team in a more permanent fashion.

detached playback

Luc landed detached playback a little over a week ago in r8282 (and a bunch of checkins before that).

The interface for it is a little rough and might change a bit over the next few weeks. It's something a lot of people have mentioned they wanted--David Ascher gave me a stern talking to about it at OSCON 2008. It's going to be a kick-ass Miro 2.0 feature.

I need to spend some time to get it working fully on Linux and Windows, but most of the code is there now and it works pretty well on OSX. w00t!

Sat, 27 Sep 2008

your youtube four

I like passively watching memes but not participating because I'm not into getting-to-know you blog posts. But... Chris has a "youtube four meme" that's amusing.

I only have two that come up. I don't visit Youtube often.

  1. Open your fancy Firefox 3 browser.
  2. Click on the awesomebar and type in ‘youtube’.
  3. Post the first four videos that come up.

Sat, 06 Sep 2008

Long strings in Python

In Miro, we've got long strings that are displayed in the user interface. I think the code that defines these strings is messy and hard to parse. For example:

def some_func():
    description = _("""\
This is a really long description that has multiple sentences and a few \
things that need to %(getfilledin)s and it goes on and on and on and on \
and I'm not really sure what's the best way to format it so that it's happy \
in editors and easier to parse.""") % {"getfilledin": blahblah}

PEP-8 doesn't address this, which is fine. I was curious to see what other projects do.

Thu, 04 Sep 2008

status (6 or something)

I haven't written much in the last couple of weeks because I was on vacation. On the first day of vacation, I went to the beach and got knocked over by a wave, somersaulted for a while, jammed my shoulder somehow, skinned my knee, and finally came up for air. I said, "Screw this!" and went back to my beach chair where I sat around, bled, whined about how my shoulder hurt and ended up with a serious sunburn. I spent the next few days indoors--vacation is dangerous.

In the last couple of weeks, I threw together a preferences panel and a channel settings dialog which, while mostly functional, are "putrid looking". Luc is going to spend some time fixing that. Ben spent time re-implementing itemlists and allowing for channel searches, saving channel searches, and some other things. We've been tweaking the widgets to make them more functional and pretty.

We still have a lot of other ui stuff that still needs fixing and tweaking. The dialogs that you sometimes see at startup when things are awry need reimplementing. The sort bars need to be reimplemented. There are some other tawdry odds and ends that also need to be redone. Generally, things are coming together and most of the big features are in, but there's a bunch of work that still needs to happen.

This morning, we talked about where we want to draw the line and encourage people to start testing the nightlies again. We haven't thus far because the laundry list of things that weren't working was pretty long. Janet thinks it's probably a good idea until most of her litmus tests pass. Otherwise you'll all be wasting your time finding things we already know about.

However, I think if you're interested in testing out Miro 2.0, we've hit a point where it's stable enough to use. I think we're at what other projects would deem an Alpha 2 state.

Definitely take the time to back up your database BEFORE you try testing a nightly.

We've got a laundry list of issues targeted for 2.0. If you encounter problems with a nightly, let us know. We hang out on #miro-hackers on freenode and on the develop mailing list, too.

If you're interested in helping out, we sure could use the help: testing, translating, triaging existing bugs, writing patches, drawing a fancy 20 page comic describing how great Miro 2.0 is going to be, ....

everything i know i learned from bugzilla

I did some bug triage today and then went through and fixed some old bug data (apologies to everyone for the bug spam). A couple of interesting things came out of that.

First off, it's interesting to note that 2.0 so far has 163 bugs marked as FIXED. That's more than any version of Miro since 0.9.5. Hard to know what happened before that because we have inadequate bug data. Go team!

Second, there are a total of 877 open bugs right now. 323 of those are targeted as Wishlist items. We've been around the 850 mark since September with a big bump between December and February in the 1000 range. I think that means generally speaking that we're keeping up with bugs which is good.

Third, it's pretty clear that the widget overhaul will clear out a lot of older bugs. Partially because we're ditching the HTML interface and the issues that caused, but also because we're re-implementing a lot of stuff and in doing that, fixing issues in the process.

Miro 2.0 is going to rock your socks!

Fri, 15 Aug 2008

my miro subscriptions

Here's the list of channels I'm currently subscribed to with Miro:

Subscribe to them all!

Miro Video Player

status (5)

Progress went well this week. We've been working on the missing functionality, fixing bugs, removing dead code, cleaning up existing code, and generally progressing on Miro 2.0 development.

Last week, I wrote up the list of must-have features before Miro is ready for testing. We finished the following items:

  • diagnostics dialog.
  • open_file needs to be implemented in the OSX Application class for "show" and other things to work.
  • fullscreen playback
  • hook up volume control to playback renderer
  • Make playback take over the whole window on GTK
  • search tab
  • show/hide details - needs to be fixed on OSX
  • download tab: pause all, resume all
  • download tab: Top bar display, download / upload rate

And fixed a bunch of bugs. Ben did some optimization work on OSX, too. Some of those are new items added to the list in the last week. Some of them are smaller chunks of existing items.

We have the following list of things to do still:

  • Preference window
  • Chrome Search
  • within channel search and save
  • ff / rw / seeking
  • download tab: External Downloads section in main view
  • show/hide details - Needs seeders and leechers info for torrents
  • Channel Settings
  • overlay playback controls on OSX (including fullscreen button)

You can follow the progress on the timeline.

Fri, 08 Aug 2008

status trunk (4)

Things are progressing. I landed the last of the menu handling changes, Ben did a bunch of Mac OSX tweaks and Windows tweaks, there's been work on playing videos, Ben re-worked how we deal with resizing thumbnails so it no longer uses imagemagick and no longer generates lots of files in the icon-cache, and there have been a lot of bug fixes as well.

On Tuesday, a bunch of us got together in Worcester for the Miro Summit and worked out some things including the plan going forward. From that discussion, Nick wrote up a list of must-have features that need to be re-implemented before we want to get functional testing going. This list is likely to change, but here it is generally speaking:

  • Preference window
  • Chrome Search
  • search tab
  • within channel search and save
  • search all for search engines
  • fullscreen playback
  • ff / rw / seeking
  • hook up volume control to playback renderer
  • download tab: Pause all, resume all, cancel all -- Top bar display, download / upload rate -- External Downloads section in main view
  • channel details view

From that list, Chris Webber is working on a patch for channel details view which I think is close to done. I think I'm going to tackle Preferences next. I'm not sure what other items are spoken for. I'm also not sure how much time it will take to tackle all of these--maybe a month?

That brings me to my next two points:

First, I know it's taking us a long time to get things done, but it'd be faster if we/I didn't have to answer issues along the lines of "are you done yet?" and "i tested xyz nightly and the following things don't work...".

I really appreciate the fact that you all are eager to help out with Miro development and I really apologize for the frustration that comes with not being able to do anything and having to wait around for a while. We're working as hard as we can, but it's just going to take time. I'm in this weird position where I want to maximize the time I'm spending doing the work and minimize the time I'm spending talking about it and managing it, but I don't want to leave you in the dark about where we are. It's a tough thing to balance especially where I'm trying to minimize the time I spend thinking about balancing. ;)

Oddly, I bumped into this post on 43 Folders which I think is pretty relevant here.

The second thing is that we've had a lot of help from Chris Webber over the last few months. He's been working in his spare time to come up to speed with the new widget code and help re-implement functionality. His efforts are fantastic, the quality of his work is solid, and he's absolutely making a big dent in our ability to finish the work faster. You can see the efforts of his work here--I refer to him in the checkin comments as "Chris", "Christopher" and "Chris Webber". Thank you Chris!

That's it for this update!

Wed, 30 Jul 2008

status of trunk (3)

I apologize for skipping last week's status of trunk.

Trunk is still unstable. I consider "trunk is stable" to mean that most things are re-implemented and it's usable. We're not quite there yet. I'm seeing occasional crashers (most of them my fault so far), there are a bunch of features that haven't been re-implemented (site search, channel search, playing through a playlist, setting preferences, ...), and there's still ui nits that need ironing out.

We're moving along, though it seems as if the progress comes in waves during the week. I think part of this is that we're all using git over svn and batching commits. I know I am.

I was gone all last week at OSCON, but I'm back again to help out with the push to Miro 2.0.

You can follow along in your story book with the Trac timeline.

ogg ogg ogg ogg ogg!

This is awesome news! Hooray for Mozilla!

I eagerly look forward to the many, many things Mozilla is enabling us to do.

Play OGG!

Edit: Another blog entry espousing the goodness of OGG support in Firefox!

Mon, 28 Jul 2008

Status 07/28/2008

I was at OSCON last week and met many people some of whom I've known for several years (Ted, Steve, ...). I also met a bunch of people who I've followed for many years and some people I've worked with when doing the Firefox 3 work I did. It was really exciting to be there. I didn't attend any keynotes or sessions, but the conversations I had were well worth trekking all the way to Portland, OR and back. I also got to spend a week with my sister who lives in Portland.

On the flight there and back, I worked on PyBlosxom. I mostly concentrated getting better acquainted with nose and using nose and coverage to help guide my testing efforts. The results were phenomenal. I increased the test count from 53 or so to 207, I increased coverage from some low number to 57% and I discovered and fixed a bunch of bugs. Because I switched to git over svn, I was able to commit locally and manage the work I was doing. All very exciting.

Miro is coming along very nicely. We took the plunge to ditch the previous frontend for a new one that has fewer layers of indirection. The results so far are encouraging--I think it was absolutely the right thing to do. Incidentally, I blogged about OSCON on my Miro devblog.

In the last few months, I've thrown together several web-sites using werkzeug, sqlalchemy, and mako. I really like this stack since it doesn't involve a lot of infrastructure and the number of files and "things" involved is pretty small. I think this is going to be my preferred stack for webapps going forward.

Just before OSCON, I signed up with identi.ca. It's my first micro-blogging account. Mostly I wanted to see what micro-blogging was like and follow other OSCON attendees. OSCON had a _lot_ of back-channel conversations going on.

Just before signing up for an identi.ca account, I met Jack, who lives around the corner from where I live. I wish I had made the effort to contact him years ago.

I think that's about it. It's been an interesting few months.

Fri, 25 Jul 2008

OSCON: Thursday

It was a really great day today. Talked with Songbird and Thunderbird people about our projects in relation to contributors and outside contributions.

There's a lot of interest in a plugin system for Miro--it's definitely on my list of things to work on in the near future. There's also a lot of interest in a user interface that's tv-friendly. That's something I think about a lot, but it's not something in my immediate queue.

I talked to Dave Camp on the work he's doing on the new embedding API for Gecko--it sounds pretty cool.

Met a lot of happy Miro users. There are a lot of people out there rooting us on which is very exciting. :)

That's the end of OSCON for me. I'm going to spend Friday hanging out with my sister and then I fly back on Saturday. It's a pretty incredible conference all things considered. Met a lot of great people doing a lot of really fantastic work. It's very inspiring. :)

Thu, 24 Jul 2008

OSCON: Wednesday

I spent the day in the Mozilla booth in the Expo hall. I talked to 30 or 40 people, I think--after lunch it was kind of a blur; after dinner it was definitely a blur since the expo hall was serving free beer (or "free beer as in beer" as I said a couple of times which I thought was pretty funny, but went over like a lead balloon). There are a lot of Miro users at OSCON, a handful of people who have never heard of it, one or two people that thought it was still named Democracy Player, and I met Michael Frank who contributed code to Miro at some point before I was with the project!

I also talked with a lot of Mozilla people who came and went over the course of the day. Listening to Ben and Taras talk about static code analysis was really exciting. I talked to Stephen, Peter and Rob from Songbird. We spent some time talking about where Songbird and Miro overlap and what kinds of things we can work together on. The immediate result of this is that I'm going to start hanging out on their IRC channel and probably start looking over their code base. Additionally, Peter is working on a system of identifying media from RSS/Atom data. I'm hoping to help out since this is a problem Miro has, too, for some feeds.

I also go to see Asheesh and Nathan from Creative Commons and we had time to catch up on life and projects.

I went to the BoF session on addons for XUL-based applications. We talked about pain points in the extension-development process. Overall it was really educational both from the standpoint of how to write XUL-based application extensions as well as what kinds of things we need to focus on when we create a Miro plugin system. Songbird has an extension system--we should definitely look at what they've done given that they're very close to us in application space. I also went to the BoF session on the static analysis project Ben and Taras are working on. Less because it's applicable to anything I'm probably ever going to do, but more because it's just mind-bogglingly interesting. They call it Dehydra.

That's it for today. Tomorrow should be interesting, too.

Wed, 23 Jul 2008

OSCON: Tuesday

I went to the convention center to check in today and run some errands. I have an Expo pass, so I'm not able to go to the tutorials, sessions, keynotes or some of the other things that were happening Monday and Tuesday. Even so, there seems to be plenty to do.

Amongst other things, I talked to someone about his Eee PC, I did some Miro hacking, I drew a Charlie Brown stripe on my laptop cover (it came out awesome!), I talked to iSneeze on IRC about plugins (I need to write up a post about plugins), and I discovered that there are 5 Starbucks locations on the 8-block walk from the convention center to one of the nearby Kinkos locations.

I was going to help Jay with the Mozilla booth setup, but they finished before I got in contact with them. Instead, I went to the FSF Portland Pizza Party which was really great. I talked with Mako and Asheesh both of whom I've known for many years from PyBlosxom. I also met Karen and Aaron from the SFLC and Deborah and Joshua from the FSF. I also met Gerv from Mozilla, too. And John Eckerman and a man named Charlie and a man whose name I think was Craig.

Everyone I talked to fell into one of two groups:

  1. Either hadn't heard of Miro or had, but didn't use it
  2. Avid user of Miro
I didn't meet anyone who had heard of Miro and didn't like it. It sounds like people are happy with Miro and look forward to the future of Internet video with open standards without gatekeepers that we envision. Also, several people mentioned that the content on the Channel Guide just keeps getting better.

While at the FSF pizza party, I became an associate member. The work that they're doing is really beneficial to us all. They're pushing for open media standards adoption, pushing for fixing the patent system in regards to software, fighting against DRM, and a variety of other causes. It's important work that needs to be done for video on the Internet to be open to everyone.

I'll be spending the next two days in the Mozilla booth. If you're at OSCON, drop by and say hi!

Thu, 17 Jul 2008

Me at OSCON 2008

I'm heading to Portland, OR for OSCON 2008 to help man the Mozilla booth at the Expo. I registered as an Expo attendee, but I'll be there (or near there) from the 19th through the 26th.

My primary purpose there is as a representative for Miro and talking to people about it. However, I'm also interested in meeting up with people working on:

  • PyBlosxom things
  • Miro and video podcasting things
  • Python 2.6/3.0 testing, documentation, bug-fixing, ... things

If you're interested, too, ping me. I'm hanging out on the #oscon channel on irc.freenode.net and you can always get me by email or comments below.

Sun, 13 Jul 2008

Miro at OSCON 2008

I'm heading to OSCON 2008 and will be hanging out in the Mozilla booth talking about Miro things, Mozilla things, happy things, and whatever other things.

When I'm not hanging in the Mozilla booth, I'm hoping to be doing some Miro hacking (and possibly some PyBlosxom hacking--we shall see).

I'll be wearing Miro and Miro-related t-shirts until I run out. Then I'll be wearing other things.

If you're planning to be at OSCON, stop by the Mozilla booth and talk to me about things you like, things you dislike, and favorite channels. I'm also very interested in helping people learn how to help out.

status of trunk (2)

First off, sorry that this status update is so late--I was side tracked on Wednesday and then the status slipped my mind.

In the last week and a half, there's been a lot of progress in trunk. While we haven't re-implemented everything yet, we're doing pretty well.

You can follow along in your story book with the Trac timeline.

I really appreciate your patience. I think we've got another few days to a week before testing builds is useful where "useful" is defined as "you'll start having a good chance of catching things we don't already know about".

Sat, 12 Jul 2008

anniversary

On a side note, one year ago (i.e. the 12th of July, 2007), I started working at PCF. It's been a really exciting year! Whee!

Thu, 03 Jul 2008

fast and loose cloc stats for Miro

Following Paul's lead, here are some cloc stats for Miro in trunk:

willg@mercury:~/pcf/miro/trunk/tv$ perl /home/willg/Desktop/cloc.pl .
    3468 text files.
classified 3457 files
    1644 unique files.
    2763 files ignored.

http://cloc.sourceforge.net v 1.04  T=20.0 s (35.2 files/s, 9438.1 lines/s)
-------------------------------------------------------------------------------
Language          files     blank   comment      code    scale   3rd gen. equiv
-------------------------------------------------------------------------------
Python              286      9689     10059     53376 x   4.20 =      224179.20
C/C++ Header        265      7941     14412     31565 x   1.00 =       31565.00
C++                  83      5474      4591     27832 x   1.51 =       42026.32
C                     9      1159       889     13119 x   0.77 =       10101.63
Javascript           17       420       557      2699 x   1.48 =        3994.52
CSS                  11       391       476      2451 x   1.00 =        2451.00
IDL                   7        18         0       486 x   3.80 =        1846.80
XML                  13         2         3       275 x   1.90 =         522.50
Bourne Shell          8       136       319       248 x   3.81 =         944.88
make                  1         7         0        94 x   2.50 =         235.00
HTML                  4         2         2        67 x   1.90 =         127.30
DTD                   1         0         0         3 x   1.90 =           5.70
-------------------------------------------------------------------------------
SUM:                705     25239     31308    132215 x   2.41 =      317999.85
-------------------------------------------------------------------------------

status of trunk

Over the last week I've been coming up to speed on the architectural changes that occurred when Ben landed the new widget code. I've also been hooking up menu items to their respective behavior and fixing bugs on the Linux and Windows platforms. In many cases, I've been re-implementing the behavior using the new messaging system which has required me to read through the "old" code and figure out what the behavior used to be. Progress was slow at the beginning, but is picking up now.

You can see checkins progress in the Trac timeline.

There's still a lot of work to do to get things working again, but things are progressing.

So, why all the trouble? Why not just leave it as is? Off the top of my head:

  1. Miro's UI is no longer rendered using HTML templates. w00t!
  2. It looks like overall memory usage is lower by around 20%.
  3. Memory usage of Miro when displaying feeds with lots of items scales much better.
  4. Miro's faster at displaying feeds with lots of items (where "lots" is defined as > 50).
  5. Miro on Windows is no longer a XULRunner application; instead we're embedding XULRunner for web-browsing. XULRunner is a great platform, but this change makes Miro a Python application on OSX, Linux and Windows and we can unify our toolset. That's a huge win for us and reduces the amount of work it takes to maintain all three platforms.
Regarding the performance gains, I'm seeing those on Windows and Linux, but I definitely haven't spent a lot of time doing rigorous measurements. Treat them as if they were wild unsubstantiated rumor. I haven't used Miro on Mac OSX enough to notice anything there, yet.

Getting there...!

Mon, 23 Jun 2008

trunk about to be _very_ broken

Just as a word of warning, if all goes well, Ben will be merging into trunk what he and others have been working on over the last few months in the next day or so. When that happens, trunk will become very broken and will remain that way for possibly a week as folks work on stabilizing the new user interface code and reimplementing a bunch of features... silly things like being able to play videos.

If you're tracking trunk or using nightlies, you should seriously consider waiting a week to update.

You might ask, "Gah! What a bunch of idiots! Why are they doing this?!" The answer is that the widget overhaul is very badly needed and it'll fix one of several big performance issues that Miro currently has. It's a big change and it'll cause a big mess for a short while, but it's going to make a big big big difference.

In order to do this quickly, we'll be focusing pretty hard on getting trunk working again for a while. My apologies if any of us seem like we're dropping off the face of the earth or ignoring questions, concerns, ...

Thu, 19 Jun 2008

at FUDCON 10 -- come meet me!

I'm at FUDCON10 right now (Thursday, 6/19/2008). I'm interested in meeting people here and talking about Miro and Fedora TV. If you're here, come find me. I'm currently hanging out in the main FUDCON room in the corner all by myself. ;)

Wed, 18 Jun 2008

review flag; contributing patches

We've had a few people contributing patches for the Miro codebase. I decided it was time to add a review flag like Mozilla has in their Bugzilla instance. This makes it easier for us to keep track of attachments that are waiting on reviews.

As such, I added a "review" flag to our Bugzilla instance for attachments.

I thought I'd talk a little bit about contributing patches.

Guess what? You're a happy Miro user except for one little thing that really annoys you. You head on up to the Miro Bugzilla bug-tracker to see if this is a bug/feature that someone else has reported already. Wow--turns out it has been reported. Not only that, but there's been some analysis done and some speculation as to a good attack vector for fixing the problem.

So you roll up your sleeves, add a comment on the bug stating you're going to work on it, set yourself as "assigned", dust off your favorite editor, skim through the Miro development wiki for the svn repository information and build instructions, and get to work.

A few hours later you've got it working on your machine. You run:

svn diff > bugid.patch
to generate a .patch file containing the changes you've made. You visit the bug in the Miro Bugzilla bug-tracker, find the bug you were working on, and click on "add attachment". You'll see the following screen: “Add attachment” page Deftly, you upload the patch, click on the "patch" checkbox, select "?" from the Review flag dropdown and type in will.guaraldi@pculture.org in the Requestee box. Then you press the "submit" button! Will (that's me) gets an email stating that there's an attachment waiting for review. I add it to my queue of things to look into. If it's not something I know anything about, I'll find someone else who can look at it. Then someone will add a comment to the bug reviewing the patch and ... the rest is iterations on that. If you're interested in helping out, we've been tagging bugs that we think are good for people new to the codebase as "bitesized". You can see a list of them here.

Wed, 04 Jun 2008

June 3rd chat -- follow-up and some more answers

I was the Q&A person for the June 3rd chat yesterday and I thought I'd post some follow-up and answer some of the questions we didn't get to.

Follow-up

First off, I thought the chat went well and it was neat to talk to a bunch of people I'd probably never talked to before. It seems that the predominant theme was "when are features landing?" and "what's coming up?" It's a little hard to answer those questions because I've been pretty focused on the next release that I haven't been involved in planning beyond that.

Now to answer some questions that we didn't have time for.

How long have you worked for PCF? What did you do before Miro?

I've been working at PCF since August 2007. This is in many ways my dream job with my only issue being that I wished I either earned a bit more money or had a lower cost of living. Other than that, I'm doing what I love doing, I get to hang out with some really great people, and the stuff we're working on is really important to me.

I'm going to assume "What did you do before Miro?" means "What did you do before working at PCF?" Prior to PCF, I spent 2 years getting a Masters at Northeastern University CCIS in programming language design/theory and software engineering. Prior to that, I worked in the financial services industry at ByAllAccounts, I worked as a contractor for Tallan at Ingram Micro on their international web-site system, and various other software developer positions before that. I've been programming for probably 20 years now in various forms, but this is my first FOSS job and the first job where I've worked with XULRunner and GNU/Linux-stack components like Gtk+, GStreamer, Xine, Glade, DBus, Glib, GObject, ... It's been great!

shoestring: Video metadata: any plans to see miro actually writing it to the files/being able to edit it?

We've talked about making ui changes to allow for changing "metadata" of content, specifically name, filename, tags, ... It hasn't happened yet, though. I think it's one of many things waiting for the great widget overhaul.

Miro can export feed information to OPML format, but this doesn't include metadata about content. I don't know offhand if there are plans to add that or not. There are plans on building an API to allow programs like MythTV and Elisa and other systems like that access to Miro data. That hasn't happened yet, either. In this case, I think it just needs someone to work on it.

Evan: Is it possible to install miro without bittorrent? I know this question is weird, but in some (many?) companies bittorrent is banned ... yet the company is ok with limited internet video usage.

We don't have builds that don't have bittorrent in them. It would take some work to decouple Miro from libtorrent and/or disable it and then it sounds like we'd have to provide a separate set of libtorrent-less builds. I don't think that's a bad idea, but I don't think it's going to happen without a champion who can do the work.

will: (seed question) What do you do when you're not working on Miro-related things?

A little silly answering my own seed questions, but ... so it goes.

Lately all I've been doing is Miro-related things. We're pushing really hard on the next release. We're really excited about it and we think it's another big milestone in Miro's life.

This year, I'm a backup admin for GSoC for the PSF thought I haven't actually had to do much (yet).

I've been trying to finish up work on version 2.0 of PyBlosxom for the last 6 months but haven't found time and energy to get there. I've been able to make some progress, but it seems to be on a permanent back-seat.

I'd really like to help Mozilla on their embedding efforts. I'd also really like to get more involved in gstreamer, Python 3000 and a bunch of other projects.

Epilogue

I think that's about it. Given that the chat went pretty well all things considered, there will probably be another one in the future and probably more after that.

Thu, 22 May 2008

Miro hackfest in Boston

I live in Somerville, MA, USA and I'd like to organize a Miro hackfest in or near Boston. Possible topics for that hackfest include:

  • cleaning up and improving the gtkx11 platform interface, gstreamer/xine use, ...
  • working on bitesized bugs and working on unittests
  • hacking together an interface for Elisa or MythTV
  • testing out the fledgling Mozilla embedded API with the gtkx11 interface
  • sorting out packaging issues
  • other things?
I was thinking we'd do the hackfest sometime in June. Possibly as part of FUDCon10 or in the vicinity.

If you're interested and/or have ideas, find me on IRC, email me, comment below, or send me telepathic messages of hope.

Sat, 17 May 2008

gstreamer gconfvideosink sink, unittests, new ui stuff

  • (r6949, bug 9908) gstreamer renderer uses gconfvideosink now--much better video output
  • (lots of revisions) new user interface
  • (lots of revisions) Windows ui looks and acts like Mac OSX ui
  • (bunch of revisions) all unit tests pass
Am I missing anything? Let me know in the comments.

firefox 3 and enclosures (recap)

Back in December and January, I worked on some patches for Firefox 3 that enhanced the feed preview page. I wrote a post about it back then... but I'm updating that post with recent screenshots and a better description of the work. The previous post was mostly about how great FOSS is.

The patches fell into two big features. First, I added enclosure detection to the FeedProcessor and then modified FeedWriter to show enclosures alongside the entries. This has two huge benefits: it allows you to easily tell if the feed has enclosures and it allows you to see what they are, how big, what type of media, ...

Second, I modified Firefox so that it allows you to associate video podcasts with an application, audio podcasts with another application, and all other kinds of feeds with a third application. The benefit here is that you can send media podcasts to an application that handles that well (*cough*Miro*cough*) and regular news feeds to a different application that handles that well.

Screenshot of Firefox 2 feed preview page:

Firefox 2 feed preview page

Screenshot of Firefox 3 feed preview page:

Firefox 3b5 feed preview page

Of the two features, I hear the most comments about the first one mostly along the lines of, "I'm so glad I don't have to view source to see the enclosures anymore!" The second feature isn't as immediately exciting. The implementation of distinguishing feeds is intentionally simple and there are a lot of corner cases where it doesn't work very well. Also, there aren't many applications that can really take advantage of it. I expect this second feature to flourish as Firefox development continues and video/audio podcasting evolves.

Sun, 27 Apr 2008

Hardy packages

I updated my AMD64 machine to Hardy today and built a set of Miro 1.2.3 packages for Hardy AMD64. Going forward, I'll continue to build packages for Gutsy and Hardy for both i386 and AMD64 platforms.

Miro 1.2.3 is the last release I'll be doing packages for Dapper and Feisty.

If someone could help out by maintaining and testing packages for those two platforms and any others that we don't cover, that'd be really great. Let me know in the comments, by email, or on IRC.

Sat, 26 Apr 2008

Miro and GStreamer on gtkx11

GStreamer has a lot of momentum behind it now and a lot of work has gone into it over the last year and it's really paying off. As such, Miro 1.5 (the next version) will be the first version of Miro which defaults to the GStreamer renderer instead of the xine renderer. I'm excited about this change and in the future we'll be able to drop support for xine which is one less complexity to deal with.

If you're using the GStreamer renderer in Miro with either trunk or Miro 1.2.3 and discover any problems, let me know. It helps to write up a bug, but if you're loathe to do that, comment here. Make sure you test with totem-gstreamer or some other GStreamer movie player as well and report those results--that helps us determine whether the problem lies with Miro or possibly elsewhere.

There are probably going to be a few rough edges in the switch and I could use any help I can get with them.

Wed, 23 Apr 2008

Miro 1.2.3 released

Miro 1.2.3 was supposed to be a minor bug-fix release which also had xulrunner 1.9 support for gtkx11. But then vlc 0.8.6f came out and we updated our Windows build to use that. But then we found a bunch of problems and many of those got fixed. But then I decided I might as well tackle support for YouTube's mp4 versions. But then... but then... but then... two weeks and a lot of work from a lot of people later and we finally got Miro 1.2.3 out the door.

This is the first release I've built Ubuntu Hardy packages for. That's cool--a lot of work went into that.

This is the last release I'll be building Ubuntu Dapper and Feisty packages for. If there are still Dapper and Feisty users out there (and I'm sure there are), hopefully a champion will arise from your midst and set up a PPA to support you.

I really want to thank Markus, Uwe, Janet, Ben, Chris, Luc, Paul, Dean, Sedat, all the other people who hang out on #miro-hackers, the bug reporters, the testers, the translators and everyone else involved in the last three weeks of work flurry that resulted in Miro 1.2.3.

Having said that, there were a bunch of bugs that were discovered and triaged to the next release. I wasn't able to get a Fedora 9 virtual machine working in VirtualBox and wasn't able to help them out with their Miro packaging problems. I also wasn't able to spend time with my Debian Lenny virtual machine and help Uwe with his packaging.

In summary, there was a lot of stuff that was done which is great and a bunch of stuff left on the floor until the next version which is a bummer.

Onwards to the next release....

Sat, 19 Apr 2008

Hardy tips for resolution fixing when using it in a VirtualBox vm

I'm trying to get Ubuntu Hardy support for Miro. I installed Hardy Beta 1 in a virtual machine with VirtualBox. The install went fine. I had problems fixing the resolution, though.

Hardy starts off with an 800x600 resolution which is too small to run Miro. To fix it, you have to:

  1. run sudo displayconfig-gtk from a terminal
  2. click on the dropdown for models and choose LCD Panel 1024x768
  3. click on the Test button to make sure it works
  4. click on the OK button to apply that one change
  5. log off
  6. log on again

DON'T change the monitor AND the resolution of the screen at the same time. If you do that, you see no errors, no changes get made, and you'll spend a while scratching your head wondering what happened.

If all went well, you should see the resolution you were looking for.

Note that since Ubuntu Hardy is beta software, this could all change tomorrow.

Updated: 4/19/2008 - It looks like they took displayconfig-gtk out of the menus in the Hardy release candidate so I updated the instructions above.

Tue, 15 Apr 2008

Miro 1.2.3 rc0 released!

Did a release of Miro 1.2.3 rc0 today. This fixes some problems with Miro on Windows, adds xulrunner 1.9 support for gtkx11, works on Hardy (with Hardy packages, too), fixes a problem with external torrents disappearing, and other things as well. I also did another translation sync today, so it's got the most up-to-date translations available.

The release candidate is available at http://pculture.org/nightlies/.

Hardy packages available in our Hardy repository. Details at http://getmiro.com/download/ubuntu.php.

Sun, 06 Apr 2008

Miro 1.2.3 plans, hardy support, bug fixes, et al

I'm hoping to do a Miro 1.2.3 release in the next 7 days or so. This release will include support for xulrunner 1.9 on gtkx11, support for Ubuntu Hardy, updated translations, vlc 0.8.6f, and a bunch of bug fixes for bugs found in Miro 1.2.2 and previous releases including some more "Miro crashes on startup" type issues.

There are three things you can do to help:

  1. help with translating Miro into languages you know -- see https://translations.launchpad.net/democracy/trunk/+pots/democracyplayer
  2. testing Hardy packages -- see http://getmiro.com/download/ubuntu.php for the repository
  3. send encouraging words and positive energy
Also, we'll definitely need help testing the Miro 1.2.3 rc0 build which will be out in a few days--hopefully before Thursday.

I'll be on #miro-hackers on irc.freenode.net. Also, if you have problems, submit a bug report at bugzilla.pculture.org or find someone to do it for you on #miro or the forums.

Wed, 02 Apr 2008

call for translations for upcoming Miro 1.2.3

I uploaded a new .pot to Launchpad just now (first time for me!).

If you're a translator for the Miro application, please take a look at the languages you translate for and update them accordingly.

We're planning to do a Miro 1.2.3 release in a week or so. The changes since Miro 1.2 are minimal, so this allows existing translations to improve for the 1.2.3 release.

Thu, 27 Mar 2008

user interface overhaul, u3, hardy support

What landed in trunk recently?

  • (r6564, bug 9692) initial round of hardy support -- this is ongoing; help is more than welcome
  • (r6637) u3 support for the windows-xul platform
  • (lots of revisions) user interface overhaul -- this covers a lot of revisions and is ongoing work

Am I missing anything? Let me know in the comments.

what's in trunk?

I'm starting a new category of my devblog where I'll mention what's just landed in trunk. This does two things:

  1. it forces me to keep track of what's landing in trunk
  2. it's an easier to digest view of things than Trac timeline of svn
  3. it'll let people know what's in the pipe
  4. it gives people who are tracking trunk a vague idea of stability levels
I'll start blogging interesting things landing in trunk with their revision numbers and probably break it down into bug fixes, enhancements, and misc stuff.

Any thoughts, suggestions, et al--toss them in the comments.

Wed, 26 Mar 2008

bitesized

If you're eager to help Miro with code contributions, but don't know where to start, take a look at bugs marked with the bitesized keyword in Bugzilla.

You can see a list of them here.

gtkx11 platform and xulrunner 1.9 status

I merged the changes into the Miro-1.2 branch and cut a tarball. You can get the tarball at http://pculture.org/nightlies/Miro-1.2.2-test.tar.gz.

This code needs testing from distributions that are only using xulrunner 1.9. It "works for me" with Ubuntu Hardy Beta 1 today (but didn't work yesterday) and it works with Ubuntu Gutsy (where it compiles against Firefox). I haven't tested it on other distributions.

For the most part, I fixed things that were obvious compile/runtime issues. I didn't delve into the API differences between xulrunner 1.8 and 1.9 and fix deprecation problems and things of that nature. The changes I made are mediocre, but they seem to work for me. They're loosely based on changes in the Ubuntu packages. I talked about that in a previous blog entry.

I need help testing this with other distributions. I also need help making sure that no other changes are required. Reply in the comments below, toss a comment in bug 9692, ping me on IRC, and/or send me an email to my pculture.org email address.

The more help and the more eyes we get, the more likely that the code will work where you need it to work.

If no one helps out, then I'll probably just release it and see what happens.

Note: The changes in the above linked tarball are NOT in the Miro 1.2 or 1.2.1 releases. This is not a final release. This is for testing purposes only.

Fri, 21 Mar 2008

some numbers I drummed up while building Ubuntu packages....

After that lunch on Wednesday where I talked about how much I really love the numbers and pretty graphs that are on planet.mozilla.org regularly, I wanted to do stats on Miro.

There are two things I'm interested in measuring. The first is measurements related to release cycles and development process. The second is measurements related to contributions.

Anyhow, here are some rough tables:

           tag      tv/    released    cycle
           ------   -----  ----------  -------
Miro 1.0   151 MB   53 MB  11/13/2007  N/A
Miro 1.1   169 MB   58 MB  1/10/2008   58 days
Miro 1.2   253 MB   63 MB  3/20/2008   70 days
  • "tag" - size in MB of the codebase which includes binary kits and other stuff
  • "tv/" - size in MB of just the tv/ directory
  • "released" - release date
  • "cycle" - the length in days of the release cycle
We're still doing tight release cycles. I'm hoping we'll trend towards longer release cycles. Something in the 3 month range would be easier on the devs and probably other people, too.
           bugs fixed all gtk mac win    bugs created all gtk mac win
           ---------- --- --- --- ---    ------------ --- --- --- ---
Miro 1.0   65         18  17  15  15     85           20  17  17  31
Miro 1.1   40         16  6   10  8      106          44  21  20  21
Miro 1.2   82         26  14  13  29     --
  • bugs fixed - number of bugs fixed and then broken down by platform
  • bugs created - number of bugs created against this version and then broken down by platform
I'll let you interpret the data as you like. I think the "bugs fixed" column is indicative of our priorities between the releases: 1.0 was a stability-focused release, 1.1 put out libtorrent, and 1.2 involved a code overhaul which caused a lot of regressions.
          languages
          ---------
Miro 1.0  63
Miro 1.1  66
Miro 1.2  70
I'd like to figure out how to get a rough measure of quality of translations, but I'm not really sure how to go about doing that. I threw together a script to count the number of instances where msgid differs from msgstr, but the results don't seem very indicative of a correctness or completeness figure. Launchpad has statistics, but there's no way to look "back in time" at previous releases that I can find. Are there any ideas for how to do that by looking at the .po files?
          patches from contributors applied
          ---------------------------------
Miro 1.0  4
Miro 1.1  2
Miro 1.2  1
What this table shows is that almost all development is being done by PCF. This table troubles me the most--more about that at the end. On to stats from Bugzilla.... First off, our Bugzilla data before October is probably mediocre, so I'm not really even looking at that. After that, the data has been getting better as more people are helping to triage and annotate bugs. Also, some bugs never make it to Bugzilla. I know that sedatg and some other people mention issues to us on IRC semi-regularly which get fixed, but aren't tied back to Bugzilla bugs. It's probably fair to say these stats are indicative of things but aren't 100% accurate.
Miro 1.2 stats
==============
length of cycle:      70 days
bugs fixed:           82 total
  By Operating System:
     all:             26
     gtkx11:          14
     osx:             13
     win:             29

  By Severity:
     blocker:          1
     critical:        12
     major:            5
     normal:          58
     minor:            2
     enhancement:      4

  By Component:
     Channels         11
     Download          4
     Feeds             1
     Guides            3
     Install           5
     Library - New     3
     Menu - Shortcut   3
     Min - Max         1
     Playback         14
     Playlists         2
     Search            6
     Startup          10
     Storage           1
     System settings   2
     User interface    5
     main             11

bug reporters:        24 total
     pcf people:       7
     community:       17
Miro is benefiting greatly from the community with testing and translations--that's really great and it's helping a ton! However, Miro is not getting much help from the community with code and PCF is pretty much funding all development. This is troubling. Miro is getting bigger over time and the complexity is growing, too. There are a lot of moving pieces in the stack of external components that Miro relies upon. There are two ways for Miro development to scale well:
  1. more contributors
  2. additional funding for PCF so that they can fund developers
If you can contribute code, please let me know if there's something blocking your path. If you can't contribute code and/or you're interested in Miro getting better, then install iHeartMiro (there are versions for Firefox and IE) and/or donate money and help PCF fund developers.

Thu, 20 Mar 2008

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.

Tue, 18 Mar 2008

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.

Thu, 13 Mar 2008

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.

Wed, 12 Mar 2008

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.

Thu, 06 Mar 2008

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....

Wed, 27 Feb 2008

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.

Sun, 24 Feb 2008

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.

Thu, 21 Feb 2008

PCF is hiring Python developers

The company I work for is looking to hire a few able Python developers. Instructions and details about the job are on the PCF jobs page.

This is the best job I've ever had. I get to telecommute which really works for me. My co-workers are all able fantastic people. The mission is really important and affects everyone. The work that we're doing is FOSS and we're working with and contributing to other FOSS projects. I've covered the board in terms of projects from bug fixing, to adding enhancements, to debugging upstream components, to Ubuntu packaging (which I need some more practice with), to test systems, to Firefox 3 patches, to Firefox plugins, ... I've also had my hands in Bugzilla adjustments, infrastructure, build systems, ... It's been challenging and interesting ever since day 1.

I've also been meeting a lot of people I otherwise wouldn't have met: Chris Blizzard and John Ressig at Mozilla, SJ at OLPC, Holmes Wilson at Downhill Battle, Asheesh at Creative Commons, and others. It's exciting.

That's my experience at PCF in the last 6 months. If you're looking for a telecommuting Python development job, think about applying.

Wed, 20 Feb 2008

status: week ending 2/19/2008

It was a pretty slow week.

  • I spent some time trying to implement 5403 and 8619 on Mac OSX, but then discovered that Luc must use some gui builder tool that I don't have. So I ended up passing those two bugs off to him.
  • I spent some time doing bug triage.
  • I fixed a few problems from code flux.
  • I worked on 9521 for a few days. It's a lot more complicated than I thought it was partially because it touches sections of the code I haven't touched yet. Nassar thinks it's probably not something we want to bother with. I think I might be able to implement it, but I think it'll take a week to get it right. I think we should defer it to a future version.

Things I'm planning on doing this week:

  • Possibly continue working on 9521 depending on the call.
  • The two-stage installer bug is still out there and I have access to pcf3 now, so I think I can solve it. I sent an email to plans regarding that subscribe.getmiro.com site being all kinds of bit-rotty and whether I should spend time fixing it, but didn't get any replies.
  • We got a patch for bug 8793 for implementing ratio restrictions for torrents for GTKX11. The bulk of the patch is the glade code for GTKX11; the actual code is pretty trivial. I'd like to look into this and probably apply it.
  • Check out Miro on Ubuntu Hardy (which is in alpha 4 now) and get a feel for where it's at.

Wed, 13 Feb 2008

status: week ending 02/12/2008

This actually covers two weeks of work because I was in Florida for a bit in between.

Things I did:

  • implemented 5403 and 8619 for GTKX11 and Windows
  • worked on Mediabar specs (briefly)
  • went to the Worcester office to hang out with the Nicks
  • bought a Mac mini for Boston devs
  • wrote a blog entry about the Firefox 3 work I did so it's clearer as to what I was working on and how it impacts Miro
  • did a 1.1.2 release which contains the exception text for OpenSSL and GPL co-existence (though it's not entirely clear if I did this right)
  • did some bug-fixing on GTKX11 to get the timebar and video information displaying correctly
  • did some re-working of the theme I'm using on my devblog so it's less annoying--still needs some help, though
Things I'm working on this week:
  • finishing up work on bugs 5403 and 8619 (though I may end up giving up--I'm not really following where oid comes from in the strings)
  • go through the bugs and do some more light triage work and start marking bugs that look bite-sized as such

Mon, 11 Feb 2008

video/audio podcast enhancements in Firefox 3

A little under two weeks ago patches for bugs 303645, 400061 and 400064 landed in the Firefox trunk. These patches add video/audio podcast-related enhancements to the upcoming Firefox 3. Firefox 3's feed preview page now distinguishes video and audio podcast feeds from "regular feeds". It will also show all enclosures in the feed with information about the enclosure.

It's really exciting for these features to be in Firefox 3. These enhancements reduce the interface divide between Firefox and video/audio podcast consuming applications like Miro, iTunes and others. Amongst other things, it's hugely beneficial to Miro users who use Firefox.

Here's what the feed preview page looks like in Firefox 2 on Ubuntu Gutsy:

Feed preview page in Firefox 2

Here's what the feed preview page will look like in Firefox 3 on Ubuntu Gutsy:

Feed preview page in Firefox 3

I'm really excited that this is going in. At a bare minimum, it means I have to spend a lot less time fishing through view source finding enclosures.

This is my first contribution to Firefox and my first time working with Mozilla developers and other Firefox contributors. There was a lot of material to come up to speed on including build process, testing procedures, who's in charge of what, getting reviews done, ...

I want to give a shout out to Mike Beltzner who was really patient and incredibly helpful in getting the functionality landed. Also to Robert Sayre and Myk Melez who reviewed the code and suggested changes and fixes that made it much better. Also to Alex Faaborg who kicked off this mini-project back in October. And lastly all the people on #developers on IRC who helped me with issues I was having: Ventnor, biese, bz, gavin, Pike, _FrnchFrgg_ and others--Thank you all!

It was neat in that the patches landed just before the beta 3 codefreeze on my birthday. Having said that, there were a bunch of problems with the patches, many of which were sorted out and fixed by other people. Sorry about that--crappy organization on my part.

I also want to point out that this is a huge advantage that open source has over non-open source: I, as a person external to the project, can still participate in a meaningful way and help implement the functionality that matters to me. That's very empowering.

Sidenote: That show is What You Ought To Know. It's a fun show--worth subscribing to.

Fri, 01 Feb 2008

trying out a new theme....

I really didn't like the theme I had. Trying out a new one....

Wed, 30 Jan 2008

status: week ending 1/29/2008

I spent the week working on:

  • Firefox patches for 303645, 400061, and 400064
  • Fixing build issues with Miro 1.1.1 on Gutsy (i386 and amd64), Feisty and Dapper
  • Mediabar specs and revival
  • Some minor bug triaging
  • Bug 9150: implementing feed:// and feeds:// support at the command line
This coming week I'm:
  • Working on Mediabar specs and revival
  • Any post-landing Firefox patch work
  • Working on bugs 9523, 9521 and 5403
  • Getting a Mac-mini for Boston devs for testing/development
  • Visiting the Worcester office on Thursday, February 7th

It's been a good week overall. The Firefox 3 B3 codefreeze is tonight and I think I'm on track for landing all three patches, but they haven't landed yet (as of this writing). We'll see what happens tonight.

Update: All three patches landed. The one for 400061 had some issues, but myk fixed them and landed it for me.

Thu, 24 Jan 2008

status of Miro 1.1.1 builds for Ubuntu

I put out Gutsy, Feisty and Dapper builds for i386 for Miro 1.1.1 on Tuesday when we did the Miro 1.1.1 release. But... I'm using new scripts and I goofed up the miro-data package. I didn't have time to figure out the problem, so I attempted to back out the Gutsy amd64 packages and in the process screwed up something else.

I thought I had it all working by Tuesday night, but there were a couple of users that were still experiencing "size mismatch" errors on the miro-data package. So I took some time today to figure out how to deal with the miro-data package I was building, roll up a set of Miro 1.1.1-3 packages for Gutsy i386 and amd64 and push everything out.

Theoretically there should be good Gutsy i386 and amd64 packages for Miro 1.1.1 in addition to the Feisty and Dapper i386 packages I rolled out Tuesday.

Sorry for the delays. I think things are straightened out now. If you're still having problems feel free to leave a comment below and/or find me on IRC or by email.

Wed, 23 Jan 2008

status: week ending 1/22/2008

Things I did this week:

  • Visited the Worcestor office on Thursday.
  • Cut a 1.1.1 rc1 release.
  • Cut a 1.1.1 final release.
  • Built Gutsy, Feisty and Dapper packages for 1.1.1... then spent half a day dealing with repository issues resulting from Gutsy i386 miro-data package being slightly different in some way than the Gutsy AMD64 miro-data package. I haven't figured out the problem here. I'll try to do it this week. I suspect foul play. Probably my fault. If you're having problems with Gutsy, Feisty or Dapper packaging for Miro from the PCF repository, let me know.
  • Pulled an all-nighter Friday night working on and finishing up patches for 400061 and 400064. Then spent several days talking with Mozilla folks, fixing the patches based on reviews and generally trying to get as much done as possible to increase the chances of these patches making it into Firefox 3.
Things I plan to do this week:
  • Continue pushing the patches for 303645, 400061 and 400064 until they're landed.
  • Figure out what the problem with building the miro-data package is.
  • Figure out what to do about a new laptop. I'm currently looking at the Dell 1420N and System76 laptops. Any thoughts on Ubuntu-based laptops would be hugely useful.
  • Try to avoid getting involved in anyone else's work until the patches for Firefox are out of my hands.
  • Spending some time with my wife before she forgets who I am.

Wed, 16 Jan 2008

status of Miro 1.1 builds for Ubuntu Dapper and Feisty

I haven't put Dapper and Feisty builds for Miro 1.1 into the repository yet. The Gutsy builds are there, but there are some issues with segfaulting when watching videos with them. I've only heard about Gutsy segfaulting with Miro 1.1 from one person and there aren't any new bugs for the issue. From that I'm guessing the issue is pretty limited user-wise, but don't really have a good way to measure.

The last few days went like this. We did a Miro 1.1 release on Thursday and I started building Ubuntu builds for Dapper, Feisty and Gutsy that afternoon using the new pbuilder-based scripts I've been working on. The pbuilder-based scripts are great in that I can automate building packages for Dapper, Feisty and Gutsy for i686 on a single machine (no longer need VMs) and they verify the build-depends lines in the .dsc files. That'll make building from source possible.

The problem with Miro 1.1 is that the switch from BitTorrent code to libtorrent code causes compiling to take longer. Additionally, the pbuilder-based scripts pull down all the dependencies and build the environment to do the build in for each distribution and that takes a while, too.

When working on builds, I had problems with the Dapper and Feisty builds segfaulting when playing videos during testing. I first blamed the new build scripts. I spent 8 hours or so fiddling with them, verifying all the build steps, and eventually running them in the distribution VMs I had. On Saturday, I decided that theory wasn't a good one.

I tried a few other things and then started bisecting the svn changes since Miro 1.0 in my Feisty VM to see if I could find the checkin that caused the problem. After a few more hours, I discovered that it was a change to xine_impl.c that I made for bug 9373 that causes the segfaults when viewing videos. Another hour later and I verified this is the same problem with the Dapper build.

I backed out that change and re-ran and re-tested everything.

In summary, the pbuilder-based scripts are fine and backing out that xine_impl.c fix fixes the issues I was seeing.

We're working on a Miro 1.1.1 release that has some changes that allow for co-branding. We decided to push these changes off to 1.1.1 so that we could release Miro 1.1 a week earlier. I decided that I'd skip builds for Feisty and Dapper for Miro 1.1 and instead do builds when we released Miro 1.1.1 this week. That should happen in the next day or so.

I really apologize for the current situation. It was a confluence of several circumstances that led to me taking a long time to figuring out the cause of the problem which sucked.

I should have 1.1.1 builds of Gutsy, Feisty and Dapper out by Friday night if not sooner.

Tue, 15 Jan 2008

status: week ending 1/15/2008

It was a really busy week--I essentially worked for the last 7 days straight. It's been a good/bad week for me. I:

  • pushed out the Miro 1.1 release on Thursday which had some minor release-engineering issues (I forgot the symlinks for Miro.dmg, the appserial number is 20080101000 but should have been 20080110000, and Feisty and Dapper won't build)
  • I updated the instructions for releases in the wikis which improves the release process going forward
  • I spent Thursday night, Friday and most of Saturday investigating the segfaults with the Dapper and Feisty packages and traced it down to the fix for bug 9373
  • I backed out the fix for bug 9373--I'll release Feisty and Dapper packages when we "release" Miro 1.1.1
  • I worked on the Firefox patch work for bug 400061
  • I made some more changes to the patch for bug 303645, it was reviewed, and it looks like it's on its way to Firefox 3 (assuming all goes well)

I'm going to spend the next week:

  • aiding Paul with the Miro 1.1.1 release
  • continuing the work on bug 400061 and friends

Fri, 11 Jan 2008

The release hat-trick!

I mothered the Miro 1.1 release earlier today. Then I decided to push out PyBlosxom 1.4.3 which I have been sitting on for a month. Then after talking with "paulproteus", I decided to go for the hat-trick and released Lyntin 4.2 as well.

w00t for releasing three software thingies in one day! Boo for sitting on two of them for extended periods of time.

Thu, 10 Jan 2008

bugzilla stats: 2007

Other projects are publishing their Bugzilla stats, so I took 30 minutes and threw together a script to run some numbers against our Bugzilla instance.

Two things to keep in mind when looking at these numbers:

  1. We migrated our bugs from Trac to Bugzilla in mid-August. Trac wasn't working out for us and we've got a lot of crufty bug data still hanging around since then.
  2. The numbers are slices of data. They can indicate things, but there's a lot of context that they don't take into account. So it's good to be careful about drawing conclusions based solely on the numbers reported.
Stats for the year: 2007

BUG STATS
=========

Total bugs created: 4052
      41 - Miro Mediabar
       3 - getmiro.com
      35 - Broadcast Machine
    3809 - Miro
     164 - Miroguide

Bug activity:
     736 - FIXED
     170 - INVALID
      35 - WONTFIX
     139 - DUPLICATE
     169 - WORKSFORME
       0 - MOVED
       0 - NEEDSINFO

    4052 - CREATED
   13564 - COMMENTS

USER STATS
==========

Users created: 645

Top 7 bug reporters:
    3172 - Janet
     138 - Dean Jansen
     102 - Nicholas Reville
      52 - Nick Nassar
      47 - sg
      35 - Fluteman
      28 - Ben Dean-Kawamura

Top 7 bug commenters:
   10354 - Janet
     331 - Nick Nassar
     315 - Will Guaraldi
     312 - Ben Dean-Kawamura
     286 - Luc Heinrich
     259 - Dean Jansen
     217 - Paul Swartz

There are a few things I want to point out.

First, is that we've got 645 new Bugzilla users since mid-August. That's really great!

Second, is that Janet is not a machine that generates 10 bugs and 30 comments every day. What's going on is that I tied her Bugzilla userid to all the bugs I migrated from Trac for which I had no userid to tie to.

Third, sg and Fluteman are really fantastic. The work they're doing is making a huge difference in the direction and quality of Miro. Thank you!

Thank you to everyone who's helped out in 2007. I hope the numbers for 2008 are doubly-impressive. :)

Wed, 09 Jan 2008

status: week ending 1/8/2008

I spent the last week:

  • fixing some bugs (9373, 8138, 9383, 9372, 9414)
  • doing some bug triage
  • reworking the Ubuntu packaging scripts to use pbuilder (much easier to build packages and pbuilder verifies the build-depends)
  • added a NEEDSINFO resolution to Bugzilla
  • tweaked some stuff so we can tag with names like Miro-x.y instead of Democracy-Player-x.y
  • mothered through Miro 1.1 rc0 and rc1
I'll be spending this week:
  • finishing up the Miro 1.1 release
  • finishing up the Miro 1.1.1 release (with turbo co-branding ass-kicking action)
  • working on Mediabar
  • fixing some more bugs

Thu, 03 Jan 2008

archos-sync

Sedatg pointed out the archos-sync project. It's a script that syncs the content between his Archos media player and Miro. More information at that link.

If anyone was interested in helping out on a syncing project to sync Miro content with devices, that's probably a good one to help out with.

Anyone else know of similar projects that are building software to sync Miro content, convert content or port Miro to smaller devices? If so, please add a comment. The more exposure to these projects, the better.

Tue, 01 Jan 2008

status: week ending 1/1/2008

I wasn't around for the last week. I got home last night and spent today recovering from some flu I've been fighting for the last week and also continuing work with building a pbuilder environment for Gutsy and friends.

Tomorrow I plan on finishing up the pbuilder stuff and working on the Firefox patches, but ... I don't think I have much of a chance of finishing them in time, so I think I may put it on the backburner and help out with Miro 1.1 and continuing development. Then work on the Firefox patches for 3.1.

Happy New Year!

Sun, 23 Dec 2007

status: week ending 12/25/2007

Figured I'd send this out early because I'm not going to get anything more accomplished.

I spent Wednesday, Thursday and Friday:

  • triaging old bugs
  • continuing to clean up comment spam left over from when our bug system was managed by Trac
  • fixing my Windows build environment problem (bug 9327)
  • fixing the problem with Miro on Windows in the 1.0 branch (bug 9363)
  • checked in a fix from a downstream reported problem where Miro on GTKX11 doesn't honor the --xine-driver option (bug 9373, r5897, r5898)
  • started making adjustments to our build scripts to allow us to tag with "Miro-1.1" instead of "Democracy-Player-With-White-Wine-Sauce-1.1" which is too long and I'm sick of typing it ;)
  • set up a pbuilder environment for testing Ubuntu/Debian packages and continuing to make our packages better
That about covers the last three days. pbuilder is really cool, but takes forever to run because it's building a fresh environment in which ti build everything and it does that by downloading and installing all the packages each iteration. It's definitely a good idea to do this, though, as it'll increase the confidence in our Ubuntu/Debian packaging and potentially fix outstanding issues.

I'm doing a whirlwind tour of family visiting over the next few days, then going down to Louisiana on a service trip to rebuild houses. I'll be back online January 1st.

Wed, 19 Dec 2007

status: week ending 12/18/2007

I submitted a new patch for bug 303645 on the 12th. On the 13th, I started having problems seeing the feed preview page. I talked with the folks on #develop, but wasn't able to get it working. No clue what the problem is. I did a fresh checkout on a different machine and that works fine, so I continued working on the second machine and produced a better version of the 303645 patch. I'm gone next week and between that and the time I'm going to have to put into the 1.1 release, I don't think I will get a patch together for the rest of the changes for bug 400059.

Firefox takes me about an hour to compile from scratch. While trying to figure out what my feed preview page problem was, I spent some time using the reports feature in Bugzilla and doing bug triage on old bugs. I also wrote a script to remove comment spam from the comments we migrated from our old Trac bug-tracker. There's still a lot of comment spam in there. Ick.

I merged the libtorrent changes from trunk to the 1.0 branch and tested out the GTKX11 platform. I went through Ubuntu Gutsy, Gutsy-64, Feisty and Dapper, made sure Miro in the 1.0 branch compiled and updated the requirements as listed in GTKX11BuildDocs.

I tried to test the 1.0 branch of Miro in Windows, but I'm hitting the LIBEAY32.dll problem in bug 9327 and the fix suggested in the comments isn't working for me. So... my Windows build environment isn't working again and I don't know whether the 1.0 branch is stable or not after the merges I did.

That about covers me for this last week.

In the next few days, I plan to help out with the 1.1 release, make sure I have the Ubuntu platforms covered and continue working on the Firefox patch.

I'm gone from December 23rd through December 31st. After December 22nd, I won't be online again until January 1st.

Wed, 12 Dec 2007

status: week ending 12/11/2007

It's been a good-ish week.

Nathan finished up his changes for bug 9077, they were merged into the trunk and 1.0 branches, and Janet did some testing and came up with bugs 9334 and 9335. I fixed 9334 but I think I'm going to skip 9335--it involves changing the padding for those items in the item view and I'm not wildly excited about doing that and I think the issue is cosmetic. We only implemented CC metadata at the item scope--not the feed scope, yet.

I worked my way through some bonehead issues I had caused, finished up the patch for bug 303645 and submitted it. I'm a little apprehensive about submitting a patch to Firefox, but ... I'll suck it up. The important thing is that this patch populates the enclosures array for each FeedEntry item. That was a pre-requisite for bug 400059. I'm working on that one now. As a side note, the folks on #developer on the Mozilla IRC channel have been really helpful.

On Friday, I went to lunch with Dean, Chris Blizzard and John Resig--that was really neat. A little hard to quell the star-struck feelings--hopefully I didn't make a total ass of myself.

I created the "other packages" page for the download section of the getmiro web-site and changed around the download page, too.

I sent an email to Justin at Mozilla in response to his blog entry. I pointed him to the code for the timeline script and the script for migrating data from Trac to Bugzilla.

Looking forward to a Miro 1.1 release with all its libtorrent and CreativeCommons metadata goodness....

Sat, 08 Dec 2007

Status 12/07/2007

Went out to lunch with Chris, John and Dean (who I don't think has a blog). That was pretty cool. We talked about a bunch of stuff and the hamburgers at Christopher's in Porter Square (Cambridge, MA, USA) are really good.

I continued working on adding enclosure viewing support to the subscribe preview page in Firefox 3.0. I've almost got Yahoo MRSS support in. Mental note: one wastes less time if one double-checks the tests to make sure they're testing correctly. Oops.

I'm doing some minor mentoring for GHOP mostly on PyBlosxom related tasks. I'm on both of the mailing lists for GHOP-PSF and it's hard to keep in mind that the people working on these tasks are students in high school and early undergrad. It's like an army of really able, but not very experienced, bodies hungrily munching large bites out of project todo items. PyBlosxom had 4 tasks in last week and 4 in this week. It's great because the help is fantastic and it's forcing me to get around to work on organizing the project and development for PyBlosxom 2.0.

If you're in high school or college and want to do some Python-related work, definitely take a look at GHOP! If you're a Pythonista or Pythoneer and have some spare cycles, definitely come help us mentor. If you have a Python project and need help with screencasts, documentation, testing and other small tasks, take a look at GHOP. Titus has more on his blog.

PyBlosxom 2.0 is going to be a huge overhaul from PyBlosxom 1.4. I'm getting lots of help from the people who hang out on #pyblosxom on IRC, Ryan, Michael and various other people who pop on, ask questions and help identify issues. Progress is excellent so far.

In PCF land, I have a blog focused on PCF work and Miro development. It's at http://pculture.org/devblogs/wguaraldi. I figured I'd keep it separate. It runs on WordPress so that's giving me some WordPress experience.

Whoever fixed NetworkManager for Ubuntu Gutsy should get a gold star. I did an update on 12/4 and picked up a new set of packages and my perpetual wireless networking problems all went away. Bless you!

Also, if you've got young children in your life, definitely take a look at Bee Careful Marvin. It's geared towards children up to around 6 or so. You can get a professionally printed version at Lulu, but you can also download a PDF for free. It's released under a Creative Commons BY-NC-SA 3.0 license and "the source" is all at that link. Print it out, copy it, give it to your young friends, translate it, rewrite it with Star Wars dialogue, ....

Wed, 05 Dec 2007

status: week ending 12/4/2007

I've been super busy this past week.

I spent the brunt of my time on the Firefox patch. I've solved most of bug 303645, though the output isn't pretty and it doesn't support Yahoo's MRSS or iTunes enclosures. I think I'll have it figured out in the next couple of days and submitted to the Mozilla folks. Once I've populated the enclosures and they're available in the FeedWriter, I can work on what we really want to do. I still need to figure out how to associate applications with different feed types. Mozilla froze the trunk today for the upcoming beta 2, so none of the changes I've done will be available until beta 3 at the earliest.

I spent several hours looking for enhancements or bugs that lend themselves to being small 1-5 day tasks for high school/college level people in the PSF section of the GHOP. I didn't find any that I thought were promising. This is a bit unfortunate as it'd give us some good exposure, gets us some help, and would be good for the project. Still, there's a certain amount of work that would need to be done to be part of the GHOP. The contest lasts until February, so I'm hoping I can figure something out before the end.

On Friday, Dean and I talked with Henri of CivicActions. They work with clients who produce content and we talked about various directions our groups can take to help each other. He's particularly interested in how Miro could interact with mobile and embedded devices. I'm pretty interested in that, too. I plan on working on that when I get a Nokia n810. I've written about that in previous posts.

Also, I've been working with Nathan of Creative Commons to get Miro to understand and work with licensing metadata (bug 9077). He's done most of the work so far; I've been providing feedback and working out the implementation issues. This is really useful since it allows content producers to embed licensing data in the feeds that Miro will display to users viewing the content.

And I've spent some time doing bug triage and talking with users about various issues, mostly related to packaging.

Current deadlines:

The CreativeCommons birthday is 12/15, so we need to have the 9077 work done by then.

The Mozilla folks told us that we need to get the patch done before the end of the month.

We were thinking of doing a Miro 1.1 release mid-month. I want to fix the packaging scripts so that we can name tags and branches Miro-x.y instead of Democracy-Player-x.y. I'll probably look into that later this week.

Tue, 27 Nov 2007

status: week ending 11/27/2007

Short status this week....

I took Wednesday through Saturday off.

On Monday, I fiddled with my Windows build environment and finally got it working (again) on Tuesday. I was having problems getting fasttypes to compile. I was getting all kinds of errors when going through the boost stuff. After some skulking through Google results regarding boost compilation problems, I decided to try installing Visual Studio 7.1 without installing the service pack. That worked super--though I'm not entirely sure why. I updated the WindowsBuildDocs page with new urls and tried to break up the instructions into something that's more digestible.

I also continued to work on the Firefox patch.

Wed, 21 Nov 2007

status: week ending 11/20/2007

I spent Wednesday, Thursday, Friday and part of Saturday watching new bugs, helping users out with 1.0 issues, continuing to build a Windows VM (I've almost got it working again) and working on Mediabar.

I checked in a minor overhaul of Mediabar. There are two big issues with Mediabar that need to be fixed that involve architecture changes (I've been talking about this for a month now). I figured since I'm overhauling the code for that, I might as well overhaul the code and fix namespace issues and tighten up the existing architecture to make it easier to fix the big issues. In the process of making the changes, I noticed the flv extraction code doesn't work. I'm not sure how it's supposed to do what it does, though, so I'm not sure if it's something I did or something that was pre-existing or something I'm misunderstanding. When I work on Mediabar again, I'll talk to NPR and Dean about how it should behave and what kinds of things it should be picking up and write it down into an ad hoc specification. On a side note, anyone have any idea how to do agile-like development with Firefox extensions? Where does the testing code go and how do you kick it off?

On Sunday, I got worried that I'm going to miss the deadline for the Firefox patch I'm working on. The work is under bug #400059 in the Mozilla Bugzilla db. I spent Monday and Tuesday working on adding enclosure detection to the FeedProcessor and then adding enclosure support to FeedWriter so that you can see enclosure links on the feed subscribe preview page. When I get this working, I'll submit it as a patch against bug #303645. Making those changes paves the way towards adding support for distinguishing between video, audio and text feeds and supporting applications for handling those different feed types.

I will be off of email and IRC for the rest of the week but I'll be studying.

I hope you all have pleasant holidays or work days (depending on where you live)!

Thu, 15 Nov 2007

"there's no good content" == utter hogwash

One of the things I keep reading in comments of various Miro-related reviews is something along the lines of "there's no good content". I think that's utter bunk. There's a lot of good content listed in the Miro Guide. The channel starter packs that we added to the first page when you start up Miro 1.0 make this painfully clear. This doesn't even include all the content that's not even listed in the Miro Guide.

I don't have cable tv anymore because it doesn't make sense to waste my money on it.

I also don't watch a ton of shows with Miro. However, here's the list of shows I do watch (some of them while testing):

  • Ask a Ninja (Add to Miro) - Occasionally there's an annoying show, but mostly I think it's pretty funny. I saw the Recipe For Disaster episode just before a family reunion--couldn't have had better timing. I first discovered Ask a Ninja when one of the NPR programs I listen to periodically (I forget which one it was) had their movie critic off for the week and they played the audio from the Ask a Ninja episode reviewing Pirates of the Caribbean: Curse of the Black Pearl. (Disclaimer: I have ninjas on my business card.)
  • Make Zing :: Blog MAKE Podcast (Add to Miro) - I love this channel. The projects are really interesting and it covers a very wide variety of topics. Dean, my brother and I met Bre at PodCamp Boston 2 and my brother secretly thinks that the t-shirt cannon project was influenced by his story of kids launching potatoes at a river from a cannon in their chimney (long story--very odd).
  • Galacticast (Add to Miro) - I met Casey at PodCamp Boston 2 and after hearing about Galacticast decided to look it up. It's a great show!
  • What you ought to know (Add to Miro) - The shows are almost all under 3 minutes long and they cover a variety of topics. It's thoroughly educational in tiny bite-sized chunks.
  • Wired Science | PBS (Add to Miro) - This is a great general science channel.
  • WebbAlert (Add to Miro) - Morgan Webb and her crew do a really good job of distilling "tech news" down to a 5 to 6 minute program Monday through Thursday. I find watching this saves me the trouble of flipping through the series of blogs I used to flip through.
  • Google Tech Talks (Add to Miro) - Some of the Google Tech Talks aren't wildly interesting to me, but I've learned a lot from the ones I have watched. This channel is based on a Google Video search and so you're going to want to set the Auto-download to OFF. Otherwise it's likely you'll pick up old videos you've already seen.
  • Onion News Network (Add to Miro) - I usually test with ONN because it's fantastic. The "Ninja parade slips through town unnoticed again" episode got a lot of play time on my systems--it makes me smile every time. (Disclaimer: I have ninjas on my business card.)
I think there's a lot of other great content out there both to watch and to participate in.

So to people who shrug Miro and Internet video off because "there's no good content" I say, "Buddy--this is 2007 and you're missing the boat".

What shows do you like and why? Toss your thoughts in the comments.

Update 11/16/2007: Fixed a grammar issue and somehow I managed to misspell Galacticast.

Wed, 14 Nov 2007

status: week ending 11/13/2007

I did a bunch of release-management stuff, some minor bug triage work and some minor Gutsy work.

I passed a bunch of email back and forth with BDK and James regarding problems between Miro and the sun-java*-plugin packages on Gutsy and Feisty (bug 8444 and now bug 9064). BDK looked into it further but in the end either the test we're using to determine whether the problem exists or not is bogus or we didn't fix the issue. Regardless, after much discussion it was decided that the package conflicts were worse than the problem so we removed the conflicts for 1.0 final.

I got in touch with Dean's friend Ben (not to be confused with BDK or my brother Ben), and he and I are going to go through our Gutsy and Feisty packaging and fix any outstanding issues (like bug 8716). I think this is pretty cool and hope that this is the first of many Boston-area Miro hack-fests.

I also worked on Mediabar. I've been doing a pass at cleaning up namespace issues and code cleanup. After I'm done with that, I'll work on the tab rearchitecture and the rss discovery problems. Neil and I traded some email and he's eager to work on things again. I'm currently the bottleneck on further Mediabar progress--I'll be spending the rest of the week fixing that. I want to get back to working on the Firefox patch, too and get that done ASAP.

On a side note, I was selected for the Nokia n810 device program. I want to look into porting Miro over to the device and do some other development, too. It'll be a good system for figuring out how Miro could work on "smaller devices" and what a slimmed down version of Miro can do. I also want to look into what it would take to get Miro working with Conduit so that Linux users can move video content to their n810 and other portable video playing devices.

As a side note, I live in Somerville, MA. If anyone (users, testers, developers, ...) is interested in getting together to triage bugs, working out issues, fix problems, add features, ... let me know. I'm totally game for hack-fests and getting together.

Tue, 13 Nov 2007

Miro 1.0 released!

Miro 1.0 has been released! Yay!

I've only been with PCF since July (or maybe it was June--I forget), but since I came on board we've been working hard on stability and honing the feature set. Working on stability is hard because there are a near infinite number of combinations of library versions, video card drivers, operating systems, ... out there and all of them are slightly different. Writing software that works on multiple platforms is non-trivial. It's a huge testament to the community of users and testers and developers that Miro is at the point it's at now.

One thing about 1.0 that I want to mention is that this is a snapshot in time of a continually evolving piece of software. If you look at Bugzilla, there are dozens of interesting features that we're all interested in that range from starting Miro as a daemon process to viewing video as it's downloading.

Chris, Nick and Ben are working on post-1.0 development already. There's been discussions on the develop mailing list regarding reworking the user interface to use native widgets and make it much faster and more responsive. Paul is continuing work on the Miro Guide. Janet is working on making community testing easier for everyone involved and produce better testing data. I'm switching off to work on Mediabar. Dean and the Team Miro folks are working on honing the documentation and they're doing a fantastic job of testing and identifying issues for release candidates and versions.

Miro development is moving along and its momentum is a direct result of us all working towards a common goal: building an Internet video player using Open Source and open standards that will enable the current generation of media content to flourish.

One other thing I want to mention is that we ditched the conflicts between the miro package and the sun-java*-plugin packages for Gutsy and Feisty. The problem between the packages still exists and it's intermittent, but several conversations with people caused me to rethink adding the conflicts. So this doesn't fix anything--it's just trading one set of problems for another, however I've come around to agree that the conflict is more of a pain in the ass than occasional intermittent crashes.

Miro 1.0 released!

I work for Participatory Culture Foundation as a developer on the Miro internet video player.

Today we released Miro 1.0. For most of the projects I've worked on, the 1.0 mark is exciting to reach, but also somewhat of a downer because it really requires you to hone the list of all possible things you could do down to a small finite list. Inevitably, there are things people will want to do that 1.0 doesn't do. Still, it's a huge milestone for the project. We're already working on post-1.0 development and making changes to decisions that didn't turn out as well as we had hoped.

A good portion of the work we do is in Python with lots of interaction between Python and libraries written in C and C++. For example, we use a lot of Pyrex to speed up critical sections.

Miro is a great product to continue to push open standards for video distribution and consumption on the Internet. I regularly watch GoogleEDU videos through Miro and I'm hoping other Python-related channels will be available as well. At some point, I'd like to create my own Python-videos channel and aggregate good Python-related video content. There's a lot of screencasts and tutorials out there....

Wed, 07 Nov 2007

status: week ending 11/6/2007

I mothered the 0.9.9.9 release on Wednesday, which went really smoothly, and then the 0.9.9.9.1 release on Thursday, which sucked and took two days to sort out. I had problems doing svn checkouts on the Windows build box (took in excess of 1.5 hours for a single checkout) and then problems with the windows-xul setup.py script which had bugs when the version number contains more than four pieces. I had some help from Nassar working that out, but it sucked up most of my time and I didn't really get much else accomplished.

Over the weekend, I helped out a few users who were having problems with 0.9.9.9 on Gutsy.

On Monday, I worked on Mediabar and continued building a new Windows XP vm.

Today I worked on legal stuff, bug triage (making sure I've got all the things I need to get done for 1.0 done) and Windows XP vm stuff.

Overall it was a week short on getting things accomplished and long on random problems and wasted time. Frustrating.

I plan on working on Mediabar and Firefox 3.0 patch work in the foreseeable future. I'll probably be avoiding IRC for a while.

Thu, 01 Nov 2007

0.9.9.9 released -- and thank yous

We released 0.9.9.9 yesterday and it took us 5 or 6 hours from tagging the branch to releasing builds. That's pretty cool and makes for a smooth release. Also, I didn't screw anything up this time. :)

I'm an employee of PCF so it's my job to work on Miro (and the other things I work on). However, I'm just one guy and time is a limited resource. There's no way I can triage, identify and fix all bugs. I appreciate all the help that I can get. I had a bunch of help this release.

I wanted to thank the following people for the time they spent submitting quality bugs, sending in patches, and helping me fix issues:

  • Simon from dbus-python who walked me through fixing the dbus-python deprecation issue and reviewed the code changes I made.
  • Markus who helped me with a variety of Gutsy and Gutsy packaging issues.
  • Paul who noticed our README was out of date and suggested changes.
  • Matthias who helped with Gutsy and Feisty packaging issues.
  • Gotz who helped with packaging issues.
  • Stéphane who helped with packaging issues.
  • Marco who helped with packaging issues.
If there's anyone else that helped out that I've forgotten, I apologize. Please kick me and/or comment below.

We're well on the path to a solid 1.0. When 1.0 is finally out, we start working through the architecture changes required for many of the features that have been suggested.

Wed, 31 Oct 2007

status: week ending 10/30/2007

This week I spent time on:

  • gutsy-related issues
  • gutsy packaging issues
  • dbus-python deprecation warning (6226)
  • sun-java*-plugin problems with Miro and gtkmozembed (8444)
  • problems with mismatched gtkmozembed between compiling and linking
  • tagging and releasing rc1 and rc2
  • triaging all bugs assigned to me
Also, Dean and I went to PodCamp Boston 2 this weekend. Talking to people about Miro resulted in one of three possibilities:
  1. the person was really psyched about Miro, uses it frequently/all-the-time and had some questions about future development
  2. the person thought Miro was neat, but either hadn't used it or thought it was still called Democracy Player
  3. the person was wholly uninterested in Miro and didn't really see the point of having another media player in the space alongside players like FireAnt and Joost
The first group was really exciting to talk to. Dean and I tried to hook this group into Team Miro and other Miro-related activities. Mostly I just basked in the warm glow of a happy user--things have been cold and miserable recently.

The second group was interesting and most people in this group asked the important questions. I think connecting with this group was the most important thing I did over the weekend.

The third group wasn't really all that exciting to talk to. Their priorities don't match ours and I suspect most of them just feel hassled by the fact that there's another media player to think about.

I also spent time listening to what terms people used for "video media feeds". I heard "vidcast", "video cast", and "video podcast" most often, I think. Just some more data in the "what the hell should we call this thing"? bucket.

After 0.9.9.9-rc2 and 0.9.9.9 final, I'm going to be spending all my time on mediabar and the Firefox extension. If I don't do that, I'm not going to meet the deadlines.

Wed, 24 Oct 2007

miro and sun-java6-plugin conflict clarification

I want to clarify the situation with Miro and the sun-java6-plugin package.

Prior to 0.9.9.9, if you had the sun-java6-plugin installed and you install Miro, then Miro would crash on startup. For 0.9.9.9, we added a conflict with the sun-java6-plugin package. That means that in order to install Miro, you will have to uninstall the sun-java6-plugin.

I've gotten a lot of flack for this fix in the last couple of days--and for good reason: this sucks for users who have that plugin installed. I definitely understand the frustration and we don't consider this a final solution. (As a philosophical note, most development solutions are not final--most things can be changed if a better feasible option is found and implemented.)

The bottom line is that if you use the sun-java6-plugin plugin, you can't use Miro. Adding the conflict line to the package makes it more user-friendly when installing Miro because then you're not stuck in a situation where you have installed Miro, it crashes on startup, and you have no clue why.

We're interested in a real solution for this problem. Details of the problem are in these bugs:

If you have feasible ideas, add them in the comments on bug 9064 or comment here.

status: week ending 10/23/2007

I got a Mozilla Bugzilla account and commented on the bugs that Alex Faaborg created to track changes we want to make for Firefox 3.0. We've got a couple of months to do the changes, but Alex said that Chris said that he'd like to see it as an extension first. I'm not sure we can do that, but I plan on looking into it.

I spent an hour finishing up the Bugzilla timeline script that I've been working on over the last month or so and made it public. You can see it at http://bugzilla.pculture.org/timeline.cgi.

I spent a day or so pushing out rc0 and honing our ReleaseProcess documentation. I also did a pass through our bugs for low hanging fruit that we've been sitting on after looking at the LaunchPad bugs for Miro. I had problems with the Windows build machine which Matt helped me through.

Then I wrote some blog entries about our Gutsy situation so that users and developers knew what the status was. I worked on the gutsy packaging. BDK and I had an svn issue where he did an svn cp ... (r5515) and that wiped out my changes (r5512, r5513, and r5514). We're not entirely sure what happened.

I conversed with an unhappy and frustrated user who doesn't like that we've set up Miro to conflict with sun-java6-plugin. No one thinks it's an ideal solution, but it's the best one we've got right now. After talking about it on #miro-hackers, BDK created a bug to revisit the java plugin situation for 1.0. I'm going to see if I can find anyone at Mozilla that would know whether you can embed gtkmozembed without the plugins (I think that's the right question to ask--if not, poke me). The current consensus is that there's nothing we can do, but it sure would be nice to find out that we're wrong and the magic pixie in the sky can come down and make the problem go away.

Earlier today we released 0.9.9.9-rc0 gutsy package in a new gutsy repository. It's my first packaging experience. Our README for it is really good; I made some minor updates while I was fiddling with things.

Also, I thought PodCamp was last weekend--turns out it's next weekend. That was confusing. I figured it out after traveling on the T, getting there, puzzling about why no one else was there, calling my wife to see if I was in the wrong place, sighing deeply when I found out I'm at the right physical location but the wrong chronological location, and then taking the T home. The good thing that came out of this is that I got to test my raincoat which I had just waterproofed--it works pretty well.

I spent Sunday upgrading my laptop from Feisty to Gutsy and trying to reproduce some of the gutsy bugs we've got--I haven't been able to. It's likely there are other things involved that I'm not aware of yet.

I'm going to spend some time to upgrade my desktop to Gutsy as well and then build virtual machines for Dapper, Feisty and Gutsy. So then we'll have another person who can cover Ubuntu releases and testing and such.

Update 10/24/2007: I forgot to talk about the Mediabar Firefox extension... I haven't touched it in at least two weeks--possibly more. It has some big issues that need to be figured out, but I've been spending time on other things. I do want to get it fixed up because it is a useful extension. I'll try to find some time for it in the next week or so.

Tue, 23 Oct 2007

Gutsy packages for 0.9.9.9-rc0 available -- please help us test

It's been a wild couple of days. I finished up the rc0 release for Windows and Mac OSX on Saturday, spent Sunday upgrading my laptop from Feisty to Gutsy and then on Monday we had some quirky subversion collisions.

We've worked out some/most of the issues with the Ubuntu packaging for Miro and build a package for Gutsy. This package is available in the Miro repositories.

Things to note:

  1. This package is release candidate 0 for version 0.9.9.9. If you are at all squeamish about testing software in a beta state, you should wait for the 0.9.9.9 final release which will be sometime this week or next week.
  2. Back up your ~/.miro directory BEFORE installing and using this package. If there were issues, you want to be able to go back to your previous Miro state.
  3. Miro conflicts with sun-java6-plugin. You can't have both installed at the same time. This is a workaround for problems we're having with the sun-java6-plugin, gtkmozembed, and Miro. If this is a problem for you, you should wait until the 0.9.9.9 final release. It's possible we'll have a different fix for it by then, but it's more likely that this will happen in version 1.0 or later. If you know how to set up gtkmozembed so that it doesn't load plugins, let us know.
Instructions:

If you follow the directions at http://www.getmiro.com/download/ubuntu.php but use:

deb http://ftp.osuosl.org/pub/pculture.org/miro/linux/repositories/ubuntu gutsy/

as the line to add, then you'll pick up the Miro repository for Gutsy.

What to do if things don't work:

Let us know if you have any problems. Good ways to do this would be:

  • add to an existing bug report or create a new bug report in our Bugzilla system, and/or
  • comment here (but make sure I have some way to reply to you)
  • hop on #miro on irc.freenode.net and let us know.
And if it worked great, we'd love to know that, too.

Mon, 22 Oct 2007

Gutsy package for Miro status (2)

Someone (possibly Janet) created a gutsy keyword in Bugzilla, so I went through and tagged all the bugs that I think are gutsy related with the gutsy keyword: http://bugzilla.pculture.org/buglist.cgi?keywords=gutsy.

There are a few other issues floating around that are related to our feisty packaging--I'm going to try to fix those while I'm fiddling with packaging.

I've copied over the debian-feisty packaging to debian-gutsy in the repository. Today I'm working on getting the kinks out of building, going through all the files to make sure they work, and testing the resulting package.

Once I get to a point where the resulting package is building and stable on both of my machines, I'll post the packages for other people to test.

That's where I am with things. I imagine this will be an all-day thing.

I'll post something here when I have a 0.9.9.9-rc0 gutsy package ready for testing and solicit help in regards to testing from the people who have been posting bugs.

Any thoughts, suggestions, et al--comment below.

Fri, 19 Oct 2007

Gutsy package for Miro status

Here's the current state of Miro on Gutsy:

  • we don't have a Gutsy package of Miro for 0.9.9.1 (the current release)
  • Gutsy does work with what will become Miro 0.9.9.9 (the very soon-to-be released release)
The first Miro version we plan on supporting for Gutsy is 0.9.9.9 which will be released soon--probably in the next week if all goes well. We have been testing with Gutsy over the last month and we have instructions for building Miro on Gutsy in Trac. I want to emphasize that Miro 0.9.9.9 will work nicely on Gutsy and the primary issue here is a packaging one.

The Gutsy universe repository has a Miro 0.9.8 package in it. I've tested it on my Gutsy box and it works for me, however it's missing a lot of the fixes that we've made for 0.9.9.9 which should alleviate problems with Miro and specific video cards. So if it works for you, then that's great, but if it doesn't, then you're going to have to wait until 0.9.9.9.

I plan on making a pass through Bugzilla and make sure any outstanding Gutsy issues are resolved. Additionally, I'll take a pass through LaunchPad and make sure we catch any bugs that didn't get reported upstream to us.

We'll be tagging our repository for 0.9.9.9 rc1 soon--hopefully today and have an rc1 out by tomorrow for Windows and Mac OSX. We'll get a Gutsy rc1 out as soon as we can, but it'll probably take a few days.

If you want to help out with testing rc1, let me know and I'll be sure to point you in the right direction and/or watch the Miro Testing blog.

If you have any problems, please write up a bug in Bugzilla, comment on an existing bug with additional information, and/or hop on #miro on irc.freenode.net and let us know.

If you have any thoughts, please comment here and if the plan changes at all, I'll post an update.

As an aside, Gutsy is a great Ubuntu release--I'm running it on one of my machines already and look forward to upgrading my other machine.

Thu, 18 Oct 2007

first spam!

Got my first spam comment on the blog. The current tally (as of this writing) is 1 real comment, 1 reply from me to the real comment, 1 trackback, and 1 spam. I think that qualifies as a full count.

Wed, 17 Oct 2007

status: week ending 10/16/2007

I spent the last week pawning bugs off on other people while I come up to speed with Firefox development. Alex Faaborg wrote a blog entry about Firefox and Miro which piqued our interest. The result of the conversations around that blog entry launched me into Firefox development.

My first impression is that Mozilla has a massive code base. They've got a lot of code for a lot of products and they're managing it with an intricate series of make files and scripts. It has taken a while to come up to speed and I'm still spending time figuring things out. I've written some loose notes about getting started with Firefox development on my other blog. As a side note, it's tough having two blogs.

Today Alex formalized the issues into bug 400059.

I spent Saturday at the Ubuntu Massachusetts Install Fest which went fantastically. I talked to a bunch of people about Miro, Ubuntu and Free Software. Most people I talked to either hadn't heard of Miro at all or had heard of it, but didn't realize we had changed the name. I'm not sure what that means in the grand scheme of things, but everyone was pretty interested in the current state of the project.

This coming Friday is the start of PodCamp Boston 2. Dean, possibly Chris, and I are going to attend some/many/most of the days and talk to people about the Miro ecosystem. Dean's also talked to Chris Brogan about making the sessions available as a feed somewhere so that we can turn it into a channel and put it on the Miro Guide. I'm not a big fan of tech evangelism, but I think telling people about the Miro ecosystem is generally a good thing for everyone involved. It's good for us for the obvious reasons. It's good for content producers because it's important for them to understand the publishing side of the equation and that they don't have to be tied down to a host/publisher. It's important for the rest of the world because the more people realize they have options, the more those options continue to exist and the less likely it is that unpopular voices are muted. That's some serious stuff.

I think I'm going to spend the coming week continuing work on the Firefox patch and poking around with the Firefox code base. I suspect things will slow down a bit as I start asking more questions and waiting for answers. That'll give me time to continue working on the Mediabar.

As a side note, I'm now using Firefox 3.0 dev--it's pretty interesting.

Update 10-21-2007: I got this weekend confused with next weekend. Not quite sure how I did that. Next weekend (26th-28th) is PodCamp and FOSSCamp. It was a good thing, too, because I spent this weekend pushing out 0.9.9.9 rc0 and upgrading my laptop to Gutsy.

Wed, 10 Oct 2007

status: week ending 10/9/2007

It's been a really really busy week. I put Mediabar down and played catch-up with Miro and infrastructure.

I fixed (or at least think I fixed) a few UDE-type errors (#8705, #8706, #8699, #8820, #8737), passed a bug to BDK, passed a bug to Chris, and I think I may have passed a bug to Nassar, too.

We didn't previously have any official policy regarding contributions from non-PCF employees. I spent some time putting together a policy for handling code contributions and also for checking code into the SVN repository. I've talked with Ben and Chris about it so far and ironed out some issues. I think it's pretty decent now. https://develop.participatoryculture.org/trac/democracy/wiki/TheRules

I spent some time going through all the code and adding GPL/Copyright headers to files that didn't already have them. I haven't done this to XML, XUL, or DTD files--I think I'm going to leave them be. Part of the reason is that there are a lot of them. The other part of the reason is that they're in a bunch of different markups and I'm not wildly psyched about trying to jam GPL/Copyright headers into them in such a way that it doesn't screw up how those files are used in the code.

I finished up an "alpha" version of the timeline script for Bugzilla. It needs some more work and it has some bugs, so it's not quite ready for prime time. I hope to have this done by the end of the week, but finding time to work on it has been difficult.

Dean is talking to contarc/Jay about skinning Bugzilla and making other changes. In order for that to work well, I needed to re-work things so we can manage the changes we're making to Bugzilla better. I spent today fixing my changes to meet the Bugzilla recommended method for changes and checked everything into SVN.

It'll be really nice to have a better Bugzilla, but we need to make sure that it meets the needs of the developers and testers as well as the rest of the community. I've heard a lot of opinions about what it should and shouldn't look like and that concerns me. While we're pushing to get Miro 1.0 and Mediabar 1.0 out the door, I don't think we should be spending gobs of time on changing minor things in Bugzilla unless the changes are necessary to fix some real problem we all agree exists.

On Sunday, Dean, Chris and I met up with Asheesh from Creative Commons and SJ from OLPC and talked about the world as it revolves around Miro and other things. It was really interesting stuff, but also pretty overwhelming. Then we went to a GNOME Summit bar thing.

I'm planning on switching back to Mediabar stuff tomorrow (Wednesday). I need to finish the tab-friendly re-architecture and I need to figure out how to deal with the recent rss-download issue Neil bumped into. Then there's a lot of little stuff that needs to be done. My rough guess is that I'll be working on Mediabar for another couple of weeks with some time spent on Miro and Bugzilla.

I think I'm going to lay low on IRC for the next week--I need to be talking less and doing more. My queue of things to do is starting to get too big for me to wrap my head around and I'm starting to feel a bit overwhelmed.

Mon, 08 Oct 2007

NPR in Wired

Wired has an article today, Entrepeneur Aims to Overthrow TV, Not Get Rich. PCF's mission is a huge reason of why I'm working here--it really appealed to me and I really believe in it.

Boston Gnome Summit 2007

The GNOME folks are meeting in Boston for the Boston GNOME Summit 2007. I met up with Asheesh (who turned out to be a PyBlosxom user I've known for a while) last night and talked with Stefan from Nokia about Miro, gstreamer, and the possibilities of porting Miro to the Nokia Internet tablets.

Tonight, Dean, Chris and I met up with Asheesh (Creative Commons) and SJ (OLPC) and talked about Miro in relation to Creative Commons and OLPC. After that, we headed over to Flat Top Johnny's and talked with more of the people who were here for the GNOME Summit.

Most of the people I talked to knew about Miro--that was neat. There's a lot of interest in Miro and its future directions. In many ways it's really exciting, but in some ways it's really daunting. How do you choose between the myriad of interesting future directions? We've got a limited number of people working on Miro, so we can't choose them all--at least, not for the next version after 1.0. It's a good spot to be in, but at the same time, a little depressing since it would be a lot of fun to do everything. :)

Sat, 06 Oct 2007

new planet look

Many many thanks to Jay (contarc) for putting together a new look for Planet Miro. It looks much better now--it feels like a Miro-related web-site now.

Now... if we could only get someone to help us with Bugzilla .... ;)

Wed, 03 Oct 2007

Helping Out

Several people have hopped on #miro and #miro-hackers and asked how they can join the community and help out.

Here are a few URLs to pages that talk about how to help:

  • Help build the open video revolution Talks about why what we're doing is important.
  • Translating If you can help translate, definitely look at this page which talks (briefly) about how to get involved in the translation effort.
  • Democracy Testers (should be renamed to Miro Testers) This page talks about our testing efforts. Miro runs on a huge number of operating systems on a wide variety of hardware. There are many issues with specific video cards and specific combinations of libraries, operating systems, and hardware. Help us test Miro on as many combinations as we can.
  • Team Miro Team Miro is instrumental in helping the developers flesh out issues into problems that the developers can reproduce and then fix, fleshing out documentation, and making Miro easier to use and more user-friendly. Team Miro meets on Tuesdays.
  • Make Internet TV Miro is a video player, but it's not very interesting without content. MITV is a web-site that walks people through the hardware, software, and skills needed to create video content. If you have experience in these areas, share it with others and help to make the site better.

status: week ending 10/2/2007

I didn't get a whole lot checked in over the last week.

I put Planet Miro together. I've been toying with a timeline script for Bugzilla which is now partially working (but on my local machine). I'm trying to figure out how to keep the script and related templates separate but a part of the Bugzilla code so that if/when we upgrade Bugzilla, we don't have to spend time extracting the changes I've been making and re-do them. I haven't come up with any good answers, though. I'm thinking I may just check a bunch of files into SVN with a big README on how to apply them to Bugzilla and which files go where. This is a big paragraph, but I only spent maybe 3 or 4 hours on Bugzilla stuff.

In Mediabar land, I added the code for adding and editing helper program information. It still needs some code for verifying the data that the user entered and there are a few other FIXMEs for things that need to be finished off. But for the most part, users can add, edit, and delete helper programs and assign them to the various media types and that all works now.

I've spent a majority of my time working on re-architecting the extension to be tab-friendly--mostly learning how all the XUL pieces fit together. I think I need another day or two to finish my research, then I'll do the re-architecture. I started writing up a specification, but my ideas and understanding of what's going on is changing too quickly to make that worth-while at this stage. I'll finish the specification up in a couple of days.

Neil has been moving along with other bug fixes, so we've been getting things done even though the project is waiting on the tab-friendly re-architecture code changes.

In Miro land, I did a pass at updating the miro.1 man file and I think that's about it. Chris took some of the bugs I was sitting on and fixed them. I want to spend some time to finish the other ones off since they're worth fixing.

Also, there was a guy on #miro-hackers last week named, but I forget his name. He was asking whether we want help with our Windows platform. I had to leave, though, and I haven't seen him online since.

Overall, it's been a week of spinning my wheels wishing I had a lot more prior experience with JavaScript and XUL.

Tue, 02 Oct 2007

blogs for planet miro

If you know of other blogs that would be appropriate for Planet Miro, send an email to will dot guaraldi at pculture dot org and let me know.

The loose goal for the planet is to aggregate Miro-related blogs: developer status, testing, news, ... If at some point the planet gets too big, we can split it up into focused planets.

I'd like to see some blogs from the rest of the community: users, TeamMiro, etc.

fixed the planet

I thought I had Planet Miro set up correctly, but turns out I had a one-character error in the crontab and so the planet wasn't updating. It's fixed now--the planet should be updating every hour.

Sat, 29 Sep 2007

MozRepl

I've been doing Firefox extension development and it's been going pretty slowly because it's hard for me to figure out what's going on when things are running (and I'm not wildly familiar with the things I'm working with).

After whining about how I wish there was a REPL for JavaScript, I did a Google search and came across MozRepl. It's helping a lot so far. I'm not spending hours hunting for object documentation anymore.

On an interesting note, you connect to MozRepl with telnet and it has a line-mode interface. Turns out that Lyntin (a mud client I worked on years ago) works fantastically for this. I would assume most mud clients would because at heart they're line-mode telnet clients with a bunch of features designed to remove repetition in common tasks and make it easier to skim large amounts of output quickly without having to read through all of it.

Fri, 28 Sep 2007

planet miro and watching progress

I threw together a Planet using Venus for Miro-related blogs (and other feeds). Like other Miro-related sites, the configuration and templates are stored in SVN. It's currently set to update every 8 hours, but we can change that if need be.

The mission of these dev blogs and planet miro is to keep everyone in the loop on progress of Miro. Previously if you wanted to track progress, you could hang out on IRC (#miro-hackers on irc.freenode.net), follow the Trac timeline, and/or watch bugs change status in Bugzilla through searches. These methods are good, but they don't follow the progress of a person or groups of people, they're following the status changes of development artifacts--the two things aren't necessarily the same. When I started in July, I mentioned starting development blogs and a planet because I think this has been wildly successful for other projects, but then ... I never really got around to implementing the dream. Kudos to Dean for getting the devblogs set up!

As a side note, when putting together the planet, I skimmed the Miro Testing blog and I thought the entry from the 26th on how do we grow the community was both poignant and important. It's worth reading if you haven't already.

Update 9/29/2007: Upon Dean's request, I changed the frequency of planet miro updates to once an hour.

Wed, 26 Sep 2007

getting mediabar to understand tabs

I've been working on getting the Mediabar to be tab-friendly over the last few days. Currently Mediabar re-discovers all the media on a page every time a user goes to a new url (by clicking or entering something new in the location bar) and when the user switches tabs. That's the behavior that I'm working on fixing.

In order to fix it, I'm doing a minor redesign of how Mediabar works internally. I've been hanging out on #xul and #extdev on irc.mozilla.org and picking up interesting tidbits of information.

After I fix this issue, there are a bunch of minor issues to fix and then I think it'll be golden. I think it's going to take another few days at least--probably more on the order of another week.

Tue, 25 Sep 2007

Hello world

This is a first post as I get used to the WordPress interface....

I'm a developer at Participatory Culture Foundation and I work full-time on Miro development. Currently I'm working on Mediabar which is a Firefox extension that discovers media on a web-page and allows you to send selected media to media applications like iTunes, Miro, VLC, ....

My plan is to post status-type posts on this blog as well as short essays on various development issues that I come across. This gives readers a window into my development progress so that things are more transparent.

I'm using Planet Mozilla as inspiration.

That about covers it. If you're interested in other kinds of content, comment below and I'll see what I can do.

About me

I'm a Miro developer employed by Participatory Culture Foundation.

What I do:

I spend my Miro-development hours testing, release engineering, doing some release planning, doing Linux and Windows development, working on enhancements, fixing bugs, and Ubuntu support, packaging and testing. I also do some bug triage, user support, and "public relations" (i.e. hanging out with content creators and content publishers and explaining how the Miro universe fits into their world). I think I'm averaging between 40 an 60 hours a week for work but my wife insists it's a lot more than that. I haven't had the courage to measure it, yet--some things are probably best left unquantified.

Ways that you can get a hold of me:

irc: willguaraldi on #miro-hackers on irc.freenode.net email: will dot guaraldi at pculture dot org

Meet me for coffee:

I live near Boston, MA, USA right off of the T. I'd love to hang out, get a cup of coffee, and talk Miro and Miro-related things. If you're in the area, definitely look me up.

I'd also love to do Miro or Miro-related hackfests. If you're interested, let me know.

The rest of my world:

My other web-site is at http://bluesock.org/~willg/.

I'm the maintainer of PyBlosxom. I've been doing some GSOC and GHOP work with the Python Software Foundation.

I started a co-working group called Nomadic Telecommuting Herd which grows linearly with respects to how much time I put into it which comes in spurts.

Mon, 09 Jul 2007

New job--PCF

It's been a crazy few months... I worked like crazy the last two weeks of grad school, got my Masters, got married, went on a honey moon (or toffee moon depending on where you live), pushed out a new version of PyBlosxom, and ... got a job! I'll be a developer on the Democracy Player (soon to be Miro) at Participatory Culture.

I'm really psyched about this. Hopefully it nicely weds my Open Source/Free Software development hobbies with employment. Hopefully it nicely weds the way I like doing software development with the way I have to do it for work. Regardless, it's nice to be working in one major language (Python) rather than two (Java and Python). Also, there's a lot of really neat technology that PCF is using that I haven't worked with before--so it'll definitely be a growing experience.

I start next Monday (July 16th). Because I'll be doing Python development for employment, it'll be a lot easier to focus on Python-oriented things and blog more about Python the language, tools, methodologies and all that, too.


pyblosxom::1.5rc2 20100803

All contents Copyright 1996 to 2010 Will Guaraldi Kahn-Greene.

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.