One-click, part 2

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

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.)


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.

Open With ###
Open With >

Duplicate Rename…

Dropbox > (and other extensions go here)

Move to Trash



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



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


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…


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.]


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

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.

Some thoughts on “open source design”

March 25th, 2010

On Facebook, Máirín Duffy, a fellow designer in the community, posted a link to “Can truly great design be done the open source way?” I commented with a string of thoughts on the topic. I’m posting my response here for a wider audience.

Pandas Forever: a photo I snapped in London's Design Museum

The following is (a slightly edited form of) what I quickly wrote:

First, two points in direct response to the link:

  1. Apple’s design isn’t fully consistent, if one looks close. It is consistently high quality, however.
  2. Rhetorical question: What is “the open source way”?

There are many ways open source software is made, and some of it isn’t necessarily out in the open.

It is always assumed in this sorts of discussions that people code and software is churned out… But really, there are talented people with a vision controlling what goes into a codebase in many successful projects. (Linus and the Linux kernel, for example.)

A comparison is usually made between an entire project and a single design. That’s always ridiculous, and this is one of the reasons why these discussions are not so useful.

I’ve never seen “community coding” done by contests and voting for individual source files. Imagine if programmers were treated like that. How many would stick around?

The phrase “design by committee” is always brought up in these sorts of discussions, but nobody ever stops to think about “programming by committee” (and, obviously, that doesn’t happen in the open source world). Often there are too many opinionated, amateurish cooks in the design kitchen, spoiling the broth.

The Tango project and its offshoots, such as the Tango-styled Gnome icon theme, are examples of where open source (visual, in this case) design works well. There’s a standard, shared vision and a handful of talented designers work toward that goal.

Essentially, for programmers and for designers, there are some talented people doing stuff and later releasing it. The difference is that everyone has an opinion on UI and visual design, even if they are no good at it themselves. Not everyone using software is so opinionated about its source code. (People do not refuse to use resulting software because of indentation (tabs vs # of spaces) and coding style in the source code, for example.)

Christkindlesmarkt photos

December 24th, 2009

To celebrate this holiday season, here are a few photos I recently took of the Christmas Market (Christkindlesmarkt) in Nürnberg.

Nürnberg after the snow

Christmas market from above

minimalistic tree

horse touch

hot chestnuts

You can see the above in higher res on my Flickr stream (as well as all sorts of other photos), or see lots more Christmas Market pictures on my public Facebook gallery.

Have a Merry Christmas, and a happy New Years, Hanukkah, etc.!

Google Wave & native scrollbars

November 25th, 2009

For those of you also using Google Wave, you may have noticed the funky scrollbars. They’re bad for all sorts of reasons, most notably performance.

Máirín (rightfully) complained about them in a community designers’ wave we’re in, so I decided to take five minutes to see if I could implement a hack… and was successful!

Basically, with essentially 4 simple lines of CSS, we’re able to easily turn on your browser’s native scrollbars and turn off Google’s weird scrollthing. Since I published it on, it’s available for Firefox (using Stylish or Greasemonkey) and Chrome/Chromium (since it now has native Greasmonkey support).

Scrolling is now extremely quick in comparison, and it acts as expected.

Get it here: System scrollbars for Google Wave

A blog post

October 30th, 2009

For whatever reason, my “oh yeah, I have a blog!” blog post has shown up on Planet GNOME… again.

Is it there to serve as a reminder that I actually do have a blog, and I should do these posting-blog-posts and uploading-pictures things?

Here’s a picture that I uploaded yesterday. It’s a sunset over the dunes in Gran Canaria. (GCDS was amazingly great.)

sundown at the sand dunes

Also, I guess I should update my hackergotchi on PGO… and probably post something about SUSE Studio sometime… and perhaps update that Nautilus mockup as well?