HyperCard Revisited (Wikipedia)

In September 1987, HyperCard intrigued Cunningham, but his work at Tektronix would lead him to study how people design software, and he started to write about something called "pattern languages." Until then, developing software was still considered a complicated and cumbersome task—lots of complexities and intricacies that relied on a guru programmer to work out.

But Ward and others in the software world were starting to recognize that proven methods were reused over and over by engineers. The ability to use these so-called design patterns quickly and reliably was valuable. So the challenge was to spread the individual knowledge in people’s heads across different teams and programmers.

There was already a rich tradition in the computer science hacker culture to share and distribute expertise. But the mechanisms to do so just were not easy. That’s when Ward remembered his HyperCard project. Even though his "stack" of cards hadn’t gone any further than being a cute experiment on one computer, he remembered how empowering it was. As each person sat in front of the computer, gleaned the information, and added content, their eyes lit up. The knowledge base grew, making it more useful for the next person. He would have to wait just a bit longer for the means to free the knowledge from that box.

By November 1991, Ward had left Tektronix, but he stayed in the Portland, Oregon, area, which he would come to call his long-term home. It was a welcoming community to him and his wife, Karen, and they found the lifestyle in sync with both their personalities. They had met as graduate students at Purdue, when they both took the same highly theoretical "advanced compiler" class in computer science. Together, they had the expertise to put Ward’s ideas into practice and started a computer programming consulting company named Cunningham & Cunningham.


As Cunningham & Cunningham were applying their expertise to companies, something phenomenal was happening—the Internet that Ward was already familiar with was migrating from universities, military bases, and research labs to the masses. Ward saw what the Internet could do when finally brought out of the university domain, and got to work to put "collaboration" into his easy-to-use tool.

In 1994, Ward started to engineer an Internet version of his HyperCard experiment that he worked on at Tektronix. Ward would come to utilize something called Perl to create a prototype. Perl was one of the first widely recognized curious creations of the Internet that quickly became a Swiss Army knife of the dotcom industry. Perl is an acronym for what was originally the "Practical Extraction and Reporting Language"—a tool to glean numbers and create reports from volumes of numerical or text data. But it was so useful, people starting adding more features to the language to do more things. And as an open source program, it grew rapidly, as people shared the new features with the rest of the Perl users in the world.

The most interesting aspect of Perl was that it was a computer "scripting" language, meaning it could be used to quickly create a proof of concept. In contrast to the hammer and chisel of normal computer programming languages, using Perl was like using clay—it might not hold up well long-term or perform the best, but it was incredibly fast to test out ideas and make quick changes.

So with a few hundred lines of Perl code, Ward was able to create a site where it was easy to edit the very pages people were browsing. It sounds rather dangerous, but if it was managed correctly, the worst thing the user could do was mess up that one page, and not inflict any permanent damage to the computer system. In the early 1990s the vast majority of Web servers ran on the heavy-duty UNIX operating system. Popular versions of UNIX came from Sun Microsystems, Hewlett-Packard, and IBM, but the Linux operating system was getting increasingly popular. The Web "server" software they ran during that time was something called "httpd" or HTTP daemon, a program that ran all the time and served up Web pages.

Cunningham was getting the fundamentals down, but he was looking for a name. For that, he would think back to 1982, when he and Karen were on their honeymoon trip to Hawaii. He recalled sidling up to the counter at the airport, to ask how to travel between airport terminals. When the agent said to take the "wiki wiki," Ward did a double double take. "I asked for that direction to be repeated three or four times until the airline representative took the time to define the word wiki for me."18

Andrew Laing

Andrew Laing

Wiki was the Hawaiian word for "quick" with wiki wiki meaning "super quick." The airport’s Wiki Wiki bus, a Chance RT-52 shuttle bus to be precise, was their quick transport between terminals.

"I did pick up a book about the [Hawaiian] language before my return home. I learned many things from this, but wiki wiki is the word that sticks the most." Cunningham had found the perfect word for his new creation. "I wanted an unusual word to name what was an unusual technology."

He wanted editing text on a wiki page to be simple. To make something italic, you could type in two single quotes, and to make a new paragraph you typed in two returns. Making a link to another page was done by putting two CapitalLetters in a single word. On a Web page, any word showing up in That-Format would automatically link to another Web page with that name. The "wiki markup" that read like this: Please ”try" to assemble a TodoList

Pushing words together with double capital letters was a bit unusual, and surely made grammarians cringe. But Ward wanted to get people thinking, typing, and linking quickly, without having to learn fancy codes or worry about how to create Web pages.

"I needed some way to make a link, and then got the idea of actually taking characters out, so the markup size was negative," meaning you actually typed fewer keys to make a link. "I said, ‘Oh yeah, that’s good.’"

Ward’s curious creation of a HumpintheMiddle would affectionately become known as CamelCase. For the tech-savvy folks who first experienced Ward’s wiki, it was rather familiar—it closely mirrored the conventions used for keywords in computer programming. In time, CamelCase would become quite commonplace even in the commercial world. YouTube, MySpace, LiveJournal, and other arbitrary mixes of upper- and lowercase have become part of the dot-com lexicon.

On March 25, 1995, Cunningham launched his WikiWikiWeb creation on c2 .com, and invited folks to visit. More importantly, he asked people to edit and contribute to the site what they knew about programming and software engineering. They would not need an account or password, which was quite odd even for computer veterans.

There would be no gatekeeper, no central editor to submit to. Ward firmly believed that wikis would work because, "People are generally good."

The wiki quickly started to grow, as folks started adding their experiences and recommendations to the site. Tracking what was going on would have been impossible without some way of learning what was changing or being added. One of Cunningham’s innovations was the Recent Changes page, a running log of every change in the site. In one glance, you could see who was doing what.

tmp4-5_thumb

"There had to be a public sense of what we were talking about, and where people’s interest were," he recalls. "And that’s when I decided we needed Recent Changes. It would serve the need of showing people where we were working."

Even more importantly, on Ward’s wiki every version of every page was saved, providing a complete trail of changes and, in effect, the ability to easily inspect or undo any edit. People weren’t afraid of trying to edit the wiki, because nothing was ever permanently lost or destroyed. Pages could be resurrected and reverted back to their original state.

Finally, after eight years of waiting, he had an easy to edit, networked, collaborative resource that people could share in creating.

Cunningham’s WikiWikiWeb (more affectionately known as Ward’s Wiki at http://c2.com/cgi/wiki) became a curiosity and a central location for programmers interested in patterns in computer code. He would later dub it the Portland Pattern Repository, as it allowed people to individually contribute to it.

WikiWikiWeb became popular not just for the computer programming knowledge that accumulated, but also because of the wiki community that arose from it. One of the folks who discovered this was Sunir Shah, who described his first experience:

While searching for information on Design Patterns, I stumbled onto WikiWikiWeb. At first I dismissed it, but it was only a matter of time before I found the next online community to suck me in wholesale. It was an amazing conception: the web with write permissions, just like Tim Berners-Lee always wanted. It was stable. It was high signal. It was great.19

People interested in the "wiki culture" came to observe what was going on but found that Ward’s Wiki wanted to keep its focus on pattern programming and that there was tension among users. Shah proposed a separate endeavor altogether:

As readership/contributors went up, quality went down. Flame wars ensued. Meta-wiki discussions about the nature of Wiki itself consumed the community. I did what I thought was natural: with the help of Clifford Adams, I precipitated the formation of a separate wiki, MeatballWiki, precisely to talk about meta issues of online community. . . .

I’m going to build a community. Not only that, a community that builds communities. And damn us if we don’t change the world.

Shah spawned the MeatballWiki as a "friendly fork" of WikiWikiWeb, as a way to create a specific wiki community to discuss online community and culture.

MeatballWiki would prove to be instrumental in documenting online practices and, specifically, the new emerging wiki culture. Shah saw MeatballWiki as unique among other technology-oriented groups. "What differentiates MeatballWiki from many online meta-communities is that participants spend much of their time talking about sociology rather than technology, and when they do talk about technology, they do so in a social context." It would prove later to be a rich resource for Wikipedia, as that nascent community started to run into issues that MeatballWiki had documented and discussed at length.

One of the folks who stumbled across the new WikiWikiWeb creation was Ben Kovitz, who was working as a programmer at the time.

Remember him? He would provide the lifeline to Nupedia.

Next post:

Previous post: