Development/Plans/BetterInitialDialog

From Glom
Jump to: navigation, search

Better Initial Dialog

Why

The initial dialog (shown by Application::offer_new_or_existing()) exists because

  • the new user would be overwhelmed by the main Glom window at first.
  • the main Glom window is meaningless with no document open, but an initial empty document would require a database to be created, which would be too slow and must exist on disk.

Possibly the initial dialog should be in the main window instead of being a separate dialog but that's a separate issue.

In 1.6

The current dialog contains several possibilities. There's a danger that it's too complicated, but it still seems preferable to a wizard, because it shows an overview of what's possible without the risk of being lost in a decision-tree of dialogs.

With the addition of a Browse Network feature (currently in the FileChooserDialog dialog, after clicking Open, which starts to feel like a wizard again), it is even more complicated, as seen in these screenshot. It would be nice to present the options more clearly.

Glom screenshot initial dialog.png Screenshot glom filechooser withbrowse.png

Redesigned Dialog

I blogged a new dialog. This seems like the best option so far, though the two treeviews could probably be in two notebook tabs, to make the dialog smaller.

Previous Discussion

A suggestion from Mathias Hasselmann:

   .================================================.
   | <?> Open existing document, or create new      |
   |     document                                   |
   |                                                |
   |     Would you like.....                        |
   |                                                |
   |     Known Documents:                           |
   |    .-----------------------------------------. |
   |    | (D) Hello World.glom                    | |
   |    | (D) Project Manager.glom                | |
   |    | --------------------------------------- | |
   |    | (C) Budget on Murray's computer         | |
   |    | (C) Hello World on Mathias' notebook    | |
   |    | --------------------------------------- | |
   |    | (N) New from Example...                 | |
   |    | (N) Empty document...                   | |
   |    | (O) Open other document...              | |
   |    |                                         | |
   |    `-----------------------------------------' |
   |------------------------------------------------|
   |                                [Cancel] [Open] |
   `------------------------------------------------'

Icons:
       (D) - GTK_STOCK_DOCUMENT
       (C) - GTK_STOCK_COMPUTER (?)
       (N) - GTK_STOCK_NEW

I (Murray) think that these don't all fit in "Known documents". I think that separate lists might be appropriate, maybe presents as a treeview with the parent row being a group title, and with the less-used groups being closed by default. I don't like need to choose and click, so I'd probably prefer buttons to be in the treeview row themselves. Maybe:

   .====================================================.
   | <?> Open existing document, or create new          |
   |     document                                       |
   |                                                    |
   |    .---------------------------------------------. |
   |    | > Recently Opened                           | |
   |    | | Local Network                             | |
   |    |     Budget on Murray's computer      [Open] | |
   |    |     Hello World on Mathias' notebook [Open] | |
   |    |   Other                       [Select File] | |
   |    | > New                                       | |
   |    |     New from Example...                     | |
   |    |     Empty document                          | |
   |    `---------------------------------------------' |
   |----------------------------------------------------|
   |                                           [Cancel] |
   `----------------------------------------------------'

New would expand like this:


   .====================================================.
   | <?> Open existing document, or create new          |
   |     document                                       |
   |                                                    |
   |    .---------------------------------------------. |
   |    | > Recently Opened                           | |
   |    | > Local Network                             | |
   |    |   Other                       [Select File] | |
   |    | > New                                       | |
   |    |     New from Example...                     | |
   |    |     New empty document                      | |
   |    `---------------------------------------------' |
   |----------------------------------------------------|
   |                                           [Cancel] |
   `----------------------------------------------------'

Maybe that should be:

   .====================================================.
   | <?> Glom                               Openismus   |
   |                                                    |
   | Please open an existing document or create a new   |
   | document.                                          |  
   |                                                    |
   | Open existing document:                            |
   |    .---------------------------------------------. |
   |    | > Recently Opened                           | |
   |    | | Local Network                             | |
   |    |     Budget on Murray's computer      [Open] | |
   |    |     Hello World on Mathias' notebook [Open] | |
   |    |   Other                       [Select File] | |
   |    `---------------------------------------------' |
   |                                                    |
   | Create new document:                               |
   |    .---------------------------------------------. |
   |    | | New from Example                          | |
   |    |     Small Business                 [Create] | |
   |    |     Music Collection               [Create] | |
   |    |     Membership Management          [Create] | |
   |    |   New empty document               [Create] | |
   |    `---------------------------------------------' |
   |----------------------------------------------------|
   |                                           [Cancel] |
   `----------------------------------------------------'

This last one is my favorite at the moment (Murray).

(However, New from Example is generally confusing, and will be more confusing if we ship self-hosted examples that don't need to be saved-as to be used. But they are useful. Maybe they should be renamed to New From Template.)

On the other hand, the recent files list will appear anyway in the recent files list (only showing the Glom files) and the examples directory could maybe be a special bookmark in the FileChooserDialog, so we could just show New and Open buttons. But I don't think that this would present the major choices clearly enough and it would only show the file names instead of the human-readable (and translated) titles.