Difference between revisions of "Notes2"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Moved content to separate page Notes2_Design_NoteWindowDistribution Distribution of Notes Windows in the Side Pane)
(Added link to wiki page Notes2_Design_NoteWindowDistribution Status and Proposals)
Line 391: Line 391:
 
|-
 
|-
 
| 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 side pane (e.g. size, position).
+
| Placement of the Notes Windows inside the Notes Side Pane (e.g. size, position).
 
| Proposal in discussion. Implementation started.
 
| Proposal in discussion. Implementation started.
| n/a
+
| [[Notes2_Design_NoteWindowDistribution|Note Window Distribution]]
  
 
|-
 
|-
 
| Keybindings
 
| Keybindings
| Keybindings for the interaction with the notes (e.g. insert notes).
+
| Keybindings for the interaction with the Notes functionality (e.g. insert notes).
 
| Proposal in discussion. Implementation started.
 
| Proposal in discussion. Implementation started.
 
| n/a
 
| n/a

Revision as of 15:29, 27 January 2008


Please note that this wiki page is re-organized at the moment. You will find links to further proposals in the section Status and Proposals.


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

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.

Open Points:

  • What to do with notes bigger (e.g. higher) than the current ? I propose to not do any scrolling/panning if those notes get the focus (e.g. by viewing/editing). Then, the text cursor inside the Note Window should affect the scrolling behavior of the Document text and simultaneously the Notes Side Pane.
  • Answer the question if the panning does annoy the user.

Realization: Realization required for first implementation of Notes.

Future work: At the moment we only focus on a static Notes Windows layout without any smooth animation and re-positioning. If animations were supported this would solve some problems and the described behavior should be revised.

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

In the first release, the following keyboard navigation is implemented:

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

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

Status and Proposals

The following table lists the topics currently worked on and refers to the more detailed design proposals.

Topic Description Status Design Proposals and Other 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. Implementation started. n/a
Design of the Notes Side Pane The notes side pane will extend the document pages to contain the notes windows. Implementation started. Note Side Pane
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. Implementation started. If necessary, the window will be extended by a scrollbar for the text. Note Window

Note Property Data

Design of the Notes Anchor The Note Anchor is the markup inside the document text to show that there is some notes information present. Proposal in discussion. Note Anchor
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. Note Connector Line
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. Main Colors
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. Implementation started. Note Window Distribution
Keybindings Keybindings for the interaction with the Notes functionality (e.g. insert notes). Proposal in discussion. Implementation started. n/a
Rich-Text-Formatting Use of attributes to markup the notes text (e.g. bold text). Implementation started. n/a
Focus Visualization The Note Windows of a currently viewed or edited Note is highlighted. Proposals in discussion. Preliminary implementation started. Visualization of Focus

Roadmap

Development Releases

The functionality will be implemented step-by-step.

A first release of the revised notes functionality is planned for OpenOffice.org Beta 3.0 around April 2008, the corresponding Notes2 Specification is under development. A more detailed description (or let's say developer friendly version including CWS status and links) on what is planned can be found at Notes2_CWS.

Official Releases

Functionality expected in the first release (OpenOffice.org 3.0):

  • 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)
  • Rich-text editing (e.g. bold text, numerations)
  • Online help
  • Support for the OpenOffice.org Testtool

Functionality expected in later releases (OpenOffice.org 3.x):

  • Improved printing
  • Improved print preview
  • Search for text inside of notes
  • Spellchecker inside of notes (underlining with right click spell checking already available)
  • Improved integration with the OpenOffice.org Navigator
  • attaching comments to a selection of text because then ODF 1.2 will support this feature (Notes Anchor Area)

Other Ideas

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

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
Alpha version Writer
Personal tools