Dale Stephenson

Journal #Three [SYD701] - The Role of Metaphors in Software

Journal #Three [SYD701] - The Role of Metaphors in Software

The Role of Metaphors in Software

JOURNAL #THREE [SYD701]

The Role of Metaphors in Software

Explaining Metaphors

Why do we use metaphors?

Metaphors help us to improve how we explain and describe practices, experiences and the world. A good metaphor intends to improve the understanding of what is being communicated by making connections between two things that are seemingly disparate. In software and the field of IT as a whole, metaphors are often viewed as the best descriptive tool, this likely explains their ubiquitous use.

What are some problems with metaphors?

Despite the metaphors’ ability to add strength and clarity to a concept, they can cause unintended consequences that can be problematic. Firstly, if the metaphor is too broad, inexact or confusing it will be ineffectively at explaining what is being communicated. This can be a serious problem in software as it may limit the response to the software, undervaluing it or give the impression requirements haven’t been completely understood or met. Secondly, metaphors, when used incorrectly can be fallacious, leading to significant differences in the comparison. The outcome will lead to the opposite of what was intended, the understanding might be diminished and the communication limited.

What are some common metaphors?

To help illustrate these points, the following are examples of common metaphors in software and the broader field of IT:

Software itself is an analogy to hardware, it is not soft as we would typically think
Space availability on a hard drive, the space the hard drive takes up remains the same
Windows can be opened and closed, but open starts the program that becomes susceptible to change, closing will end the program
Files are paths where data is stored, there are no physical files that contain paperwork
Moving through the program, but the user is not moving anywhere
Time Machine on a Mac computer is designed to restore the computer to a previous state

Metaphors in Computing

List some ways (with reasons!) metaphors in computing can help us (or our customers/users etc.)

Metaphors are used by software developers to explain abstract or unfamiliar concepts in more concrete terms that customers and users can more easily understand.

Icons are a great way to aid the process of understanding. Symbols assist users to grasp concepts more quickly, for example, a house icon represents the home page of a website, an envelope icon indicates the ability to send an email and a speech bubble icon indicates live chat functionality.

Software development is often referred to in terms of something that people are familiar with, which has led to it being described in terms of construction. For instance, there are foundational elements that are built upon to produce a finished product that houses all the required functionality.

List some ways (with reasons!) metaphors in computing can hinder us (or our customers/users etc.)

The metaphors used in software development are often penned by the developers creating the program meaning they include biases that appear to have led to the over-representation of financial, construction, transport and shipping. Examples include bus, port, debt, engineer, and tool. Another example is the master/slave relationship in networking, this has become controversial as a result of its associations and has been replaced with alternative metaphors such as Primary/Secondary.

These metaphors are excellent at helping users understand the work required to produce the end product at a high level, however, they are poor at helping users understand the continuous improvement that is at the core of software development. Few metaphors used in IT emphasise the necessity inherent to software for continual maintenance and routine operations, which have relatively low stakes.

The “desktop” metaphor in computing has been around for a while. Summarise the history of the desktop metaphor, how it came about, and why it has been successful. What are the key concepts of the metaphor?

The desktop metaphor was coined by the designers at Xerox Parc to help users understand emerging computers with a graphical user interface, it was used to describe the first MacIntosh computer that deployed this type of interface.

This new user experience included files, folders, documents and even a bin for removing these “desktop” items. Its success is a result of its simplicity and relationship to an everyday physical desk in any office or home. The metaphor controlled the complexity of the system by relating features to concepts that users are already familiar with, making them easier to communicate.

What would work as an alternative to the desktop metaphor?

Desktop computers, in fact, all computers, must deal with increasing digital objects that users demand in their work and personal lives. (Scott Fertig, Eric Freeman and David Gelernter, n.d.) recommend the metaphor “Lifestreams” to better explain users’ interactions with the traditional desktop computer. Lifestreams would end the conventional files and directories we are accustomed to and instead replace them with a time-ordered stream of documents. Separate applications that perform common desktop tasks could be consumed by the lifestream, whilst allowing users to continue using the document types and editors they are accustomed to for filtering and searching.

The stream would contain information such as a birth certificate at the tail with the most recently edited document or received email at the head. Moving from the head into the future would include calendar items or reminders on a user’s to-do list. This might alleviate common, difficult and often time-consuming tasks associated with hierarchical file systems that could make use of archived information normally discarded and offering a big picture view.

References


Bad Metaphors and Comparisons - The Austin Writing Shop. (n.d.). Retrieved March 23, 2022, from http://austinwritingshop.com/writing-help/bad-metaphors-and-comparisons/

Computer Metaphors—List with Examples. (n.d.). Retrieved March 23, 2022, from http://knowgramming.com/computer_metaphors.htm

Desktop Metaphor—An overview - ScienceDirect Topics. (n.d.). Retrieved March 23, 2022, from https://www.sciencedirect.com/topics/computer-science/desktop-metaphor

Eagan, K. (2017, June 27). Our digital futures and the problem with metaphor. Medium. https://criticalmargins.com/our-digital-futures-and-the-problem-with-metaphor-adacc047e870

Metaphors in software development - TIGO Software Solutions. (n.d.). TIGO Software. Retrieved March 23, 2022, from https://tigosoftware.com/index.php/metaphors-software-development

Metaphors—How popular are the terms “software” and “hardware” outside the computer world? - English Language & Usage Stack Exchange. (n.d.). Retrieved March 23, 2022, from https://english.stackexchange.com/questions/84526/how-popular-are-the-terms-software-and-hardware-outside-the-computer-world

Scott Fertig, Eric Freeman and David Gelernter. (n.d.). Lifestreams: An Alternative to the Desktop Metaphor. Retrieved March 23, 2022, from https://www.cs.yale.edu/homes/freeman/ericchi96.html

Software engineering metaphors - Tines. (n.d.). Retrieved March 23, 2022, from https://www.tines.com/blog/software-engineering-metaphors