Archive for June, 2010

One-click, part 2

Monday, June 21st, 2010

You may remember when I originally redesigned the one-click installer for hackweek in 2008. Well, for this recent Novell/SUSE hackweek, I spent some time to slightly redesign  and expanded on how the one-click installer should work. Will Stephenson also started working on an implementation, too.

Here’s my new one-click mockup (click on the picture to view at full size):

The text on the page should be pretty self-explanatory. Ideally, this would be implemented in a simple graphical client using PackageKit (and PolicyKit).

I believe the openSUSE Build Service (think of it as the “Open Build Service”, since it can produce packages for all the popular distros) even supports multiple repositories in one YMP (but I may be mistaken here), so using it with the OBS would be a fantastic way to easily build your software for multiple distributions (which you can do right now) and make it a snap click for everyone to install your software. Something like this could turn the entire web into an “app store” for Linux, and software could be easier to install than on any other platform, if implemented correctly.

Thoughts? Comments?

Oh, and you can also download the SVG source (to be edited in Inkscape). It uses the Droid Sans font — be sure to have it installed.

the future of Nautilus

Sunday, June 20th, 2010

Hi everyone! I worked on a few different things during the Novell/SUSE HackWeek. One of these things was continuing my Nautilus redesign that I (Garrett LeSagestarted last year, continued with others (Allan DayHylke BonsMáirín Duffy, etc.) at the London UX meeting and at LGM2010… and then further talked about on the Internet. During the HackWeek this month, I worked collaboratively with others (Allan, Hylke, Lapo Calamandrei, Andy Fitzsimon, and more) using Inkscape, Google Wave, Dropbox, IRC, and IM and we brainstormed on ways to improve Nautilus — not just feature by feature, but how everything would work together. Our overall goals:

  • All the functionality that you need. Nothing you don’t.
  • Clean, simple, attractive
  • Well-suited to small screens
  • Makes many essential functions more discoverable than at present

Please note that this is a work in progress, and is not to be considered final. I am posting our design draft here to request feedback and discussion. To properly move designs forward in the community, we really need to discuss them in the open. We feel these concepts have matured enough to be seen outside of our cross-company collection of designers. The result of our discussions were summarized in another round of mockup explorations, as well as a document summary of key ideas we agreed upon. (This document needs to be moved to GNOME’s wiki at some point in the near future.)

Mockup notes: You can see the progression of the groups of the mockups. We also were playing around with ideas on how to integrate the two menus. (It was later determined that embedding the application menu in the titlebar caused two issues: First, people expect it to be a window manager menu. Second, it could only properly be done with client-side rendering with non-existing versions of the window manager and GTK+. Please disregard this placement in the mockups.)

Menus

Overall, this menu restructuring:

  • gets rid of the complexity of Nautilus’ menu system
  • provides the same general feature set
  • prevents us from designing multiple levels deep
  • makes Nautilus look much cleaner than it currently does by not having a menu bar
  • wins us much-needed vertical space

Actions menu

  • File management actions — now moving to an optional (but on-by-default) action bar at the bottom of the window.
  • This is a discoverable version of the right-mouse-button contextual menu.

[Actions]
Open With ###
Open With >

Duplicate Rename…

Compress…
Dropbox > (and other extensions go here)

Move to Trash

Cut
Copy
Paste

Undo
Redo

Create > (folders, documents, etc.)

Select All
Select Items Matching…

Application menu

  • Whatever else, when you’re not actually managing files

[Application menu]
New Tab
New Window
New Administrator Window

Connect to Server…

Empty Trash

Preferences

Help
About

Close Window
Close All Windows

‘Side-step’ breadcrumb menus

  • Activated via click and hold on breadcrumb folders.
  • Display sibling folders (at the same depth as the folder represented in the breadcrumb).
  • ‘Root’ breadcrumb folder displays other possible roots:

[# Home]
USB Stick
Foo on share
Trash

Location…

Back and forward menus

  • The back button shall display all history in the past only, and the forward button shows all the future history (relative to present location). Normally, this means the forward button will be disabled until stepping backwards in history.

[ < ] [ > ]
# Foo
# Bar

Clear History

Places menu

  • This menu replaces the places sidebar and bookmarks.
  • When the places sidebar is hidden, it should show up to the left of the Breadcrumbs as a menu, in the same place.
  • It is to be determined if the places sidebar will exist in a toggled form, or if it shall be reduced to a only a places menu.

[ Places ⇩ ]
(All the places one would expect)

Edit Places…

Places

Originally would be the only sidebar, but as of recent mockups, sidebars may go away entirely. Places would then be implemented as a slab-menu.

  • It acts similar to a normal menu.
  • You can click and slide the mouse down during that click to select items, and when you let go, it gets activated. (The eject icons are special cases, but work similarly.)

[FIXME: more info about places]

Actions Toolbar

Dynamic context menus show relevant actions for the selected item.

  • Make contextual actions discoverable
  • Super-easy! Removes the need for awkward right-mouse-button operations
  • Excellent for users with a single mouse/track pad button

Status “minibars”

(See the bottom-left mockup in nautilus-streamlined for now.)

  • Transient, display information only when needed
  • There is no “status bar” by default”
  • # of selected items are shown when files are selected
  • Network loading is shown (with a spinner on the left and stop icon on the right)
  • These minibars will be aligned to the right (unlike the streamlined mockup)

[FIXME: This was discussed in-length, in-person, at LGM2010. We still need a proper mockup.]

Sharing

A quick and simple way to set up any type of share (eg: local, network, email, IM, Sparkle, Dropbox, Ubuntu One)

  • Reduces menu clutter by locating all sharing mechanisms within a single dialog
  • Makes sharing clear and simple
  • Fast: recent shares are listed first

[FIXME: We have ideas, but this still needs a proper mockup]

New widgets

  • There are no custom widgets in the Nautilus mockups… just new, standard GNOME3 ones!
  • Mockups like these should completely drive what it means to be GNOME3. We should not do one-offs in the software the mockups depict, but make widgets and set paradigms for the entire platform.
  • We should mock up other significant software that incorporate these features.
  • Let’s make sure all the core GNOME apps are new-style, and others will follow. We have to set the example.

Say goodbye to…

While we strive to keep the same featureset in future Nautilus, there are some things which are going away. Please note that almost all of these items in the list are being addressed elsewhere in the interface. We are removing:

  • computer:///
    • The items displayed in computer:/// are already present in the places side pane and will also be present in the breadcrumb dropdown when that is completed
    • computer:/// isn’t as useful as Places or the dropdown because it is one step removed – it’s essentially hidden
    • ‘Computer’ isn’t a good description of the contents of computer:/// anyway. ‘devices:///’ would be more appropriate.
  • “filesystem” in the UI
    • Nautilus should focus on serving real people’s needs. People do not need to manage system files in a file manager. However, that said…
    • We’ll have a hidden gconf key to enable filesystem for über-geeks (or better, wanna-be-uber-geeks, uber geeks use the terminal… or ctrl+L), who are the ones who want this feature in the first place.
    • It will also be possible to navigate the filesystem by hitting Control-L and typing locations, just as it is in current Nautilus.
    • remote directories mounted in /opt/ (and other random places) will be exposed under network
    • any location Nautilus can see is “bookmarkable”, and these bookmarks will show up in places
  • Split pane (“extra pane”)
    • Split panes would prevent many of the features being advocated here, including the single toolbar and actions toolbar.
    • This design removes many of the reasons for split panes in the first place, however. For instance: Non-directory specific controls are kept to an absolute minimum.
    • Split pane mode really calls for better window management.
  • Everything in the sidebar other than Places: including Tree, History, Emblems and Notes.
  • User specifiable backgrounds, emblems and custom icons.
    • Spatial mode as a distinct UI. The Nautilus future design is the perfect combination of the spatial and browser UIs. Its minimalism should feel comfortable and familiar to spatial users.
    • Spatial mode could still be retained as a preference, of course, as: ☑ Open folders in new windows

Many aspects of Nautilus’s UI are extremely old-fashioned and are barely used. The maintenance burden they represent outweighs their usefulness. Nautilus bugzilla is choked up by reports about backgrounds, custom icons and spatial mode. Many of these never get touched. Better to have a minimal UI that is complete and well-maintained than a plethora of half-finished features.

TL;DR (Summary)

A number of us designers in the community are brainstorming and proposing changes to Nautilus. We’re going all the way and suggesting more than little fixes here and there (which is what Nautilus been doing for years.) We’re building a vision of what better file management could be. Read the results of our design discussions above, and check out the latest round of mockups. If you’re a designer, you can also grab the source SVG for editing in Inkscape. Also, please feel free to change the file contents in the mockup to something else. (:

Jakub’s last day

Friday, June 4th, 2010

Today is Jakub’s last day at Novell / SUSE. It’s been great working with him at the same company on so many awesome projects (many of which he mentioned on his blog post) over the past six years.

He’s done amazing work during this time, and I look forward to whatever he does next too.