“In many contexts, humans often represent their own ‘neighborhood’ in great details, yet only major landmarks further away.” This is the motivation of inventing and using Fisheye. In many computer interfaces such as a menu or a table, people are offered equal details regardless of where their focus resides. Such equal representation, to some extent, is a waste of visualization of details that people can not possible capture. For example, people can only read limited lines of documents at a given time. Hence it makes little sense to emphasize much on those unreachable lines. Albeit such lines offer necessary context for readers to understand the document holistically, it suffices to show limited level of details instead of offering full details.
One interesting experiment raised in the paper is authors asking test subjects to list examples for certain topics (e.g. states, presidents, etc.). And people showed a psychological fisheye effect. For instance, people firstly came up with states that are either of high a priori importance (New York, California, etc.) or closer to their own. Psychologically, people are also confined by geographical factors – their knowledge and perception are affected by a priori importance (locally high, farther then lower).
The paper formalized fisheye view by defining ‘Degree of Interest’ (DOI). A generalized formula is:
DOI(x | .=y) = API(x) - D(x, y)
Essentially, given a point x, the degree of interest is equal to an a priori importance of that point, subtracting the distance of x from the current focus y.
Having had this equation, the incoming questions is identifying and calculating a priori importance and distance. The first example given in the paper is calculating DOI in a tree structure. In a tree structure, the a priori importance of a node can be defined as inversely proportional to the distance from the root. While distance is the number of links connecting two nodes.
Another example is using fisheye view in source code. The outcome of the fisheye view is a more clear structure of the program with local lines of code fully displayed and other less important lines concealed. Maybe confined by the technology at that time, the result does not look promising and some quick improvements could have been made such as offering more hints about global lines of code and highlighting local lines of code. The binary (appear or disappear) scheme seems to be too simple.
One lesson learned is an analysis after the tree example. Such further and explicit study actually adds more to the impact of the algorithm, than simply presenting the example.