Specification Common find toolbar

From Apache OpenOffice Wiki
Jump to: navigation, search

(name changed in 'Find' toolbar)

Specification Status
Author Christoph Lukasiak (Clu)
Last Change 18. Aug 2010
Status (Help) Standard

Abstract

The 'Find' toolbar should be an addition to the 'Find & Replace' dialog, which provides a fast and easy text search without covering the search text.

References

Reference Document Check Location (URL)
Prerequisites done
Product Requirement, RFE, Issue ID (required) available i107176
Accessibility Check (required) done See accessibility section for check list
Test case specification (required) available TCS Find Toolbar
IDL Specification does not apply
Software Specification Rules done
Other, e.g. references to related specs, Product Concept Document available specification: search toolbar
Release Roadmap OOo 3.3 available http://wiki.services.openoffice.org/wiki/OOoRelease33

Contacts

Role Name E-Mail Address
Developer Carsten Driesner cd@openoffice.org
shizhoubo(robertzhou) robertzhou@openoffice.org
Yan Wu wuyan.ooorg@gmail.com
Quality Assurance Stefan Baltzer sba@openoffice.org
Jörg Skottke Joerg.Skottke@Oracle.com
Documentation Uwe Fischer Uwe.Fischer@Oracle.com
Icon Design Stella Schulze Stella.Schulze@Oracle.com
User Experience Christoph Lukasiak Christoph.Lukasiak@Oracle.com
Jaron Kuppers jaronbaron@gmail.com

Acronyms and Abbreviations

Acronym / Abbreviation Definition
<WYSIWYG> <What You See Is What You Get>

Motivation

From the 'usage tracking' data of the 'find & replace' dialog we have learned that 76% of oo user just want to search inside the text, so we have to propose a fast & easy way to do so. Also it was often mentioned that the search & replace dialog covers the search area in an annoying way, so we must found an other solution for it. The other search settings like 'match case' etc. are used less than 0.1%, so we decided to leave them out in this toolbar, but like the replacing function they will still stay available in the find & replace dialog.

Detailed Specification

FindBar2.png

The 'Find' toolbar is a standard toolbar containing a text search field, a next and previous button. It is located right next to the 'application standard' toolbar, is active by default and behave like every other toolbar (d&d, docking etc.).
By clicking into the search field, the info text disappear and the search text can be inputted. After entering the search text, the search can be started by hitting the return key on keyboard (+ shift for backwards search) or pushing the 'next/previous' button. If anything is found, the first result is selected and can be edited or the next button can be clicked (if selected) for searching for the next result. If nothing is found or it is searched to the end of the document, you get an info dialog similar to the behavior of the 'find & replace' dialog, like in all other cases, even if it works independent.

- Autocomplete involves the program predicting a word or phrase that the user wants to type in without the user actually typing it in completely. This feature is effective when it is easy to predict the word being typed based on those already typed, such as when there are a limited number of possible or commonly used words, or when editing text written in a highly-structured, easy-to-predict language.
- History remember former search strings (string listbox) .. often you search for the same words several times, so it can make sense to remember them (especially it they are long and complicated) and to make them available over a listbox in example to save the input of same phrases again and again. The history is deleted after closing the document (for privacy reasons) and only available in the document it was inputted.


Customize Menu / Context Menu

Property State Comment
Toolbar Name:   Find
<Other Language (Optional)>
Has Closer: no
Style: Icon/Icon
Initial State: docked
Initial Docking Position: next to toolbar 'Standard'
Initial Floating Position: no
List in "View/Toolbars": application dependent (see configuration)
Is Context Sensitive: no

'Find' Textfield

Property State Comment
Enabled: always enabled
Disabled: never disabled
Read Only: no
Initial String: Find   grey
String Preselected: no
Caret Position: <0>
Characters Not Allowed all characters allowed (including special characters)
Tip Help: Find Text
TextField Label: no
Shortcut: Ctrl + Alt + F
Other: <Specify Other Properties Here>

'Next' Button

Property State Comment
Enabled: by entering the find text field
Disabled: initially before entering the find text field and if text field gets empty
On Click: go to next found phrase and select it
Tip Help: Find Next
Button Label: no only icon button
Icon: Arrowdown 16.png Arrowdown 16 h.png Arrowdown 26.png Arrowdown 26 h.png
Other: <Specify Other Properties Here>

'Previous' Button

Property State Comment
Enabled: by entering the find text field
Disabled: initially before entering the find text field and if text field gets empty
On Click: go to previous found phrase and select it
Tip Help: Find Previous
Button Label: no only icon button
Icon: Arrowup 16.png Arrowup 16 h.png Arrowup 26.png Arrowup 26 h.png
Other: <Specify Other Properties Here>

Accessibility

Accessibility is the responsibility of the I-Team, beginning with UX, DEV and QA, to ensure that the following requirements are fulfilled:

  1. Is the feature fully keyboard accessible?-> yes
  2. Have I specified visual alternatives for the case that the specified feature includes audio as output? -> feature does not contain audio output
  3. Are text alternatives for all icons and graphics available? -> yes
  4. Don't provide important information in colors alone(Ex: marking important information hard coded in red) -> considered
  5. Does the specified feature respect system settings for font, size, and color for all windows and user interface elements? -> yes
  6. Have I ensured that flash rates do not exceed 2 hertz for blinking text, objects, or other elements? In any case, try to avoid flashing UI elements -> considered
  7. Ensure that assistive technology (AT) (like ZoomText or Orca) is able to read everything. => dev & qa topic

QUESTIONS?

If you need help while designing, implementing or testing the accessibility of the UI, ask/visit:

  1. The accessibility check list at the OpenOffice.org Wiki
  2. accessibility@ui.openoffice.org (The accessibility mailing lists, preferred)
  3. For specific implementation details, architecture: mt@openoffice.org (Malte Timmermann)
  4. For specific UX and testing questions: es@openoffice.org (Éric Savary)

Migration

The Find toolbar should be migrateable (adaptable) for all OOo applications (Writer, Calc, Draw/Impress) over uno api.

AllApps4.png

Configuration

The find toolbar is positioned right next to the standard toolbar in every application, but only in Writer and Calc it is enabled by default (makes rather less sense in Draw,Impress and Database because of less text search needs).

Also it should be available by default in HTML Document, XML Form Document and Master Document (because of the similarity to Writer) and also in Labels and Business cards where the Writer is used as basis, but not in Formula, Chart and Basic IDE.

Application Active by default Implemented
Text Document yes yes
Spreadsheet yes yes
Presentation no yes
Drawing no yes
Database no yes
HTML Document yes yes
XML Form Document yes yes
Master Document yes yes
Formula no no
Chart no no
Basic IDE no no

File Format

does not apply

Future Tasks

- Inline messaging / non modal info text inside textbox/infobox/overlay/statusbar etc. (messages like: nothing found etc.) .. info text in message boxes or dialogs look old fashioned, disturb the sight on the document, must be closed manually and bugs a lot of user; inline messages get more and more popular and give the same info in a more appropriate way. Also the background color of the search text can switch to a warning color if f.e. nothing is found (demands 'searching by first letter').

=> currently there does not exist a framework to support such a functionality (is in focus of renaissance project) .. it make no sense to create an island solution just for the find toolbar.

=> but the additional color info make sense at this point and will probably be integrated soon.
- Searching by inserting first letter (start searching by first char) .. from the first letter on the engine starts to search and to mark the corresponding words; by inserting the first letter the search starts from the cursor position in the writer text on and mark the first search result. after inserting the second letter the search starts again from the cursor position and mark the first search result etc..by deleting letters also the search starts from the cursor position on.

=> after the possibility to highlight is added this behavior can further be improved in this way: from the first letter on every all search results are highlighted (not marked or selected) with every further letter the 'highlighted words collection' get less and less and came closer and closer to the searched word; it increase the speed of finding phrases and the overview.
- Expanded Autocompletion use also the pool of the whole text and not only the history to autocomplete.
- Highlighting (jumping/selecting trough marked items) .. at the moment we select the found phrases, which has the handicap that you cannot travel trough the selected words without loosing the selection and therewith the overview; so it can make sense to mark/highlight the found phrases instead, then travel between the highlighted phrases and edit single contents separately without loosing the search resultset.
- Enlargable toolbar, manual or if text get bigger than 'find textbox'.. in different countries and the corresponding languages the lenght of wording can differ a lot; not to make the toolbars (textfields) too long and ugly on one hand and not unnecessary limit them to an unconfortable lenght for some languages it would be nice if they could have a minimum length and expand if the words get longer.
- Position Findbar in Menuebar to not waste space in taskbars and have it always available in an unused area.

- Average textbox size .. as the operating system and/or the local character size can differ, the textbox has to fit to this. the textbox should contain approx. 15 average width letters (a) but not grown more than max. 200px to not make it ugly.

Ideas

- drop down (snippets) functions (with additional function set like s&r dialog) .. to provide all functions which are available in the 'search & replace' dialog but not overload the toolbar it could make sense to provide drop down functionality for them.
- provide also smart & fast filter function for calc and base .. in application like base and calc filtering the data is often more important than searching for phrases, therefore a findbar in this applications should have the ability to filter
- allow choosing between search & filter function ..  because of the rather similar intention of finding data it can make sense to combine search and filter functionality in the findbar and/or switch between this functions.

Open Issues

None.

Personal tools