Giving feedback

Lucas Rocha shared Seth Godin‘s blog post “the worst feedback is indifferenceon Google+, and I posted a reply.

In the interest of openness and distribution (and actually posting content on my blog), here’s my response:

I was on a call the other day where someone told me that they wouldn’t ever give me negative feedback. I replied: “No! Please give me negative feedback, especially if it’s constructive. Tell me when what I do sucks. If you can, please tell me why it sucks too. If it’s good or great, tell me about that too. Please let me know what you think.”

After working in the FOSS community as a designer for a decade and a half, one must have a thick skin. Us designers often produce highly visible things, sometimes with controversial ideas (sometimes for bad, sometimes for awesome).

I hope all of us in the community can work together and be respectful of each other enough to say when things produced (designs of any sort, code, documentation, etc.) might be good or bad… and also have the courtesy to point out why we hold whatever opinion we may have.

It’s important to have some respect for people when doing this. Even the most awesome people produce the worst ideas sometimes, and that’s fine. It’s all on the path to working together to make things better. We need to foster open communication whenever we can and separate the design from the designer, the code from the coder, the writings from the writer, the managing from the management, etc.

In other words, attack stuff within reason (either with negative feedback or attacks of awesomeness) and elaborate, but be careful not to hurt each other.

the future of Nautilus

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. (:

Hack Week wrap-up!

Another Hack Week @ Novell / SUSE has come to an end. I think I’ve been pretty productive, as I took on and accomplished three pretty successful mini–projects.

Redesign the one-click installer

I walked through the current one, taking screenshots and notes. My goals were simple: make it simpler, and reduce the number of clicks (at least 6, depending on what happens) down to 1, as the name implies.

When I had a mockup ready–to–go, I showed it to Benjiman Weber, who happened to be visiting the SUSE office for hack week. He thought it was good overall, but suggested a few changes. I iterated over it a few times and came up something much simpler than the current design, and got it down to 1 click if the repository is already trusted, and an additional click if the repository needs to be trusted.

Here’s the final (for now, at least) design:

If you’re interested, also check all of the mockups, including the previous two as well.

WallaWalla, a from-scratch font (which looks quite a bit like the SUSE font)

Jakub had a great idea; initially I wanted to help out, but I basically wound up making my own SUSE derivative font. Most of it was done on Monday. I spent today (Friday) tidying i up and redoing a lot of the glyphs, as well as quickly adjusting the space between letters (kerning).

Download version 0.1 of the WallaWalla OTF (OpenType File) …or if you want to play around in FontForge, you can download the SFD also.

Ubiquity command for quickly performing a software search

This week, Ubiquity was all the rage. It’s a quick launcher for the Web, served up as a Firefox extension. I decided, on a whim, to whip up an extension for the extension—basically make a new command for it called “software-search”.

Basically, it lets you search the openSUSE software search engine all from a selection on a page (or whatever you type, optionally). It displays the results of how many hits there are (if there are), which provides a quick glance to see if you can do a one-click install from the software search to install whatever software you want, without even needing to visit the page (until you know there’s something available of course). To see the results, just hit enter, and it will open up a new tab with the software you’re seeking.

(It’s great for all of those pages that lists random software for Linux, or whenever you feel like quickly searching to see what is available in the software search.)

Here’s a demo screenshot:

Interested in trying it out? First install Ubuiquity in Firefox, then visit my page for the software-search command.

Compose for typography

Often, us artist-types need advanced typography when making artwork, laying out text, and fun things like that. How do you usually do it? For me, it’s either been launching a stupidly hard to find (and annoying to use) character picker or searching for some character on the Internet and copy/pasting it in. (Once in a while, I’ll make a really simple HTML page which has contains not much more than &raquo; or &mdash; or &copy; — then open it up in Firefox and copy the resulting character).

Well, friends, there’s a better way! In discovering the compose key (thanks to many awesome volunteers) a couple weeks ago, I’ve been happily typing not just German characters, but some advanced typographical ones, too! It’s great for applications like Inkscape, which ordinarily seems to lack support for typing these sorts of things.

A quick primer (hit the compose key, then…):

  • or = ®
  • oc = ©
  • < < = «
  • TM (shift-tm) = ™
  • - - - = —
  • 12 = ½
  • ^2 = ²
  • c= = €
  • c/ = ¢
  • Y= = ¥
  • xx = ×
  • ?? = ¿
  • !! = ¡
  • <” = “
  • >” = ”
  • <´ = ‘
  • >´ = ’
  • -: = ÷
  • .< = ‹
  • .> = ›

These are just a few. In general, think of what the symbol looks like when combined with something else, and that’s probably what you need to type, after hitting the compose key.

To set this up in GNOME, open up keyboard preferences and go to the “layout options” tab and select “compose key position”. (I have mine set up for the “menu key”.)

(Update: Remapping keys in GNOME 3.2+ has since been moved to System SettingsRegion and LanguageLayoutsOptions…Compose key position → [select the key(s) you want for compose key])

(Update 2: Remapping keys in GNOME 3.6+ has since been moved to System SettingsKeyboardShortcutsTypingCompose key → [click and hold, and select the key you want for compose key from the dropdown])

In KDE, go to the keyboard layout in the KDE control center, click on the “Xkb options” tab, enable the “Enable Xkb options” option, then scroll through the list until you see the second “Compose Key Position” (the one with options under it in the tree). Enable it and the the key you wish to use.

For vanilla X, you can edit Xorg.conf and follow a mini-howto.

Anyway, when you use the compose key, you can instantly start typing various characters all over the place… not just in Inkscape (where it’s quite useful), but in Firefox, XChat, in IM conversations, etc.

It takes YOU to Tango!

This Friday (and every Friday to come) is Tango Friday!

Tango!

The Tango Project “exists to create a consistent user experience for free and Open Source software with graphical user interfaces.” We’re approaching this goal by having a consistant naming spec which can be used anywhere, by any application, on any desktop. Secondly, we are working on providing a default set of icons to fill this need.

For the Tango icons, we have a style guide in place and a lot of icons already.

Even if you want to use other icons, it benefits to have them ported to the icon naming spec which the Tango project has provided. By abiding by that spec, it will make an icon theme work across multiple desktops with minimal effort.

Now you might be asking yourself: What is Tango Friday? Basically, it’s like a hackfest, except with art. Tango Friday is simply a time to join #tango on irc.freenode.net (via IRC) and use your favorite graphic editor (most people use Inkscape) to make really cool Tango-style SVG and PNG icons!

It’s open to everyone interested. You actually don’t even have to be good with graphics. We need people of all sorts, including: developers, documentation experts, fanboys, and all those just plainly interested in what we’re doing. We want people from all parts of the community, from different companies, different desktops, and different operating systems even.

We need people to help us make the stock set of Tango icons, but we also want others to help it get implemented in Xfce, KDE, GNOME, Wine, Java apps, Web software, or anywhere else it may make sense.

We had an unannounced, spontaneous Tango Friday last week, and not only was it was tons of fun, it was quite productive as well.

Make sure to join us this Friday. See you there!