status: week ending 11/13/2007

, | Tweet this

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.

Miro 1.0 released!

, | Tweet this

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!

, | Tweet this

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....

Bee Careful, Marvin! (2)

, | Tweet this

Back in 2005, S and I wrote a children's book called Bee Careful, Marvin. We did the entire thing by hand using free/open source software (Ubuntu, Scribus, the Gimp, ...) and self-published it on Lulu.

After two years, I finally got around to updating the book. I updated the license to a Creative Commons BY-NC-SA 3.0 license, moved the licensing text to the end, added a dedication page and updated the colophon. I also put all the "source" in version control using Bazaar and built a Trac instance to manage it and any other books S and I write going foward. The Trac instance is at http://bluesock.org/~willg/marvin/.

The "source" is under a disjunctive set of licenses: GNU General Public License 3.0 or later and Creative Commons BY-NC-SA 3.0. People can choose which one fits their needs better.

The book is free--I encourage anyone to download it, purchase it, copy it, give it to a friend, give it to a child, translate it, adjust the layout, ... Light user testing has suggested it appeals to children between 2 and 4 years of age.

It took forever to get around to figuring out how to manage the pieces, but I'm pretty happy with what we've got set up. We're currently working on the next book... hopefully we'll get it done by the end of the year.

status: week ending 11/6/2007

, | Tweet this

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.

Galcon in Gutsy

, | Tweet this

I had to install the following on a fresh Gutsy install to get Galcon working:

sudo apt-get install python2.4 libsdl-ttf2.0-0 libsdl-mixer1.2 \
    libsdl-image1.2

Figured I'd mention it here. I don't have a Galcon Forums account and don't really feel like creating one. If someone else has a Forums account, post the above in case other Gutsy-users are having problems.

0.9.9.9 released -- and thank yous

, | Tweet this

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.

status: week ending 10/30/2007

, | Tweet this

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.

Status 10/25/2007

, | Tweet this

Work has been pretty busy. I've been doing release manager stuff, working on Gutsy packaging issues, puzzling over an intermittent problem between the sun-java6-plugin and Miro, working on a Firefox extension, and working on a patch for Firefox 3.0.

I went to some of the after-hours activities for the GNOME Summit Boston. I'm going to PodCamp Boston this weekend.

I was writing my todo list management application in Django, but then decided to switch it to Pylons. Now I'm thinking I may just go a much easier route and implement it in web.py. A year ago, I wrote a wiki system that was code-friendly using web.py in three hours which included the amount of time it took to learn how web.py worked.

PyBlosxom work for version 2.0 has slowed considerably. I just haven't had much time to spend on it. A bunch of us are hanging out in #pyblosxom on irc.freenode.net and we're talking about things more often. I met paulproteus in real life during the GNOME Summit Boston. I'm trying to figure out how to create multi-page output using docutils. There was some development in that arena over the summer, some of it due to a GSoC project. I need to spend some more time to figure out what's available now in SVN, how to use it, and whether it'll fix my problem.

I've upgraded all my machines to Gutsy. It's nice--the fonts seem to be much easier to read on both my laptop and my desktop with an LCD.

That about covers it. It's been a low-Python high-JavaScript month.

miro and sun-java6-plugin conflict clarification

, | Tweet this

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.