status of trunk

Note: This is an old post in a blog with a lot of posts. The world has changed, technologies have changed, and I've changed. It's likely this is out of date and not representative. Let me know if you think this is something that needs updating.

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

Want to comment? Send an email to willkg at bluesock dot org. Include the url for the blog entry in your comment so I have some context as to what you're talking about.