GUEST EDITOR'S INTRODUCTION
by Maurizio Morisio
January 2009 — IEEE SOFTWARE'S 25th ANNIVERSARY
1984. Where were you? What were you doing? Something related to software? A quarter of a century is long enough to reflect on what's happened in the world of software—what were the key software-related events in those 25 years? For one thing, in 1984, IEEE Software started publication. This month in Computing Now, you'll find a variety of articles and departments from IEEE Software's 25th-anniversary special issue, including experts' reflections on the field's highlights through the lens of time.
The magazine has published about 1,200 peer-reviewed articles, and we've highlighted the best in "IEEE Software's 25th-Anniversary Top Picks." Time and experience help us see more clearly, after the dust has settled; IEEE Software's editorial and advisory boards undertook a rigorous review process to find the articles that stand out from the crowd. Is an article missing from the list, or is one included that doesn’t deserve to be there? Let us know what you think!
This month's theme also includes an extensive timeline of landmark events in software’s history. Again, if you think a significant milestone is missing, let us know via this month's poll. Several departments will be of value to all thoughtful software professionals: a conversation with Alan Cooper on the story of the interaction of humans and computers, an essay by Brian Kernighan on the evolution of tools, and a reflection by Shari Lawrence Pfleeger on how metrics are being embedded in the software production process. You'll get another view of what happened in this period if you take a look at Niklaus Wirth’s IEEE Annals of the History of Computing article on programming languages and the key concepts that drove their evolution.
Maurizio Morisio is an associate professor in the Department of Automation and Computer Science, Politecnico di Torino. He's IEEE Software's associate editor in chief for online initiatives. Contact him at maurizio dot morisio at polito dot it.
"Big Bang" is a popular term: chroniclers of almost anything like to use it to describe Day One. The particulars of the event, however, often don't live up to the implications of the term.
From the January/February 2009 issue of IEEE Software
Over the past 25 years, from 1984 through 2008, IEEE Software published more than 1,200 peer-reviewed full-length articles. As part of our 25th-anniversary celebration, Software's editorial and advisory boards embarked upon the ambitious task of distilling those articles into a compact list of recommended reading.
From the November/December 2008 issue of IEEE Software
Only a handful of people have had a huge influence on modern software development, and Alan Cooper is one of them. In the world of user-centered design thinking, Alan is responsible for many of the tenets we use in interaction design practice today. Most notably, he introduced the use of personas to distill and make relevant information about a system's users, information we subsequently use to drive interaction design. I recently sat down for a phone conversation with Alan. In this special column celebrating IEEE Software's 25th anniversary, I've extracted a portion of that conversation, the part reaching back more than 20 years. We talked about the birth of modern microcomputer software and the arrival of the interaction design discipline.
From the November/December 2008 issue of IEEE Software
As I write this column, I'm in the middle of two summer projects; with luck, they'll both be finished by the time you read it. One involves a forensic analysis of over 100,000 lines of old C and assembly code from about 1990, and I have to work on Windows XP. The other is a hack to translate code written in weird language L1 into weird language L2 with a program written in scripting language L3, where none of the L's even existed in 1990; this one uses Linux. Thus it's perhaps a bit surprising that I find myself relying on much the same toolset for these very different tasks.
From the November/December 2008 issue of IEEE Software
I ride my bicycle to work most days. On the way in, immersed in the beauty of the bike trails, I plan my day, thinking about the most pressing issues and how to address them. On the way home, I assess my performance, plan to improve what I've done so far, and address those things yet undone. I don't think of my 30-mile commute as an "extra," to be bolted on to my day only if I have time. Instead, it's integral to who I am, what I do, and how I do it.
From the July–September 2008 issue of IEEE Annals of the History of Computing
The term programming was commonly used through the mid-1960s, and referred essentially to the task of coding a computer. The term software engineering—referring to the highly disciplined, systematic approach to software development and maintenance—came into existence after a NATO-sponsored conference in 1968. At that conference, the difficulties and pitfalls of designing complex systems were explored in depth, and a search for solutions began that concentrated on better methodologies and tools. The most prominent of these tools were languages reflecting procedural, modular, and object-oriented styles of programming. Since 1968, the development of software engineering has been intimately tied to these tools' emergence and improvement, as well as to efforts for systematizing or automating program documentation and testing. Ultimately, analytic verification and correctness proofs were supposed to replace testing, but that has not happened.
From the December 2008 issue of IEEE Distributed Systems Online
In part 1 of this series on distributed computing education, we introduced a list of components important for teaching environments. We outlined the first three components, which included development of materials for education, education for educators and teaching infrastructures, identifying current practice, challenges, and opportunities for provision. The final component, a supportive policy framework that encourages cooperation and sharing, includes the need to manage intellectual property rights (IPR).
From the January/February 2009 issue of Computing in Science & Engineering
Granular materials (or powders) are a special class of matter. They're not solid, liquid, or gas, yet they behave like any of these states under the proper conditions: they assume a solid state when they reach a certain volume fraction of their constituent particles (the so-called jammed state), can flow like liquid at lower volume fractions or when sheared, or even exhibit the properties of a gas in a highly fluidized bed or when their container is strongly shaken. Jamming occurs when an amorphous collection of particles spontaneously develops rigidity and supports weight, like a solid instead of flowing like a liquid. The transition takes place without static spatial ordering but is accompanied by long-range dynamical correlations arising from the collective motion of groups of particles.
From the November/December 2008 issue of IEEE Computer Graphics and Applications
In the dynamic and interactive world of the Internet, we as a technology community have learned that we can make good Web-based applications better by adding rich visualization and analysis capabilities to control and navigate the applications' user interface. Noteworthy examples include Google Earth (http://earth.google.com) which, through visualization, turns hundreds of terabytes of raw satellite images and aero-photographs into actionable information shared with and enjoyed by millions every day. But for every problem the community addresses, plenty more go unrecognized or unexplored. In this Visualization Viewpoints article, I examine a longstanding Web-application problem. My hope is to stimulate readers to consider the issue and offer an innovative solution.
From the January/February 2009 issue of IEEE Intelligent Systems
In an era when people carry thousands of songs in their MP3 players or role-play as rock stars via video games, AI stands poised to transform how we interact with music in even more dramatic ways. Recently developed software applications that rely on AI tools such as machine learning and Markovian analysis are providing new ways to analyze music, arrange it into playlists, and even devise customized accompaniments to user-created melodies.
From the November/December 2008 issue of IT Professional
The first requirement for any area of practice to qualify as a profession is that it correspond to an organized body of knowledge (BOK). So how is the emerging IT profession meeting this requirement? Here, I summarize the most prevalent IT BOK's status, describe how a robust BOK can help several IT activities, offer suggestions on possible next steps in its development, and encourage participation in the process of maintaining an up-to-date and high-quality BOK.
From the October–December 2008 issue of IEEE MultiMedia
In the early 1960s, Ivan Sutherland's Sketchpad implemented a truly revolutionary improvement on batch processing of alphanumeric codes punched on cards: rich, graphicsbased, real-time human–computer interaction. However, this idea hit an early plateau with the development of windows, icon, menu, pointing device (WIMP) GUIs, which have slowly evolved over the past three decades but still bear the hallmark of their origins—Engelbart's mouse-and-keyboard interface and the first bit-map, graphics-based WIMP GUI developed at Xerox PARC for the Alto. We believe that it's natural for users to express themselves both at a higher-bandwidth and even more fluidly than is possible with WIMP GUIs. Therefore, our research group's interest lies in more dramatic alterations of the user interface, including haptics and immersive VR, and more recently on pen input, defined broadly to include the use of not only pens, styli, markers, photo pens, and so on, but also touch and multitouch devices.
From the November/December 2008 issue of IEEE Micro
Like any social system, a decentralized financial system works well when participants expect it to work well. Conversely, it works badly when participants expect something worse. A certain amount of psychological fragility always hangs in the air.
From the November/December 2008 issue of IEEE Security & Privacy
Assessing critical infrastructure control systems security isn't like assessing business and government information systems security. Control system equipment can be more fragile than standard IT systems. Moreover, using standard enumeration and scanning techniques on control systems can create failures with serious real-world consequences—for example, we know of one incident in which IT assessors left a natural gas pipeline's control center without a view of the pipeline's state for an entire shift.
From the December 2008 issue of Computer
In my Madrid neighborhood, some guys had a brilliant idea. They sprinkled the area with wireless routers so that each subscriber could buy Internet time from home. The service is a bit on the expensive side, but if you use the Internet at home only sparingly, like I do, it is an excellent deal. So, I tried it out.
From the January/February 2009 issue of IEEE Internet Computing
The arrival of a new year tends to enkindle within many of us a hope that the 12 months to come will be better than the 12 that just ended. Born of this hope are our New Year's resolutions: vows to lose weight, exercise more, stop smoking, or spend less time at the office. Such resolutions are renowned for being broken, of course, but individuals who actually succeed at keeping theirs often end up finding the betterment they seek.
From the November/December 2008 issue of IEEE Design and Test of Computers
This is the second of two roundtables on electronic system-level (ESL) design, which recently has been seen as an advance in the EDA community–the latest attempt to improve designer productivity, shorten design time and cost, and improve design quality. Of course, "ESL" means different things to different people, and the notion varies even geographically–for example, between the US and Europe. The goal of this roundtable is to identify expectations and any meaningful advances associated with the notion of ESL design. What are the promising developments in the area? Which problems are relevant, and which are not? IEEE Design & Test thanks the roundtable participants: moderator Rajesh Gupta (University of California, San Diego), Arvind (Massachusetts Institute of Technology), Gerard Berry (Esterel Technologies), and Forrest Brewer (University of California, Santa Barbara). D&T gratefully acknowledges the help of Roundtables Editor Bill Joyner (Semiconductor Research Corp.), who organized the event.
From the January–March 2009 issue of IEEE Pervasive Computing
Graduate and undergraduate students from seven universities roamed the hallways of the Washington Hilton for two days last November, sporting maroon t-shirts and armed with open laptops. The students were competing for glory in a technical contest, while creating a one-of-a-kind mobile ad hoc network (manet) for research in networking and pervasive computing.