On Thu, Apr 1, 2010 at 6:30 AM, David Siegel
<david.siegel@xxxxxxxxxxxxx>
wrote:
Interesting ideas. Something similar I've seen is in
Mac OS X where document-based application windows have little icon in
the window titlebar that represents the underlying file. You can drag
this icon and drop it on an application icon in the Dock to open that
file in another application, for example. Food for thought.
Food for thought indeed!
I’ve
been thinking that some of the most crucial ideas behind Izo’s proposal
and the Esfera proposal can be had in a more coherent way by
implementing something akin to the Mac’s Proxy Icon
(see this
video for reference). I
don’t know all the details about the Mac implementation, as I have never
used it, but I can think of many way in which a GNOME version of a
proxy icon could significantly improve the Desktop. In fact, if done
right, it could allow Ubuntu to surpass the Mac in this aspect. Consider
the following possibilities:
- The icon may be dragged and
dropped anywhere. However, not only does this allow you to copy the file
or its shortcut somewhere, but it also allows you move the
file—all while still opened by an application. So, for example: I
start a new document in gedit. gedit automatically creates a new file
in my home directory. I decide that I want the file to be in my
Documents folder, so I simply drag the proxy icon there—all without ever
needing to open Nautilus in order to find the new file. gedit continues
to show the same document, virtually oblivious to the fact that it’s
now in a different location.
- The icon is accompanied by a contextual menu similar to the one
shown for file icons in Nautilus. All operations continue to be active
in this menu. Thus, using that menu to delete a file actually deletes
that file, while the window displaying the file simply closes (or
perhaps animates into the Trash). Similarly, using that menu to rename a
file focuses the filename in the title bar as an editable text field,
allowing the user to rename the file straight from there. So, for
example, like before: I start a new document in gedit. gedit
automatically creates a new file. I open the menu for the proxy icon,
choose ‘Rename’, and rename my file—all while it is still open.
- Combining the previous two scenarios, the proxy icon makes the Save
dialogue nearly obsolete, replacing it by (more) direct manipulation.
This is accompanied by other system-wide changes: new files are
automatically created and named by applications (perhaps the name could
be chosen based on the first line of the document). If a user wishes to
rename the file, that may be done the way I described, but it is not
mandatory. Thus, the Save dialogue no longer disturbs the user’s sacred
train of thought, and no one who doesn’t care is forced to choose an
almost arbitrary name for a file. Combine this with auto-saving
everywhere, and the Save button become history. (Apparently, ROX Desktop
has something somewhat similar.)
- Expanding on the standard context menu for file icons, other
items may be added there. A ‘Switch application ›’ item would allow one
to open the current file in a different application—just like Izo’s
proposal, but more integrated (and less cluttered). For example:
I’m viewing a photograph in my favourite image viewer. I decide I want
to edit it in GIMP, so I choose GIMP from the aforementioned menu. The
image viewer shut down while GIMP starts up, opening the photograph in a
window of identical size and placement as previously, thus seamlessly
switching applications while the document window hasn’t moved. This
allows the user to focus on the document—on content—while the
applications being used fade into the background.
- Similarly, a window’s application may also add items to the proxy
icon’s menu. (Because the menu could get crowded, it might be better to
place the extra menu items in a separate menu connected to the proxy
icon, but this issue is incidental to the basic concept here.) This
would provide a nice balance to the Application menu that GNOME Shell is
supposed to have in the near future. Actions relating to the
application as a whole go in the Application menu, while actions
relating to the document as a whole go in the proxy icon menu—the
Document menu. This effectively replaces the File menu, and possibly the
entire menu bar for a whole class of applications, thus freeing up
valuable vertical space.
- The distinction between the two menus enforces the conceptual
distinction between applications and documents. Applications are now
agents that run in the background, accessible via the shell. Documents
(and others types of objects), on the other hand, are represented not
via the shell but by individual windows. Thus, an important rule should
be enforced: window = file (well, more like window ⊃ file).
Extending the Unix philosophy of ‘Everything is a file’, every window is
also a file. The mental model for windows and the mental model for
files are now neatly synchronized, allowing the user to treat windows
just like files.
- This should be taken to its logical extreme for consistency, slowly
removing all windows that do not correspond to files. Modal dialogues,
for example, which do not represent files, can be replaced by more
usable alternatives, such as info bars (or something similar to the OS
X’s Sheets). Preferences windows, on the other hand, which cannot be
removed, can be linked up to a single file containing an application’s
preferences. For example: I open gedit’s Preferences window, and I
see a special icon in that window. I can drag that icon anywhere to
back up my preferences. If I open that same file from Nautilus, gedit is
launched (but hidden) and its Preferences window is displayed.
(Implementation–wise, one way this could be achieved would be that this
file is an archived backup of the entire settings directory.)
- Windows that simply cannot represent a real file show a faded-out
icon. For example: I set my instant messaging client not to log
conversations, due to privacy concerns. My chat window shows a faded-out
icon. I decide that I want to save this conversation, so I drag the
icon somewhere. The icon now fades in, appearing normal. The rest of
that conversation gets logged in that same file.
These are just some
preliminary ideas, but I think they demonstrate a compelling path that
could be taken if Ubuntu introduced its own answer to the Mac’s proxy
icon. This path leads to a more object-centric (or
document-centric) Desktop, where people can focus on their content and
the stuff they care about, and not have to worry as much about dealing
with the file system and with applications.
I hope I have provided some more food for thought. On that note,
what do people think?