Work In Progress
Our Elements guide is still in progress, and therefore lacks full visual and technical assets. We hope to release them by summer of 2020. Thanks for reading Lingua Franca!
Dynamic interfaces are becoming increasingly common, as applications adapt to user interaction, or respond uniquely to user queries. In this context, users often lose their place in the complexity of the tool, and will not be able to find things that were visible even moments ago. The history element is a way for users to easily reconnect with their past actions, while giving them a firm place in the overall flow of the app.
Human-interface interaction design is heavily informed by wayfinding, a discipline which investigates how humans orient and navigate. Within dynamic interfaces, pages and sections are procedurally generated, change positions, and update based on personalization. These factors contribute to significantly degraded wayfinding capabilities for users, who are forced to use mechanisms such as search to return to past interactions. For example, in Netflix, genre-based recommendations are dynamically generated and displayed—on future return to the site, the recommendation set may have disappeared, changed names, or simply lie in another place within the interface.
Humans think in a chronologically linear fashion, connecting past memories into a temporal string of ‘experience’. Therefore, the most intuitive mechanism to organize interactions (in lieu of a static wayfinding scheme such as a sitemap) is through a history of past actions. This history does not need to interfere with the overall logic of the dynamic interface, but only serve to ‘record’ interactions. Users can then browse their history and return to a given interaction if they wish.
In order to record history, it may be helpful to create a universal addressing system within your interface, so that all visual interactions have unique identifiers, such as a URL or id. That way, a given screen can be recreated, even if the user’s personalization has changed.
If individual pieces of an interface must change upon a user returning (such as colors, shapes, names, and list items), consider providing some kind of explanation for this change so that users are not additionally confused.