Georgetown University
Graduate School of Art and Sciences
Communication, Culture & Technology Program
Professor Martin Irvine
CCTP-820:
Leading by Design: Principles of Technical and Social Systems
Spring 2023
Course Description
This course is for all students who want to understand the key concepts in computer systems, software, data and information, interfaces and interaction, and the Internet and Web beyond that of simply being users and consumers. Students will learn how they can participate as thought leaders in any career path by learning the keys to understanding computing systems and everything digital through systems thinking and design thinking.
Design and systems thinking reveals how universal principles of design are implemented in all the computational and networked data technologies that we use every day, and why it matters for everyone to “own” this knowledge. Every field and career today entails essential uses of software, data, and interfaces, and every field needs people who can communicate across technical and non-technical communities for explaining the technologies so that organizations can make informed decisions about applications and understand the consequences of certain kinds of designs. But in order to develop leadership roles, we need to change our position from being merely passive “consumers'' or “users'' of “blackboxed” technology products to becoming active participants who claim an ownership stake in understanding the design principles that make the technologies possible. With this change in position, students will be able to participate in making important real-world decisions about existing technologies, critiquing design choices, and developing new applications.
Our methods will focus on the “why,” “what,” and “how” questions about technologies, and not as much on the “how to” questions (for example, not on learning “how to code” in a specific programming language or app, but on why all programming languages are designed the way they are, and how they work in a computer system). With the methods and multidisciplinary knowledge-base provided in this course, all students -- especially those who think they are “non-techie” -- will be able to understand and explain our current “complex system” technologies as artefacts of human design that should be open to everyone.
Combining Design Thinking and Design Doing
Students will work toward learning the key design concepts that will enable them to contribute to design ideas and propose alternatives to the technologies and relationships in our complex socio-technical worlds. "Design Thinking" and design principles work in two connected ways (as in the graphic above). The more you learn about the design principles implemented in all our computer systems (small or large) and everything digital, the more you will also be able to participate in applying this knowledge in practice.
Outcomes: By the end of the course, students will understand and be able to explain the key design principles implemented in our main computing and digital technologies, where the key ideas come from, how and why design principles have consequences, and how to apply this knowledge to new real-world contexts. By the end of the course, students will have acquired:
(1) the ability to explain the “why” and “how” of computer systems, software, digital media, and networked information with the unifying concepts in systems and design theory;
(2) the ability to apply systems and design thinking for understanding and explaining the design principles of technologies as sociotechnical systems; and
(3) the ability to apply design principles for imagining and developing new innovations and applications, including being able to understand what is needed to design a new app if you aren’t the coder, but can lead the design with those who do the programming.
View and download the pdf syllabus document: for a full description of the course, Georgetown Policies, and Georgetown Student Services.
The course will be conducted as a seminar and requires each student’s direct participation in the learning objectives in each week’s class discussions. The course has a dedicated website designed by the professor with a detailed syllabus and links to weekly readings and assignments. Each syllabus unit is designed as a building block in the interdisciplinary learning path of the seminar, and students will write weekly short essays in the Canvas Discussion module that reflect on and apply the main concepts and approaches in each week’s unit. Students will also work in teams and groups on collaborative in-class projects and group presentations prepared before class meetings.
Students will participate in the course by using a suite of Web-based online learning platforms and e-text resources:
(1) A custom-designed Website created by the professor for the syllabus, links to readings, and weekly assignments:https://irvine.georgetown.domains/820/ [this site]
(2) An e-text course library and access to shared Google Docs: most readings (and research resources) will be available in pdf format in a shared Google Drive folder prepared by the professor. Students will also create and contribute to shared, annotatable Google Docs for certain assignments and dialogue (both during synchronous online class-time, and working on group projects outside of class-times).
(3) Weekly writing and class discussions in the Canvas Discussion module.
Grades will be based on:
(1) Weekly short writing assignments (posted in the course Canvas Discussion module) and participation in class discussions (50%).
Important: Weekly short writing assignments must be posted at least 6 hours before each class day. Everyone must commit to reading each other's writing before class to enable us to have a better-informed discussion in class.
(2) A final research project written as a rich media essay or a creative application of concepts developed in the seminar (50%). Due date: 7 days after the last day of class.
Final projects will be posted on the course Canvas Discussion module, but you can also develop you project on another platform (Google docs, you own website, etc) and link to it in a Canvas discussion post for Final Projects. Your research essay can be used as part of your "digital portfolio" for your use in resumes, job applications, or further graduate research.
Professor's Office Hours: Before and after class, and by appointment.
Professor's Contact Email: Martin.Irvine@georgetown.edu
Books and Resources
This course will be based on an extensive online library of book chapters and articles in PDF format in a shared Google Drive folder (access only for enrolled students with GU ID). Most readings in each week's unit will be to pdf text links in the shared folder, or to other online resources in the GU Library.
Required Books:
- Peter J. Denning and Craig H. Martell. Great Principles of Computing. Cambridge, MA: The MIT Press, 2015. [Also in pdf in Google Drive, but get your own printed copy.]
- Janet H. Murray, Inventing the Medium: Principles of Interaction Design as a Cultural Practice. Cambridge, MA: MIT Press, 2012. [Also in pdf in Google Drive.]
Recommended Books: Technical Background
- Ron White and Timothy Downs. How Computers Work. 10th ed. Indianapolis, IN: Que Publishing, 2015. [Excerpts in pdf in Google Drive.]
Course Online Library (GU student login required) and University Resources
- Main course folder for course readings and research sources in design and HCI
- Directory of folders for all topics (for your own reading and research)
- Georgetown Library Main Search Page (search all sources, books, periodicals, media)
- Canvas Home Page for Course
A Note on Readings in the Course
- I have written several introductions to course units so that students will have a framework for understanding the interdisciplinary sources of ideas and methods for each topic. These introductions are drafts of chapters of a book that I am writing for students, and are based on my 25 years of research and teaching. Please give me your honest feedback on what works and what doesn't, what needs more clarification or more examples. There are no textbooks for the "big picture" interdisciplinary approach that we we do in CCT, so we have to make our own.
Professor Irvine's Introductory Video Series: Key Concepts in Technology
- I produced these videos for an earlier course, CCTP-798, Key Concepts in Technology. The basic background in these videos is relevant for the topics in this course, and for your general learning in CCT. (They are short, mostly ~ 6-10 mins each. Note: the Week numbers in the videos don't correspond to the weeks in this course.)
- Key Concepts: YouTube Playlist (I will link some in specific weeks of the syllabus).
An orientation to the approaches in the course, focusing on understanding computational, media, and communication technologies through their design principles, implementation of functions, and social-technical systems and networks.
Defining kinds of technologies, and differentiating the cognitive and symbolic technologies (media, information, and communication technologies) from general and instrumental technologies. Learning the methods for exposing and refuting technological determinist assumptions and how to develop descriptions and analyses for a more complete view of media technologies as implementations of human cognitive abilities and agency.
Moving from Being a User & Consumer of Technology to a Thought Leader in Your Field
Students will begin learning how to develop conceptual tools for understanding technology that can be mobilized for "de-blackboxing" (opening a technology through its system of interdependent social-technical components, histories of development, and distributed agency), and universal principles that can be extended to their own designs.
Irvine's Laws
- Technology is too important to be left to technologists.
- There is no magic; it's all by design.
Personal Introduction: My video introduction [Update: I've been at GU for over 30 years!]
Course Introduction: Requirements and Expectations
- View and download the Syllabus document in pdf:
Course description, complete information on requirements, participation, grading, learning objectives, and student resources. - We will discuss further in class, and you can ask questions about anything.
Using Research Tools for this Course (and beyond)
- Required: Learn how to use Zotero for managing bibliography and data for references and footnotes.
- Directions and link to app, Georgetown Library (click open the "Zotero" tab).
- You can export and cut and paste your references into writing assignments for this course, and all your courses and professional writing.
- Required: Learn to Use the Georgetown Library for Further Study and Research:
Bookmark the main GU Library Search Page: https://www.library.georgetown.edu/- Access to journals and books for going further in the research literature for a topic.
- Required: Using Google Drive with your GU Google account & Google Docs apps.
Orientation to Key Concepts: Design Thinking and Systems
- Introductory Presentation (Slides, short intro)
For further study (on own):
Introduction to Main Concepts and Interdisciplinary Methods (Google Slides)
- Introduction to Leading by Design, Part 1 (study on your own for introduction)
- Introduction to Leading by Design, Part 2 (advanced introduction, deeper into key concepts)
Cases for Class Discussion:
applying design thinking to de-blackboxing the modular, combinatorial of apps and services
- Examples for thinking about systems, subsystems, and design principles.
What can be studied is always a relationship or an infinite regress of relationships. Never a "thing."
Gregory Bateson, from Steps to an Ecology of Mind (1972)
Introducing Key Concepts and Terms
This week provides an introduction to our main methods and key concepts with a brief overview of some key terms. You will learn the specialized meanings of the terms and how to apply to them throughout the course.
Readings
- Martin Irvine, Introduction to Design Thinking: Systems and Architectures
- Read first. Introduction with a glossary of key terms for the course. Print out for reference.
- Brian Arthur, The Nature of Technology: What It Is and How It Evolves. Excerpts from chapters 1, 2, 4.
- Arthur is a famous complexity theorist at the Santa Fe Institute. A really perceptive book about how complexity is handled in complex systems design from a "macro" level viewpoint. Note the way that Arthur approaches complex systems, modularity, and design as a generative "language" for new combinations.
- William Lidwell, Kritina Holden, and Jill Butler. Universal Principles of Design. Beverly, MA: Rockport Publishers, 2010. Excerpts.
- Well-illustrated compendium of design concepts. Use as a reference. Skim the excerpts on major principles for an overview this week; we will cover topics presented here in coming weeks.
- Donald A. Norman, Living with Complexity. Cambridge, MA: The MIT Press, 2010. Excerpts.
- Read the excerpts from Chaps. 1-2 (up to p.39) and Chap. 8 (excerpts pp.225-239) for this week. This is written for a general audience and is a quick read. Focus on his explanations of systems, affordances/signifiers, mental models, modularity, and managing complexity for this week. These are key concepts that we will apply throughout the course.
Video Lesson
- Complex Systems Design Theory: Overview (Systems Innovation)
- This video is part of a course on Complex Systems Design (see full playlist; you can study the other lessons on your own if you are interested). This introduction provides the macro "top level" view of the principles of system design. We will study the ideas behind some of these design principles and how to apply them.
Writing assignment (Canvas Discussions Link)
- Read the instructions for your weekly writing assignment.
- Your writing for this first discussion post can be informal. You can "think out load," ask questions, and try out applying one of the concepts. Write some notes first and organize a few thoughts: what were the main "take-aways" from the readings and video lesson; any "aha!" moments where some idea "clicked" in your mind; and questions that you want to discuss and have explained in class.
- Some background concept-framing to help you get started: first steps in becoming a systems and design thinker.
- There is a major barrier to overcome for learning system design principles as a method for "deblackboxing" computing systems (all our devices and Internet servers) and all forms of digital media: the design principles that are implemented in individual products (PCs, devices, their software, Internet connectivity, digital data) have been designed to work so well (by means of the general principles introduced this week) that we never have to think about the "orchestrated" complexity that makes what we experience possible. Why? A major goal of commercial product design is "hiding complexity" (intentional blackboxing), so that a "user" only experiences the functions -- the "outputs" of the design -- and can ignore the complexity of system components. When using any computational device and digital information, we actually become part of a larger unobservable system that enables the product to function. From the end-view of product design, this form of "blackboxing" (hiding complexity) is necessary and useful. (Who wants know the details of all the interconnected components that make a car run, or the thousands of computer components and precise electrical and radio frequencies that get our Internet data packets back and forth.) But when we want to understand how and why things are designed to work as we experience them, we need some deblackboxing methods based on the very design principles -- the ideas, the rationale -- that have become hidden and inaccessible. Using software, interactive screens, and streaming media all seem normal, ordinary, "natural," just there -- facts in the world, rather than artefacts (designed and made things with specific kinds of models, concepts, and principles for the kinds of artefacts that they are). This is the "consumer/user" view of the technologies; the "business" and "marketable product" view that we're all brainwashed into maintaining as "normal, what goes without saying, just the way things are."
- If everything computational and digital are just accepted as facts, objects in the world, rather than seen as artefacts, human-designed structures based on applying human concepts, then we could never begin to understand the necessary design principles that make all digital artefacts possible, and we could never be able to participate in design to develop new things or change existing ones.
- Composing your discussion post: For this week, try thinking with one or two design concepts from this week's readings. (You can look up some background on "how" something works in Wikipedia; but we're also studying the "why" of design.) Can you describe one or two of the top-level design principles that are implemented in one of our everyday devices or PC software? The graphical interface "window" for a software application presented in the graphical interface screen of a PC or tablet (describe some components that have to be combined)? A mobile device "app" (what's designed to happen behind the scenes)? A "streaming media" (music, video) service (that's a really complex system)? Can you detect some design principles that had to be implemented "inside" the black box that account for what we can see and do?
Learning Objectives and Main Topics:
Learning the major concepts and principles of modularity for understanding the design and implementation of media, communication, computation, and information technologies. Modularity is one the most important design principles of technologies and all aspects of the human built environment.
Video Introductions
- Prof. Irvine, Modularity as a Key Design Principle for Managing Complex Systems
(from "Key Concepts in Technology" course) - Modular Design Principles in System Design, by systemsinnovation.io.
Readings
- Prof. Irvine, Introduction to Modularity and Abstraction Layers.
- Lidwell, William, Kritina Holden, and Jill Butler. Universal Principles of Design. Revised. Beverly, MA: Rockport Publishers, 2010.
- Selections: Read definitions for Hierarchy, Mental Model, and Modularity
- Selections: Read definitions for Hierarchy, Mental Model, and Modularity
- Richard N. Langlois, "Modularity in Technology and Organization." Journal of Economic Behavior & Organization 49, no. 1 (September 2002): 19-37.
- Read only
pp. 19-26 (sections 1-4) for an introductory overview of concepts initiated by Herbert Simon on complex systems. Very accessible introduction to the main concepts treated more extensively by Baldwin and Clark, next.
- Read only
pp. 19-26 (sections 1-4) for an introductory overview of concepts initiated by Herbert Simon on complex systems. Very accessible introduction to the main concepts treated more extensively by Baldwin and Clark, next.
- Carliss Y. Baldwin and Kim B. Clark, Design Rules, Vol. 1: The Power of Modularity. Cambridge, MA: The MIT Press, 2000. Excerpts.
- This is a classic study that analyzes the efficiencies of modular design principles as developed in the computer industry. The authors explain the concepts and theory, and the business applications for modular design. Read as much as you can.
- Peter J. Denning and Craig H. Martell. Great Principles of Computing (MIT Press, 1915). Read the Introduction and Chapters 1-2.
Example for Case Study and Assignment
- The Modular Components in the iPhone 12 (from iFixit.com)
- A quick video version of the "tear-down" of the device (Ignore the tech business hype.)
- iFixit is a company that specializes in do-it-yourself repairs, with tools and sources, hence the "tear-down" guides. Their videos and instructions are great "deblackboxing" lessons for modular systems design. You can learn a lot by understanding what the components are designed to do in the system, and how all smart phones and mobile devices have the kind kind of physically manufactured components to implement the various functions in modules. Ignore the tech business cheerleading or consumer-level critiques of a specific device.)
- The video and step-by-step explanations provide a great view of a physical "deblackboxing" -- what's inside an iPhone (all smart phones will have the same kinds of components). Opening up and "decomposing" the components of a device is called a "tear-down"; that is, what all the components look like when disassembled (taken apart, part by part) from the "black box" of the device. It's a great case study in modular system design: the physical components exist only to implement design functions in an overall complex system design.
- Read (scroll through) the basic documentation on the components as they are "decomposed" and identified. There is also a longer video showing how the device can be "torn down" to fix or replace certain components.
- We will return to interpreting system components (hardware, software, interfaces. networks) several times in the course, and you will learn the importance of modular design when you want to design something yourself. This is a good well-illustrated case to being with.
Writing assignment (Canvas Discussions Link)
- The rationale of a case study: Throughout the course, we will use the iPhone (or other smart phone/mobile device that you may know) for an ongoing case study for applying key design concepts and seeing them in action. (The brand or manufacturer is irrelevant to what's important to learn.) You will learn how to interpret the implementations in a device to de-blackbox the system design: to reveal the universal design principles at work, and uncover how functions and features of the designed system are implemented both in the modular components (hardware and software) of a small device, and in further modular connections to other systems and subsystems. (For example, how components are used to make cell phone and Internet connections, which link a device to remote computing power, databases, and digital media, all of which have their own subsystems within subsystems.)
- Assignment: Using the iFixit tear-down for clues on deblackboxing modular designs (link to pdf of assignment instructions).
Learning Objectives and Topics:
This week, students will learn why we need to differentiate (distinguish) kinds and categories of technologies when learning design principles.
Over the next weeks of the course, you will learn how to answer these essential questions:
- What kind of artefact (something human-designed and built by design) is a computer system?
- What distinguishes (separates out) computer systems, software, and digital data and media from other human-designed things and machines, and why does this distinction matter for design thinking?
- Why and how are modern computer systems based on, and designed to serve, our shared human symbolic-cognitive capabilities (thinking, expressing, and communicating in language, writing, images, symbols in math and science, and symbolic forms in music and film/video), and why is this fact important for design principles in computing systems and digital media?
Video Introduction:
- Prof. Irvine, Cognitive Technologies and Symbolic Cognition (from "Key Concepts in Technology" course).
Readings:
- Prof. Irvine, "Introduction to Cognitive Artefacts for Design Thinking in Computer System Design."
- Kate Wong, “The Morning of the Modern Mind: Symbolic Culture.” Scientific American 292, no. 6 (June 2005): 86-95.
[All the deep, historical evidence indicates that we are the "symbolic species," which is revealed in the language capacity, human cognitive capabilities (perception, thinking, reasoning), and the use of many kinds of symbol systems and symbolic artefacts. Attend to the last summary paragraphs in the article. The symbolic capacity is what enables our capability for abstract thought, communication, writing systems, mathematics, music, image systems, and the many forms of material media designed to serve our sign and symbol systems. We are just at one point in a long continuum. Computing and digital media are based on all of our symbolic capabilities, including the design and physical implementation of designs that serve symbolic thought, expression, representation, and communication.] - Michael Cole, On Cognitive Artifacts, From Cultural Psychology: A Once and Future Discipline. Cambridge, MA: Harvard University Press, 1996. Connected excerpts.
[A good summary of the cognitive psychology context that provided important concepts and assumptions in Human-Computer Interaction/Interface design theory as it developed from in the 1960s-2000s. Don Norman also came from this school of thought for his design theory.] - Donald A. Norman, "Cognitive Artifacts." In Designing Interaction, ed. John M. Carroll, 17-38. Cambridge University Press, 1991. Read pp. 17-23; skim the rest of the article for the main topics.
[Although this essay was written at the earlier stage of of concepts for graphical interfaces, all the ideas remain valid today. Don Norman's research and conceptual models also connect with Douglas Engelbart ("Augmenting Human Intellect"), whose lab invented GUI systems, the mouse, and hyperlinking in the 1960s-70s. We will study the work of Engelbart and other founders of our graphical, interactive systems in coming weeks.] - Andy Clark, Supersizing the Mind: Embodiment, Action, and Cognitive Extension (New York, NY: Oxford University Press, USA, 2008) (Excerpts).
[Excerpts from the Forward by David Chalmers, pp. ix-xi; xiv-xvi.
Note especially to the comments in the last 3 pages of the Forward; then read the Introduction and the excerpt form Chap. 3 (up to p.47). Can you see how his view of "material symbols" and the concept of "cognitive scaffolding" applies to what we do in the design of computer systems? These topics continue in ongoing interdisciplinary research across several disciplines.]
Presentation (in-class and study on your own):
- Prof. Irvine, "Cognition, Symbols, Meaning, Technologies."
- Background overview of concepts; study on your own, we will discuss some topics in class.
Writing assignment (Canvas Discussions Link)
Use these questions to focus your reading and thinking this week, and choose one to write about:
- Describe and analyze writing (by hand, in print, or digital text) as one of long-continuing "cognitive-symbolic" technologies. Our basic writing systems and physical media -- written languages, notation systems for math, including diagrams -- are great examples that can be used to make our thinking processes explicit to observe. (We write and distribute more text now than ever before.) Notice how all our forms of writing and text require physical media in designed artefacts. Notice that whether handwritten, printed in books or magazines, or encoded as digital text, each artefact form represents longer histories of designs for the purpose of supporting one or more of our symbolic systems (e.g., language, writing, images, graphics, math and scientific notation, information visualizations, sound and music). For example, what do you discover when you re-describe books (+ ebooks) and libraries (+ online library functions), or software and digital media interfaces, as embodying designs for cognitive-symbolic artefacts? Notice how we "off-load" and delegate cognitive functions (thought, expression, memory, imagination) to these special kind of artefacts. (Looking ahead: the design of the Internet and Web combine the whole history of human symbolic and cognitive activity -- from the earliest use of symbolic forms to computer code and vast arrays of digital memory to store it all.)
- How does the view of computational and digital media technologies as "cognitive technologies" and "cognitive-symbolic artefacts" provide us with a better understanding of what kind of technologies these are? And understanding this fact, how does it lead to understanding the specific design principles that we must "match" with computational and digital artefacts for use by human cognitive agents, rather than simply considering everything with computer systems as generic "machines" or "manufactured products"?
Main Topics and Learning Objectives:
This week you will learn how to develop a method for deblackboxing design principles within a complex sociotechnical system. You will be introduced to ways to understand the interdependencies in our sociotechnical system, many of which are not "technical" in the ordinary sense. Your goal is to learn a method for redescribing technologies with the systems and design view using better and “truer” concepts, and how to apply this method for further "do it yourself" deblackboxing. For practice, we will extend our case study of a device that reveals nothing about this larger system from the “outside” (that is, the "user-facing" view of a smartphone).
For building-out an interdisciplinary method, we will draw from some of the most useful approaches for understanding "technology," "media," and "culture/society" from related systems thinking approaches. Combined, these schools of thought provide a method to support our “conceptual hacking,” by allowing us to reveal how any computer system, software application, or data service is part of a larger system that makes the designed artefacts possible, and which designers must understand to "lead by design."
Key Terms and Concepts:
- Sociotechnical system and sociotechnical artefact: redefining and redescribing computing and digital technologies as as complex social + technical systems with many "nodes" that are "invisible" but essential for what we do see and use.
- Medium/media: social-technical implementations of sign systems for communication and meaning functions maintained by the uses of media in a larger cultural, economic, and political system.
- Mediation: the functions of a medium (e.g., book/text/print, image technologies, mass media industries, computer devices for digital media) in which communication and information in specific material technologies also form an "interface" for social, cultural, and political relations beyond the "content" transmitted.
- Technical Mediation: using the concept in Bruno Latour's sociology of technology school of thought, known as "Actor-Network" Theory and Science and Technology Studies (STS). Applied in our content, "technical mediation" refers to the means of distributing agency in a social-technical network. "Agency" means the ability to act, to have intentions, or to direct causal effects in a system; here, a sociotechnical system.
- Media System: the interdependent social configuration of communication and information technologies and the institutions that empower, and are empowered by, them:
- Social-political institutions in the political economy: policy, regulation, standards, intellectual property regimes; Industry and business ecosystems.
Video Introduction:
- Martin Irvine, Introduction to Media and Technical Mediation (from "Key Concepts in Technology")
Readings
- Martin Irvine, "Understanding Design Principles for Sociotechnical Systems: Extending Our Deblackboxing Method" [read first].
- Regis Debray, "What is Mediology?", from Le Monde Diplomatique, Aug., 1999. Trans. Martin Irvine.
- This short article reads like a manifesto for CCT! (Focus on his "theses" at the end of the essay.) Debray briefly summarizes the "mediological" approach and explains why the notion of a division between "technology" and "culture" is no longer acceptable. The old dichotomy or dualism can be removed by reinterpreting and redescribing society as a system of co-mediation, where media technologies together with social institutions "create" culture. His conclusion is that "technology" is culture.
- Pieter Vermaas, Peter Kroes, Ibo van de Poel, Maarten Franssen, and Wybo Houkes. A Philosophy of Technology: From Technical Artefacts to Sociotechnical Systems. San Rafael, CA: Morgan & Claypool Publishers, 2011. Excerpts from chapters 1 and 5.
- You can survey this background quickly to become familiar with the key terms and concepts as a baseline for accepted interdisciplinary views. We will continue to question the received assumptions about "technology and society," and we will introduce better terms and concepts for design thinking about computing and media.
- The shortcomings of this otherwise excellent summary of views is that the authors do not differentiate general technologies from cognitive-symbolic technologies (and the designs for media to support symbolic activity). We will continue to make this distinction.
- Bruno Latour, "On Technical Mediation," as re-edited with the title, "A Collective of Humans and Nonhumans -- Following Daedalus's Labyrinth," in Pandora's Hope: Essays on the Reality of Science Studies. Cambridge, MA: Harvard University Press, 1999, pp. 174-217.
- Focus on pp.176-190. This is a difficult but famous essay that outlines Latour's approach to "delegated" or "distributed agency" in technologies in their social uses. Like other scholars in this school of thought, Latour does not distinguish computing and information technologies from "technology in general," but there are aspects of the approach that we can re-apply. For example, we can combine the view of "delegated/ distributed agency" with Andy Clark's (and others') view of "distributed/ delegated/ assigned cognition" in artefacts designed for a symbolic-cognitive function (everything in computer systems).
- Latour's terminology will be difficult to follow if you're not familiar with this school of thought and philosophical tradition, but we won't get bogged down in specific terms. Do your best to follow, and we will discuss in class. The take-away points are his overall re-orientation to studying social-technical relations as networks of distributed agency with multiple kinds of agents.
- What do you think of his "person with a gun" and "who flies the plane" examples?
- This excerpt includes Latour's "Glossary" of terms and Bibliography. This forms a crash course in how the "Actor-Network Theory" works in the "sociology of technology" schools of thought. You can decide for yourself how much is valid and useful, and what needs to be critiqued and supplemented with other ideas and approaches.
Optional and Supplementary (for Further Research)
- Werner Rammert, "Where the Action Is: Distributed Agency Between Humans, Machines, and Programs," 2008. Social Science Open Access Repository (SSOAR). https://www.ssoar.info/ssoar/handle/document/1233.
- Focus on pp. 10-18. This is an accessible overview of the theories of distributed agency that help us re-model media and technologies as socially embedded rather than independent "causes" of social "effects".
In-Class: Extending Deblackboxing Methods for Revealing Sociotechnical Systems: Hacking Further into the iPhone (presentation)
Writing assignment (Canvas Discussions Link)
Choose one of the topics to write about this week:
- Consider a function that you can associate with components and associated software in a PC or smartphone application. Do more research on the "invisible" (unobservable) nodes or forces in the sociotechnical system that a design team would need to know about to implement a feature or function in an application (for example, a data feature on a website or mobile app). in its connections to other parts of the sociotechnical system. Examples:
- a design for a new research data service for students that would combine sources from many libraries or publishers (consider that institutional systems may be incompatible);
- a design for a music streaming service (what would you need to know: what are the "content" sources. standards [digital formats], licenses, compatibility with existing devices?)
- a design for a location-based real-time information service for travelers (how many existing technologies can you combine? what are the requirements for international wireless Internet access? what new combinations of data or services can you imagine? what are some of the "invisible" sociotechnical connections?
- Working with your own way of combining the ideas and approaches of this week and the past two weeks, explain the sociotechnical systems view of computing and digital media to someone who still thinks in terms of the "technology" vs. "society/culture" dualism. Can you use the method of redescription with our key concepts so that someone can think differently and be invited to participate in design thinking?.
Learning Objectives and Main Topics:
This week provides an introduction to key concepts in the design principles that are assumed and applied in our digital computing systems with representational displays (including graphical interaction interfaces and corresponding software layers). You will learn how the design principles for affordances, constraints, and interaction enable everything we see and do in PCs, tablets, and smartphones, i.e., everything that uses a graphically-rendered pixel-based screen as an input-out device for a computing system. This includes learning how designers use the affordances in this kind of technical system for interaction. "Interaction" in computing means a system design based on taking "inputs" from an agent (aka, "user") who directs software processes while they are in process through designed interfaces to the computer system itself, and producing further interpretable "outputs" in the same display for an ongoing "dialog."
Following our conceptual modeling methods, we will begin at the “macro” level of universal design principles that hold over many kinds of things, and then focus on principles more specific to cognitive-semiotic artefacts in the various forms of technical and physical implementation. We will then extrapolate from these principles to study how they are implemented in our computational technologies with design methods for representing, formatting, and transmitting symbolic media in digital form.
Readings
- Martin Irvine, "Introduction to Affordances and Interfaces." (Read first)
- Janet Murray, Inventing the Medium: Principles of Interaction Design as a Cultural Practice. Cambridge, MA: MIT Press, 2012. Selections from the Introduction and chapters 1-2.
[An excellent introduction to contemporary design principles for computer interface design, which we will also refer to in coming weeks. Murray assumes a cognitive-semiotic approach. Note the description of the main affordances of the digital medium, and how interface designers take advantage of them.] - Kaptelinin, Victor. “Affordances.” The Encyclopedia of Human-Computer Interaction, 2nd Ed., 2013. https://www.interaction-design.org/literature/book/the-encyclopedia-of-human-computer-interaction-2nd-ed/affordances.
- Donald A. Norman, “Affordance, Conventions, and Design.” Interactions 6, no. 3 (May 1999): 38-43. [Note his clarifications of affordances and constraints in the design context.]
- Jiajie Zhang and Vimla L. Patel. "Distributed Cognition, Representation, and Affordance." Pragmatics & Cognition 14, no. 2 (July 2006): 333-341. [This is a very useful interdisciplinary summary of the deeper foundations of the design principles, and connects with the "cognitive symbolic artefact" framework for comuter system and interface designs.]
Background and Reference:
- Interaction Design Foundation, The Encyclopedia of Human-Computer Interaction, 2nd. Ed. https://www.interaction-design.org/literature.
[Useful open-source reference. Don Norman is one of the advisors. You can come back to this reference throughout the course.]
Writing assignment (Canvas Discussions Link)
Use these questions to focus your reading and thinking this week, and choose one to write about:
- Describe and analyze as many of the affordances and interfaces as you can of the book as an artefact design. Why and how are "book affordances" and interface functions transferred to digital media displays in different devices? Consider the human form factor (use on a human scale, serves functions and constraints of hands, eyes, distance limits of optimal vision).
- Thinking with Janet Murray's use of key design concepts, can you see how screen and interface design work in new ways? Could you describe your experience with screen organized information and the affordances of this kind of computer interface in richer and more detailed ways than you could before?
- What are the affordances and constraints in an app interface, from initiating the app from an icon (or other action-intention link) to how the software takes over the whole screen of a smart phone or tablet device? Can you see what the design principles are and why they are choices and not simply necessary properties of software and pixel-grid screens? How much of the design is for using affordances for our human capacity for symbolic expression, and how much is for controlling the attention of a user?
Learning Objectives and Main Topics
- In this week and next, you will learn about important design principles that are implemented but "black boxed" in all the digital systems that we use every day: the designed electronics and components for digital information, and the reasons behind the design principles of digital computer systems.
- Learning by applying our deblackboxing our "systems design view" for "modular systems of subsystems." Studying the design of electronic binary information and data structures as a subsystem designed to serve (subserve) the overall design plan (architecture) of physical computing and digital media/data systems.
- Key terms and concepts: information (as defined in electrical engineering for digital electronics) and for data (as structured units of information used in computation). Learning how to distinguish the technical uses of these terms from uses in popular discourse.
- Learning why the electrical engineering encoding and transmission model (sender-signal-receiver) is not applicable for describing communication of meaning, values, and intentions that motivate what we encode in the symbol units of data. Digital, binary electronic information (the bits and bytes to be "written" into computer memory and accessed by processors) is designed as a subsystem (substrate) for creating data structures, that is, logically grouped units of (otherwise meaningless) bits and bytes, which, by the system design, are represented in memory as data (like bytes for written characters and sets of binary encoded patterns for images) that we use for meaningful representations.
- Hands-on learning in class: work a "live" telegraph system. Use a telegraph "key" and watch the switches for coding electrical signals from a "sender" tot a "receiver."
Video Lessons:
- Crash Course Computer Science: Lessons 2, 3, 4: Electronic Computing, Boolean Logic, and Representing Numbers and Letters
- Basics Explained: Why Do Computers Use 1s and 0s: Binary Explained
- Computer Science: Digital Character Sets: ASCII to Unicode
- Unicode YouTube Channel: Video: Introduction to Unicode and Text Encoding
- Note: These video lessons are good short introductions, but they have to skim over some important facts about digital system design. There are no "1s" and "0s" in the physical components of digital information and computing systems or in binary code at the electronic level. "1" and "0" have meanings in human symbol systems, and binary (base 2) numerals are borrowed from our decimal (base 10) number system (and thus can be confusing when used as numeral symbols in base 2). Here's the true description: by using semiotic design principles, we map (correlate, assign, delegate) human meanings and values represented in our symbols to/onto a binary electronic system in sequences of on-or-off states, presence/absence of a voltage. These on/off states are meaningless until assigned a symbolic value from outside the physical system. In programming logic, we can assign many kinds of binary meanings that have nothing to do with numbers (and numerals) -- e.g., yes/no, present/absent, true/false -- and we can use "1/0" as symbols under interpretation in different design contexts to represent written characters (in sequences of bits in bytes), patterns of color values, or measures of sound waves in time slices.
Readings:
- Prof. Irvine, Introduction to the Technical Concepts of Information and Data (read first).
- Denning and Martell, Great Principles of Computing, "Chapter 3: Information" (35-57.)
Optional: For Reference (Historical Sources)
- Claude Shannon, A Mathematical Theory of Communication (1948). [the original paper]
- Claude Shannon and Warren Weaver, The Mathematical Theory of Communication (University of Illinois Press, 1949).
- This book version attempted to make the technical model for electronic information (communication) more accessible, but it was also misunderstood and applied in social sciences and humanities fields for a model of general "communications." Shannon continually emphasized that the model applies only to the technical subsystem of electronics in telecommunications and computing, and not to what we express or represent with it.
- James Gleick, The Information: A History, a Theory, a Flood. (New York: Pantheon, 2011).
[Accessible background on the history of information theory. Whole book recommended.]
In Class: Case Study: Morse Code to Unicode
Demonstration of Telegraph Code with a working telegraph system!
- Live demo of telegraph key and sounder with actual 19th century equipment.
- Introduction to Morse and Code (background and dossier of sources) (Irvine)
- In-class discussion: From Morse Code to to Unicode.
Presentation (study on your own and for class discussion):
- Electrical Engineering "Information Theory" as a Design Solution for a Semiotic Problem (Prof. Irvine)
Writing assignment (Canvas Discussions Link)
Choose one of these questions to write about this week:
- Imagine that you are writing for a group of students or co-workers who would like a clear explanation of the reasons behind the way we use the binary system for digital information design and computing. Can you explain the concepts of information, data, encoding and decoding?
- Think through a case study on your own: Explain how E-Information (electrical engineering binary information) is always behind the scenes as a subsystem for the data and digital media that we encode in bytes. Why isn't the "meaning" of the text symbols, images, or videos in a text or email message or social media post "contained" in the digital data (as properties of the physical electronic units internally in computing systems)? What do senders and receivers know about the encoded data that isn't a physical property of the signals or the physical patterns that we perceive in outputs (screens, audio)?
Learning the key concepts of "computational & design thinking" as they are applied in programming for communicating with the whole computer system. In taking the system design view, students will learn how the basic ideas for computation are "translated" into the design principles for code in programming languages.
- Understanding how "Computational Thinking" and "Program Design" are specialized applications of Design Thinking and Design Doing (key principles and applications).
- "Computational thinking" DOES NOT mean "thinking like a computer." It means thinking like a designer of computer applications for the kind of system that contemporary computer systems are (digital, binary, symbolic state transition artefacts).
- You will be able to learn how and why programming “code” (the written text of a software program) and “running” software (the program in binary form assigned to the memory and processors of a specific computer system) call on the many levels and layers of a computer system.
- Communicating with a computer system (the designed architecture)
- You will learn how programs (software) and the actual code used in programming languages are designed to be an interface between human intentions and purposes (represented in symbols) and the physical architecture of the computer systems (which are designed to activate the symbolic code).
- Hands-on experience with programming code. Learning goals:
- In online "Programming Foundations" lessons, you will learn some of the procedural fundamentals of programming, using the Python language as a teaching language. You will also learn why and how "coding" allows us to “communicate” with a computer system by initiating physical actions and creating interactions. The lessons will focus more on "how to," but you will also want to learn why any version of programming code must be designed in certain ways.
- The design key for understanding programming is understanding how everything in computing is based on creating direct physical correspondences to the symbolic level of "code" that we program with human logic, mathematics, and symbols for data types that a program is designed to "process."
- An executable program, "translated" into binary "machine code," when loaded into a systems memory also gets "translated" through many system levels and layers to produce the results that we perceive, interpret, and use over and over again in many steps and contexts.
Video Lessons:
- Prof. Irvine, (Video) "Introduction to Computer System Design" [in settings, switch to 720p or 1080p]
- I made this video for CCT's 505 course, and Ι use οur "design and systems thinking" approach. You can also study the presentation in a Google Slides version, if you want to review the topics at your own pace.
- Crash Course Computer Science:
- Lesson 7: The Central Processing Unit (CPU)
- Lesson 8: Instructions and Programs
- Lesson 11: The First Programming Languages
- Lesson 12: Programming Basics: Statements and Functions
- Note: These are good lessons for the basic details, but we will need to provide the "why" and "how" with our design principles approach.
Readings
- Jeannette Wing, "Computational Thinking." Communications of the ACM 49, no. 3 (March 2006): 33–35. [Short essay by a leader in computer science on the key points.]
- David Evans, Introduction to Computing: Explorations in Language, Logic, and Machines. (2011). (The Professor's Open Access site for updates: https://computingbook.org.)
- As background for the online tutorial lesson. Read as much of chapters 1-3 as you can (Computing, Language, Programming) this week; continue next week. Download the book: you can always return to other chapters for reference and self-study.
Hands-On Learning for an Introduction to Programming
- In-Learning Intro Course: Programming Foundations: Fundamentals
- Sign in to this online course with your GU ID.
- These short lessons introduce programming concepts with Python as the "teaching" language. The coding examples are presented in a coding program tool for the Mac platform (but you can do it on any PC). Remember: the purpose is learning programming fundamentals, none of which are specific to Python or which PC you use.
- Study as far as you can with the Introduction, and lessons 1 and 2. You can follow the basic concepts in units 1-2 without installing your own IDE program ("Integrated Developer Environment," a program to write programs) and the Python Interpreter for your platform (OS). You can also follow along in the lessons without installing the the program for writing programs.
- Go as far as you can in the lessons for this week (you can return any time); and take notes on what you learned and questions about programming concepts.
- [Note: If you want to go further, install the Python Interpreter on your own PC (instructions for Mac and Windows platforms in video), and an IDE for writing code and then "running" it on your PC. The video will explain how Python uses an "interpreter" program to send "runnable" (executable) binary code to your system. (The course teacher uses the "Visual Studio" program -- a widely used IDE -- for writing and demonstrating the Python "Source Code".)]
Presentation (In-class): Computational Thinking and Designing Symbolic Systems
In class: Demo of Using Two Levels of Symbols in Programming Code (Irvine)
Writing assignment (Canvas Discussions Link)
- This may be your first look inside the black box of programming code in relation to computer system design, and it's natural to have many questions. Just describe some main "take-away" points that you learned, and some major questions points that we explain in class. (Always remember that all this knowledge belongs to you, no matter how new or difficult it is at first.)
- From the video lessons, readings, and in-Learning lessons, describe some of your main discoveries and questions about computer systems design and programming fundamentals:
- What aspects of programming code and the way it needs to be designed seem clearer, what was the most difficult to understand?
- From our design and systems view, can you understand how programs (software) and the code in a programming language are designed as an interface for communicating with a physical computer system (as designed)?
Learning Objective and Main Topics:
- Understanding the important design steps in the history of modern computing systems that enabled the transition of computers as big "number crunching" calculating machines (of the 1940s-1960s) to the model of computer systems as more general "symbol processors."
- Learning the design principles for modern computing systems that enabled the development of interfaces for human interaction with programmable processes.
- Learning the origins of the design concepts behind the technical architectures in all our devices that support the graphical and interactive interfaces that we now take for granted.
This week we will focus on the design concepts that emerged with new ways of thinking about computer systems in the 1960s to the 1980s. (We will follow up the design concepts and technical implementations of the 1980s to the present.) We will consider the long-term implications of Doug Engelbart's program for “augmenting human intellect” with systems for handling many symbolic representations simultaneously and linked together in/on a "display." up to the late 1970s and early 1980s so that we can pause and consider the concepts and unfulfilled “histories” of computing system designs that preceded our contemporary era of productized “Metamedia”.
Key Concepts and terms:
- Design principles for developing computer systems as "symbol systems" or "symbolic information systems," not simply calculators and "number crunchers."
- Interface and Interface Design (for human interaction with, and control of, software representations and outputs).
- Metamedium / Metamedia: computer systems as medium for representing, processing, and transforming other media (whole human symbolic system in different forms of media)
Readings, Video Lessons, and Documentaries (read/view in this order):
- Martin Irvine, Introduction to Interfaces for Computer Systems: History of Design Concepts.
[I've synthesized a lot of background history for the design concepts that enabled our current "interfaces," so that you have access to the powerful ideas that are now taken for granted.] - Crash Course Computer Science (video lessons)
- Keyboards & Command Line Interfaces
- Screens & 2D Graphics
- The Development of Graphical User Interfaces
- Remember: These are good lessons for the "how" and "what" in the technical implementation history, but we need our methods for the "why" questions: "why did the early designers develop screen-based interfaces?", why did they need to translate the principles of symbolic systems into the affordances of digital systems?", and "what are we actually doing when we use them?"
- Documentary: Alan Kay on the history of graphical interfaces: Youtube | Internet Archive
- Lev Manovich, From Software Takes Command (2012): excerpts on the background ideas for for Allan Kay's "Dynabook" Metamedium design concept, and "hypertext" (Ted Nelson), both of which extended what Kay learned in Engelbart's lab.
- Video Documentary: Demo of Ivan Sutherland's Sketchpad, Lincoln Labs, MIT (c.1963)
- See also the short video of Alan Kay's commentary on Sutherland's Sketchpad graphical system.
- See also the short video of Alan Kay's commentary on Sutherland's Sketchpad graphical system.
Historical Backgrounds for Computer Interface Design Concepts
- Collection of Original Primary Source Documents on Interface Design (in pdf).
You do not need to read these texts fully, but review them for their historical significance and as they are referenced in the readings for this week. We will also reference these texts in next week's topic on "interaction design." - Graduate students should have access to the primary texts of their field in their original form.
- Contents of the Collection of Documents (descriptions are in the pdf file):
- Vannevar Bush, "As We May Think," Atlantic, July, 1945.
- Ivan Sutherland, "Sketchpad: A Man-Machine Graphical Communication System" (1963).
- Douglas Engelbart, "Augmenting Human Intellect" (project from 1960s-1970s).
- Alan Kay, Xerox PARC, and the Dynabook/ Metamedium Concept for a "Personal Computer" (1970s-80s)
In-class Presentation: Computing Systems: Interface Design View
Writing assignment (Canvas Discussions Link)
Choose one of these questions to focus on for your writing this week.
- Referencing at least 2 of the readings and video lessons & documentaries for this week, describe some of the conceptual design steps that enabled the new models for computer beyond being big, fast, calculating machines ("number crunchers"). Earlier "calculating machine" computers were designed for technically trained specialists in scientific, military, government, and business communities. What enabled "computing" to be reconceived and redesigned as broader "general purpose" processing for many other symbol systems that included "interfaces" for non-technical and non-specialist users? Can you identify the design principles you've learned so far (combinations of technologies, subsystems and modular design, levels and layers)? In terms of combinatorial design principles, can you identify one or two supporting system technologies that were being developed in the early phases (1960s-70s) and then "recruited" (merged into) the new graphical interface as a combinatorial design (two-way screens? memory? kinds of software? "input" devices for interactive interfaces?)
- From the background readings and documentaries, consider an idea that caught your attention or sparked your imagination: Can you identify an unfulfilled or uncompleted design concept in the early interface design ideas that could still be reclaimed and implemented today? You should have noticed that what motivated the design pioneers like Engelbart and Kay was not getting commercial products to market (they working in research labs), but developing new systems that exploited the potential of computation, software, and digital media for everyone (not just specialists). And there was no context for working in a consumer electronics sector as we know it (yet to come in the 1980s-2000s). Could we implement an unfinished idea in the deeper design-thinking history, and have them succeed (technically, socially, economically)? (Why can't we reprogram our devices, write our own software or modify software already installed, to create new things, even music and art, and invent new media combinations?)
This week is a continuation of the key concepts for interface design with the important principles of interaction design. We now take the whole "interactive" computing context as "normal" -- operating systems in the background, graphical 2-way interfaces, software that continually "runs" in the background and does not stop its processes until we "close" or turn off the program. But where did all the "interactive design paradigm" come from and why?
Students will learn how to answer the question above, and how to describe the design principles of interactive computing and the graphical interfaces designed to support interaction (in the computational sense). Since so much of our computing interactions involve pixel-based graphical screen representations, we will also study the design of digital images and the affordances and constraints of digital images as media objects in all digital environments (PC screens, mobile devices, TVs and streaming media).
Students will also learn some of the fundamental design principles used in the fields of Human-Computer Interaction (HCI) design, and the extended practice of User Experience (UX) design.
Key terms and concepts (continuing from last week):
- Interface and Interface Design as part of a new multidisciplinary field, HCI (Human-Computer Interaction, design principles for two-way communication with computer systems), involving people working in computer science, cognitive science, graphical design, and engineering.
- Interactive / Interaction Computing (the precise technical definition): the computer system design model now used for programs and operating systems that do not terminate (stop, end), but continue running "in the background" and waiting for ongoing user inputs and directions while the program is running.
- The "Interactive Computing Paradigm" (the model for designing computation as a system of co-agency) was enabled by (1) developments in operating systems (OSs), which are designed with layers of software modules that load in computer RAM "active" memory and are always "on" running in the background and presented in the "Windowing" of virtual layers on screens, (2) developments in GUI interfaces for "inputs and outputs" that afford "direct manipulation" of software processes (while a program is running) through input and control devices (mice, pointing devices, keyboard shortcuts) and access to data stored in the "persistent memory" (physical drives) of a system, and (3) programs designed for the interactive OSs, which have software layers for direct manipulation of software functions (like in word processing and image editing programs), and for unlimited inputting, modifying, updating, and saving data. All mobile devices have scaled-down versions of platform's OS (MS Windows, Mac, Android, UNIX) for running the scaled-down software applications ("apps") available for the platform (the whole system architecture and brand of OS).
Readings & Video Lessons (in this order):
- Prof. Irvine, Introduction: From Cognitive Interfaces to Interaction Designs with Touch Screens
- Video Lessons: Crash Course Computer Science:
- The Cold War and Consumerism: Historical Contexts for New Kinds of Computers
- The Development of the "Personal Computer"
- Remember to keep asking the "why" and "how" of the design principles: "Why did designers seek out ways to design interactive systems? What motivated the development; what problems did they solve? Where did the ideas for interaction design come from, and how did they become technically possible?"
- "Why are interactive systems for "personal computers" designed the way that they are, rather than some other way?", and "what are we actually doing when we "interact" with a computer system?"
- Bill Moggridge, ed., Designing Interactions. Cambridge, MA: The MIT Press, 2007. Excerpts from Chapters 1 and 2: The Designs for the "Desktop Computer" and the first PCs.
- The excerpts will provide some clues for answering the "why" of interactive design and the "what are we doing" questions.
- This book is well-illustrated, and is based on interviews with the main designers of the interfaces and interaction principles that we use every day. Includes interviews with, and background about, Doug Engelbart and the design team at Xerox PARC with Allan Kay (Stu Card and Larry Tessler). You will an insider's view of developments at Apple and the first Macintosh PC).
- Ben Shneiderman, Catherine Plaisant, et al. Designing the User Interface: Strategies for Effective Human-Computer Interaction. 6th ed. Boston: Pearson, 2016. Excerpts.
- This is the most widely used introduction to interface design, now in an updated 6th edition (2016) (first edition was in 1986!). If you were to take a course in HCI or UX (User Experience design), this could be your first textbook.
- Survey the contents of the excerpts from the Introduction, Chapter 3 (Guidelines and Theories), Chap. 7 (Direct Manipulation) and Chap. 8 (Fluid Navigation).
- In Chap. 3, review the main guidelines, and Ben's "Eight Golden Rules of Interface Design" (pp. 95-97); in Chap. 7, focus on the explanation of "Direct Manipulation".
- Ben Shneiderman's Eight Golden Rules for Interface Design (on one page).
- This is a classic list of design principles that are now universally understood and used by everyone in the HCI and UX community
Examples of Industry Standards for Interface Designs
- Google and Apple have standardized the "user-facing" interaction design principles that software developers must use in the specifications for the layout, format, and interface/interaction controls required for their operating systems and device platforms. Many of the design specifications are about visual and graphic style (at the top "presentation level"), but you will find the whole history of interaction design features rolled up both company's standardizations.
- Google: Material Design [formerly called Medium]
- Google's description: "Material Design is an adaptable system of guidelines, components, and tools that support the best practices of user interface design. Backed by open-source code, Material Design streamlines collaboration between designers and developers, and helps teams quickly build beautiful products."
- See the section "Interaction States" as part of the Design Foundations [these design principles have a deep history; this is Google's way of standardizing them].
- Apple Developer: Human Interface Design Guidelines
- Apple's description: "Human Interface Guidelines" The HIG contains guidance and best practices that can help you design a great experience for any Apple platform."
- See design rules for the macOS and iOS platforms. You can browse the rules for Interaction and Visual Design.
Optional Review: Murray, Inventing the Medium
- You can benefit from reviewing an earlier reading in the context of this week's topic:
Janet Murray, Inventing the Medium: Principles of Interaction Design as a Cultural Practice. Cambridge, MA: MIT Press, 2012. Excerpts from Introduction and Chapter 2.- For reference: Murray's Glossary of Terms used in Interface Design (print and save).
Writing assignment (Canvas Discussions Link)
Choose one of these topics for focusing your thinking and writing this week:
- (1) Using the background and key concepts from this week and last week, choose a function in a software program that you use on a PC or Mac (a "general purpose computer", not a mobile device). For example, a program for Word processing, photo and image editing, or a program for other media. Describe how 2 or 3 software features that we view and access at our "user interface" level are designed to facilitate our natural "symbolic process cycles" (as described in the first reading) for ongoing "dialog" with the software and computer system. This will be hard at first, because we are so used to seeing everything in software and interfaces that just appear to work "automatically" and not by intentional design.
- (2) Describe the design principles applied in the affordances for touchscreen interfaces for a software application in a mobile device (tablet size provides a better view). Remember that a touchscreen is a modular system connecting to other modular systems.
With your background so far, explain how current touchscreen designs are based on modular design principles for interpreting and causing actions with one or more of our symbol systems. Can you connect the features and functions in a touch screen interface to the concepts for "delegated and distributed agency" that we studied earlier? How/why is the interface designed to communicate our intentions and agency (directed actions) to the software and requests for displaying various digital media? How is the system designed to direct our intentions and actions through gateways (interface points) for software layers? The interaction interface points allow us to communicate both "locally" (within the single device system) and also to networked media and processes distributed across Internet connected computers (through links, multimedia combined from multiple sources, design of presentation layers for user interpretations, etc.). Further tech background: https://en.wikipedia.org/wiki/Touchscreen. - For either topic: Can you describe how the observable features in an interaction interface are designed to "communicate" intentions, instructions, and directions to the software processes that we can't observe? Can you map out some of the effects of your actions as chains of "inputs" for the system (for example, touch screen gestures, text in text boxes or input windows, touching icons or menu selections, switches for controlling when we can input speech, screen controls for inserting or transforming an image, "sending" a message or social media post over the Internet, etc.)? You may use examples that exhibit Google's or Apple's interface design standards (links above), if you want to follow how these companies specify design standards for the features of specific devices.
Learning Objectives and Topics:
- Learning the "Internet Design Philosophy" for a distributed (decentralized) system of networks based on open standards for network connections and transmitting formatted data that any computer (large or small) can send, receive, and "understand." On our local, "user" level, this means every computer (like a Mac, PC brand, or any brand of mobile device) must be designed to connect to the Internet with standards-based hardware and software for network connections (wired or wireless) using Internet protocols and data packets (TCP/IP).
- The Internet is designed as a decentralized network based on a design for "end-to-end" data connections, independent of the number or kinds of intermediate connections through routers (dedicated network intermediary computers) from the sending and receiving points (remember "E-Information Theory").
- In the technical architecture (the "master" design plan), the core Internet design principles build on the established designs for "information" and "data" that we studied earlier. At the level of an "E-Information" system, the Internet is designed to be both "content agnostic" (doesn't "know" what any data packets are about or mean) and "hardware & platform agnostic" (doesn't need to know what specific brand or manufactured device is connected -- a physical device only needs its own internal software that "speaks" TCP/IP and a physical network interface module).
- The Internet and Web are clear examples of complex sociotechnical systems. The Internet did not happen in a linear deterministic path of development, but with many unforeseen intersecting histories of technical, social, political, and economic developments, contexts, and interdependencies.
- Understanding the Internet as a paradigm case for our most important design principles:
- Modularity, and designing subsystems (in levels and layers) for complex systems,
- Extensibility (designs that can be extended to new developments),
- Scalability (designs that allow systems to scale up to nearly unlimited numbers of connected computers and users),
- Interoperability (computers and software produced by any manufacturer can interconnect and exchange data only because they are based on shared protocols and standards, which allow anyone to create computer systems, network connections, and new software that can connect to the whole network regardless of the "internal" design of the corporate-branded manufactured products).
- How is the Internet as a global and international "network of networks" possible? Only by agreements across all sectors to implement the infrastructure (the physical equipment and communication lines) and the software layers that manage all the network-to-network interconnections by following the open standards of the core Internet architecture design principles.
- The Open Standards for Interoperability, and the Extensible and Scalable design principles of the Internet will always be vitally important in the expanding global and international development of all the media, data services, and apps that depend on the Internet architecture.
Key Terms and Concepts in the Internet & Web Architecture
- Network Architecture
- Protocol and the TCP/IP protocol suite
- Data Packet; Packet Switching, Packet-Switched Network
- Client / Server
- Internet address (IP address)
- Domain Name System (DNS)
Readings and Video Lessons
- Prof. Irvine, The Internet: Design Principles and Extensible Futures (Why Learn This?) [start here]
- Video Introduction: Prof. Irvine, Intro to the Design and Architecture of the Internet (from "Key Concepts in Technology")
- Crash Course Computer Science Video Lessons:
- Code.org Video Lessons: "How the Internet Works": Watch lessons 1-4.
- These are good short introductions. For this week, be sure to watch:
- "The Internet: IP Addresses & DNS": follow Vint Cerf on the Internet as a "Design Philosophy."
- "The Internet: Packet, Routing & Reliability" (also with Vint Cerf).
- Ron White, "How the Internet Works." Excerpt from How Computers Work. 10th ed. Que Publishing, 2015.
- A well-illustrated guide on "how" current Internet technology designs work, but not the "why" of design principles. Good technical diagrams for the details of Internet data.
- Denning and Martell, Great Principles of Computing, Chap. 11, "Networking."
- A great, accessible, technical description from the computer science view.
Writing assignment (Canvas Discussions Link)
Use these questions to focus your reading and thinking this week, and choose at least one to write about:
- Framework for thinking and writing: The Internet and all its subsystems provide a great "sociotechnical complex system" case study for thinking not only about technical system design (architectures, design philosophies, managing complexity through subsystems, modules, and layers), but also about the "network" of complex relations, interdependencies, and agencies that enable the technology (social, institutional, economic, political). Both dimensions of the sociotechnical system are usually hidden from view. Most people only "see" "The Internet" as the observable functions presented at the interface level of software applications (Web browsers, mobile apps). And for many people, "The Internet" is just the "content" and messaging viewable on social media apps. We won't be able to study many of the socio-technical dimensions, but you can make a start in your thinking this week.
- In your discussion post, take on the role of "explainer" or "translator" of Internet design principles for someone who has never studied the topic but needs to know to be competent in their career. From the readings and background videos this week, and from what you've learned so far about design principles, could provide clear answers to these questions:
- What does it mean when we say a computing device or software application is "on the Internet"?
- What's the difference between "The Internet" as a sociotechnical system (the architecture and infrastructure) and the "content" or services that we see, listen to, and interact with through a software interface or mobile app on a system or device with an Internet connection?
- How does the Internet design separate out what happens on a "local" or "client" system (device, PC, Internet "appliance") from what happens across the distributed global network and from the much larger computing power on servers (now mostly Cloud systems)? Why does this matter? (Think of all the recent policy implications -- people want to regulate Internet applications without knowing anything about the system design and the nature of an international sociotechnical system.)
Learning Objectives and Topics:
Concluding our study of Internet architecture and design principles with the World Wide Web architecture and the principles behind all websites, Web "pages," and the interactive information principles behind mobile apps (on any small device):
- Learning how the extensible and scalable design principles of the Internet/Web architecture are continuing to be developed and expanded for any Internet device from large office computers to mobile device "apps" to "smart" TVs.
- Learning the important background history of information and text/media concepts that led to the design of the Web as a hypermedia system for linking files, media content, and accessing complex networked computer services over the Internet.
- Why does the whole interactive "app" architecture use the structure of HTML, CSS, JavaScript and other interactive programming for interacting with Web servers?
- What design principles should you learn to understand how anything we do in a Web client (a "browser" like Chrome, Firefox, and Safari) or design in an "app" works the way it does (rather than some other way)?
- How could you participate in a design project in your organization or profession by knowing what's possible to design?
Key terms and concepts
- Hypertext / hypermedia
- HTTP: "Hypertext Transport Protocol"
- URL: "Uniform Resource Locator": the human-readable Web file "address" on a server
- HTML: "Hypertext Markup Language"
- Web "browser" or client program
- App: short for "(software) application"; on a mobile device, PC. or smart TV = an interface with controls to use Internet and Web resources (content) and services (server-side software, transactions). Another example of "client" software for interacting with servers on the network.
- HTML5: the current HTML cluster of evolving standards, interoperating Web "languages," and data server architecture for using the Web as an all-purpose platform for connecting any IP-enabled device, any OS, any screen size.
Readings & Video Lessons: The World Wide Web: Architecture and Design
- Video Lessons:
- Crash Course, Computer Science: The World Wide Web.
- "How the Internet Works" (Code.org): Watch lessons 5 and 8:
- Prof. Irvine, Intro to the Web: Extensible Design Principles and "Appification"
- Ron White, "How the World Wide Web Works." From: How Computers Work. 9th ed. Que Publishing, 2007.
- LinkedIn Learning: Introduction to Web Development.
[You can view the videos in the short course for the basics on Web architecture from a code developer's viewpoint. Mobile apps, while written in code frameworks specific to the platform manufacturer (Apple iOS or Google Android), all use Web protocols (HTTP) and the "HTML Suite" (HTML, CSS, JavaScript, and other embedded database scripts) for client/server interactions, screen formatting, and fetching+inserting data elements in the formatted regions of the app "window." You can easily move to mobile app development after learning the basics of Web development.]
Background on World Wide Web History and Mobile Apps:
For Reference and Background for Further Research
- World Wide Web Timeline (Pew Research Internet Project)
- The W3C: World Wide Web Consortium: Overview of Mission and Standards from the international organization that manages development of services and extensions to Web architecture.
- The Pew Research Center on the Internet & Technology is a good starting point for well-recognized research on many socio-technical questions and topics.
- Janna Anderson, and Lee Rainie. "The Future of Apps and Web." Pew Research Center's Internet & American Life Project, March 23, 2012.
[A view of the debate about the Web designed for integrating and combining all digital media in common interface vs. mobile device apps that fragment content and services into proprietary channels. Now we have both -- the "full" Web via browsers and media interfaces designed for PCs and large screens, and small screen fragmented interfaces in apps.]
- Janna Anderson, and Lee Rainie. "The Future of Apps and Web." Pew Research Center's Internet & American Life Project, March 23, 2012.
- Optional (for further study and research):
- Tim Berners-Lee, Weaving the Web: The Original Design and Ultimative Destiny of the World Wide Web. New York, NY: Harper Business, 2000. Excerpts.
[A personal, inside account of the development of the Web by the main designer, (Sir) Tim Berners-Lee [Wikipedia background]. These excerpts open up the concepts behind the design of the Web system that Berners-Lee developed at CERN (the particle physics lab), and take us up to the point where the Web took off with the first browser software. Berners-Lee joined MIT to begin the WWW Consortium in 1994. He was knighted by the English Queen for his work. Personal note: In early 1993, I and friends in GU's IT dept. downloaded the first version of Berners-Lee's Web server software (httpd 1.0), installed it on a small UNIX computer, and hosted Georgetown's first website, The Labyrinth.] - Jonathan Zittrain, The Future of the Internet--And How to Stop It. New Haven, CT: Yale University Press, 2009.
Excerpt from introduction and chap. 1.
[Important argument about the political-economic effects of the "lock-in" practices of dominant technology companies for Internet computing as an open system. Zittrain shows how many open principles of the Internet/Web "design philosophy" have become broken or compromised. His approach explains how the "effects" of present and future of Internet technologies can't be ignored as just effects of hidden, black-boxed operations, but have emerged from the larger socio-technical-economic system of applied design principles in protected intellectual property, industry ecosystems, and business/industry decisions.]
- Tim Berners-Lee, Weaving the Web: The Original Design and Ultimative Destiny of the World Wide Web. New York, NY: Harper Business, 2000. Excerpts.
In-class presentation and study on your own:
Web Architecture: Generative/Combinatorial Technology Meets "Appification"
Writing assignment (Canvas Discussions Link)
Reflect on the background for the design principles of the Internet and Web, and choose one topic for focusing your thinking this week.
- (1) Smart phone/mobile apps (including scaled down versions of browser clients like Chrome and Safari) are now often the main interfaces to the Web for many users. Most users don't even know that they are using Web HTTP client/server technologies and hyperlinking for data across many kinds of files and media types, and that the HTML suite with JavaScript is behind the screen formatting and interactive features in every app.
- Applying our design thinking principles for modular complex systems and combinatorial principles for integrating subsystem technologies, can you describe how the Internet and Web's modular design and all the unobservable or "invisible" behind-the-scenes technologies enable all that we do observe and experience?
- Can you use our design thinking methods to describe how Web and app interfaces are more than just interfaces to content and specific instances of data and interactions, but, even more powerfully, are interfaces to the larger unobservable socio-technical system and many levels of technical and social-economic dependencies that make what we can observe and do possible?
- (2) Applying what you have learned from last week and this week, develop a case study that compares and contrasts a full-featured Website and a mobile, small device app. (Choose examples that you don't already know or use all the time.)
- Consider the open, integrated, multimedia design principles for the Web, Web-linked data connections, real-time interactions, and Web browser software, and the closed "one channel" interface designs for app-connected services, transactions, functions, and/or "content," which are delivered through Web and Internet protocols.
- What drives "appification" as opposed to developing for content and access with a full-featured, more user-based Web browser on a PC or desktop computer with a large screen? From the socio-technical systems view, consider the economics of tethered apps on the dominant tech companies devices and OS platforms (Apple, Google-Android, MS): are the controlled gateway tethered apps "breaking" or simply "exploiting" the Web, and what consequences do you see in continuing this practice for consumer devices? Do the device app practices reinforce the closed black boxes, and prevent users from being anything but consumers? What would it take to redesign the system?
Main Topics and Learning Goals:
This week we will sum up the main design principles that we have studied, and to show how they apply, students will learn how design principles can be extended in a concluding case study: Cloud Systems. Students will learn how the design principles for data, computing at "scale" (networked and distributed computing), interaction, and Internet and Web services are now extended and combined in the Cloud System Architecture.
We will also have a discussion about your reflections on what you have studied and learned in the course. You will receive guidance in developing a final "capstone" project that will allow you to apply what you've learned on a topic for which you take on the role of explainer and interpreter for others.
Readings and Video Introductions:
- Prof. Irvine, "Introduction to Cloud Computing." [start here]
- Wikipedia background: Overview of Cloud Computing concepts and architectures.
- Cloud System Introductions:
- Video: Cloud Computing Services Models - IaaS PaaS SaaS Explained (EcoCourse)
- What is Cloud Computing? (Amazon Web Services). View the introductory video.
[This is the business optimization view.] - Microsoft Azure Cloud: What is Cloud Computing.
- Microsoft's Cloud is the platform for all of OpenAI's applications (ChatGPT, DALL-E).
Preparing for your final capstone project (Directions and Instructions)
- Your Final Project as a "Capstone" learning project for the course:
Detailed instructions for the Capstone Essay Project [download and print out for reference.]
Writing assignment (Canvas Discussions Link)
(present your thoughts on both question topics)
- (1) When you recall the four main "macro-level" design principles that we have studied -- modular combinatoriality, extensibility, scalability, interoperability -- do you see how these principles apply to Cloud systems as "server-side" networked computing? How is understanding this "back-end" architecture important for deblackboxing any Web or app service that we use every day (e.g., streaming a Netflix movie, buying something on Amazon, using a Google app, viewing messages and posting on a social media platform, running a prompt on ChatGPT)?
- (2) As you reflect over what we've studied and what you have learned, what stands out for you in what you have discovered and learned. What were some important "aha" moments for you? Were earlier questions answered through the course "building blocks"? What new questions have come up?
- In the context of our interdisciplinary approaches to design and the specific kinds of design principles for computer systems, digital data, and networking as cognitive-semiotic systems: do you have a better sense of the why (the reasons for) these designs? That is, why they are necessary for the kind of designed artefacts that digital computing systems and digital data are, and how they become implemented technically in individual products or versions of the technology?
- Looking toward your final "capstone" project, was there a topic or approach that you would like to learn more about, develop further on your own, and take on the role of explainer?
Open Discussion and Presentation of Final project ideas
Group discussion on your final project topics, ideas, and the current state of your research and thinking. Everyone will present their topics, approaches, and beginning research sources, and get feedback and suggestions from the class.
Post your main ideas, outline, and beginning bibliography in the Canvas Discussions for this week.
Post Your Final Project Ideas for This Week's Discussion
(Canvas Discussions Link)
Instructions for the Final Version of Your Essay and Posting to Canvas
- Detailed instructions for the Capstone Essay Project [download and print out for reference.]
- Upload the pdf file of your essay either to Canvas or Google Drive, and create a link to your file in your Canvas Discussion post for "Final Projects" [Canvas Discussions Link]. Write the Title of your essay as a heading for your post, and insert your brief abstract below the title. Then below this text information, provide the link to your file (you can use the URL or a short title with the embedded link). Test the link after you save the post to make sure it works; revise and edit if needed.
Due Date for Posting Your Final Project: by Mon. May 8.
- Using your final capstone project after the course: You can use your final capstone essay as part of your "digital portfolio" wherever it can be useful to you (in a resume, LinkedIn, social media, internship applications, job applications, and applications for further graduate studies).