Video Browser: Past, Present and Future.
almost 5 years ago
h2. The Past
About a year ago I decided its time to say goodbye to my xbox media center. It served me really well, it played most of the videos I had, it had a really nice and simple interface and was pretty stable. But.. it was far from perfect, the xbox is really noisy and it did not play quite a few of the formats I had cause it did not have the power. It had no support for TV recording and would occasionally hang.
So, I thought, Ill buy a Mac mini and try it out, its pretty quiet, has the grunt to play almost any video format, has fast networking and you can plug a USB tuner in to it. It took me a few months to give up on OSX as my media center. Front row is nice, it has movie preview support, you can get it to play almost any format but it had quite a few issues which I just could not sort out. Apple made too many really annoying decisions for me. Can I sort my videos by date? Apple says no. Can I have integrated TV tuner support? Apple says no. Can I extend and develop on top of the “front row” platform? Apple says no. And on top of all of these issues I was having codec problems, stuff would work great on VLC and far from great on front row.
I did not give up that easily though: I tried “Center Stage”:http://centerstageproject.com/ which did not work. I tried “iTheater”:http://www.itheaterproject.com/ which was way too alpha I bought “MediaCentral”:http://www.equinux.com/us/products/mediacentral/index.html which I gave up on quite quickly, I remember trying to explain to their support staff that you should be able to fast forward through AVIs (at least in 30 second skips), I lost that battle.
h2. Vista Media Center
So… I went back to the drawing board. I installed bootcamp and then installed Vista and got Vista Media Center going. My Terratec USB tuner that worked fine in OSX kept on crashing Vista. I bought a “new USB TV tuner”:http://www.digitalnow.com.au/product_pages/tinyusb2.html and it seemed I was back in business.
Some people think Vista MCE is “the best product ever”:http://www.codinghorror.com/blog/archives/000784.html. I think its the crack talking. When I first used Vista Media Center I was shocked. Why the hell do you need such a complex initial menu. What is the logical relationship between “pictures and videos”:http://www.winsupersite.com/images/showcase/vista_mce_01.jpg , isn’t a movie a video? I think Microsoft did a good job with the TV recording piece, I also think they did a good job with the configuration screens. The initial layout is all wrong and the weakest piece they released was the “Browse Videos” piece. I just couldn’t believe it, It seemed it was constantly trying to cache thumbnails, why, I don’t know. No metadata, no dvd support “without a hack”:http://thegreenbutton.com/forums/1/211911/ShowThread.aspx, no advanced sorting options, no way to view your items as a list.
But VMC did one thing much better than Apple. It allowed developers to write plugins for it. Now, the VMC platform is ghetto. But at least it exists. My first shot at video browser was in XAML, this version was very short lived, cause Microsoft decided that to “deprecate”:http://discuss.mediacentersandbox.com/forums/thread/6623.aspx XAML development on Media Center.
So, I downloaded the Vista MCE SDK and started playing around. When I mention this is ghetto, I mean it. You have no drag and drop GUI designer. The APIs are complicated, and do get some things to happen you have to revert to nasty “reflection hacks”:http://discuss.mediacentersandbox.com/forums/thread/6011.aspx . On top of that you never know when some big shot in Microsoft is going to decide to kill off MCML and build it on top of WPF. I think its bound to happen one day.
Digression aside, I got my plugin out and a few iterations later I was getting 100 downloads a day.
h2. Can I make money out of this?
My current day to day work is on a fantastic ArchLinux machine, I write Ruby and Ruby on Rails code in Vim and it keeps me happy. Video Browser has always been a hobby not an income stream. So I thought, what the hell, I’ll just open source this thing and see what happens. I don’t need to make money out of this project. I can just wack this on my resume and if someone asks for some example code, I can show them Video Browser.
I decided to open source Video Browser under the GPL. I was thinking about an BSD style license and still in some way would prefer it, it fits much better with all my Ruby work. But no devs stepped up and asked for it. The biggest reason for going with GPL was that the “other”:http://code.google.com/p/open-media-library/ open source VMC project was GPL and I wanted to be able to share code with them.
I have been really lucky with this whole open source experience. From go “Jas”:http://blog.manghera.com/ decided to join the efforts and gave us a whole new look and feel. The “community”:http://videobrowser.ch that has formed around this product has been really great and there has been a lot of positive feedback. We have also made a huge amount of progress in a really short amount of time.
h2. The Future
I use Video Browser every day, I’m very happy with it, but there still is ton of stuff left to do. I wish we had auto update functionality and you didn’t have to use the keyboard every time you want to get the latest version. I think navigation between the content area and the sort options area can be improved and made more intuitive. I think it would be awesome to support online content and movie trailers. Maybe a video browser like application for music would also make sense.
One of the biggest areas which would make it much more compelling for first time users would be an integrated metadata story. At the moment there is very clear distinction between metadata and browsing, you collect all your metadata for movies using windows apps and collect all your metadata for tv shows using a ruby script. This is really complicated for many users. Personally, I love the underlying architecture where the metadata is stored as close as possible to the videos, that has to stay. But I think that if somehow a complementing MCML app with some internal hooks could gather the metadata without having to use ruby or a windows app it would make Video Browser much more appealing for first time users. Imagine and “Add DVD” menu strip that will rip the movie and add metadata for it at the same time. It would be pretty cool.
In no way do I mean to knock the existing metadata tools that we have, I think they are awesome, its just that they are targeted at hackers. (Especially the ruby script I wrote)
In future, I hope we can make Video Browser faster and keep the bug count really low, I hope it can stay simple and provide a really compelling story for first time users. When people come over to your place and have a look at Video Browser I want them to say “Wow … that looks so easy, I wish I had something like that”