Design/Whiteboards/Color Handling

Summary
Improve the usability of color handling in LibreOffice and prepare the UI for more complex features. The design applies to all of LibreOffice's color pickers and dialogs, including the drop-downs in formatting dialogs and toolbars, tab colors in Calc, and the Appearance tab in Options.

Relevant Bugs

 * LibreOffice FreeDesktop Bugtracker: All issues tagged with "color_handling".
 * OpenOffice.org:
 * Re-design and UI improvements for color palettes (meta-issue)
 * Font color palette reverts back to default color after using a non-default font color
 * Color palette floaters should adapt their size to the number of colors
 * Functions calling floaters (like color palettes) don't work when added to menus
 * Functions calling floaters (like color palettes) don't work when added to menus

Definition of Terms

 * Highlighted color: The color which has been temporarily highlighted by the user (not selected yet)
 * Selected color: The color which is currently active for the selected item (e.g. text)
 * Recent color(s): The color(s) that have been recently selected by the user (e.g. within the document)

Discussion
Redmine

LibreOffice design list

Personas

 * Brad: A professional designer. He wants his documents to always look good. He'd like to be able to easily create and save custom colors.
 * Francine: Manager. Part of her work involves preparing documents and presentations. She needs to use a palette with her company colors within LibreOffice.
 * Terry: Senior. Gets easily frustrated by complex UIs.

Tentative Design


The tentative design tries to map the possible evolution of the new color picker implementation. Its goal is to present the default palette as well as quick access to recently applied colors. These recent colors are document colors, just in reverse order and just enough to fit a single row.

Mockups


SVGZ source

Color Preview
The box at the bottom of the pop-up shows the color to be applied (the one that is hovered over or the one being set under "Custom color") or, if no color meets these conditions, the current object color.

The label on the box is shown either in black or white, depending on whether the previewed color is dark or light. The label should always use common nouns that should be easily translatable.

Colors in Use
The "Colors in Use" section lists all the colors that are used somewhere in the current document.

Recent
The "Recent" row of 6 colors shows colors that have been recently applied, no matter if they are still in use.

Scrolling
Scrolling, if necessary, would be done with a down and an up button within a single row below the dropdown menu.

Document colors
Document colors would be shown in a separate palette.

Alternative scroll idea by Manas


thumbnail|Alternative|scroll idea

Mockups
- source file, licensed CC0

The top toolbar
The toolbar up at the top of the picker always contains an "Automatic" button, which applies the default value (either no fill, denoted by a cross, or a certain color, same as in LibreOffice now), and an "Edit palettes" button. If applicable, it also contains "gradient fill", "pattern fill", and/or "image fill" buttons, in which case a "color fill" button shows up as well, to the right of the "Automatic" button.

Color grid
The color grid is spaced in such a way as to be usable on touch devices, something that will both ease conversion to an Android port as well as make LibreOffice more comfortable for tablet users of operating systems tweaked for tablets (OS's with Gnome Shell, Windows 8, the upcoming Ubuntu for tablets).

It's true that this decreases the amount of colors that the picker can present. However, as users typically need only a bright, dark, or "medium" shade of a color and as custom colors would now be accessible directly from the dialog, three shades per color should suffice.

Custom colors
The "Custom color" item of the dropdown menu allows the user to apply a custom color temporarily. This color will then appear in the "Recent colors" box that appears below the pop-up and in the "Document Colors" palette (unless the user removes it from the document).

New palette
To save custom colors or to create a custom palette that could also be exported, the user would use the "New palette" item from the drop-down menu.

"Edit palette" mode
The "edit palette" mode, triggered by the pencil icon in the top toolbar, would allow the user to add, edit, or remove colors from palettes.

The first drop down (from the left)

 * default color picker with LibreOffice newly installed.

The second drop down (from the left)

 * once the user has added colors to their custom colors the "Custom" section will be appended.

The third drop down (from the left)

 * once the user changes the text color from the default color or edits a document that has different colors from default color, the :"Document Color" section is appended under the "Custom" section. if the Custom section has not been made, and the user makes it :after the Document color section, then the Custom section will be appended in between Standard and Document Colors.

The fourth drop down (from the left)

 * The Document Color of text does not effect the Document Color of any other color picker (e.g. the Highligh color)

Text

 * document colors appear in the order in witch they appear in the document.

Proposal by Camillem
Find the original proposal at this link.

Custom colors
Clicking "Other" should open a redesigned color dialog, which would merge the current color dialog and the color picker.

Proposal by Jeff van Schendel
Find the original proposal at this link.

Color picker
Color picker allows user to choose from a preset number of colors. Custom colors display in separate row (same for Recent colors). On hover, the name of the current color appears.

Custom color picker
Custom color picker allows user to create new colors. Depending on the color model selected, the features display modify (ex. in CMYK, an additional text box appears to take in values for the Key value). User can either use the color wheel to create a color or enter in the wanted values. Sample text displays on a light and dark background to preview how the color would look on text.

Amount of colors
Final decision: 6 columns per palette

Editing palettes
Final decision: Work on mockups for the dialogs.

Presentation of document colors
Final decision: Document colors would appear as a separate palette. The "Recent colors" section would list the 12 last document colors if there were no recent colors to list yet.

Relevant Art

 * LibreOffice's current color dialog
 * OpenOffice.org's color palette
 * Design idea from the IBM Lotus Symphony Design Team blog
 * Microsoft documentation of the structure of an Office-like color picker
 * Blog post on the Apple Pages color picker
 * Indicator Color elementary style