78 |
|
|
79 |
TJL |
TJL |
80 |
|
|
81 |
The Fenfire project is a free software effort to build |
The Fenfire project is a free software research effort to build |
82 |
a location transparent, hyperstructured desktop |
a location transparent, hyperstructured computer operating |
83 |
environment. |
environment. |
84 |
The work leading to the current Fenfire project (formerly known as GZigZag and Gzz) |
On an abstract level, the Fenfire differs from conventional desktop environments |
85 |
was started in 1999. |
by bringing together |
86 |
|
three components: |
|
Fenfire consists of three components: |
|
87 |
|
|
88 |
Hyperstructured data model |
Hyperstructured data model |
89 |
... RDF + Xu |
As opposed to the conventional file system trees and location-based pointing |
90 |
|
within them, the data model in Fenfire is more database-like, allowing |
91 |
Novel focus+context user interfaces |
anything to be connected permanently to anything else. |
92 |
The bidirectionally linked hyperstructural approach to information opens new |
The data model consists of two orthogonal pieces,. |
93 |
possibilities to user interfaces. |
The Xanalogical media model[ted-xanalogical-structure-needed]_ |
94 |
|
endows to the smallest units of media with identity and as a consequence |
95 |
|
changes |
96 |
|
the cutting and pasting operation from copying pieces of media to actually |
97 |
|
creating a structure between the instance locations since the identities can be tracked. |
98 |
|
On a higher level, RDF[w3rdfurl]_ graphs are used to create dynamic structure |
99 |
|
between instances of xanalogical media. |
100 |
|
In this data model, all connections are fundamentally bidirectional, traversable |
101 |
|
in both directions. |
102 |
The user can connect any two items which |
The user can connect any two items which |
103 |
will then be near each other in hyperspace, easily visible and |
will then be near each other in hyperspace, easily visible and |
104 |
accessible from one to the other. |
accessible from one to the other. |
105 |
|
|
106 |
P2P information sharing |
Novel focus+context user interfaces |
107 |
To support data mobility, we have developed a software library, named as Storm |
The bidirectionally linked hyperstructural approach to information opens new |
108 |
(STORage Module), for storing and retrieving data as immutable byte sequences, which |
possibilities to user interfaces, since each piece of information has |
109 |
are identified by cryptographic content hashes. With Storm, we plan to use globally |
a richer context available to the computer than in conventional filesystems. |
110 |
unique, semantic-free references for locating data in Peer-to-Peer environment. |
The Fenfire project includes libvob, a library for creating flexible, animated |
111 |
Location-independent identifiers allows a peer-to-peer lookup system find documents |
user interfaces easily, allowing nonlinear fisheye coordinate systems[carpendale01presspace] |
112 |
wherever they are moved. We believe that the properties of Peer-to-Peer technology, |
and smooth text rotation and scaling. |
113 |
such as the ad hoc connectivity and the lack of central authority, are prerequisites |
The user interfaces currently used in fenfire are mostly |
114 |
while mobilizing our system. Additionally, Storm allows us to study two important |
focus+context[fc-fisheye]_, showing one location in the hyperstructured database |
115 |
issues *of data mobility*: dangling links and version management. |
as the central item and peripherally the connected locations. |
116 |
We study how location-independent identifiers can |
Several of the new technologies in fenfire are related to user interfaces, |
117 |
support *data mobility*. For instance, documents are often transferred quite freely |
in particular to showing the context visibly yet nonintrusively. |
118 |
between computers: they are sent as e-mail attachments, carried around on disks and |
|
119 |
published on the web. We use 'data mobility' as a collective |
Permanent data and peer-to-peer (P2P) information sharing |
120 |
term for the movement of documents between computers (or folders!), |
Collaboration with even only |
121 |
and movement of content between documents (through copy&paste). |
conventional, rigidly structured data leads to versioning problems |
122 |
|
unless a version control system such as CVS is used. |
123 |
|
In Fenfire, we have developed a group of technologies collectively known |
124 |
|
as Storm (STORage Module) to address this problem. |
125 |
|
Storm starts from a fairly unconventional idea: |
126 |
|
instead of mutable files or databases, all information is stored |
127 |
|
in immutable byte sequences, blocks[lukka02guids]. |
128 |
|
Blocks are accessed through their permanent globally unique identifiers (GUIDs). |
129 |
|
To allow mutable data, a system of pointer blocks is built on top of the |
130 |
|
block system. |
131 |
|
This already helps versioning: unless explicitly requested, old versions |
132 |
|
are never deleted; new and old and alternate versions are accessible on a computer |
133 |
|
without contacting a central server. |
134 |
|
Location-independent identifiers allow a P2P lookup system find documents |
135 |
|
from any source, as opposed to URLs which specify the explicit location for |
136 |
|
fetching a document. |
137 |
|
|
138 |
|
There is a strong interaction between these components: for example, |
139 |
|
the data model *enables* the novel user interfaces, but on the other hand, |
140 |
|
without new types of user interfaces, the richer data model would be of limited use. |
141 |
|
|
142 |
|
The work leading to the current Fenfire project (formerly known as GZigZag and Gzz) |
143 |
|
was started in 1999 in collaboration with Ted Nelson, who has since discontinued |
144 |
|
the collaboration and due to patent and trademark reasons, the Fenfire project |
145 |
|
cannot currently use the name GZigZag nor the ZigZag structure. |
146 |
|
However, the fundamental ideas embodied in the ZigZag structure were not affected |
147 |
|
by the particular implementation and in spring 2003 we were able to convert |
148 |
|
our system to using RDF. |
149 |
|
|
150 |
|
Currently, Fenfire is nearing the public release of its first subgoal: the FenPDF |
151 |
|
system for reading, annotating and linking electronic publications. |
152 |
|
|
153 |
.. raw:: latex |
.. raw:: latex |
154 |
|
|
175 |
|
|
176 |
|
|
177 |
|
|
178 |
|
Previous activity and publications |
179 |
|
---------------------------------- |
180 |
|
|
181 |
.. previous activity pertaining to the scope of the topic of the |
.. previous activity pertaining to the scope of the topic of the |
182 |
research (list of the research team's five most important |
research (list of the research team's five most important |
183 |
publications in terms of the topic) |
publications in terms of the topic) |
184 |
|
|
185 |
In [lukka02guids]_ we discuss the possibility of implementing |
The most important publications related to this project are: |
|
the xanalogical storage model in Peer-to-Peer environment with globally unique identifiers. |
|
|
|
|
|
In [lukka02fillets]_ we introduced the use of fillets --- |
|
|
smoothing of sharp angles at the joints --- |
|
|
for rendering on-screen connections in a way that makes them easier to |
|
|
perceive even with several overlapping objects. |
|
|
|
|
|
We have developed a perceptually designed hardware-accelerated |
|
|
algorithm for generating unique background textures |
|
|
[kujala03paper]_ for distinguishing documents. |
|
|
|
|
|
Additionally, the methods developed and used in [lukka02gomcmc-andalso-kujala02solutions]_ |
|
|
are relevant to the modeling problems in our user interface research. |
|
|
|
|
|
List of the most important publications |
|
186 |
|
|
187 |
- Tuomas J. Lukka and Benja Fallenstein: |
- Tuomas J. Lukka and Benja Fallenstein: |
188 |
Freenet-like GUIDs for implementing xanalogical hypertext. |
Freenet-like GUIDs for implementing xanalogical hypertext. |
189 |
*Proc. Hypertext 2002* 194-195, 2002 |
*Proc. Hypertext 2002* 194-195, 2002. |
190 |
|
This article discusses the possibility of implementing |
191 |
|
the xanalogical storage model in Peer-to-Peer environment |
192 |
|
using globally unique identifiers. |
193 |
|
|
194 |
- Tuomas J. Lukka, Janne V. Kujala, and Marketta Niemelä, |
- Tuomas J. Lukka, Janne V. Kujala, and Marketta Niemelä, |
195 |
Fillets: Cues for Connections in Focus+Context Views of Graph-like |
Fillets: Cues for Connections in Focus+Context Views of Graph-like |
196 |
Diagrams. Proceedings of the |
Diagrams. Proceedings of the |
197 |
*6th International Conference on Information Visualisation*, |
*6th International Conference on Information Visualisation*, |
198 |
pp. 557--562, London, July 2002. |
pp. 557--562, London, July 2002. |
199 |
|
This article introduces the use of fillets --- |
200 |
|
smoothing of sharp angles at the joints --- |
201 |
|
for rendering on-screen connections in a way that makes them easier to |
202 |
|
perceive even with several overlapping objects. |
203 |
|
|
204 |
- Janne V. Kujala and Tuomas J. Lukka: |
- Janne V. Kujala and Tuomas J. Lukka: |
205 |
Rendering recognizably unique textures. |
Rendering recognizably unique textures. |
206 |
To be published in the proceedings of the |
To be published in the proceedings of the |
207 |
*7th International Conference on Information Visualisation*, |
*7th International Conference on Information Visualisation*, |
208 |
London, July 2003. |
London, July 2003. |
209 |
|
This article introduces |
210 |
|
a perceptually designed hardware-accelerated |
211 |
|
algorithm for generating unique background textures |
212 |
|
for distinguishing documents. |
213 |
|
|
214 |
- Tuomas J. Lukka and Janne V. Kujala: |
- Tuomas J. Lukka and Janne V. Kujala: |
215 |
Using Genetic Operators to Speed up Markov Chain Monte Carlo |
Using Genetic Operators to Speed up Markov Chain Monte Carlo |
216 |
Integration. |
Integration. |
217 |
*Monte Carlo Methods \& Applications*, 8(1), 51--71, 2002 |
*Monte Carlo Methods \& Applications*, 8(1), 51--71, 2002. |
218 |
|
|
219 |
|
|
220 |
- Janne V. Kujala and Tuomas J. Lukka: |
- Janne V. Kujala and Tuomas J. Lukka: |
221 |
Solutions for certain number-conserving deterministic cellular automata. |
Solutions for certain number-conserving deterministic cellular automata. |
222 |
*Physical Review E* 65, 026115, 2002. |
*Physical Review E* 65, 026115, 2002. |
223 |
|
The simple cellular automaton |
224 |
|
rules introduced in [JVKXXXFUCHSBOCCARAREF] produced an unexpected result in simulations. |
225 |
|
We were able to solve the problem exactly starting from first principles, |
226 |
|
by using generating functions in a rather twisted way. |
227 |
|
|
228 |
|
|
229 |
Of these, the two last ones contain some mathematical methods which we hope will |
Of these, the two last ones contain some mathematical methods which we hope will |
230 |
be applicable to e.g. filtering in the text rendering problem. |
be applicable to e.g. filtering in the text rendering problem. |
231 |
|
|
232 |
|
Additionally, the methods developed and used |
233 |
|
are relevant to the modeling problems in our user interface research. |
234 |
|
|
235 |
|
In addition, several manuscripts about various aspects of Fenfire are in preparation. |
236 |
|
|
237 |
|
|
238 |
- postgraduate studies performed in the research team |
- postgraduate studies performed in the research team |
239 |
|
|
240 |
Janne Kujala |
Janne Kujala |
246 |
|
|
247 |
TJL |
TJL |
248 |
|
|
249 |
The current proposal |
The proposed research consists of two parts: continuing research into questions |
250 |
|
opened by techniques invented for Fenfire, and theoretical questions whose |
251 |
|
solutions are relevant to developing algorithms used in Fenfire. |
252 |
|
|
253 |
|
The questions opened by the inventions in Fenfire look at some phenomena in new light: |
254 |
|
for example, we do not believe the questions in [kujala03paper]_ on how |
255 |
|
to generate recognizably memorizable textures were asked before this; so far, |
256 |
|
most research has concentrated on texture *discrimination*, i.e. under which |
257 |
|
conditions a human notices that two textures placed right next to each other are different. |
258 |
|
Contrasting results obtained in these two different questions may lead to surprising |
259 |
|
new insights on the human visual system and memory. |
260 |
|
This basic research may of course yield new technologies but that is not the point; |
261 |
|
the point is to understand and measure the phenomena we have observed in constructing Fenfire. |
262 |
|
|
263 |
|
On the other hand, some of the research questions in this proposal are |
264 |
|
driven by technological requirements. For example, |
265 |
|
enhancing the readability of the hardware-accelerated rendering of |
266 |
|
rotated or nonlinearly transformed text is a problem |
267 |
|
whose solution would benefit Fenfire. |
268 |
|
Here, however, before being able to tackle that problem, a considerable |
269 |
|
amount of mathematical framework is required, related to filtering and perception. |
270 |
|
Creating this framework is a complex task, requiring both mathematics |
271 |
|
and user experiments. |
272 |
|
Armed with the framework developed by this research, developing the actual |
273 |
|
hardware-accelerated filtering algorithms becomes a relatively easy task. |
274 |
|
|
275 |
|
All subproblems presented in this proposal are, however, significant in their own right: |
276 |
|
even if the Fenfire project ceased to exist, the research results would be applicable |
277 |
|
to other programs and problems. |
278 |
|
|
279 |
|
|
280 |
Objectives and methods |
Objectives and methods |
281 |
====================== |
====================== |
282 |
|
|
283 |
|
(reorg: "general (user experiments, math. modeling)", then specific projects, |
284 |
|
stating for each the objectives *and* methods.) |
285 |
|
|
286 |
Objectives of the research |
Objectives of the research |
287 |
-------------------------- |
-------------------------- |
288 |
|
|
416 |
and smooth animation. |
and smooth animation. |
417 |
Generalizing filleting to three dimensions ... |
Generalizing filleting to three dimensions ... |
418 |
|
|
419 |
|
- quantitative experimental results from general graphs layout |
420 |
|
|
421 |
Text filtering |
Text filtering |
422 |
'''''''''''''' |
'''''''''''''' |
423 |
|
|
458 |
|
|
459 |
TJL |
TJL |
460 |
|
|
461 |
The hardware algorithm for rendering the unique background textures |
In [kujala03paper]_, we introduced the use of unique background textures |
462 |
currently uses ad hoc distributions in the sampling of the texture |
for distinguishing documents. |
463 |
features. Although the distributions (e.g., for choosing the texture |
The current hardware-accelerated algorithm for rendering the unique background textures |
464 |
|
uses *ad hoc* distributions in the sampling of the texture |
465 |
|
features. |
466 |
|
Although the distributions (e.g., for choosing the texture |
467 |
colors) are qualitatively based on |
colors) are qualitatively based on |
468 |
general principles for making the texture distinguishable and |
general principles for making the texture distinguishable and |
469 |
recognizable, their exact values are not rigorously justified. |
recognizable, their exact values are not rigorously justified. |
470 |
We plan to obtain justification for different aspect of the algorithm |
|
471 |
experimentally and to further evaluate the recognizability of the generated |
The goals in this area are first to |
472 |
textures. |
formulate and test (with user experiments) a general way of adjusting a distribution |
473 |
|
towards being memorable. This is a nontrivial optimization problem, |
474 |
|
as the recognizability of a texture depends on the distribution it is |
475 |
|
presented as a part of. |
476 |
|
Next, it is important to research how much different aspects of the textures |
477 |
|
may be optimized separately by the methods developed in the previous step, i.e., how much |
478 |
|
the different aspects interact. |
479 |
|
These questions are interesting not only from a practical point of view but also |
480 |
|
from the point of view of cognitive psychology: for instance, |
481 |
|
if any data can be obtained on how fast and how the brain adapts |
482 |
|
to a particular input distribution, it would be an interesting result. |
483 |
|
On a practical level, these experiments would allow us to get rid of the *ad hoc* |
484 |
|
distributions and create a well-founded |
485 |
|
algorithm for generating unique textures. |
486 |
|
|
487 |
|
- quantitative model of certain aspects of texture perception and recognition |
488 |
|
|
489 |
Controllers |
Controllers |
490 |
''''''''''' |
''''''''''' |
491 |
|
|
492 |
TJL |
TJL |
493 |
|
|
494 |
Custom controllers can offer new ways to navigate and control the information |
In the context of Fenfire, |
495 |
flow on the screen. |
we have invented a new type of computer controller which we cannot describe here |
496 |
They are many usability aspects in the configuration of the degrees of freedom |
before the (potential) filing of a patent application. |
497 |
provided by the controller that can be theoretically modeled and experimentally |
This controller, however, also opens some interesting related questions for |
498 |
tested. |
basic research. |
|
|
|
|
We have invented a new type of controller which we cannot describe here |
|
|
before the (potential) filing of a patent application. |
|
499 |
|
|
500 |
Storage |
Storage |
501 |
''''''' |
''''''' |
502 |
|
|
503 |
TJL |
JVK, HH |
504 |
|
!!! [tjl] Mikä tässä on KYSYMYS? |
505 |
|
|
506 |
Research on how location-independent identifiers can be used to find |
Research on how location-independent identifiers can be used to find |
507 |
information in a Peer-to-Peer environment. To support our research work, we have |
information in a Peer-to-Peer environment. To support our research work, we have |
748 |
|
|
749 |
.. research results to be expected and their significance |
.. research results to be expected and their significance |
750 |
|
|
751 |
The Fenfire project is largely based on novel ideas on both |
As already discussed, this project is a combination of several |
752 |
user interfaces and hyperstructure. |
subprojects revolving around specific questions raised by our work in Fenfire. |
753 |
Therefore, the project includes basic research as well as |
The expected results of each subproject are listed in the subsection above |
754 |
applying the developed technologies on |
describing that subsection. |
755 |
the Fenfire distributed hypermedia system. |
The results will be published in international conferences and journals. |
|
|
|
|
The expected results of the research are listed below: |
|
|
|
|
|
- paper: procedural background textures for |
|
|
bestowing identity to virtual objects |
|
756 |
|
|
757 |
- quantitative model of certain aspects of texture perception and recognition |
The expected results of the research are listed below: |
758 |
|
|
|
- fillets: drawing connections between things in a perceptually |
|
|
motivated way resulting far quicker perception |
|
759 |
|
|
|
- quantitative experimental results from general graphs layout |
|
760 |
|
|
761 |
- experimental justification for the layout geometry and type of animation |
- experimental justification for the layout geometry and type of animation |
762 |
(buoys, nadir, irregu, etc.) |
(buoys, nadir, irregu, etc.) |
764 |
.. - buoys: show connected documents and ideas floating in the margin |
.. - buoys: show connected documents and ideas floating in the margin |
765 |
.. - nadir: a natural layout for multiple pieces of data by small rotations |
.. - nadir: a natural layout for multiple pieces of data by small rotations |
766 |
|
|
|
|
|
|
- storm |
|
|
|
|
|
- saving data in permanent blocks, requiring |
|
|
less bandwidth, allowing access to earlier |
|
|
versions. |
|
|
- data uniquess and immutability |
|
|
- distributed storage framework |
|
|
|
|
|
- urn-5 |
|
|
|
|
|
- registered URI scheme to our project |
|
|
|
|
|
- Object/document identity in user interfaces |
|
|
- P2P networking |
|
|
- Interactive creation of hyperstructure |
|
|
- Bidirectional linking in hyperspace |
|
|
- Xanalogical hypertext model |
|
|
- Relational data/data relationship management, document/data item management |
|
|
|
|
767 |
.. Used techologies, our implementations: |
.. Used techologies, our implementations: |
768 |
|
|
769 |
- RDF structure |
- RDF structure |