Difference between revisions of "Notes2"

From Apache OpenOffice Wiki
Jump to: navigation, search
m
m (Status)
Line 615: Line 615:
 
|-
 
|-
 
| Design of the Notes Side Pane
 
| Design of the Notes Side Pane
| The notes sidebar will extend the document pages to contain the notes windows.  
+
| The notes side pane will extend the document pages to contain the notes windows.  
 
| Proposal in discussion. Implementation started.
 
| Proposal in discussion. Implementation started.
 
| n/a
 
| n/a
Line 628: Line 628:
 
| Design of the Notes Anchor
 
| Design of the Notes Anchor
 
| The notes anchor is the markup inside the document text to show that there is some notes information present.
 
| The notes anchor is the markup inside the document text to show that there is some notes information present.
| Early proposal in discussion.
+
| Proposal in discussion.
 
| Please refer to the mockups at the end of this page.
 
| Please refer to the mockups at the end of this page.
  
Line 634: Line 634:
 
| Design of the Notes Connector Line
 
| Design of the Notes Connector Line
 
| The notes connector line is the visual connection between the notes anchor and the corresponding notes window.
 
| The notes connector line is the visual connection between the notes anchor and the corresponding notes window.
| Not started yet.
+
| Proposal in discussion.
 
| n/a
 
| n/a
  
Line 640: Line 640:
 
| Colors of the Notes Windows
 
| Colors of the Notes Windows
 
| Colors for the notes windows. These colors are shared with the Writer change tracking feature.
 
| Colors for the notes windows. These colors are shared with the Writer change tracking feature.
| Proposal in discussion.
+
| Implementation for Notes started. Implementation for the Writer change tracking feature finished.
 
| n/a
 
| n/a
  
 
|-
 
|-
 
| Distribution of the Notes Windows in the Side Pane
 
| Distribution of the Notes Windows in the Side Pane
| Placement of the notes windows inside the notes sidepane (e.g. size, position).
+
| Placement of the notes windows inside the notes side pane (e.g. size, position).
 
| Proposal in discussion. Implemenation started.
 
| Proposal in discussion. Implemenation started.
 
| n/a
 
| n/a

Revision as of 20:30, 16 October 2007

Introduction

Team notes.png

Notes2 is a new project started as one accepted project in Google's Summer of Code 2007 (GSOC). It will be also worked on after the GSOC is over.

Notes2 addresses the revision of the notes functionality in OpenOffice.org Writer to improve its usability and accessibility. Main goal is to resolve the main issues of the current implementation, which are reported by users. Furthermore, the notes implementation should at least provide the functionality of the competitors in the same class. In long term considerations, it is intended to consistently implement the notes functionality in the other OpenOffice.org modules. The main target audience is the Small-Business-User.

Please note that the information in this Wiki is work in progress and may change.


The team working on the feature (in alphabetical order):

Name OOo Nickname Role
Mathias Bauer mba GSOC Mentor, Development
Uwe Fischer ufi Documentation
Christian Jansen cj Mentor, User Experience
Christoph Noack christophnoack User Experience
Maximilian Odendahl mod GSOC Student, Development
Éric Savary es QA

Requirements

Scope of the Work

  • Provide direct and easy editing of notes to get rid of the old notes editing window.
  • Establish good accessibility for disabled users by providing keyboard shortcuts or using appropriate colors.
  • Integrate the new functions in the existing functionality, e.g. the OpenOffice.org Navigator.
  • Respect the needs for advanced text editing, e.g. spell checking, rich-text formatting or sorting/filtering of notes.
  • Create both fresh and usable visual design of the notes.

More detailed requirements have been collected and will be published here later.

Issues and Requests for Enhancements

The work will address the issues and request for enhancements: 767, 1981, 4964, 5487, 6193, 9776, 23465, 32232, 45788, 48150, 62625, 63759, 74157, 61644 and 80135.

You can use a Issue Tracker query to see all issues.

Competitive Analysis

Competitor software is discussed on the separate page Competitive Analysis for Notes.

Definition of Terms

The following list contains some definitions used in the subsequent text (in alphabetical order):

Term Description Shown in Graphic Below
Author The user who edits or edited the Document. no
Document The Document is the file which contains the user's data. The type of the Document is dependent on the OpenOffice.org module used for editing, e.g. Writer text document, Calc spreadsheet document, Impress presentation document, Draw drawing document. no
Document Content The document content is dependent on the type of the Document. It includes e.g.
  • characters, strings, words, sentences, paragraphs
  • Sections (Writer)
  • Cells (Calc)
  • Slides (Impress)
  • Graphic Objects (Impress, Draw)
  • Input Fields (Base)
no
Document, Current The Current Document is the Document that the user uses at the moment. no
Note The Note refers to all elements and data which belong to the Notes Functionality (e.g. Note Anchor, Note Window, Note Property Data, Note Connector Line). Simplified, the Note contains all user visible elements. no
Note Anchor General name for the reference position of the Note Data which is located in the Document Content. For improved clearness, the Notes Data is not displayed inside the Document. Consequently, an Anchor is necessary to indicate the reference position. no
Note Anchor Area A special version of the Anchor which refers to a group of Document Content elements. The Anchor Area It is defined by a starting point and a end point according to the reading direction of the Document. yes
Note Anchor Point A special version of the Anchor which refers to a position inside the Document. The Anchor Point may be located between characters and therefore treated as character. yes
Note Connector Line The notes connector line is the graphical representation of the relationship between Notes Anchor and Notes Window. yes
Note Data General name for the data which is stored for the Notes, e.g. Note User Data or Note Property Data. no
Note Functionality The generic term which refers to the revised implementation of Notes handling in OpenOffice.org no
Note Property Data The Note Property Data refers to all the data of a note which does not belong to the Note user data. It may contain:
  • Status of the Note Window (e.g. shown/hidden, rolled in/out, position)
  • Rating of the User (e.g. priority, task completion, filtered/unfiltered)
  • History (author who created the note, author of the last change, date of creation, date of last change)
  • Relationship to other Notes (e.g. reply status)
yes
Note Side Pane The screen area next to the Document which is reserved for displaying the Notes Windows. yes
Note User Data The user defined content of the Note, e.g. text, graphics. yes
Note Window The screen area which contain the Note Data. This window is usually used to view or edit the Note User Data. yes

The following picture shows some examples for the terms defined above:

Definition of Terms

Please note that some of the following sections do not make use of the defined terms. The corresponding sections will be updated soon; in the meantime the different wording should not have negative impact on the understandability.

Proposals/Discussion

Look and Feel

Design of the Notes Side Pane

Position
  • From the user's point of view, the side pane is an integral part of the document output because it is shown in the direct neighborhood of the writer page.
  • (Print Layout) If the side pane is shown, the complete width of the writer page and side pane have to be considered when centering the screen output inside the writer background. (For OOo 2.3 it is assumed that the document pages of the document are centered inside the Writer background.)
    • OpenPoint: How does the Writer behave if the document page width is smaller than the remaining screen space inside the Writer document window? Example: When changing the zoom level, does the Writer prioritize the visibility of the left page area (assuming left-to-right writing), or is it dependent of the current cursor position? Here, the document page itself should get prioritized when considering document page and notes side pane.
  • If the side pane is shown, the complete width of the writer page and side pane have to be considered when calculating the document width represented by the horizontal scroll bars.
  • If the side pane is shown, both writer page and side pane have to be considered when switching the zoom level to “optimal”. Some of the other zoom levels “page width” and “complete page”.
  • Location of the side pane:
    • For left-to-right text (GUI language), the side pane is located at the right side of the writer document.
    • For right-to-left text (GUI language), the side pane is located at the left side of the writer document.
    • In special cases (not considered at the moment), the side pane may be located both left and right of the document window.
Size

The calculation of the size of the side pane is mainly based on the size of the paper page which it is assigned to. The size of the side pane is dependent on the current zoom level of the document. Assumption: Usually the paper formats “A4 portrait” or “Letter portrait” are used.

Width

The width of the side pane is based on the amount of text that fits into one text line (amount of text: this is a bit simplified because we consider the width of the corresponding page and not the text line width).

  • Assumptions:
    • The side pane width is determined automatically. The user has no influence on it.
    • If using the same paper format, the side pane width does not change across documents or pages (At the moment, this should prevent using some super smart automatic functions which e.g. analyzes the amount of notes data inside the document).
    • If the user uses both portrait and landscape for the same paper size in one document (e.g. ISO A4), the user wants the same side pane width to have a similar look and feel for the notes.
    • Using larger paper format does not increase the side pane width linearly dependent to the page width. (This is because the user may use larger paper formats (e.g. ISO A2) for creating posters. Therefore the user may increase the font size too, which accordingly limits the amount of text on the document page. So we need not so much space for the notes information.)

As a result, the width of the side pane is calculated in two steps:

  • Assumption: The physical [cm] is used in this example.
  • Step 1: Determine the side pane width at 100% zoom level in [cm]. These [cm] are similar to the shown document width in [cm]. The side pane does have a width of at least 4 cm. The calculation is done by (formula in OOo Calc syntax):
sidepaneWidth_normalView = MIN ( (1.1 * SQRT(0,9 * MAX(currentDocumentPage_Width, currentDocumentPage_Height) ) ); 4)
  • Step 2: Determine the side pane width for the current zoom level [%].
sidepaneWidth_final = currentZoomLevel * sidePaneWidth_normalView
Height

The height of the side pane is based on the height of the page and the number of notes present of the current page.

  • If no note is inserted on the current page or if the inserted notes windows fit into the height of the document page, then the height of the side pane is identical to the height of the current page.
  • If the height of the notes windows is larger than the height of the current document page, then the height of the notes side pane is adjusted to the height required for displaying the notes windows.
    • The additional area which is caused by expanding the note pane height is evenly distributed above and below the document page.
    • The additional area above and below the document page will not contain any notes windows.
    • The expanded side pane requires more space for displaying the current page. To avoid any overlapping with other document pages, the the dimensions of the current page including the expanded notes side pane is used to calculate the position of the current page in a set of pages.

Note: Please refer to the specification of the notes windows and the minimum necessary distance between the notes windows.

Normal Notes Side Pane Height
The graphic shows the normal side pane next to right side of the document page. It contains:
  • a Kind of print layout in the Writer document window
  • Side pane (light gray)
  • Examples of other pages with normal side pane heigth

Please note that the graphic is not true to scale.

Expanded Notes Side Pane Height
The graphic shows the normal side pane (light gray) next to right side of the document page. It contains:
  • a Kind of print layout in the Writer document window
  • Side pane (light gray). For improved visual clarity, no notes windows are shown in the graphic.
  • Expanded side pane area at the top and bottom of the document page (hatched). It will not contain any notes windows.
  • Examples of other pages with normal side pane height

Please note that the graphic is not true to scale.

Visualization of Paper Formats
The graphic shows different paper sizes (scaled) and the corresponding side pane width. It contains:
  • ISO A3 Portrait (height 297 mm, width 420 mm), Side Pane (width 67,6 mm), example for page border (distance 20 mm)
  • ISO A4 Portrait (height 210 mm, width 297 mm), Side Pane (width 56,9 mm), example for page border (distance 20 mm)
  • ISO A6 Portrait (height 148 mm, width 105 mm), Side Pane (width 40,1 mm)
  • ISO A10 Portrait (height 37 mm, width 26 mm), Side Pane (width 40,0 mm)
Colors
  • The color of the side pane is used to reduce the brightness contrast of notes windows and the (generally) dark writer background.
    • Color: Decimal R230, G230, B230, A255 (Hex: e6e6e6ff)
  • The line between page and side pane area marks the end of the physical page and delimits the notes windows (similar to page margin indication):
    • Width: 1 screen pixel
    • Color: Decimal R200, G200, B200, A255 (Hex: c8c8c8ff)
  • At the moment (OOo 2.2), is colored black and the shadow of the page seems not be dependent on the zoom level. Therefore...
    • Width: 3 screen pixels
    • Delta with reference to the document page: horizontal 3 pixels, vertical 3 screen pixels
    • Dark Color (beginning at page): Decimal R83, G83, B83, A255 (Hex: 535353ff)
    • Bright Color (ending at writer background, same color as writer background in current OOo): R150, G150, B150, A255 (Hex: 969696ff)
    • Please note that the shadow may be deactivated when the user edits the notes user data inside the notes windows.
    • TO BE DEFINED LATER
  • The sidebar does not implement any other border lines.
  • All colors mentioned here should be selectable for the user or dependent on the accessibility settings.
    • TO BE DEFINED LATER

Distribution of Notes Windows in the Side Pane

General Goals

Generally, the notes windows contain text (notes user data) and belong to a portion of the Writer document (indicated by the notes anchor). As previously described, the notes windows will be shown in the notes side pane. This section covers the distribution of the notes windows in the side pane area.

So, what are the general goals for the distribution of notes windows?

  • Don't bother the user and let him concentrate on his work on the Writer document (e.g. jumping windows, blinking, flickering)!
  • Show him as much information in the notes as possible.
  • If you move or edit the Writer document (e.g. scrolling, inserting characters), try to keep the relative position of notes anchor and notes windows.
  • If necessary, move notes if the text is moved too (e.g. inserting characters or scrolling the document).
  • If possible, minimize the distance between notes anchor and notes window.
  • If it's necessary to ellipse the text or to show scrollbars, use a smart logic to minimize further user interaction (by e.g. manual scrolling in too many notes)!
Proposed Algorithm

A first proposal for an algorithm:

  • Notes have a maximum size that can't be exceeded, of course they can be smaller if there content fits into the smaller size.
  • In case notes overlap if they get their default positions and maximum size they will be moved downwards or upwards to avoid overlapping. All notes anchored to a page should be evenly distributed on the page.
  • The layout algorithm is iterative and always starts will all notes on their default position. In case of conflicts (overlap) it should try to resolve them, starting with the top most of them:
    • move the upper note upwards until the conflict is resolved, but not more than a maximum distance (maximum distance won't be an issue in the first iteration) and not above the page border
    • if this creates a new conflict move this note down again until the new conflict is resolved again; now move the lower note of the former conflict downwards until the conflict is resolved, but not more than a maximum distance and not below the page border (this can create a new conflict)
    • in case conflicts still exists repeat these steps
  • If not all conflicts can be resolved try to repeat this with a reduced maximum size.
Reduced Size of the Notes Windows

What if the size (height) of the notes window is reduced?

  • Use scrollbars inside the notes windows to access the notes user data.
The intention is to reduce the size of the notes windows. So it will be able to keep the smaller notes windows together and to minimize the distance to the notes anchors. At this point, the user will be able to see e.g. 3 lines of notes user data which should be enough to recognize notes, the user has already read before.
  • If the height of the notes windows falls below a defined minimum then expand the side pane to make it possible to show all the smaller notes windows that belong to the corresponding Writer document page.
Some of our competitors just ignore the fact that the number of notes can exceed the available height of the document page (and therefore their implementation of the notes side pane.) They simply disappear - an easy, but no robust design ;-)

Alternative: Instead of showing all the notes, future implementations of the notes functionality will make it possible to select the notes to be shown. The user may be able to select "show all notes since my last editing". Then, the user will get only those notes which were created, modified or which have a reply.

Structure of the Notes Window

The text for the notes will be (mainly) displayed and edited in the notes windows. The following text gives an overview on the structure of the notes window (a more detailed specification is available).

General Structure of the Notes Window
The graphic shows the general structure of the Notes Window.

It includes:

  • the area for the notes user data (text)
  • the two lines for notes property data (e.g. name of the author, time and data of note's creation)
  • the option button for a drop-down menu
  • (optional) area for showing scrollbars

Some notes on the option button: One of the goals of the new notes functionality is to provide direct access for the user. Generally, we can not be sure if the user is aware of the availability of a context menu (Usability tests show that many people do not know how to access the context menu. Besides that, for the progressing Mac Port it is desirable to provide direct access to the functions without forcing the user to use the modifier keys.). In contrast to our competitors, we do not plan to provide a direct "delete" or "hide" button inside the note. Any functionality will be available in the drop-down menu. This makes it possible to provide (later!) access to more advanced functionality like rating the priority of the note or to digitally sign it.

The notes window is designed in such a way, that it can be extended by a title bar for e.g. use in other components of OpenOffice.org.

Design of the Scrollbars

In some cases, the space available in the side pane will not be sufficient to show all the notes information. At the moment it is proposed to first use scrollbars in the notes windows and - if many notes have to be presented - the height of the side pane will be adjusted accordingly (please refer to #Design of the Notes Side Pane). (A detailed proposal how to deal with that will be provided soon).

Due to the fact that the notes windows is scaled in the same way like the document page, it is necessary to scale the scrollbars too. Using "original" scrollbars of the graphical environment (e.g. Microsoft Windows) will lead to following disadvantages:

  • Users are not used to scrollbars of the operating system that can be adjusted continuously.
  • Scrollbars of the operation system are not designed to work at low scale (neither function nor look of scaled scrollbars).
  • They may look alien. At the moment, it is proposed to use the notes windows' background color to represent the author of the note. So, gray or light blue scrollbars are not aesthetically pleasing.

Consequently, we propose an own implementation for the notes. But what are scollbars used for?

  • There is some information that cannot be shown completely (existence of the scrollbar).
  • Provide the functionality to scroll up or down (arrow buttons).
  • Feedback on the position of the shown fragment (bar, active/inactive arrow buttons).
  • Additional features (less related to the function itself): feedback on mouse over, feedback on mouse click, mouse wheel support, ...
Design Proposal for the Scrollbars
The graphic shows the proposed scrollbar design with two alternatives for at low scales.

It shows:

  • The same scrollbar at different scale factors in normal view (for users which are not visually impaired) and a proposal in high contrast (for e.g. visually impaired users).
    • 100%, 75%: Scrollbars with arrow buttons and bar
    • 50%: Simplified scrollbar with arrow buttons
    • 25%, 10%: A placeholder which does not not have any functionality.
  • It may be possible that the implementation of "placeholders" or "buttons only" are not accepted. An alternative is shown at the bottom of the graphic which shows a step sequence to show the functionality:
    • Step 1: A button is shown with on inactive arrow (top position).
    • Step 2: Click on the button.
    • Step 3: A full-featured scrollbar is shown, similar to the one of 100% zoom level. It additionally contains a shadow to indicate that this is a "temporary" control for that notes window.
    • Step 4: After finish the scrolling the button of Step 1 is shown again. In this example, the user has scrolled a bit down.
  • It is proposed to show this alternative "scrollbar-button" if there is few space to use scrollbars that enable direct manipulation. In general, priority is given to the normal scrollbars (e.g. shown in 100% and 75% scale).

Please note: The option button below the scrollbar is intended to exemplary show the size and the distance between the controls inside a real note window.

Mockup of Notes Window
The mockup shows a notes window at 100% zoom level.

Due to the high implementation effort, the proposed scrollbar design may eventually not be provided in the first release of the implementation (we have to ensure that e.g. accessibility is guaranteed).

Design of the Anchors and the Connector Lines

The proposal for anchors and connector lines is not finished yet. In the meantime, please refer to the mockups graphics in section Mockups and Screenshots.

Note Connector Lines

The Note Connector Lines represent the relationship between Notes Anchor and Notes Window. Ideally, that first line of Notes User Data starts at the same height of the first line of text contained/marked by the Notes Anchor. So, the user's line of sight may just move on a horizontal line until he "hits" the Note. The visual style does consider the author of the Note (color) and if it currently has the focus.

  • Position and Size:
    • The Note Connector Lines are drawn in the foreground (assuming that the Document Content is the background).
    • The Note Connector Line start next to the Anchor and is drawn horizontally below the text line.
    • If the horizontal distance between horizontal section of Note Connector Line and Notes Window is 0,5 cm (reference: 100% scale of Document), the Notes Connector Line continues directly to end at the top left edge of the Notes Window (for left-to-right text).
    • If several Note Anchors are in the same line of text, the Note Connector Lines are drawn (and layered) according to the text reading direction.
  • Visual Representation:
    • Line width: 1px (Please note: It has to be decided if it makes sense to draw the lines at all - even very small - scale levels. In Writer, the red underlining for the spell-checker disappears at low scale levels. It may make sense to look at the code.)
    • Note has the focus (e.g. is currently edited): The Note Connector Line uses the "accent color" of the note's author in line style "strike through".
    • Note does not have the focus (e.g. is viewed): The Note Connector Line uses the "accent color" of the note's author in line style "fine dots". The rest of the Notes Connector Line (the space between the dots) is filled up with the color "background dark".
Anchors (Preliminary)
Some ideas for the visualization of Anchor Area
The image shows some ideas for the visualization of Anchor Areas. It shows:
  • a group of Anchor Areas next to each other
  • a very small Anchor Selection of one character
  • some grips to resize the Anchor Areas by using the mouse (will presumable not be realized)
  • an Anchor Area which was created by block selected text (will presumably not be realized)

Colors for the Notes

Color is used for one main reason: it shall it make easy to distinguish notes from different authors. Consequently, it makes sense to harmonize the colors with the ones from OpenOffice.org Writer change tracking feature which also uses color to highlight changes in the document text.

Proposal for the colors
The picture shows the colors from the current OpenOffice.org Writer and the main competitor Microsoft Word 2003. Additionally, it includes the proposal for the new implementation of the notes functionality. The following criteria have been checked when selecting the new colors:
  • unobtrusive but appealing colors that (as a set) go together well
  • how distinguishable are the colors for people with visual impairments (inabilities or weaknesses in seeing some particular colors)
  • how readable is text written on a background using one of these colors
  • how do the note connectors line and borders look in contrast to the notes window itself

The colors have been selected from several sources: the OpenOffice.org Writer current change tracking feature, the new Galaxy Style palette, the new Chart default color palette.

The first color, the bright yellow, has been chosen because of the popularity of some gluing labels ;-) This should ease the recognition of Notes for beginners.

Simple mockup to show the color effect
The picture shows the colors in simplified notes windows to:
  • check the color effect of the different colors
  • simulate some text of the change tracking feature (underlined)

Please note that not anchors are shown here and the notes windows are simplified!

Mockup to visualize the focus of the note
The picture shows the visualization of the focus (e.g. when selected, edited) in simplified notes windows: The color intensity of the text in the left notes window is reduced to non-distract the user from working with the main document text in Writer. Please note that we do not use transparency for notes windows' background, because we do not want to alter the colors. (It is needed to provide colors for nine different authors. The use of transparency for the notes background color could have a negative impact on the ability of the user to differentiate the - sometimes similar - colors).

Working with Notes

Creating or Editing Notes

This section contains the description of how the Notes Functionality behaves if Notes are inserted or edited.

Please note that the subsequent text refers to the number of text lines representing the Notes User Data. This is a bit unclear, because the inserted text may be formatted in (e.g.) a larger font size and may lead to some unwanted effects. Therefore we should initially focus on Notes User Data text in standard formatting.

  • Creation of Notes
    • If a Note is created, the Notes Functionality must insert the newly created Note Window at a position given by the rules of “Distribution of Notes Windows in the Side Pane”.
      Example: refer to the graphic below, Example D, Step 1.2
    • If a Note is created, the Notes Functionality must sets the height of the newly created Note Window to a value that makes it possible to insert three lines of Notes User Data without resizing the Notes Window. (newly created Note Window: does not contain any Note User Data)
      Rationale: If there is few space available (e.g. for one line of text), some users “fear” that this will not be enough and will initially entering some blank lines to get some more room. We prevent this by providing enough space right from the start.
      Example: refer to the graphic below, Example A, Step 1.2
    • If a Note is created and the Note Window is not completely visible on the screen, the Notes Functionality must pan the view port area to completely show the Note Window inside the Writer Document window.
      Rationale: The user wants to see the newly created object.
    • If a Note is created, the Notes Functionality must set the focus to the newly created Note Window and places the cursor inside the Note Window. (inside: the area reserved for the Notes User Data)
      Rationale: The user may want to just start typing.
    • If a Note is created, the Notes Functionality must create the Notes Window with the obligatory elements shown in “Structure of the Notes Window”. (elements: e.g. Notes Property Data, option button)
    • If the keyboard button ESC is pressed directly after creating a Note, the Notes Functionality must reverse the action of creating the Note. (directly after creating a note: e.g. the user did not leave the note or added any information; reverse: the state of the Document before creating the Note is restored)
      Rationale: The user may want to revert the action of an accidentally inserted Note.
      Please note: The reversion should be undo-able with the function Undo.
  • Inserting or Editing Notes User Data
    • If the user inserts Notes User Data in a Note Window and there is enough both free and visible space below the Notes Window, the Notes Functionality must expand the Notes Window to fit to the amount of Notes User Data. (visible: the space visible for the user; space: space in the Notes Side Pane; expands: expands the height downwards)
      Example: refer to the graphic below, Example B, Step 1.3
    • If the user inserts Notes User Data in a small Note Window and there is neither enough and/or visible space available, then the Notes Functionality must... (small: the height of the Notes is adjusted for less than three lines of Notes User Data; visible: the space visible for the user; space: space in the Notes Side Pane)
      • expand the Notes Window to fit to the amount of Notes User Data.
        Example: refer to the graphic below, Example C, Step 2.1
      • pan the view port area to completely show the Note Window inside the Writer Document Window.
      • Rationale: This is a very special case. If we want to keep the position of the other Notes Windows stable during editing, we have to chose this kind of implementation (overlap parts of the subsequent note). Anyway, we should wait for some feedback from the user base.
    • If less space is available for the Notes Window than it is required to completely display the Notes User Data and the Notes Window has normal size, the Notes Functionality must provide scrollbar functionality inside the Note Window. (space: space in the Notes Side Pane; normal size: the height of the Note Window fits to three lines of Notes User Data; scrollbar functionality: refer to “Design of the Scrollbars”)
      Example: refer to the graphic below, Example C, Step 2.3
Inserting and Editing Notes
The graphic shows:
  • The insertion of Notes (Step 1.1 to Step 1.4) and the editing of Notes (Step 2.1 to Step 2.4) in different situations.
  • The situations show different amount of Notes User Data and different count of already shown Note Windows.

Please note:

  • The intention of this graphic is to start a discussion of the Notes behavior. Hopefully, the graphic is self-explanatory. If not, then more detailed information can be found in the text above this graphic.
  • The situation in Step 2.4 of Example D is a bit simplified. Here, the size of the yellow note is the same like in the previous step although there is some more text in it. The real size is based on the amount of Notes User Data there and in the other notes.
Anchors

The Notes Functionality does provide a Notes Anchor to mark up the text portion which is related to the Notes Data. The kind of Notes Anchor depends on the status of Writer Document text selection when calling the command for inserting the Note.

  • If the document has the focus and no document text is selected, then inserting causes the Notes Anchor to be dependent of the text next to the text cursor...
    • If there is some kind of word or string, then the Notes Anchor Area will contain the whole word. (refer to Examples 1 ... 4)
    • If no reasonable text can be detected next to the cursor, then a simple Note Anchor Point is inserted. (refer to Example 5)
  • If the document has the focus and document text is selected, then inserting a note causes the Notes Anchor Area to span the current selection of the document text. (refer to Example 6)

In the following examples, symbols are used for the representation of other elements:

  • Cursor is represented by |
  • Anchor Area start is represented by >
  • Anchor Area end is represented by <
  • Anchor Point is represented by ^
  • Text selection start is represented by [
  • Text selection end is represented by ]
Example 1: The Notes Anchor Area for the text “This is some phone number 1030/73506|9495” would be “This is some phone number >1030/73506|9495<”.
Example 2: The Notes Anchor Area for the text “This is we|ird, isn't it?” would be “This is >we|ird<, isn't it?”
Example 3: The Notes Anchor Area for the text “This is weird|, isn't it?” would be “This is >weird|<, isn't it?”
Example 4: The Notes Anchor Area for the text “I do not think this is too good ..|.” would be “I do not think this is too good >..|.<”
Example 5 (with whitespaces): The Notes Anchor Area for the text “And then he said       |      nothing at all.” would be “And then he said       ^|      nothing at all.”.
Example 6: The Notes Anchor for such a selection “This is [some selected] text.” would be “This is >some selected< text.”.

Viewing Notes

(proposal will be provided soon)

If in doubt, draw the notes elements according to their document text position (document text position: considering the reading direction of the document language)

Editing Document Text

Editing the document text may have influence on the Notes in general.

Editing the document text has influence on the Notes Anchors:

  • In general, the Notes Anchors keep their position relative to the document text.
  • The size of the Notes Anchor Area is dependent on the the text it includes. If the user edits the document text, which is included in the Note Anchor Area then the Note Anchor Area will be adapted accordingly.
    • If characters are deleted inside the Note Anchor Area, then the Notes Anchor Area is reduced accordingly. (refer to Example 1)
    • If characters are added inside the Note Anchor Area, then the Notes Anchor Area is expanded accordingly. (refer to Example 2)
    • If the Note Anchor Area is reduced from on character to “zero” characters, then the Note Anchor Area is converted to a Note Anchor Point at the same position.
    • If the Notes Anchor Point is deleted (e.g. by using the backspace key), then the Note is deleted too. (Todo: If necessary, move this point to Deleting notes.)
    • A Note Anchor Point behaves similar to a normal character in the document text. This behavior is similar to the current implementation of the Notes Anchor in OpenOffice.org Writer.
    • Please note: The kind of Notes Anchor cannot be explicitly altered afterwards by the user.
Example 1: If the text “This is woonderful text.” is corrected to “This is wonderful text.” the Notes Anchor Area “This is >woonderful< text.” would be “This is >wonderful< text.”.
Example 2: If the text “This is wnderful text.” is corrected to “This is wonderful text.” the Notes Anchor Area “This is >wnderful< text.” would be “This is >wonderful< text.”.

accessibility

Several items are implemented to improve ease of use and accessibility:

colors

Notes have different colors depending on their author, the color matches the color of the change tracking feature. [[1]]

Meta Information

There is an additional place where not only the creation date and time is shown, but also again the author with its full name. Should the meta information not be shown due to space restrictions, the meta informations are shown in a toolbar when hoovering over the note

keyboard navigation

CTRL - ALT - N (cursor inside the document) create new note at current position or jump into note if there already is one

CTRL - ALT - N (cursor inside the note) jump back into the document, cursor is placed after the notes anchor position to continue writing easily

ALT – Page Up/Down (cursor inside a note) travel to previous/next visible note

Roadmap

The functionality will be implemented step-by-step. A first release of the revised notes functionality is planned for OpenOffice.org 2.4 around February 2008. A first release of a specification draft can be expected at the end of August 2007.

Functionality Expected in the First Release

The basic functionality which is present in the current version of OpenOffice.org will be available in OpenOffice.org 2.4. It is planned to implement:

  • Viewing and editing notes next to the document page
  • Accessibility support
  • The functionality which is already available in current version of OpenOffice.org
  • Improved integration with the Writer change tracking feature (e.g. use the same colors for the authors of the document)
  • Time information for the notes (besides the already available date information)
  • Online help
  • Support for the OpenOffice.org Testtool

At risk for the first version:

  • Rich-text editing (e.g. bold text, numerations)
  • attaching comments to a selection of text (ODF 1.2 will support this feature)

Functionality Expected in Later Releases

  • Improved printing
  • Improved print preview
  • Search for text inside of notes
  • Improved integration with the OpenOffice.org Navigator
  • Improved PDF export of notes

Other Ideas

Other ideas are discussed on the separate page Other Ideas for Notes.

Status

The following table lists the topics currently worked on.

Topic Description Status More Information...
General Interaction Interaction with the notes anchors and windows inside the Writer document window. This includes design decisions to make the notes functionality be as robust as possible. Proposal in discussion. Implemenation started. n/a
Design of the Notes Side Pane The notes side pane will extend the document pages to contain the notes windows. Proposal in discussion. Implementation started. n/a
Design of the Notes Windows The notes window will contain the notes text and further information like the author's name and time and date information. Proposal in discussion. Implementation started. n/a
Design of the Notes Anchor The notes anchor is the markup inside the document text to show that there is some notes information present. Proposal in discussion. Please refer to the mockups at the end of this page.
Design of the Notes Connector Line The notes connector line is the visual connection between the notes anchor and the corresponding notes window. Proposal in discussion. n/a
Colors of the Notes Windows Colors for the notes windows. These colors are shared with the Writer change tracking feature. Implementation for Notes started. Implementation for the Writer change tracking feature finished. n/a
Distribution of the Notes Windows in the Side Pane Placement of the notes windows inside the notes side pane (e.g. size, position). Proposal in discussion. Implemenation started. n/a
Keybindings Keybindings for the interaction with the notes (e.g. insert notes). Proposal in discussion. Implemenation started. n/a
Rich-Text-Formatting Use of attributes to markup the notes text (e.g. bold text). Election of requirements. n/a

Mockups and Screenshots

Mockup for viewing the notes
Mockup shows the mode for "viewing" the notes:
  • different kinds of notes anchors in the document text:
    • anchor point (represents a character)
    • anchor selection
  • a side pane next to the document page for displaying and arranging the notes windows (including some information in the ruler above)
  • display of author and date inside the notes windows
  • different colors for different authors
  • (idea) a placeholder to just start typing the notes text (anchor would be placed at current document text position)
Mockup for editing the notes
Mockup shows the mode for "editing" the notes:
  • visualization of currently edited note
    • continuous anchor connector line
    • highlighted notes anchor selection (slightly darker border lines)
    • shadow for the notes window (whereas the shadow for the document page is removed)
  • spell checking inside the notes windows
Mockup for a hidden notes pane
Mockup shows the mode for a "hidden notes" pane (just an early idea):
  • notes pane is completely hidden (including notes windows)
  • the ruler above provides some information on the notes
    • information that there are (at least) some notes present in the document
    • the notes pane can be shown by the control element in the ruler bar
First prototype in Writer
It shows:
  • rich text formatting
  • visualization of currently edited note
  • spell checking
  • context menu for editing the text
Personal tools