Carputer Part Deux: Software

Not long ago, I mentioned how I wanted a carputer, so I made one.

“Actually,” points out Attractive Girl teasingly, “it was quite a while ago. Like, six months ago.”

Fine. Long ago, I talked about how I built a friggin’ sweet carputer.

But just having a bunch of properly connected hardware is only half the battle. The other half is being able to do stuff with it, which when dealing with computers requires something called “programs.” Programs tell the computer how to behave, and the computer is like, “okay.”

The most important program is called the “operating system” (OS). This is the very first program the computer runs when you turn it on. Without an OS, the computer would be like “Here I am! What should I do? Um… wtf.” With an OS, however, the computer is like, “Here I am! What should I do? Oh, all this stuff? Okay.”

The OS is also important because it is like a container program for all the other programs. You can put other programs in it, and if they are designed to work in that OS and then you can run those from within the OS. Note that this means that although some programs are made to work in multiple OS’s, many only work on one specific OS.

“Dude, this is not a Computers for Dummies book,” complains Mr. Yerfulovit. “Just tell us which software you installed.”

Man, I was actually kind of having fun with that. But okay.


OS’s for carputers are not all that different from those those used for desktops, although some are streamlined to use few system resources, or remove functionality not needed in the car environment. My choice of hardware already eliminated a Mac OS (a lot of people are doing super-easy carputers simply by throwing a Mac Mini in their glove compartment or something), so it was down to some variant of Linux or some variant of Windows.

TinyXP takes up only 400MB installed!

I checked out the available carputer software for Linux – but unfortunately, it looked like it required a good bit more tweaking to set up than I was prepared to do, and still had quite a few “issues” being resolved or only on the drawing table. In particular, GPS software would have been an issue. As is often the case in the open source world, too many feature requests and bugs and not enough developers.

So I opted for Windows XP, both because of the out-of-the-box-working software available for it and because of its familiarity. Rather than install one of my legitimate full-featured copies of XP, I tracked down a stripped-down version called TinyXP, which removes a lot of generally unused functionality from XP, and correspondingly reduces memory use and startup time.

Next I installed drivers for everything – all the VIA mobo drivers, touchscreen drivers, wi-fi card drivers, and GPS receiver driver.

“You mentioned something about a ‘front end’…” mumbles the ugly passerby, a little too conveniently.


Frontend, Etc.

In the world of carputers, most people opt to use something called a “front end.” In layman’s terms, this means a thingy that you use to do stuff. In front. In a little bit smarter layman’s terms, it means a program that provides a user-friendly interface for your touchscreen (trying to click normal-size buttons on an 8” touchscreen while driving is not advisable) and lets you navigate and operate all of your favorite programs without requiring a keyboard (typing while driving is also not advisable). In Windows-speak, it is essentially a glorified, touch-screen-friendly Start Menu that runs when your computer starts. You may have seen other front-ends in interactive museum displays, airport self-check-in kiosks, or public libraries that time or limit your internet access somehow. In the background, there is the familiar Windows XP desktop, but you can’t get to it because the front end is controlling your user experience. Most available carputer frontends have integration with some kind of audio player, and some provide hooks into GPS programs and web browsers as well.

Looks like we currently have a lock on 8 satellites, Batman.

The front-end I chose is an open-source Windows project called RoadRunner. It interfaces with Winamp for audio (my audio player since way back in the day), has hooks into several of the available GPS programs (but especially the one I planned on using), and has a decent-sized community of users developing skins and plugins for it. Perhaps most importantly, it’s free.

Winamp: never outdated, has lots of plugins, is directly supported by Road Runner.

Speaking of the GPS software I planned on using, it was not free, but I can’t imagine any good GPS software ever being free, given that current street maps usually have to be acquired (bought) from some kind of mapping service. I went with iGuidance, which from the discussion on seemed to be one of the best for mobile mapping and remapping. I anticipated missing a few turns over the course of the tour, and wanted a program that could quickly reroute me without me needing to pull over and reconfigure something.

You are on a ramp.  Hopefully you know how to merge (doubtful if you are from Minnesota.)

RoadRunner was going to provide the entire experience of carputing, so I also wanted it to look pretty awesome too. The default was nice but could be improved upon. I found a few places where I could get “skins” for it – some of them providing significant additional functionality. I ended up picking a very thorough and involved skin called Digital FX, which was developed by a friggin’ excellent skin developer for RoadRunner who goes by the online moniker JohnWPB.

The DigitalFX skin running on Road Runner.

To get RoadRunner and iGuidance to play nicely together, I also needed to install a tiny little utility called XPort, which essentially duplicates the signals coming into a port onto a number of other runtime-generated ports. That way both RoadRunner and iGuidance could listen to the GPS receiver (RoadRunner with DigitalFX has some nifty GPS-based features (pictured above), like a compass, a very accurate speedometer, etc.).


No computer software installation is complete without Opera.

Not much else was really needed. TinyXP came prebuilt with Firefox, but I have become an Opera zealot, so I installed that as well. I installed Flash player, then downgraded to what I had previously because the Flash-based RoadRunner started consuming significant CPU resources when using the newer Flash player. I may have installed VLC player and/or the K-Lite codec pack for watching videos (which I never got to work, actually, but video was never a priority for me).

It was fun firing up the carputer on the table and watching it boot directly to the frontend. One of the first things I did was go to my favorite text-to-speech site and make a wav file of the “Mike” voice (who, for reasons I will not explain here, I have named “Sam Leo”) saying “Welcome, Zach.” I then set this as the Windows startup sound. Imagine: car starts. Computer boots. “Welcome, Zach.” Awesome or what?

“Certainly not what!” cleverly chimes AG.

Haha, AG. It was also fun watching the GPS whir to life and tell me that even though I was physically inside my house, in order to get to my house, I would have to drive around the block.

A strong urge to attach wheels to the table and push it around the house, in order to watch the GPS update my position, made me realize it was time to finally install the thing in my car.