Swap Objects
A system-wide action to swap objects could allow users to fix mixed-up entries, explore different layouts quickly in design tools, fix bugs in code, change priorities in a to-do app, and a lot more.
I have depicted 4 different contexts in which swap can be applied in the video above, and in each context, there are subtle differences in its function:
Spreadsheets
It is easy to mix up entries in tools like spreadsheets and a swap action could easily let you fix mix-up errors you might make during data entry.
Design Tool
Swapping in a design tool makes it easier to explore more variations that might take a lot more steps without an easy-to-wield swap action.
Code Editor
It is sometimes the case that fixing code requires some kind of swapping. Be it some CSS values that are mixed up or function arguments that are not in the right order in a function call.
To-do Lists
Swap action on to-do lists can be used to change the priorities of tasks on your lists when your plans change.
Managing Errors in User Interfaces
Mixing things up is a common error humans make and swapping could be a good method for the user to fix it. It is good practice to have some kind of solution that the users could apply when they make mistakes in applications. These are two books that I have found useful in thinking about this. The Design of Everyday Things by Donald Norman and The Humane Interface by Jef Raskin both elucidate on how to deal with errors when you design a product.
The Design of Everyday Things by Donald Norman
Chapter 5 in The Design of Everyday Things is a discussion of the psychology of errors and how designers could deal with the mistakes that users might make.
I would recommend you read The Design of Everyday Things before you tackle Jef Raskin's The Humane Interface, There are a few details with which Jef Raskin disagrees with Donald Norman and I believe reading The Design of Everyday Things first could give you a better understanding of Raskin's discussion of Norman's work.
The Humane Interface by Jef Raskin
There are insights on reducing user-side errors sprinkled throughout the book, he also advocates 'Modelessness' in the book which is primarily a way to reduce errors.
Possible Next Steps
We have only explored a few of the possible use cases of swapping in this post. There is potentially a lot more that one could do with it. One of the interesting use cases could be in text editing where users can swap sentences to structure their writings, another would be swapping multiple elements that could allow the user to go through all the permutations of the elements selected. The latter one is particularly interesting in that it opens up space for some fun interfaces.
If you have any comments/feedback, feel free to send us an email or hit us up on Twitter!