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

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.

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!

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.

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

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!

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

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