It is amazing how much we have internalized certain restrictions of familiar desktop applications, even of those used for personal productivity.
There are built-in tools and items, clearly separated from the (semantic) objects and artefacts of our task at hand. As soon as this border starts blurring, we have a harder time to grok the “mental model” (Lauesen) about the work with the given software. And particularly, the fear “Can I break something?” is strongly present again, which formerly was asked by most IT novices and which has almost completely disappeared over time, since the common constraining tools don’t give us any chance to destroy them.
DeepaMehta aims at abolishing all the cognitively inadequate and restricting concepts such as folders, applications, and windows, and integrates semantic objects instead (such as person, address/ city/ country, appointment, institution, example topics for music, movies, competences), and allows for building new types that are immediately integrated into the interface controls – for instance, if I define an attribute of Eye color, my context menu will offer an “Assign eye color” option.
It is really addictive, but it poses a greater challenge for usability. As soon as you think of tidying up and getting things out of your way, there are multiple concepts for this: hide, delete, and remove.
- Remove is harmless and is only for temporary collection containers and indicator lines.
- Hide does not destroy the objects and their associations themselves but their relative location on a potentially large and complex topic map. The map can, in principle, be exported and re-imported.
- Finally, delete affects a given topic or association on all topic maps that any collaborating user may have built to include them. Since the familiar explicit save command is abandoned, one must be well aware who is affected and how to backup and restore.
The possible collaboration adds another dimension to the “Can I break something?” question. The mental model must be very clear about how private or public the objects are that are created, stored in the central “memory”, and shared via publish and join commands:
- “Private” does not only mean “restricted access” but also “I can change it at will” and “it does not litter public spaces”.
- “Public”, in turn, may not only mean “to be viewed by others”, but also “to be copied by others” (so I can delete my original), or “maintained for others” (so I must not delete it).
A patronizing, traditional, application would prohibit many destroy options. Also in DeepaMehta some destroy options are unavailable (displayed in grey), but this seems to depend on much more complex relationships. I, for one, have managed to accumulate quite a lot of litter that I am not allowed to get rid of (at least in the current beta release).
So, ironically, a software that takes sides for the user, is harder to understand and needs more perfect usability.
I think a first step towards finetuned usability would be a different packaging: “out of the box” there should be only minimal functionality, and once the user needs more they will impropriate additional tools and understanding.