I've been putting together a chart detailing all of the interactions, objects, menus and interface components we've discussed. In doing so, I've run across a few pieces of conflicting and unclear information I'd like to get your help with. I'm not done yet, so this isn't a complete view of the system, but getting these details straightened out should help us have a better view of how all of these pieces are interrelated. Comments and corrections are welcome, as always.

Right Click
==============================
In various places we have stated that the right-click is responsible for:

1. Repositioning the main (vertical) menu to directly under the mouse (GNUstep guidelines) 2. Popping up circular (context) menus (I assume this is accessed via right click, as context menus often are) (Etoile Flash presentation) 3. Toggling between Pick and Drop mode and the regular mode (Pick and Drop guidelines)

I don't think all of these can be accomplished via a right click, as they seem incompatible with one another. I would argue against creating modes as much as possible, so I would prefer that Pick and Drop were handled via a different type of interaction, perhaps by selecting the item to be picked and pressing the Pick key (see Dedicated Keys below), or selecting the item to be picked and dragging it to the Lower Left corner (see Hot Corners below) to toggle the Shelf on, and releasing the item over the Shelf. Dropping would be the result of either pressing the Drop key at the insertion point or dragging the item to be dropped to the Lower Left corner to toggle the Shelf off and releasing at the insertion point.


Menus
==============================
There seems to be interest in using both vertical menus and circular menus. Should we use both types, and, if so, how?

Here's my proposal:
Both types have their advantages, so we should use both. Circular menus should be used for items which don't change regularly and have few top-level options, vertical menus should be use items which can change regularly and have a lot of items. It makes the most sense for me to use vertical menus to manage Component interaction with Objects (Text, Table, Image, Audio, Person, Video, etc), and use circular menus to manage interaction with the organizational items, such as Projects, Documents, and Shelves and Applets.

Since Components can be installed by the user to suit their methods of interaction with an Object, a vertical menu gives the most flexibility in terms of positioning within a list and number of items. It also makes sense since Objects will be the things most frequently interacted with to be able to use tear off menus to customize the work environment.

Things like Documents and Projects will have well-defined methods of interaction. They are the prime candidate for circular menus, since users will likely not be creating Components to interact with them.

Here are my initial ideas for items in the circular menus (I'm sure there are things I haven't thought of yet):

Project
-----------------------------
 - New
 -- Project
 -- Document
 -- Object
 -- Annotation
 - Duplicate
 - Hide/Show Annotations
 - Preferences
 -- Background
 -- Metadata

Document
-----------------------------
 - New Object
 - Duplicate
 - Save Checkpoint
 - Publish
 - View Checkpoint History
 - Synchronize (for multi-user documents)
 - Preferences
 -- Size
 -- Margins
 -- Metadata

Shelf
-----------------------------
 - New Applet

Applet
-----------------------------
 - Preferences
 -- Sticky
 -- (Additional Preferences as they relate to the specific Applet)

All Objects would have two default items in their vertical menus: Install New Component, and Link (to pipe data from one Object to another). All others would be customizable.

You may notice that some standard menu items are missing: Undo, Redo, Delete, Pick, Drop (or Cut, Copy, Paste). I suggest that these be made Dedicated Keys.


Dedicated Keys
==============================
Certain actions will be so frequent and/or work on so many types of items (Objects, Documents, Projects), it makes sense to dedicate keyboard keys to them rather than take up menu space. I suggest the following items get dedicated keys (probably F1 - F12):

 - Zoom In
 - Zoom Out
 - Search (Search Again would be Shift-Search)
 - Hide/Show Shelf
 - Scroll (for moving through a zoomed-in Project, I'll explain below)
 - Pick (Pick a Copy would be Shift-Pick)
 - Drop (Drop a Copy would be Shift-Drop)
 - Undo
 - Redo


Shelf
==============================
We currently have two different Shelf implementation ideas: Tabbed Shelf and "Dashboard" Shelf. Both are containers for two types of information: extremely temporary info and extremely permanent info. The Shelf stores files which need to be transferred between Projects or as the result of a Pick -- I call this the Buffer portion of the Shelf. The Shelf also stores Applets and documents which need to be readily accessed across many Projects -- I call this the Storage portion of the Shelf. It is unclear to me whether these should be two visually distinct sections, or even two totally different Shelves.

I would also like more info on what a Tabbed Shelf offers that a Dashboard Shelf doesn't. It seems to me to be unnecessary, assuming we allow Applets to be sticky.


Folders vs Projects
==============================
It has been said that we may use Folders as well as Projects. What is the advantage to having both? Having two types of containers, when Projects offer much more functionality over Folders, seems like it would confuse the user.


Hot Corners
==============================
The four corners are good hot spots for frequently used commands. I would recommend that the corners be activated on click so as to prevent accidental activation. I have assigned commands to three of the four corners:

Upper Left: Zoom Out
Upper Right: Zoom In to current selection
Lower Left: Hide/Show Shelf




That's all for now -- like I said, this outline is incomplete and I'm sure I've missed a few things here or there, but please weigh in on these issues because this determines how Etoile will look in the end.


J.


Reply via email to