« December 2006 | Main | March 2007 »

January 31, 2007

Major feature rollout

Big changes in the world of Media Mill today. I just installed a new copy of the codebase, which represents the last six weeks or so of development work. What you get:

  • "my Projects" - you can now establish projects which contain multiple videos. You can share a project with another user and they'll also get all the videos it contains. Then, they can add videos to the project and they'll show up for you as well, automatically. It's like magic!
  • Derivative locking - you can click the lock icon next to any derivative. It'll prompt you for a "lock message." Once a video is locked, it can't be deleted without first being unlocked. The idea is that if you've embedded a video in a blog, or sent links out to all your friends, you don't want to delete it by accident. The lock message is intended to remind you of why it's locked. Clever eh?
  • Drag and drop rearrange - this is automatically enabled in the project interface, and can be selected in the general "my videos" page. Select the "custom" sort order, and then just click and drag to rearrange your video list. The order is then automatically stored on the server as you move things around, so it'll stick when you return. This works best if you "collapse all" first. This should work on all the modern browsers (Safari, Firefox, IE7).
  • Persistent sort settings - Your sort order choice (a-z, date, custom) is now stored in a client side cookie.
  • Improved performance - If you have your videos collapsed, thumbnails won't be loaded every time you refresh the "my Videos" page. Instead, they'll be loaded dynamically when you click the disclosure triangle. For those of you with lots of derivatives, this should improve performance substantially. Additionally, some javascript has been stripped, some has been consolidated, and the rest has been compressed.

I think that's about it. There are loads of other minor tweaks.

Please let me know if you run up against any issues with these new features. Thanks!

January 22, 2007

Shaking hands with the Devil

Despite what you might think, there is a lot of esoteric thought that goes into writing code. Programmers agonize over the elegant way to do something, and feel guilty when resorting to a "hack" - even if the end result is identical. That's not to say that bad code doesn't get written, but it's often because outside constraints demanded it.

Today I had to shake hands with the devil.

It used to be that no two browsers could be expected to perform at all alike, particularly in regards to Javascript. Netscape and IE would do things entirely different. This meant that pages often had whole decision trees to display different code depending on the browser. This was fundamentally The Wrong Way (tm) to do things, as it meant there were tons more places for code to break, and it left the code ugly and hard to maintain. As time has gone on, browsers have gotten better and more flexible, so oftentimes code will render nearly identically across browsers.


There's been an issue for a while with the rendering of the "window blind" effect on Internet Explorer. This isn't a problem in Scriptaculous (the library that provides the effect) but rather something to do with the nested divs on the Media Mill myVideos page. One of the features in beta testing right now allows you to drag and drop your videos to arrange them however you like. Adding support for this has exasperated the rendering issue on Internet Explorer 7, such that blocks of text would disappear and reappear as you moused around the screen.

I spend the better part of this afternoon trying to solve the issue, but my CSS-kung foo is insufficient, and so I've resorted to something I had long tried to avoid. I added an IE-specific hack. IE users will no longer get the pretty window-blind effect. I hope that this is a small price to pay for the added coolness of dynamically rearrangeable videos, but it still makes me sad. Cry.

January 16, 2007

New Xserve in the cluster

The new Xserve, mentioned in the last post, is now online. Let me know if any odd problems crop up. Otherwise, just enjoy the massive performance boost, particularly with Quicktime encoding.

January 15, 2007

Holy Speedy Compression Batman

After a bit of a technical delay, our Intel Xserve is up and running and boy is it fast. I'm still doing shakedown testing on it, but for fun I threw it in the production cluster for a bit. For Quicktime jobs, you'll see approximately a 250% speedup in compression jobs, as we've now got six processors churning on those jobs. Flash and Windows Media jobs can't be split between multiple machines, but it means that we can now process six Flash jobs simultaneously, rather than two. That's pretty significant.

As I said, the server is still going through some testing, so I'm not going to leave it in the cluster tonight. I need to reengineer all of the Flash presets in order to work properly, among other things. Hopefully we'll have it up and running for all of you later this week.

January 6, 2007

Media Mill Downtime

Hey all - Media Mill was offline for a few hours earlier today due to a hardware issue. We're still investigating the cause so that we can be sure it doesn't happen again in the future. On a side note, we're very close to bringing our new compression server online, which should significantly speed up compression jobs.