Car PC Hacks

Hack 59. Listen to What Your Car Computer Is Saying

Your computer may be talking, but is it really saying anything? With the right application, it could be.

When I first started researching in-car computing trends, I tried to determine what the biggest obstacles were to launching a successful product that large numbers of people would buy. What I learned from reading a lot of market research, analysis papers, and expert opinions was that safety was the number one concern of millions of potential consumers.

To be fair, price, standards, ease of installation, ease of use, cost of operation, form factor, performance, and supported applications all impact a product's sales potential as well. But if car computing products aren't made safe enough to begin with, anti-car-computer legislation could stop the whole market, at least in the very litigious United States.

I thought the problem through and decided that one of my design goals was to be able to operate every function of our CarBot software using only button presses and computer voice responses, without requiring a screenand thus the CarBot Player software was born.

Text-to-Speech

TTS is the acronym often used to describe any system where a computer attempts to read text or speak command results to the user. There is a control panel called "Speech" in Windows that allows you to configure which voice you want the system and programs to use by default, and to test that TTS is working on your system. The Windows Speech Application Programming Interface (SAPI) comes with a few built-in Microsoft voices and allows thirdparty developers to add additional higher-quality voices to a system. Any program that uses TTS can use the high-quality speech from these additional voices.

TTS has many useful applications in in-car computing. For example, many of the laptop navigation programs have a mode where they can read turn-by-turn directions to you [Hack #71].

5.6.1. The CarBot Player Software

The CarBot Player software was designed to allow the driver to easily and safely control any function that an in-car computer could possibly do, including controlling video for rear-seat entertainment, activating games, sending and receiving email, receiving instant messages, activating an in-car webcam…you name it. Yet I still had the goal of preserving the lowest common denominator of buttons available on remotes and stereo head units: fast forward, rewind, last track, next track, and perhaps five or six numbered preset buttons.

To accomplish all this, I tried to map everything to a CD player control methodology. For instance, while a DVD has a complex menu system, I wanted to make it as easy as possible to just start playing the actual movie. As a recent dad, I have a simple need: I want to be able to put in a Dora the Explorer DVD, press next next next, and have my daughter contentedly eating goldfish crackers while watching the show from inside her surround-sound car seat within moments.

Another application I really wanted was email. I used to have the privilege (thankfully, I love driving!) of driving 35 miles from a suburb to my office in downtown Los Angeles each daya commute that averaged 1 hour and 15 minutes. Though I could have listened to music or books on tape/CD, what I really wanted to listen to were the hundreds of emails I got every day that didn't actually require responses, and the Slashdot headlines and blurbs from that morning.

So, using the same interface my company was already using to control DVDs, we implemented an interface for navigating through email messages just like tracks on a CDthe next, back, pause, fast forward, and rewind buttons moved me through the messages in my Inbox, and the CarBot software read each message to me. One of our staff figured out that he could email himself chunks of text, or even long articles, and have them read to him during his commute.

5.6.2. Can I Have a Screen with That?

While the market research we did while preparing for this project may have been valid for millions of potential future consumers, I soon learned that it wouldn't necessarily help us sell in-car computers today. As I mentioned earlier, our market research said safety was the most important issue. But in fact, safety was actually what was on the minds of all the people not buying in-car computers. To sell our computers, we had to "give the market what it wants." And what was that?

Almost every one of our conversations with the customers that called for information about the first version of the CarBot (which was screenless) went something like this:

Customer: Hello, I'm interested in your CarBot. Does it come with a screen?
Me: No, it speaks to you, and you control it with a wireless remote control unit.
Customer: Oh you mean it has speech recognition?
Me: No, it speaks to you; you control it with a wireless remote control unit.
Customer: But can it work with a screen?

Needless to say, you can imagine what my response became:

Me: Absolutely! CarBot can work with or without a screen. You can run any Windows application, because it's a full-fledged PC…

Dance, sales guy, dance.

Questions such as "Can I check Outlook when I'm on the road?" and "Can I connect to my VPN?" indicated the real needs of the actual marketi.e., the people ready to actually pay money and buy the product. They weren't interested in safety (how could a populace addicted to driving while using mobile phones be worried about safety?); they were interested in applications. I don't even know if most of our buyers were worried about price or even standards, except for the standard "Does it work with my car?"

Voice/Button Interface

The well-established human interface for audio in the car is the car radio, which has remained essentially the same for many decades. One of the benefits of radio buttons is that they stay put and always have generally the same function, or at least the same function depending on what mode you're in (FM1, FM2, AM, CD changer, etc.).

One successful manufacturer of a Linux-based (but closed source) in-car computing platform is PhatNoise (http://www.phatnoise.com). Their digital media player started out with one main function: playing large MP3 libraries. To solve the problem of navigating through these libraries, they actually designed and even filed a patent on a method of using the CD changer buttons on factory stereos to reshuffle MP3s based on artist, album, title, genre, and so on. Early in the design process, I knew that we wanted to have excellent TTS software. Not being limited by the small CPU power of a handheld, we looked for a system that took advantage of the ample hard disk space and computational power of our in-car computers. We tried out the ViaVoice voices from IBM (http://www.wizzardsoftware.com/products/IBMttssdk.php) as well as some other Anglo-centric companies, but we finally decided to use the voices from a French company, Elan Sayso, now part of the largest European TTS company, Acapela Group (http://www.acapela-group.com).

My goal was to feel like Tomb Raider's Lara Croft (picture Angelina Jolie or the anatomically implausible video game character of your choice) was reading my email to me. And it worked! The Lara voice we chose, with her Frenchtinged British accent, actually made listening to some of my spam enjoyable.

5.6.3. Listening to Your Apps

The original CarBot Player had several user interface methods, all completely usable without a screen. Our design started with voice feedback and basic buttons that did not require the user to look at a screen. Then we built the visual interface, which is just a Flash movie. The user or installer can customize it to taste, making it as simple or complex as desired (or as permitted by the laws in their region).

When using the music playback features, the titles of the songs, artists, and folders being navigated are read to the user, who can navigate through them quickly without looking at the screen. Since the user can memorize the locations of the relevant buttons on the controller, navigating can become an automatic actionthere's no need to hunt around on the screen for the right button, song, or folder name.

Figure 5-6 shows a screen capture of one simple skin for our email application, which displays just the sender and title. Simple, huh? Listen, the last thing I want is people reading emails on a monitor while they're driving; I do have to share the road with these people!

Figure 5-6. Screen capture of the CarBot Player software

    Категории