It Works For Me (bekerja untuk saya)
"The best laid schemes o' mice an' men / Gang aft agley." - Robert Burns
Everyone has a story of how things can go wrong despite all of your best intentions and efforts. Here's one of mine.
As a freelance developer in 2000, I was hired to write a voice-activated data entry application for the mining industry. During the project, I found myself in Jakarta, Indonesia, deep in the rain forests of West Papua New Guinea where, despite being on the equator, we were surrounded by 16 thousand foot snow-capped peaks.
The application was called Voicelogger. Users would speak various commands, including numbers, into a wireless headset. Voicelogger would capture the data just as if it were typed in and respond with feedback if necessary. This was my first exposure to voice activated software development. It really wasn't that hard. At least, it wasn't much different than any other type of software development. I used Microsoft's Voice Software Development Kit technology using VB6 for the "Grammar" dll's, Access for the UI and SQL Server for the master data. Voice commands are stored as text and can be interpreted or spoken by the computer. Voicelogger required 110 words of various mining lingo, of which, honestly, I can hardly remember any now. There were geo terms and words like, "depth", basic colors, all the numbers, 1, 2, 3 etc…. common navigation words like "Next", "Insert", "Modify", "Close", "Open". There was also a test command, which was "Testing 1, 2, 3". The computer would respond with "OK".
Target users of the application were Geotechs at mine sites. Mining companies determine where to dig for gold by first exploring underneath the earth. Holes are drilled several hundred feet, sometimes more than a mile under where they think gold might be located. They use special drill bits that capture core samples about 3 inches thick and 3 feet long. These core samples are placed on trays and taken to storage sheds where Geotechs eventually analyze every linear inch of every core. They record the depth and geological features like hardness, color and striations. This data is then used for 3D modeling applications, creating stunning visual simulations of the earth beneath where they are drilling.
With Voicelogger, the idea was to allow the Geotech the ability to handle the core and log data via voice without having to stop and pickup a pencil or type into a keyboard. This obviously would speed up the tedious and cumbersome process of core analysis.
After several months of programming and testing, I finally got an acceptable application working. Then, the requirements changed. The new requirement was for Voicelogger to be bilingual.
Geotechs in Indonesia mostly speak Bahasa. The mine supplied me with a list of Bahasa equivalent words for my Voicelogger grammar database. I tweaked the app, basically allowing the user to switch languages with the click of a button. After testing, it worked just as well as the English version, at least, on my machine when I used it. We even flew a local Indonesian mining employee(hand picked by the mining company), "Budi", to our office in Fort Collins, Colorado, to sign off on the performance of the application. I was able to tweak the grammar perfectly to Budi's pronunciation. Our confidence was high, knowing that our software worked well with a genuine Bahasa speaking user. This was an important step in the testing phase. We didn't know how important until later, as you will see, when you get to the end of this blog.
Bahasa Indonesia is the official language of Indonesia and is one of the most widely spoken languages in the world. It's not a language that I can speak. However, I did learn the 110 words that I programmed into the grammar for Voicelogger. I could enter data into Voicelogger and that's about it. In a restaurant, in the middle of Jakarta, I wouldn't be able to ask where the bathroom was (this actually happened to me). Although, I suppose I could put my knees together and then say "nomor satu". That's "number one".
So, I was able to model the entire Bahasa grammar database after Budi's verbal examples. I recorded Budi saying every word that Voicelogger required. I was able to refer to the recordings as my application progressed.
Our mission was to get this software working on 6 laptops, go onsite at the largest gold mine in the world, the Grasberg Mine in West Papua New Guinea and train the local Bahasa-speaking Geotechs how to use Voicelogger. After departing on a midnight Halloween night flight from San Francisco, my two business companions and I landed in Jakarta on November 2nd. Due to the international timeline, we lost a day somewhere past Hawaii.
A funny side story: Along with all our luggage and the 6 Voicelogger enabled Laptops, we were carrying a full-sized PC that contained my dev environment. We decided to bring it to be safe. Remember, this is 2000, technology wasn't as portable back then. Anyway, at the airport in Jakarta, they wouldn't let me past this certain part of the airport with the PC. In a panic, we negotiated with the non-English speaking, machine gun toting dudes at the checkpoint. We talked them into letting me open the case and get the hard drive. That's really all we needed anyway. So, as they literally surrounded me, machine guns at the ready, I pulled out my leatherman and popped out the HD. Crazy. They wouldn't let me take my PC, but the leatherman with the 4-inch knife blade was OK. So, I put my HD and my leatherman in my backpack and off we went. Next stop, jungle.
In Jakarta, we hopped on a company plane carrying mine workers and island hopped west to New Papua, flying over smoking volcanos and an endless array of tiny islands, some of which, we landed on to pick up more mining employees. On one of the islands, we were wandering around a massive "hut" on the side of the runway, shopping for local "stuff", like jewelry, art, and even penis gourds, when the plane rolled by just outside the hut. You could see the pilot peering through the window of the cockpit. Someone yelled at us and pointed towards the plane. I guess they were looking for us. We ran out as they were dropping the stairs, jumped on and took off.
From our landing spot on West New Papua, we drove a massive jungle bus from sea level, 20 miles, straight up, it seemed, through the most amazing scenery I've ever seen. The island of New Papua contains some of the most remote, exotic landscape in the world. Driving through the thick jungle up impossibly skinny and steep roads with thousand foot drops on both sides, local tribe members occasionally could be seen just off the road, some with penis gourds and spears.
We finally arrived at our destination, Tembagapura ("copper town"), a village built by the mining company. Tembagapura is located at 8 thousand feet, surrounded my unbelievable beauty. We worked between 10 and 12 thousand feet where the main active "pit" was located.
Our first day of training consisted of 6 Bahasa only speaking geotechs, myself and a translator in a room with a projector. Before I gave them their own laptops, I ran through all the functionality of the application using the Bahasa words. "pengujian, satu, dua, tiga" ("Testing, One, Two, Three"). Their heads were spinning as they surely had never seen voice activated computers before. I would say commands, data would appear on the screen, magic! They were eager to try using this on their own.
They all put their wireless headsets on and fired up Voicelogger on their own laptops. "Pengujian, satu, dua, tiga"...and nothing happened. By "nothing", I mean, when the computer does not recognize a command, or receives an incorrect command, I programmed it to make a noise that sounds like "boink!". "pengujian, satu, dua, tiga", "boink". After a perfect presentation on my machine, with me speaking Bahasa and all, now, on their machines, none of the computers seemed to work. Now, this being a voice activated application with all the complexities and dependencies of dll's, the peculiarities of Access and oddities of the Indonesian version of Microsoft's NT operating system, I was thinking that there has to be something technical that I missed in the installation. I spent the lunch break pulling my hair, testing each machine, couldn't find anything wrong. Everything worked fine when I tested it.
After lunch, we continued with marginal success. They eventualy left, taking their laptops with them. By next morning, they had played around with the English version of Voicelogger and determined that it works much better than the Bahasa version. Teaching the Bahasa-speaking Geotechs to speak English was never an option that the client requested. However, as it turns out, these guys really wanted to learn the English version. And they learned it pretty fast. They said, "We learn English, more Rupia". Whatever it takes to get the software working. So, we went with that and the rest is history. Whew!!
Later on the trip, we were driving through the forest in a snorkel equipped jeep casually discussing the failures and successes of our project. After hearing of our Bahasa version challenges, one of the ex pat passengers asked us who we got to translate the Bahasa grammar. We told him "Budi". All the ex pats laughed and said, "No wonder it didn't work. Budi has a speech impediment".
So, the entire Bahasa grammar for Voicelogger was modeled after a Bahasa speaking Indonesian with a lisp.
How do you say "bekerja untuk saya" in English? "It works for me".