Download it from here.
Ok. I finally got tired of *****ing about the things that I don't like about what is currently available and have started doing something about it.
CarFrontEnd (no, i'm not to creative with names

) takes it's inspiration from AMP and TatraApp/QCar. I was going for the look and feel of AMP/FrontRow, but I wanted the expandability of the TatraApp/QCar plugin model.
I have been running various versions of this in my car for a few weeks now, though I haven't loaded this version (performance, a few UI tweaks) yet (but it works on my PB). These by no means a final product, just what I believe is a stable-ish Alpha build.
Currently the only support it has is for music via iTunes. I plan to add some other support, but it will only be for things that my wife and I want. If there is something you want, feel free to ask but I made the plugin support so that someone else can add features that i'm not interested in. I'm not trying to be a PITA about it, but this is primarily for my wife and I and I just hope someone else finds it useful and that others want to expand it to fit their needs.
So first I will explain the screen shots that I have, what i'm planning, explain how to install it, then show an "example" (my iTunes player) plugin that will hopefully get others started.
The UI:
It is sized for 800x480 full screen, but it will expand for higher res displays. I do not recommend using it for a lower resolution.

This is the screen you see when you start CFE.
In the upper right is the date/time. You can control the format with the international preferences it uses the separate date and time configurations rather than requiring you to combine both into a time setting (like the menubar trick).
Between the date/time and the "Menu" button are the Quick Slot buttons. The Quick Slots are used to access plugins that you use on a frequent basis. There are a total of 3 buttons, but they are only visible if there are plugins available for them. If there are more than 3 plugins loaded, you can select which plugins are accessed by the Quick Slots from the Menu screen.
The Menu button will load the menu content (see below) into the content area.
The last two buttons bring up the volume window (see below) and (un)mute the audio respectively.
The area to the right of all the buttons is the content area. This is where the plugins content is displayed (see the iTunes plugin for an example).

This is the volume window and it will appear in the center of the screen when you click the button with the speaker and +/- image. This window will disappear ~3 seconds after you use any of the windows functions (including spawning it).
The left button reduces the current volume by one level (0 - 100) while the right button raises it by one level. These buttons are to assist in fine tuning the volume while the slider allows you to make more drastic changes.

This is the "Menu" view. These buttons need image replacements.
The "Hide" button hides the App so you can access your Desktop and other applications.
The "Quit" button is hopefully obvious
The "R Drv" button swaps the position of the main controls to the opposite side of the screen. This is for users in areas that use right hand drive vehicles. This button will then change to "L Drv" to allow you to switch back. (Go on. Play with it. You know you want to

). Here is an example of the swapped UI:
The Plugins area contains a button for each plugin that is loaded. Click the desired button and it will load the plugin's content view.
If there are more than 3 plugins loaded a button will become visible that will put the buttons in a mode to update the Quick Slots. To modify the Quick Slots:
- Click the Modify button.
- Click the OK button on the popup window that describes what you need to do (the following steps).
- Click the Plugin button that you would like to assign to a Quick Slot.
- Click the Quick Slot button that you would like to assign it to.
- Repeat for additional plugins if desired.
- Click the Done button (the Modify button with different text) when you are finished.

This is the content for the iTunes plugin.
And here it is when you have the driver side swapped.
When you load the plugin, it will start (if it isn't already) iTunes and start playing the currently selected playlist. When you switch to another plugin (the Menu), it will stop updating the UI but will not pause iTunes.
Across the top is the playlist control. The "<<" and ">>" buttons select the previous and next playlists respectively. These buttons will cause the playlist name in the big button to change. Click the big button to change to the given playlist. It should show your Library, iPods, CDs, and the Radio playlist (I haven't seen what it does with an mp3 CD) and all their playlists. Finally you have the "Eject" button, if you have a source selected that can be ejected (iPod, CD, etc..) this will eject it for removal.
The center area is track info (art, artist, album, track name, time slider, current time, duration). You can use the time slider to skip around in the track.
The bottom set of buttons controls iTunes. The "<<" and ">>" are previous and next track accordingly. The ">" will change to "||" when a track is playing and visa-versa. The last two buttons are for shuffling and repeat modes respectively and work like they do in iTunes.
What i'm planning (in no specific order):
*) Build a sysinfo plugin. CPU, Memory, network, etc.. graphs. I want to do this to show off that the graphics on the plugin buttons are being updated regularly (e.g. the button will show the CPU utilization) and because I care about these sorts of things
*) Write my own Music player rather than using iTunes and AppleScript.
*) Add AppleRemote support.
*) Make it AppleScriptable/support non-TouchScreen control. (11/28/07 - Partially done with Key Binding support).
How to install it:
1) Download the
CarFrontEnd Installer, uncompress it, and run it.
Enjoy,
-dave
Change Log:
08/12/2007 - 1.0a2
1) Moved the plugin buttons to the Menu view and added Quick Slot functionality to the Main screen in place of the original plugin buttons.
2) Modified the CarFrontEndButton (CarFrontEndAPI.framework) to require the programmer to do less setup to make the buttons display correctly.
3) Change the previous track button functionality in iTunesMusicPlayer. It now will advance to the beginning of the current track if more than 10 seconds of the track have elapsed. Otherwise it moves to the previous track.
4) Created an installer!!
08/02/2007 - 1.0a1
1) Now open sourced at
http://mac-carfrontend.googlecode.com.
If you would like to contribute to the codebase, please email me at iamgnat at gmail dot com with your Google username and how you would like to contribute (have a plugin idea, what to do graphics, fixing bugs, etc..).
07/27/2007 - 1.0a1
1) Fix to timer being fired when a device (iPod, CD, HDD, etc..) is mounted. An infinite loop was possible that would cause the available playlists to not be updated when changes occurred.
2) If two consecutive tracks had the same duration, the track info would not not change when the track changed. Corrected by using the id from iTunes rather than the duration.