Hi Klaus,
One problem that we have in Moose is how to navigate graph data in
general. The data is meta-described, but we do not know upfront what
the structure actually is.
Currently, we navigate it using the Moose browser. Also, the browser
is inspired from the Mac OS X Finder, and spawns a new pane to the
right with the current selection. The browser has 2 types of panes:
- EntityView: here you can see properties and navigations to other
entities
- GroupView: here you can see only the elements, and selecting those
leads to another navigating to that element.
Another problem can be how to relate a certain selection to its
neighbours. For example, in the center you have a class, and in the
side panes you have the classes that are considered to be of interest
for the given class, and you can also see the relationships between
these classes. Of course, the question is how to compute the
closeness in interest. And of course, this can probably be applied to
packages and methods.
Cheers,
Doru
On Jun 28, 2007, at 8:54 AM, Klaus D. Witzel wrote:
Hi Doru,
on Thu, 28 Jun 2007 00:01:54 +0200, you wrote:
Hi Klaus,
Hmm, interesting layout but it is a bit difficult to answer this
question in abstract. Usually, we first think of a problem that we
want to visualize and then we think of the visualization. In this
case, you are asking for the other way around.
:)
For example, in this situation you might feel
compelled to fill
all the four boxes in the corners even if you do not need it to
solve your problem.
Yes, but the browser can come up with deploy-time defaults, and can
be cloned and the clones be changed to fit, in an explorative way.
And limiting the # of quadrants to 3 or 2 is always possible (any
thinkable binary relation needs only two quadrants). Also, I think
about functions like "clone this my navigational view [browser]
with focus on xyz" and "clone it without xyz" where xyz can be
relations and/or objects (classes, methods, categories, other meta
data).
Is there any particular problem you would have in
mind? Or would
this just be an exercise?
Both. The problems addressed are
a) huge and ever growing libaries (docs, code),
b) the limitations of existing tool's pre-fabricated relations
v.s. the flexibility if you could combine relations ad-hoc (Moose
users already enjoy combinable relations) and invent new ones and
have the browser use them ad-hoc,
c) the confusion which can arise from a wrong mix of selections
(to which maze resolution can be a countermeasure, both diagonals
can be guaranteed to never have any non-empty relation; gives you
trust when dealing with ULMs [unthinkable large models]) and
d) the limitations of the display surface as well as the burden of
long mouse moves (small example: if one of the 4 quadrants needs
scrollbars, the "nw" quadrant can have its scrollbar(s) "se", etc
for all the other quadrants; saves 1/8 and more of the mouse trail
per quadrant).
New relations and new meta data are produced faster than ever
before (for example with Moose), so I think it's worth a try. I
don't want to build a new code browser but OTOH wouldn't hesitate
to present one for demonstrating the difference compared to
traditional system navigation tools.
Have any particular set of relations/objects (except "all") for me
to think about?
Cheers
Klaus
Cheers,
Doru
On Jun 26, 2007, at 5:47 PM, Klaus D. Witzel wrote:
Gentlefolks,
I'm looking for applications which would benefit from maze
resolution. The picture attached can give you an impression. It
has 4 collections of objects and 4 collections of relations (all
can be manipulated).
The large center area holds multiple documents (code, text, multi
media). Documents, objects and relations can be moved out of the
way if desired.
Resting the mouse over something tells you what it is.
When selecting a relation it highlights the objects which it can
see.
Maze resolution can guarantee that no other non-empty relation
exists from top left to bottom right and also not from top right
to bottom left. So there can be nothing in the picture (nothing
in the image!) which is hidden from you. Objects can be relocated
and can actively help you to find another suitable location.
I post in the hope to receiving application ideas from other
people, i.e. what to put into the 8 selection areas. If the
picture can be populated with things that make sense then a
prototype would make sense (the example below could be a start).
Thank you in advance for your feedback, all appreciated.
Cheers
Klaus
P.S. an example: top-left classes, top-left-right #category, top-
right system categories, bottom-left methods, top-left-bottom
{#allSelectors. #class->#allSelectors}, bottom-right methods,
bottom-left-right #messages. Then bottom-right shows the methods
which are sent but not implemented (foreigners) by the top-left
classes themselves. And top-right can optionally show the to
bottom-right corresponding foreign system categories with bottom-
right-top #methodClass->#category.
P.P.S. thank you Doru for introducing me to your thesis and to
Moose
+Mondrian.<MazeResolutionBrowser.jpeg>______________________________
_________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.iam.unibe.ch/~girba
www.iam.unibe.ch/~girba/blog/
"Every thing has its own flow."
"In a world where everything is moving ever faster,
one might have better chances to win by moving slower."