Bits of the South African Election
by Erik NilssonUniversity of the Witwatersrand
CPSR News Volume 13, Number 1: Winter 1995
There wasn't enough time. Not just for building the computer systems. but for everything. The schedule was insane. It was as if we were trying to build a nationwide banking system in six weeks, in a huge, politically unstable country where terrorist bombings are routine. Open 9,000 branch offices all on the same day, run for four days, and then shut down without losing anybody's money.
Our task, in April 1994, was to help South Africa prepare for its first multiracial elections. The enormous responsibility of these elections would rest with the Independent Electoral Commission, where I would work on computer systems. I would be loaned to the South African Commission from the CPSR Computers and Elections project, which assists the U.S. Federal Election Commission with voting equipment standards, analyzes elections, and gives advice on election security. Fellow CPSR member Bob Wilcox and I have been running the project for seven years.
In March, I got a phone call from the International Foundation for Electoral Systems, which sends technical and other experts to "difficult" elections, often in the Third World. Were we interested in helping with software for the South African elections? Of course we were, how could we turn down the opportunity to work on the election of the century'?
The challenge would be daunting. The South African electorate, newly swelled with the enfranchisement of the huge black majority, was estimated at 25 million, but there was no census to show where they lived. How could we tell people where to vote, if we didn't even know where they were? How would we make sure we sent out enough ballots and election workers, if we could only guess how many people would show up at the polls'? Just directing voters and workers to polling places was difficult, with addresses as makeshift as the facilities themselves. (One polling site was officially called "The tent behind Bob's house.") Ballot boxes, polling equipment, entire counting stations, and millions of ballots had to be deployed in a country that encompassed sprawling urban leviathans as well as outposts a days drive from a telephone. Worse, the elections had only been announced five months earlier. By the time the election commission got organized, what would normally take a year to complete had to be done in 20 days.
To keep track of all of these mammoth, frenzied, and changing activities, South Africa would need massive databases of people, places, and equipment, as well as databases to record protests, incidents of violence, and the election results themselves. Software was needed to manage these databases, record new information, and produce reports. The task would have been impossible without computers, but even with the technology, we could still only hope we'd bought enough time. "The wheels come off it," a common South African expression meaning something has become a fiasco, seemed to preface far too many conversations about the Commission.
I arrived at Jan Smuts airport 20 days before counting started and drove to Johannesburg. April is autumn in South AfricaÑthe rainy season is over and the weather is pleasant. Like a street hustler, Jo'burg is friendly, threadbare, and menacing. The center of South Africa's mining region, Jo'burg is called the "City of Gold" because its modern, graceful towers were bought with precious ores from beneath the surrounding plateau. But depressed gold prices, a drought, and sanctions have taken their toll. The wealthy white suburbs are tidy and peaceful, but the city itself is run-down and dangerous. The streets reek of garbage and urine. Muggings are common after dark.
I didn't have much time to worry about Jo'burg's decline, however. After I checked into the hotel, I went over to the Independent Electoral Commission headquarters to get started. I worked there every day for the next 25 days, an average of 16 hours a day, scattered around the clock in an irregular blur. I didn't go through jetlag; I just went to work.
The Commission, headquartered in a 10-story building five blocks from our hotel, was a caricature of a busy office building. People were charging around and shouting at each other 24 hours a day. A constant stream of new faces and equipment poured into every office. People shared desks. People shared chairs. The phones were always ringing, the faxes faxing, the elevators jammed, and the air heavy with air-conditioned sweat. The Commission didn't hum, it roared; it was sometimes painfully loud.
Applications were being written and deployed daily, if not hourly, including systems to track 200,000 election employees, 9,000 polling locations, warehouses full of equipment, and the voting results themselves. A staff of programmers under Canadian elections expert Robyn Kall developed most of these applications, but the software for polling and counting stations, and for the count itself, was written by a small group in the Administration Directorate.
Because I was one of the few software people with elections experience, I was assigned to this latter group, to design the vote tabulation systemÑno small task. Before, when only the whites had voted, the election results had been produced on a Lotus spreadsheet. But with the black majority swelling the electorate from about 2 million to over 25 million, keeping track of the results was no longer a spreadsheet problem. Voting was to take place over three days, from April 26 through 28, and was later extended a day. On the evening of the last day, the polls would close, and all the ballot boxes would be trucked to counting centers to be tallied.
There were roughly 1,000 counting centers. As each batch of ballots was counted, election officials filled out a tally sheet showing the votes for each party. This sheet would then be faxed to the Commission. We expected an average of 25 batches from each center, which meant 25,000 tally sheets. It would have taken a month and a half, day and night, to fax these tally sheets on one fax machine. Fortunately, the Commission had dozens of fax machines dedicated to receiving the forms.
The tabulation system processed these faxes, and entered them into the database. Another program then totaled the results per party and passed these results to a transmission program that sent them to the worlds news media. As the count progressed hour by hour, new election results would appear on millions of TV screens minutes after we had received them.
All these programs for tabulation were written in Microsoft Access by my group inside the Administration Directorate. It was the Dawn Patrol of software engineers. Besides me, there were two other Americans: Access forms whiz Mario Tejada, and Mike Yard, an ex-minister, ex-flower child, and expert in Access. The South Africans included Etienne Posthumus, a 22-year-old software wonder boy. We worked elbow-to-elbow on laptops set up on metal camp tables. Power failures sometimes left us working by the light of our screens. A foxhole wouldn't have been more intimate.
We dressed as we pleased, worked the weirdest hours in the building, and survived on Brazilian coffee, Coke, and strange candy bars. I'm not sure how much confidence a bunch of caffeine- and sugar-hyped hackers in dirty jeans inspired, but nobody gave us trouble. Maybe they were afraid to ask.
With 13 days until the count, we of the Dawn Patrol had designed a software architecture and a paper flow for tabulation, and built databases to track the results. The databases for voting and counting centers should have been complete, but new centers had to be added as huge new chunks of population were uncovered, and as prospective centers were bombed or burned down.
"Its a quiet day," a commissioner told me, his dry Scandinavian humor belying the grave situation. "Only one [Commission] office was bombed today."
Eleven days before the count, and only a week before voting started, the Commission was awash in rumors that the Inkatha Freedom Party, the Zulu political party of over two million voters, would now be participating in the elections. Around 10 A.M. on April 19, I was told to be ready for an unspecified additional party. By I P.M., I got the official word: Inkatha was in. Now there were 19 parties in the national election. The problem was, the ballots had 18 parties printed on them, tally forms for counting the ballots had 18 boxes, computer input screens for these forms had 18 fields, and electronic records for transmitting results to the news media were built for 18 parties.
The ballots, larger than this newsletter page with full, four-color pictures of each party's flag and party leader beside its boxÑhad been printed weeks earlier in England. It was too late to reprint these elaborate sheets, so a sticker with the Inkatha flag and a picture of Inkatha leader Chief Mangosuthu Gatsha Buthelezi would be affixed. It was also too late to reprint all the tens of thousands of tally forms, so Inkatha's name would be added by hand during the tally. The computer screens and the electronic transmission form could be fixed, but it took time, and the software had to have the list of parties in the same order as the paper forms. Except now we didn't know what those tally sheets would look like. I talked to Lisa Thornton, who was coordinating work on Inkatha. She was meeting with the Commission at five to figure out how to get tens of millions of stickers printed and distributed in a matter of days. She'd try to get me answers after the meeting, but she couldn't promise anything. There was so much to do.
"Less than the amount of work emergency-room doctors and nurses, and undertakers would have otherwise," I said.
"Yes, of course," she said. "This is good news, but..."
"How much more good news can we stand?"
Now, almost the entire political spectrum was participating in the elections; it was all the more important that the elections be credible. It was like living on camera. Billions of people would watch every gesture, every line of code. The whole election funneled through our work. It was as if I were working in a sandwich shop, and God walked in and said, "The fate of forty million people depends on the salami submarine I'm ordering, and hold the onions." Everything was doable, but the stakes were high enough to be unreal.
Late that night, there was a thunderstorm. I got to the hotel just ahead of the rain, and wrote input routines on my laptop in the dark, watching the lightning. The rain washed away much of Jo'burg's grime and reek. By now I was pacing myself, only working 14-hour days. I would need my strength when counting started.
The next day, we completed the data structures, and I got an input system running that expected 19 parties.
With a week left, Bob and I took a rare evening off (which is to say we quit at about 9 P.M.), and went to a party. We returned very late, and I stayed up to do a little work. Consequently, I was sleeping in the hotel the next morning when a white man reportedly left a car containing over 200 pounds of plastic explosives on Bree street, a block away. The explosion rocked the hotel and wounded 100, killing 9. It was the largest car bomb in South African history.
I first thought the bomb might have been targeting the commissionÑblowing it up would have delayed the elections, and probably started a civil war. But when I called our office there, Mario answered the phone.
From a window, I looked down on the destruction. A cloud of smoke rose languidly from the bomb site. A water main was broken, carrying the red soil away like a river of blood. There were shattered windows on all sides, and the storefronts were destroyed. The roof on one building had collapsed. Bob and I went out to investigate. It was at once calm and threatening, like being inside the barrel of a gun. Twisted cars were strewn about like neglected toys. Nothing remained of the bomb car.
That night, I was waked by another bomb going off directly outside the hotel. The hotel was full of foreigners, mostly election observers, and someone was trying to scare us off. I felt like a target.
Four days before the count, the old South Africa vanished when, at midnight, officials lowered the old flag at the Parliament building in Pretoria, and hoisted a colorful new one: black, green, gold, blue, red, and white, incorporating the colors of every major South African political party.
Voting began the next day. Counting wouldn't start until all voting was finished, in four days, but everyone was edgy, feeling that this was the last opportunity for violence to derail the elections. The authorities ran extra patrols of bomb-sniffing dogs through the Commission. (A bomb was found, but it was kept secret for several days.) Most of us went home early, although I didn't feel much safer in the hotel.
By counting day, everything was ready to go, despite some last-minute changes to the input forms and database demanded by our manager. About 11 P.M., the first results trickled in.
By 1 A.M., we were reporting a million votes cast, not nearly enough. I was called upstairs to report on progress. Because of the database changes, we were reporting only half of our results. The other half couldn't be reported until a tricky program called the Summarizer, which totaled the votes for each party and cross-checked the totals, was fixed to account for the database changes. We were sitting on close to a million votes that weren't being reported to the world. I agreed to have the program fixed by 2:30.
I went back downstairs to a scene of total chaos. Not only did we have a nasty software fix ahead of us, but now the server was refusing connections, so only about a dozen of the 24 data entry stations were working. Faxed tally sheets from the counting centersÑhundreds of thousands of votesÑwere piling up, and the world was waiting. The whole election was inside that server, and if it was sick we could lose everything if we touched it. It was a pretty scary situation, but I decided we'd have to reboot it anyway. We got it down around 2 A.M.
I went to talk to Neil Cowse, who was fixing the Summarizer. "The server should be back up in 15 minutes," I said. "That will be 2:15. At 2:30, we have to have the Summarizer working." Neil gave me a pained look, and said that that might barely be possible. "Well," l said, "it doesn't have to be working by then. If we don't get it working by 2:45, there will probably still be a country here."
Geva Patz was working on the server. He found a hardware fault, pulled the offending unit, and got the server back up in 15 minutes on the dot. All the data entry stations worked flawlessly. Neil fixed the Summarizer in a shade over 15 minutes There had been no feed to the media for half an hour, and they would start to scream any minute. We cut over to the live feed to the world. If any of the sleep-deprived programmers working on the Summarizer had made a mistake, it would show up on millions of TV screens in a few minutes, probably as drastically wrong results. We went over to the transmitting computer and held our breath as we watched the vote totals. Through bleary eyes. we were relieved to see reasonable numbers continue scrolling across the screen. I stayed until Mario and Etienne showed up around mid-morning.
Two days later, with results from all over the country showing them getting close to two-thirds of the vote, the African National Congress declared victory. Several of us from the Commission crashed the victory party, which was across the street at the Carlton Hotel. Only a month earlier, people had been hacked to death here by machete-wielding rioters. This night, Jo'burg emptied its population onto the streets, and both the Commission and the Carlton were surrounded by a sea of exuberant black faces. I waded in, carrying four paper South African flagsÑ each black, green, gold, blue, red, and white.
As I rounded the corner of the hotel, a middle-aged woman wearing a scarf was thrown against me by the crowd. She looked at my flags, and asked, "May I have one'?"
I handed her a flag. "Your country, after all," I thought.
Copyright 1995 Erik Nilsson. A version of this article first appeared in Wired 2.12 (c) 1994 Wired Ventures Ltd. All rights reserved. The article is reprinted by permission of Erik Nilsson and Wired.
© Computer Professionals for Social Responsibility
P.O. Box 717 Palo Alto, CA 94302-0717
Tel. (415) 322-3778 Fax (415) 322-3798 firstname.lastname@example.org
Created before October 2004