Single-Purpose Concepts, Single-Concept Purposes
Have you ever encountered a confusing computer program?
Just to take one example of many, the following question appeared on Quora:
Notice the implied confidence that the lost files can even be recovered, much less quickly.
How does someone accidentally delete thousands of files?
With Dropbox, deleting a file in a shared folder is different from deleting a shared folder. Deleting a shared folder is interpreted as “leaving the folder.” The files in the shared folder are unaffected. However deleting a file in a shared folder makes the file deleted for everybody who is sharing that folder.
This confuses a lot of people.
This is just one example selected by Daniel Jackson, Professor of Computer Science at MIT, in his keynote address, “Rethinking Software Design,” to an audience of professional software architects attending the SATURN 2016 Conference.
He set out to present a set of design principles that should be incorporated into the design process.
This Dropbox problem is a good example because it isn’t just that one user on Quora who has this problem. One of Prof. Jackson’s graduate students, Kelly Zhang surveyed fellow MIT Dropbox users and presented them with the scenario of deleting a share in Dropbox and asked the respondents to predict what the expected outcome will be. Will the original file be deleted? The results showed that many users, even those who identified themselves as having good technical knowledge, could not answer the question correctly. In fact, for some of the use cases, respondents were more wrong than if they had simply guessed randomly (50% chance of guessing correctly).
What is going on here? Is there a general lesson to be learned about how apps should be designed?
Jackson put forth the principle that when you get down to it, an app is about concepts.
In the case of this Dropbox confusion, there are two distinct concepts operating. Dropbox provides one operation, delete, whose operating principle depends on what kind of shared thing it is operating on.
Even after the explanation, many are still confused, and that is exactly the problem. The delete function serves two different purposes, depending on which kind of shared thing is involved. Yet, the delete process looks and behaves exactly the same in both cases.
Jackson’s insight about proper design is that every operation in an app (such as the delete operation in Dropbox) is for the fulfillment of a purpose (such as, I don’t need access to your files anymore). The purposes likewise motivate the concepts.
The delete operation in Dropbox is confusing is because it mixes more than one concept and purpose. Jackson proposes that the fundamental principle for good design is:
Therefore, in an ideal application, there is a set of purposes, where each purpose is fulfilled by a single concept, and each concept is motivated by a single purpose.
If the purposes and concepts are mismatched, the app is harder to use. Mismatches can happen when either a purpose or concept is left hanging without a connection, or when there are multiple conflicting connections.
An unfulfilled purpose exists when there is something you want to do, but no concept available that exactly fulfills it. The opposite, the unmotivated concept, is an idea in an app that doesn’t seem to have any use.
The Dropbox delete issue is an example of an overloaded concept. Two purposes are represented by the same concept, which leads to confusion because they behave differently.
An example of a redundant concept is Gmail labels and categories. Both of these concepts exist for the same purpose of helping to classify messages, yet they don’t interoperate.
Getting all the fine points of software design right can take an almost obsessive attention to detail. This post just scratches the surface of the contents of Prof. Jackson’s address.The diagrams in this article are clipped from Prof. Jackson's slides, which are available here. Until the video is made available online, you can view an earlier version.
Once again, MJ Broadbent created amazing sketchnotes based on the talk:
****
Please join the conversation...
What do you think? Comment below.
Thanks for reading. Please like and share. You can find my previous LinkedIn articles here (https://www.dhirubhai.net/today/author/davidpmax).
Cover art: May 4, 2016: Daniel Jackson delivering keynote address at the SATURN 2016 conference in San Diego.
Follow conference activities on Twitter @SATURN_News and #SATURN16
Join the SATURN group on LinkedIn.
Corporate Consultant
8 年Remember.....you're not dealing with a box.