In the daytime I work as a presales solutions architect for a software company. I've had chance recently to sit back from linuxMCE and have a think about things in a broader sense, as if I were approaching a project at work, and try to think objectively. Here are my thoughts.
LinuxMCE is a media center. Cool.
What is great about it? Well it can turn on my lights when the film has finished, I have easy touch screen access to lighting scenarios around the home, when I'm watching TV I can see who is calling when the phone rings, etc etc.
What makes LMCE indispensible and unique is the cool integration between security, HA, media, etc. What everyone complains about? Media playback.
I have heard some of the core devs getting very dispondent at the mountain of work to do on LMCE to do things like remove non open source code, bring it up to the current standards for media center UIs such as XBMC, write new plugins for things like Hulu, Mame, Pandora, etc. I feel sorry for the small handful of devs who are literally recoding a mammoth system, so complex and interconnected that probably not even one person alive knows every inch of it and never will. Maybe it's time to stand back and ask if the task is really too big, and also if it is justifiable (read on!)?
I also did a bit of playing around with Boxee and XBMC and suddenly thought - if the only thing stopping me using these packages full time was the lack of cool HA/security/climate integration, then wouldn't it be better to take the media playback from XBMC into LinuxMCE all get all those Hulu, Netflix, iPlayer, Pandora plugins for free, and not have to maintain this huge beast anymore? There is even now a mythtv plugin for XBMC which allows liveTV and recorded program watching, and of course it's very much under active development by a large community.
XBMC is all easily controllable via a HTTP API, which is even better.
I would propose to strip frontend duties away from the orbiter (except for non MD devices) and have XBMC launched by the DCERouter on startup. The HA, security, and telephone menus would all then be XBMC plugins. It should be possible to get devs in the XBMC community to write these plugins if we get them excited enough, which would be great news obviously.
- Leverage existing iphone/smartphone apps for XBMC control
- UI3 for things like webDT goes into XBMC dev pool and you get their dev support and involvement
- No more coding new plugins for media playback as new web portals launch (there will be a lot over the next few years you can bet! - how many do you want to code?!!)
- Development on things like the mame plugin becomes an XBMC plugin, and again gets a wider audience and contribution from XBMC devs
- DCERouter stays in there and modularity is preserved
Seems like a win/win situation.
Does linux need separate teams writing competing media centre applications? Is this for the best? It kind of defeats the whole open source philosophy of contributing code to make the pool better so that it benefits everyone involved. Lots of separate pools reduces the chance of benefits being shared.