[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz] MM bundle
From: |
Asko Soukka |
Subject: |
[Gzz] MM bundle |
Date: |
Tue, 1 Jul 2003 10:38:01 +0300 (EEST) |
Hi,
If somebody hasn't read these yet (fenfire/docs/dartboard/). I'm now three
days totally unavailable, but when I come back I would be eager to get
some feedback / read discussion about these.
Hmm... I seem to forgot to write about "special canvases". Canvases /
papers, which would have special background pattern on top of the
normal texture. Mudyc has already done that calendar paper. Some patters
relevant for note taking could be bases fo "mandala" and "vee diagram". I
reallys should scan some examples of those...
======================
MindMapping on Fenfire
======================
$Id: idea.rst,v 1.1 2003/06/27 10:48:39 humppake Exp $
Structure
=========
- data nodes (may contain arbitrary amount of multiline text or an image)
- paper nodes (identifies paper canvases with unique textures)
Naming connections and storing coordinates needs something
extra... Could connection names and placing coordinates be added
afterwards by reificating connection/statement (*"A is linked to B"*
or *"A is placed on B"*)?
2D structure view
=================
- shows vanishing focus+context network of the plain structure
- if reified statements are used, they should be abstracted
- data nodes are represented by multiline vobs
- paper nodes are represented by vobs with their papers' unique background
- connections between vobs are filleted (`named connections`_?)
- if direction of the connection matters, form of fillet could show the
direction
- non-connected data nodes could be entered into `floating buffer`_
- some special key / button / action for creating connected /
non-connected paper node,
maybe also some `special papers`_ are supported
- nodes from buffer could be connected to accursed node
- nodes could be marked into `marked node list`_
- nodes from marked node list could be linked to accursed node
- when accursed data node is placed on any paper, teared part of that
paper
(focused to accursed node) is floating as a buoy
- when a paper node is accursed, teared part of its 2D paper canvas
(focused to accursed node) is floating as a buoy
- 2D canvas buoys are shown as distorted_
- besides keybindings, mouse / pen could be used with `RMB action switch`_
method
.. _`named connections`:
../naming_filleted_connections--humppake/idea.gen.html
.. _`floating buffer`: ../floating_buffer--humppake/idea.gen.html
.. _`marked node list`: ../marked_node_list--humppake/idea.gen.html
.. _`RMB action switch`: ../rmb_action_switch--humppake/idea.gen.html
.. _distorted: ../distorting_2d_canvas--humppake/idea.gen.html
.. _`special papers`: ../special_canvases--humppake/idea.gen.html
- adding new nodes, removing old nodes, marking nodes, creating
connections between nodes etc...
2D paper canvas view
====================
- every 2D paper canvas has representative paper node in the structure
- on single 2D paper canvas is shown only data nodes that are connected
to its representative paper node in the structure
- data nodes are shown as multiline vobs
- connections within the nodes shown on paper canvas are shown as
filleted connections on canvas (`named connections`_?)
- if direction of the connection matters, form of fillet could show the
direction
- connections to nodes that are not on canvas are shown as connections
to buoys
+ buoys can be teared parts of other papers (shown as distorted_),
focused to target node
+ one buoy for every paper where target node is placed on
+ if target node is not placed on any paper a focused and vanishing
`2D structure view is shown as buoy`_
- nodes from floating buffer can be dragged & dropped onto canvas
- nodes from marked node list can be dragged & dropped onto canvas
- when a single data node is accursed, a 2D structured view focused
to that node is shown as a buoy
- like canvas can be zoomed, it can also be distorted_ to see the big
picture
- adding new nodes: nodes added to canvas will be connected to
representing
paper node on the structure
- removing old nodes: node will be removed from the structure only if it
has
no connections to any other node but the paper node representing
active canvas
- moving nodes on canvas
- creating and removing connection between nodes on canvas
.. _`2D structure view is shown as buoy`:
../views_as_buoys--humppake/idea.gen.html
Transition between views is done via buoys.
Special keybinding to hide buoys (and floating buffer, and marked node
list), but only as long as the key is pressed.
Topic map
=========
.. UML:: mindmap_topicmap
:menu: 0
page (distorted) "Distorting 2D canvas"
link
../distorting_2d_canvas--humppake/idea.gen.html
page (buffer) "Floating buffer"
link
../floating_buffer--humppake/idea.gen.html
page (nodelist) "Marked node list"
link
../marked_node_list--humppake/idea.gen.html
page (named) "Naming filleted connections"
link
../naming_filleted_connections--humppake/idea.gen.html
page (rmb) "RMB action switch"
link
../rmb_action_switch--humppake/idea.gen.html
page (buoys) "Views as buoys"
link
../views_as_buoys--humppake/idea.gen.html
page MindMap
link
idea.gen.html
use distorted
use buffer
use nodelist
use named
use rmb
use buoys
---
horizontally(25, hor_a, buoys, distorted, named);
horizontally(25, hor_b, nodelist, MindMap, buffer);
vertically(25, vert, distorted, MindMap, rmb);
==============================
New nodes onto floating buffer
==============================
$Id: idea.rst,v 1.3 2003/06/30 11:27:59 humppake Exp $
When writing notes, it would be useful to first enter the data and
then (reprocess and) connect it to an existing structure.
Mudyc developed a nice solution demo for this.
1. press 'tab' to 'lost the focus'
2. enter the data and a new node is created
Note: entering multi-line content should be allowed
3. press 'tab' to enter a new node
4. previously entered node remains non-connected and
floats on view's nadir
Later the floating nodes can be connected to structure using mouse
(keybindings should be possible, but mouse would be the most natural
way).
In mudyc's demo connections were created in special mode with only
mouse (using `rmb_action_switch`__). Of course something like CTRL +
mouse could also be considered.
.. _rmb: ../rmb_action_switch--humppake/idea.gen.html
__ rmb_
.. image:: floating-example-2.png
.. image:: floating-example-1.png
Discussion
==========
Would it be a problem that nodes would float among buoys?
==============
Views as buoys
==============
$Id: idea.rst,v 1.1 2003/06/27 10:48:39 humppake Exp $
As long as there are need for only a few number of different views,
those views could be accessible using mouse, if they were presented as
buoys.
Idea of Fenfire's MindMap applitude is a good example:
- when on 2D structure view, there would be one 2D canvas buoy for every
paper, where accursed node is placed
- when on 2D canvas view, there would be one buoy with 2D structure view
Transition between views happens, of course, when a buoy is clicked.
===========================
Naming filleted connections
===========================
$Id: idea.rst,v 1.1 2003/06/27 10:48:39 humppake Exp $
In RDF every connection has a property and in concept map every
connection should have a name. Normally in RDF properties are only to
help computer to interpret connection. But if we want to edit plain
RDF or use RDF to represent concept map, all properties should be shown
and editable.
As fillet technology is currently advancing fast, in filleted
connections the fillet itself could be natural place for the
connection property/name.
.. image:: sketch.png
The property/name could also be changed by clicking the old name or
the fillet.
=====================
List for marked nodes
=====================
$Id: idea.rst,v 1.1 2003/06/27 10:48:39 humppake Exp $
To allow connecting faraway nodes which cannot be shown on the same
focus+context view, we need to allow marking of those nodes.
Benja had already developed a list for marked nodes into GZZ client,
but after abandoning GZZ this feature was kind of lost. Of course,
this will be a feature of full working Loom, but this would also be
useful in Fenfire's MindMap (later MM) applitude.
.. image:: gzz-marked-node-list.png
MM has a 2D structure view, where marked node list could work as it
worked in GZZ: marked nodes can be connected to accursed node.
In MM nodes created in 2D structure view must also be able to place
on 2D canvases. When on 2D canvas view, marked nodes in list should
be able to drag & drop onto canvas.
New features:
- nodes can be dragged & dropped onto 2D canvas
+ in MM this will cause a connection between marked node and paper node
representing that canvas, also dropping coordinates are added into
connection
==================================
Distortion attribute for 2D canvas
==================================
$Id: idea.rst,v 1.1 2003/06/27 10:48:39 humppake Exp $
How should 2D canvases be distorted?
Since generally distortable/diceable vob architecture is still *under
development* for some time, FishEye transformation wouldn't work with
vobs.
One solution could be that we won't even try to distort single vobs,
but only their relative sizes and distances. The focused vob would be
in it's original size, but step by step vobs would be drawn smaller
and closer each other. This distortation way is a bit familiar from
vanishing views in GZZ.
.. image:: distortion-example.png
Distorted 2D canvases could be useful i.e. in buoys.
Discussion
==========
As this distortation wouldn't be continuous, could background be
distorted at all?
==============================
RightMouseButton action switch
==============================
$Id: idea.rst,v 1.1 2003/06/27 10:48:39 humppake Exp $
In Sierra's SCUMM interfaces user first selected an action from a
action command list and then pointed some item for the selected
action. As the next step the actiom command list was hidden behind
right mouse button and selected action was shown as more or less
descriptive mouse cursor.
1. user pressed RMB -> mouse cursor changed to the next action
2. user repeats 1. until mouse cursor
shows the correct action
4. user points the item for action
Discussion
==========
Can we create efficiently (and how platform independently) our own
descriptive mouse cursors?
If we remain using only available default mouse cursors, what would be
a extra cue good enough with them? I.e. showing name of the selected
action in some corner?
--
Asko Soukka <address@hidden>
<http://www.iki.fi/asko.soukka/>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz] MM bundle,
Asko Soukka <=