Imagine the hidden face of text
About ZoomImagine Project
About me
Zoom Editor

What is zoom-editor
Zooming in
Zooming out

Running zoom-editor

What is zoom-editor

Zoom Editor is an interface (using Java and XML encoding) allowing the construction and exploration of z-texts. To each level of representation corresponds an .xml file. The transformations text-xml and xml-text, implied by the process of reading and writing, are transparent for the user.
The application window contains a menu and a toolbar, a level bar and a scrolable text area (see Fig. 3).

Zoom-editorApplicationWindow ^

1. The menu bar

The menu bar has 4 menus with the following options:

Read: open or close a xml level file (Open, Close); Zoom-in or Zoom-out a paragraph (fragment); quit the application (Exit);
Edit: create a new z-text, starting by default with a Level1.xml file (New); save the Level1.xml file in a “book folder" of the library, the name of the book folder should be specified by the user (Save, Save as); expand a paragraph or a selected fragment (Expand); Modify the text or Delete a fragment;
Window: management of multiple open windows;
Help: help information. ^

2. The toolbar

The toolbar contains 5 buttons and 3 text field indicators:

Pressing the Zoom-in or Zoom-out button will change the cursor in a zooming in (Zoom-inCursor) or out (Zoom-outCursor) magnifying glass, and set the Current Mode indicator to the corresponding mode (see Fig. 3, 4). Pressing the Expand button will change the current cursor to an expand cursor (ExpandCursor) and the current mode, and if the action is allowed, the clicked fragment can be edited in a supplementary, expand window (Fig. 5).

There are 5 modes displayed by the Current Mode indicator: edit, read, zoom-in, zoom-out and expand, depending on the selected option. By default, if a level file is open the current mode is read, if a new file is created the current mode is edit, i.e. the usual ways of reading and editing a text in a text editor. ^

3. The text area

The scrollable text area allows the user to enter, modify or explore the text and relies on a transparent xml representation. Every paragraph (or fragment) has an identifier keeping track of the corresponding level and of its position inside the level. For example, the first level paragraphs are identified by 1, 2, 3, the second level ones by 1.1, 1.2, 2.1, … the third level ones by 1.1.1., etc.

In the zoom-in, zoom-out and expand modes, the text area becomes sensitive to the mouse motion. Placing the cursor on a paragraph (without clicking it) will display in the Level No field the corresponding level number versus the depth (total number of levels) of the z-text, and the paragraph identifier in the Fragment Id field. The Level Bar indicates the level and length of every textual fragment. The groups of siblings (same level children having a common parent on the previous level) are separated by a thin red line.

The background color of the Level No, Fragment Id fields and of the Level Bar segments can be white (if the current operation is allowed for a given fragment) or gray if the operation is not allowed. In this case the cursor takes the shape of a denied access symbol (DeniedAccessCursor). ^

Zooming in

After opening an xml level file, the default current mode is read and the Level Bar indicates, by the color of the segments (white or gray), which of the fragments of the displayed level have children on the next level and which have not. A zoom-in operation is allowed only if the pointed fragment has children on the next level.

The figure 3 shows the configuration of the first level before a zoom-in operation. The level has a title fragment (marked in upper case), an empty line and two paragraphs (with the Fragment Id 1, 2 and 3 respectively). After a zoom-in on the second paragraph, its next level child is displayed (Fragment Id = 2.1) and, as the figure 4 indicates, a further zooming in is not allowed.

Zoom-in ^

Zooming out

A zoom-out action is allowed only if the pointed fragment has a parent on the previous level. A zoom-out operation can be also blocked if the descendants from a common ancestor displayed at a certain moment have different levels of depth (see Fig. 5).


The figure shows that a zoom-out is allowed on the current fragment (Id = but not on the previous one (Id = 3.4.1). The reason is that even if the two fragments have a common ancestor (Id = 3.4.) they don’t have the same level of depth (one belongs to level 3, the other one to level 4, as indicated by the Level Bar). A zoom-out on the first fragment could be although possible after the second one has been zoomed-out (see Fig. 6).


Therefore, the main idea is that of a gradual zooming in and out, in order to keep the consistency of the reading experience and to avoid disorientation by skipping levels in one operation. ^


In the expand mode a supplementary editing window, displaying the clicked fragment, allows the user to modify and expand it, and to save the enriched version as a next level text (see Fig. 7).


An expand action is allowed only if the pointed fragment has no children on the subsequent level. Fig. 7 shows the expansion of the 3.4.2 fragment. ^


The edit mode allows the user to edit a new z-text and to save it (Save, SaveAs options), starting by default with a Level1.xml file. The editor places all the "books" under the folder Library, also searched for the already stored z-texts, in the read mode. The location of this folder depends on the browser. In order to save a new z-text, the user should provide a name for the new "book" which becomes a subfolder added to the Library (see Fig.8). An error message is displayed, if a subfolder with the specified name already exists or the file to be saved is empty.

Save ^