Thom, thanks for emailing me...
I lived and breathed this code for many, many months, and went through just about every module and every class, stepped through all the calls, etc. Yes, it was DAUNTING, and took many, many, many months to get a handle on what was going on. The problem I have is that (a) I'm kind of lousy at documenting and don't really know how to document stuff well; kind of a self-taught programmer that lives for coding, but without any formal training on proper documentation techniques, etc. (b) I'm not the most organized person at setting up teams, etc. (c) I'm *totally* swamped. I spent such a huge amount of time getting the first release done, and then the second release that I neglected everything else (like my job), and, given the volume of forum posts, emails, etc., have trouble responding...
So, what I think would be in the best interest of the project is to find (1) a volunteer who wants to be the community coordinator, with the mission of recruiting developers, coordinating requests and activities, and kind of 'buffering'. I could give this person my cell phone number so they can call me anytime. Since I spent so much time with this code, if somebody wants to know "how do I do this", or "where is this code", or "how do these pieces fit together", I could probably answer those questions in a minute and point someone in the right direction. Secondly, (2) we really need a volunteer who knows how to write proper documentation that can be the official 'standard bearer' for deciding how the architecture should be documented, coordinating with developers that are doing new code to be sure it's properly documented, and maybe, if anybody is up to the tedious task, coordinating other volunteers who want to go through some key pieces of the existing code and document them. I think that if there was a somebody who knows how documentation should be done laying out the rules and providing examples, it would be easier for devs like me who don't document stuff to have examples to follow.
I think that have 2 people fill those roles would make a huge difference in the ability to get a thriving development community, and would establish some sort of order so other devs could join the team and not get frustrated.
The big, major task that needs to be undertaken in LinuxMCE is redoing the GUI (Orbiter/Designer/etc.). You guys read the announcement from KDE that LinuxMCE is being merged into KDE, right? Well the plan is to completely rewrite the GUI using QT 4, instead of SDL, leveraging a lot of the eye candy type effects that KDE has built in, and create a really powerful design tool that allows the creation of a GUI that is dynamic and highly skinnable. Then KDE could get their guys who did the Oxygen and Plasma UI work to help with LinuxMCE, and the really good graphic artists/theme artists would have a rich toolset to create beautiful gui's. The goal is that the GUI would be flexible enough to do neat effects like having the highlighted options in the main menu 'zoom' and 'explode', like the bottom icon bar in Mac OS X, but without hardcoding all that behavior. Right now the behavior is very much hard-coded into Orbiter, so it would be difficult to create a new theme that does much more than change button images/placement, without re-writing a ton of code. I've talked to the Pluto guys and they have an invested interest too in seeing this done because their commercial clients like Monster all want their own distinct GUI's that look nothing like what the other Pluto-based solutions are doing. They can't currently do this with Orbiter. It's my understanding that Pluto and perhaps even a few others are considering sponsoring developers to work on this new GUI, since it would be such a huge task and would go much faster with full time devs instead of purely part time volunteers. I know there's discussions going on right now with KDE developers, Trolltech (the QT guys), and Pluto about how to get this going. It's going to be a big task because afaik nobody else really has such a dynamic UI that is theme-able. MythTV has a very theme-able UI that you don't need to write code for, but it doesn't have eye candy, 3d effects, etc. Then you've got UI's like Windows MCE which have cool effects, but they're hardcoded and not theme-able. So it seems like this is going to be pretty special if we get it done right.
If we get somebody to do the 'community coordinating' role, maybe that person could try to find a good dev who knows UI design well and could architect such a UI, and I can work on finding that person a sponsor so they can put all their efforts into it.