If you guys want flexibility and a "module" based system, why doesn't someone give us a concrete example of some code on how to do it. Personally, I don't know where to start with doing a modular system, so I doubt I would do it "the best way" right off.
We strive to include the most common and wanted features in our app, MediaEngine, and this includes (finished or in the works) a flexible database with search functions and automatic maintenance, an audio media player, support for almost any file type (at least it will play), a file based movie player, a DVD player, a CD player, a movie CD player, support to launch other applications, Remote, touchscreen, and keyboard inputs, and good user support and application stability. Not forgetting future GPS and XM.
If you want to know the purpose behind the frontend software, it gives us all something to do, something to talk about, and embodies the common goal to eventually have a system that everyone can use and customize the way they like. We may have to make a few compromises, and get in a few arguments, but in the end, the purpose of the frontend software is to drive the car based computer idea forward.