Mindful software19 Apr 2011
I have spent considerable amounts of time thinking about the concept of information and how to convey it in software. Some years ago I came to the conclusion that I want to present information in context, e.g not present crude extracts from databases, but adapt it to the presentation context, with the user in mind.
Some useful contexts could be "location" or "social networks" - the context should be varied depending on the type of information context - e.g information about abstract concepts have no use of location information. The use of context should increase the likelihood of the information being conveyed to the user in a understandable manner.
When I observe users, I rarely see one user that uses only one tool to achieve her goal. Information gathering is usually done using a variety of sources - so a good system design principle could be to know where the system should stop - and how to present the information in a such a manner that supplemental or related information can be retrieved from another system.
So , to me, presenting information in context is also about presenting the least amount of "friction" in the system. Here I consider any obstacles hindering information flow in and out of the system as "friction". By minimizing the "friction" we make it easier to present information in context by connecting data between systems.
This has lead me to think that good system design should focus on how information is shared between users via connected systems. Turning the attention to how information is shared between users via connected systems, then we obtain a understanding what the data is (since we need to be able to share it).