1.1 A Short History of Computing

Figure 1.1. Babbage’s Difference Engine was the first computer

The first computer was conceived as a machine of cogs and gears (Figure 1.1) but only became practical in the 1950s and 60s with the invention of semi-conductors. In the 1970s, a hardware company called IBM emerged as the computing leader. In the 1980s, however, software became increasingly important, and by the 1990s a software company called Microsoft had become the computing frontline leader by giving ordinary people tools like word-processing. During the 1990s computing became more personal, until the World-Wide-Web turned Internet URLs into web site names that people could read. IP addresses like 208.80.154.225 became Uniform Resource Locator (URL) names like  http://en.wikipedia.org/ A company called Google then offered the ultimate personal service, free access to the vast public library we call the Internet, and soon everyone’s gateway to the web was the new computing leader. In the 2000s computing evolved yet again, to become a social medium as well as a personal tool. So now Facebook challenges Google, as Google challenged Microsoft, and as Microsoft challenged IBM. This book explores the nature of social computing and the challenges it faces in the current decade. 

Charles Babbage (1791-1871) designed the first automatic computing engine. He invented computers but failed to build them. The first complete Babbage Engine was completed in London in 2002, 153 years after it was designed. Difference Engine No. 2, built faithfully to the original drawings, consists of 8,000 parts, weighs five tons, and measures 11 feet.

Figure 1.2: The computing evolution

Yet to design a computer system one must define it, so what is computing? This deceptively simple question requires many answers because computing has re-invented itself every decade or so (Figure 1.2). What began as hardware became about software, then about users and is now about online communities. This chapter analyzes the evolution of computing as it impacts computing design.

Next