NOTE: This pattern is a work-in-progress.
Blank slate helps you get started
When you run a program to create a new piece of data (document, image, audio), you often get presented with a blank slate that has some default configuration, as in the page size for print-oriented media. You must then figure out the program's conventions for making that default blank slate into something actually useful.
When you open a word processor, you may get a window with a blank page in some default configuration - a certain page size, with predefined margins. The same happens with an illustration program, and generally with print-oriented programs that start by giving you a "canvas" of some type. Invariably, you must then figure out the program's conventions to re-configure the physical properties of this canvas. Some programs use "Document properties", others use "Page setup", and yet others use "Print properties" for this.
People learn to configure these options at a very early stage during the creation of their document - otherwise, the contents will shift or will have to be re-arranged later, which can be cumbersome.
A program that starts with a blank canvas should instead ask you for the very basic physical properties of your canvas. This can be as simple as asking for the page size. To avoid a two-step process (opening the program or hitting "File/New", then configuring the canvas), the configuration step can be embedded in the creation process.
In a similar fashion, some applications present you with pre-made templates from which you can start your document: flyers, form letters, spreadsheets for budgets. Instead of giving you a default, blank document which then forces you to think, "I'd better look for templates", the program should embed the list of available templates within the creation process.
Still, at other times people launch an application and then open a file they previously used with it - they don't open the file directly from the file manager or from another "external" list of files. Again, the program should let you access likely files easily from the beginning, instead of having you go the extra step to a File/Open command.
The intent of all this is that you don't get a blank slate by default, which may not be what you need. Instead, you get taken directly to useful content (documents you have already worked on), starter content (templates), or a blank slate that is genuinely useful (configured to your needs in terms of paper size or other properties).
Here are some likely sections in that "blank slate" mode of an application that has just started up:
- Recently / frequently used documents.
- Create new with page size or other media size parameters.
- Create new from template.
- Create new from scanner, clipboard, or other acquisition means.
Therefore:
Don't start up an application with a default blank document, as this adds an extra step to common operations. Instead, show a list of documents that the user is likely to use with that application, a list of pre-made templates, and other means of configuring a new document's basic properties like page size.
Mockups
Implementation note
The following mockups show a common scheme for the layout of a "blank slate" window: creation options on the left, and file-loading options on the right. The most reusable thing we can provide would be a megawidget called GtkBlankSlate or similar, that has a blank area on the left and a standard recently/frequently-used list on the right. For applications that find this megawidget inconvenient, we can simply publish guidelines on how applications should implement these blank slate windows.
A megawidget could be convenient if it provided the general layout of the blank slate: the "Create" title, the selectable "tabs" or modes (like "Empty image", "From clipboard", etc. for the GIMP as below), and the recently-used list on the right.
The scheme above assumes that applications would be able to pack all their custom widgets for document creation in the leftmost section of the megawidget. At least, apps would get the standard "Create / submodes" layout.
Applications could certainly choose to use different "blank slate" windows; the ones oriented toward document creation don't really fit well with games, for example (as in the Sudoku/Chess examples below). For these cases, we can publish well-known style class names so that widgets can say, "this is a label with the same style as the big fat 'Create' labels in the standard megawidget".
GIMP
Inkscape
Gedit
Gedit has this "dashboard" as a plugin:
Epiphany
I suggest a "speed dial" feature similar to Opera or Chromium.
Existing practice
GIMP
Lets you create new images, or acquire them by various means. Script-fu scripts which create new images are also listed there, but don't have previews.
(gimp-new.png gimp-new-template.png gimp-new-advanced.png)
The "New image" dialog. Has basic templates for image sizes / resolutions.
Inkscape
Too busy menu with templates / presets.
LibreOffice
File/New command with various document types. See the "Templates and Documents" eyesore in more detail below.
(libreoffice-new-presentation-empty.png libreoffice-new-presentation-template.png libreoffice-new-presentation-open.png)
Create empty presentation; Create presentation from template; Open an existing presentation - this presumably comes from the recently-used list.
(libreoffice-templates-and-documents-new.png libreoffice-templates-and-documents-templates.png)
In the "Templates and Documents" dialog, a recycled version of the "File/New" list of options. Then, the Templates section of the dialog. If you double-click on one of the template types to drill down into the actual templates, *and* enable the Preview button on the top-right, you'll get a preview as shown below.
(libreoffice-templates-and-documents-drilldown-preview.png)
The innermost level of the Templates dialog. You get shown a preview of the template.
Sudoku
More
Old/discarded mockups
Move old mockups here so people can see the history of discussion.
Other considerations
Optional section. Link to other relevant patterns, mention what to think about after this pattern is applied, etc.
Relevant bugs
Discussion
Fight!
Here is a mockup I made a while ago
---
First, the templates (if there is a lot of them, we could add a "more" link like in Recent docs) The search field could use Tracker (already used in gnome-documents) or any other solution but the idea is to replace the open file dialog. The "more" button next to Recent Documents brings a journal-like view (could be implemented as a Gtk widget) which displays the files with a supported mime-type. (data can come from Zeitgeist) -- Florent Thévenet 2011-10-18 22:16:54
---
Sudoku has been using a screen like this for some time, it seems to be a useful UI feature. I've been wanting to add it to Chess for a while, some standard UI widgets would be a big help. -- Robert Ancell
---
I am not a HCI expert, however whilst this at first glance seems a good idea, does it not mean users may not discover how to otherwise create or open documents and that they will be forced to open a new window very time they want to do one of these actions? -/- and471
---
I don't think this is a good idea. It makes even the simplest apps, such as gedit, look like full-blown complex apps on startup. Which it isn't and shouldn't be. The 'open file' concept is already pretty standard. The issue here is that the Open dialog could be better, presenting the files in a more abstract layer view, so the user would care less about directories and more about getting what he really wants. Same goes for Creating files, it's the apps fault for not having the options narrowed down to the user. -- Joao Victor
---
I'm wondering if this should be added to GnomeShell instead (in a UI sense). The question the "Blank Slate" is answering is "How do you want to start this application?". An additional advantage is that a default (and consistent) Blank Slate can be offered for applications that don't have templates nor paper sizes. Either way, I think a usefull blank slate would be a significant improvement. --AdamSchmalhofer
--- This is an idea a Kexi developer came up with:
See http://community.kde.org/Calligra/Usability_and_UX/Common/Startup/Startup_view_integrated_with_the_File_menu for more mockups and thoughts. Not exactly pretty imho but it might provoke some thought
On a similar note, Calligra apps have a variation on the following startup screen, which IS nice imho: