Interview with Cory Fields of XBMC

I recently had the honor of spending time with Cory Fields, the Public / Business Relations Manger for XBMC. XBMC is the premier free and open source, cross-platform home entertainment system. XBMC was originally created for the first-generation Xbox, but has evolved to now be primarily available for Linux, Mac OS X, and Microsoft Windows. As proof to their success, the XBMC project has recently been accepted by the SFLC as clients. A perfect way to test XBMC is to download the live CD.

LJ: How are you doing?

Cory: I'm good.

LJ: How do you describe XMBC?

Cory: First, it's a shining example of open-source collaboration. Second, it's one hell of a media center.

LJ: What is your involvement with XBMC?

Cory: I've become the Public Relations person, as well as the Business Relations Manager. Basically I do the behind the scenes stuff, though I help with the server and web administration as well. So mainly social, but some technical to keep myself connected as much as possible. In the past year or so, we've seen a sharp rise in corporate interest in XBMC. When a large company wishes to present a road map for integration, I'm usually the primary (at least at first) contact.

LJ: How did you get started with XMBC?

Cory: Reporting bugs, troubleshooting, and submitting patches.

LJ: XBMC is available for many platforms... including Linux, Windows, Mac, Apple TV. Does it still work on the Xbox or Xbox360?

Cory: We cut ties with the Xbox ages ago, and have never been interested in the Xbox 360.

LJ: Interesting. I didn't realize XBMC was no longer supporting the Xbox.

Cory: Nope. There have been no official Xbox releases since Atlantis. One developer still merges some code to the Xbox branch from time to time. It will soon be branched out into a completely separate project to help avoid exactly that confusion. Also, at this time, almost all of the team has zero interest in supporting the Xbox anymore. It's ancient hardware with limitations that were hit long ago.

LJ: Approximately how many people are working on XBMC?

Cory: That one's always hard to answer. We have an enormous community. You can grep the commits for a more concrete answer. In the past, something like 15-20 active developers at any given time. But the community provides patches, addons, etc. so the small number of active developers is not a true reflection of the effort that's gone into XBMC.

LJ: That is a very healthy size and there are patches sent in by even more people.

Cory: Exactly.

LJ: What is the primary language requirements for XBMC?

Cory: Code? or spoken?

LJ: LOL.. Actually, I think both would be good.

Cory: Primarily C++. scripts/plugins are python. Then bits of javascript / shell scripting throughout. Communication goes on in English. Though the program itself has been translated to a huge number of languages.

LJ: It's primarily C++ because of it's Xbox roots?

Cory: That, and the libraries we use, and the fact that C++ is widely known.

LJ: What can one control with the scripting language? GUI only, or does it go deeper?

Cory: You get a full python environment, plus the ability to control GUI elements. I'm no expert on the scripting side by any means. Best bet would be to check out some of the existing addons to see what they can do. Recently added, lyrics, trailers, home theater experience, weather... all very popular

LJ: One of the things I was hoping for when I recently started playing with the most recent version of XBMC for some integration with the Tivo.

Cory: Patches welcome ;)

LJ: Further investigations made me think the Tivo had to be hacked.

Cory: Exactly. It's become our (basic) stance to not include support for anything proprietary in XBMC core. That's what plugins/scripts are for.

LJ: I understand... How does XBMC compare to Boxee?

Cory: Boxee focuses more on the social aspect of media, web content, and ease of use.

LJ: Was boxee a fork?

Cory: Yes, they forked to pursue a commercial venture based on our code base on friendly terms.

LJ: Do you know if they push any code back?

Cory: More so in the beginning. But the codebase has diverged quite a bit.

LJ: How would you compare XBMC to the others, like Myth (front end), Frontrow, etc...

Cory: Those are opposite ends of the spectrum. Frontrow provides an experience that works with minimal intervention, assuming you play by their rules. Myth takes quite a bit of work to get going. The main draw to XBMC, as most any user will tell you, is that it's beautiful. You just can't wait to show it to your neighbors.

LJ: Is XBMC fully open, or are there any patent issues you need to worry about with the video playback code?

Cory: That one's hairy. For the most part, we use ffmpeg for decoding. Put simply, we inherit their issues. The ffmpeg team deserve a ton of credit for their work. For the average user, there's nothing to worry about. However, when dealing with the legal departments of large manufacturers, the patent issues become a headache.

LJ: If someone was interested in joining the XBMC project, what steps would they need to take?

Cory: We're like most open source projects. If you're helpful, we notice. Submit good bug reports, submit patches, help out however you can. We can always use fresh blood. But we're more of a 'start hacking and see what happens' group. It's hard to bring someone on just because they've proven themselves good at c++. But if they show up with a POC (proof of concept) feature, they'll surely find a mentor.

LJ: Does XBMC look and act the same on all your hardware?

Cory: For the most part, yes. Some hardware is less powerful than others so we accommodate where we can. The Apple TV for example and ARM are obviously quite different.

LJ: Do you have some "reference" hardware you suggest to someone who is new, but wants to setup a media center?

Cory: Easy... ION. There's plenty to choose from, but a nice ION system is the best bang for the buck at the moment. For years we've been under the impression the hardware was just around the corner. Now, since the ion stuff hit the market, it's very obvious the time is now. And with the arm/tegra2 in the near future, the landscape is only looking better.

LJ: I suppose you have HD support?

Cory: Sure, with hardware acceleration, XBMC handles 1080p without breaking a sweat.

LJ: Back to you for a second.. Is this a full time or part time job?

Cory: LOL. Job? It's a part time hobby. Same for all the others.

LJ: Since it doesn't pay your bills, what would you say helps keep you motivated. I ask as there are lots of people contributing valuable code to lots of projects who sometimes lose that spark. Maybe you can mention how you keep your spark as a way to help others keep theirs.

Cory: Sure. XBMC is fun. The community is great. It's a great feeling to know that you're a part of a project that is as well-received as XBMC is. Initially I was honored just to speak with the developers. It's an incredible learning process. We've made ties to communities and companies that we wouldn't reach otherwise. As for keeping it alive, it's ever-changing, and all team members have input. So it can be great fun to debate and argue with the direction/form things take.

LJ: Any sense for the size of the greater community as a whole? Maybe the install base?

Cory: Those are hard numbers to get. Our forum has approximately 40,000 users. We have a pretty steady 8000 downloads / day, excluding Linux, which is harder to track for obvious reasons.

LJ: I am very impressed with XBMC. What are some new features we can look forward to in the next version of XBMC?

Cory: The two biggest by far are: pvr and addon manager. Basically, we'll be providing a universal pvr frontend. There are lots of good backends out there, no sense reinventing the wheel. You'll be able to hook up xbmc to vdr/myth/tvheadend, etc.

LJ: You will have a seemless connection to the encoders...

Cory: Yep. And roughly the same experience regardless of what backend you choose.

LJ: Will the user be able to install the encoding software via XBMC, or will they need to do that separately.

Cory: Separately. Though the next livecd may include some ready to go.

Oh almost forgot, web interface is another big improvement for the next version. The existing web interface is very limited. It's being replaced with libmicrohttpd and jsonrpc.

Then the other big feature is the new addon browser. It provides the ability to browse for skins/plugins/scripts/scrapers/pvr/etc. directly from XBMC itself.

LJ: Are you using SVN or GIT?

Cory: The official XBMC repository is SVN, though most developers (including myself) use git locally.

LJ: Is there an offical place like github for most of the addons?

Cory: Hosting for addons has been a nasty problem in the past. They're scattered all over the place. That's what we're trying to address with the addon manager. We host the addons on our mirror system, like a repository. Then you can browse that repository in XBMC. Complete with versioning, dependency resolution, etc.

LJ: Like a mini CPAN.

Cory: Exactly. We have a goldmine in addons, but they've historically been a huge pain to find/install. We're hoping to change that.

LJ: I have recently seen the power of controlling the addons... like with Apple and the app store..

Cory: Yes, that's a big concern. The current (read rough) plan is to handle it almost like Ubuntu. We give a default repository, and have our own policies. But you're welcome to substitute your own repositories.

LJ: Similar to the Debian model of having the "not-free" area for your tivo addons.

Cory: Yep, that's very similar to what I have in mind as well. But remember.. these are addons, not core xbmc code.

LJ: So the addons don't need to be separated by license?

Cory: The addons don't necessarily have to be floss, or even gpl. as long as they're free to distribute under reasonable terms.

LJ: That makes perfect sense.

Cory: That's a great oversimplification obviously, but is the gist. The first stable XBMC with the addon manager will likely be a big learning experience.

LJ: Do you have a target date yet?

Cory: Dates are always hard, but we try to keep a rough 6 month release schedule.

LJ: So this summer.

Cory: Should be, ya.

LJ: Thank you very much for your time. Both for today, and for all the efforts you and the team continue put into XBMC to make it the fantastic product it is. Feel free to reach out to me at any time.

Cory has generously offered to do a followup interview and to pass questions on to other XBMC developers. If you have any questions for Cory or the XBMC team, please leave them in the comments. I will collect the best questions and pass them on in a few weeks.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Follow up

Anonymous's picture

Where can I find this follow-up interview?

My question is regarding

Anonymous's picture

My question is regarding google tv. Despite how new it is what are your thoughts regarding it and the possibility/feasibility of an app or maybe just your thoughts on google tv as a whole.

HD audio

AndyP's picture

I was wondering where in the timeline of developments we can expect to see bitstreaming support for the HD audio codecs such as Dolby TrueHD and DTS-MA. I understand that the hardware support is limited currently, but there is a large chunk of HTPC users out there who desire this feature out of a media player and are currently stuck using patched stand-alone players. The sooner the better!......that being said, xbmc is amazing

Boxee recently anouced some

Loz Brown's picture

Boxee recently anouced some new features including the following:

Find and identify unresolved files by going to the Files menu, and selecting the "unresolved" folder from the bottom of the list. select files and follow the instructions above to label them properly. You'll now be able to put in movie names and TV show seasons and episodes to ensure your collection is pristine.

This seems like a pretty usefull tool and one I briefly considered moving from XBMC to Boxee for. Is there scope claw back code or at leat ideas from boxee?

Books on XBMC

SteveZ's picture

hey Guys,

I have been really into XBMC and pushing it on all my friends for quite a while now. Onve the Add On Manager and PVR integration is in it will be truely exciting. I would really be interested in a book on XBMC. Is there any out that you recommend? I would love not only for use of the base system plus most interesting/ popular addons but also from the developers perspective... IE walking you through developing a plugin and the basic api that is currently working in XBMC. These are not really well documented and I think the easier you make it to build plugins the more popular this truely exciting software will be.

Thanks so much for this GREAT software and for being an amazing example of what the open source community can produce.

from
steveZ

Foundation

bulkzooi's picture

Cory,

You don't mention the Foundation. You, as a Business Manager, do mention a lot off business activities. Don't you think this Foundation should open up since there is no public info. available?

You also state:
However, when dealing with the legal departments of large manufacturers, the patent issues become a headache.

Are you talking about OEM-deals?
Thnx for your reply!

Refraised questions

bulkzooi's picture

Hi Cory,
I have got a few questions:

1> XBMC is a product within the XBMC Foundation. This Foundation is setup to freely share their assets with the community and to deal with copyrights, donations, partnering, domains, hosting, etc. Despite this project is truly FLOSS and community driven, but especially since the fact that there are some REALLY commercial forks like Voddler and Boxee, this Foundation doesn’t see the need to publish any information (bylaws, list of members, board of directors, financial year closings, etc.). For me, this is very strange and I don’t understand why such delicate matters aren’t addressed yet; XBMC Foundation started in 2008! So why isn’t this addressed yet and what kind of Foundation information will become public? In other words: What is this Foundation up to?

2> Why are Boxee and Telebision, compared to Voddler and Plex, totally different treated about more or less the same GPL-issues? Of course, there is a good relation with Boxee but the dispute is the same. Not to mention the FLOSS (GPL)philosophy.

3> You also state: However, when dealing with the legal departments of large manufacturers, the patent issues become a headache.
Are you talking about OEM-deals made by the XBMC Foundation? Can we expect those kind of deals in the future? http://en.wikipedia.org/wiki/Original_equipment_manufacturer

By the way, I love XBMC as a Media Center.

I believe that Cory means

Gimly's picture

I believe that Cory means that not the XBMC developers but third-party companies might have to deal with patent issues, especially for software codecs, if they choose to use XBMC as a framwork for a commercial platform, so for example the Boxee Box by D-Link.

Codecs that the the hardware can decode is not a problem since license is already included with with the price of the hardware, but any non-free audio or video stream that has to be decoded by the CPU can be subject to licensing, MP3 is a such example.

Engadget recently posted an interesting article regardign the H.264 patent license http://www.engadget.com/2010/05/04/know-your-rights-h-264-patent-licensi...

Corry tells he's getting a

bulkzooi's picture

Corry tells he's getting a headache when dealing with large manufacturers. Since forking is easy I guess mentioned companies are hardware resellers.

So my question: Is XBMC talking about OEM-deals?

Web Browser

Hitchhiker's picture

With so much content being available vie such sites as Hulu and Netflix (just a couple of examples), is there any plan to integrate a browser for viewing this content?

Web Browser

Oliver71's picture

I don't expect the XBMC team to add a web browser by default just yet. However it is possible to add as a script/plugin/addon. Somebody does need to write that. I'm not sure if anyone is, though.

It would be very cool though

Patrick713's picture

It would be very cool though if they did.

web browser

splnut's picture

http://forum.xbmc.org/showthread.php?t=71664&highlight=firefox

Script to install a script to launch firefox on xbmc-live 9.11repack.

When can we expect xbmc

peteftw's picture

When can we expect xbmc [live] to have a games (emulators) library? i think it's the only thing missing from an otherwise awesome product. thanks

Is there any hope of trying

peteftw's picture

Is there any hope of trying to get a games library going in xbmc [live]? i've seen it run on xbmc on top of windows 7, but my Acer nettop can't handle that at the moment.
Thanks.

Some work being done - slowly

BLKGK's picture

http://forum.xbmc.org/showthread.php?t=40715

There's desire for sure. However scraping metadata requires a good source that will allow it plus emulators can be a legal minefield too. That said, I want to see it happen badly! Even if it was just MAME I'd be thrilled...

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState