Deconstructing Nautilus and rebuilding it better

If you’re an avid user of the GNOME Desktop Environment and follow the development of it, you may well be aware of one of the hot topics currently doing the rounds on the internet, and that is: The User Interface Of The Nautilus File Manager And Why Is It So Awful?

There may well be some of you out there who are currently thinking, “It’s not that bad…” to which my response is: in terms of user interface, there are much better file managers available for GNOME than GNOME’s default file manager (two, off the top of my head: Thunar, default for the Xfce Desktop Environment and PCMan File Manager, or PCManFM). Plus, if you’ve ever used a Mac with OS X, then what you’ll be looking at there is the King Of The File Managers.

But we can make it better…


The Deconstruction of Nautilus

I’ve labelled each individual element that is problematic or, at least, up for questionning:

  1. So we have these little arrows either side of the forward/back navigation arrows. What are they? Well, clicking on either brings up a history of your progression through the file system. What’s the problem? I’ve never once used them. Never. You’ve already got an at-a-glance visual indication of your progress through the file system and it’s the pathbar/location bar, right there, at number 8. So it’s duplicated functionality and takes up valuable space. They can be removed easily. However, if it’s in some way necessary to keep that History Navigation function it would be more elegant, in my opinion, to merely right-click either the forward or back button to bring up a history pop-up.
  2. Another Navigation Arrow, this is the Parent Folder button. If you’ve jumped from your Documents folder to another folder called Wallpapers then the Back Arrow and Parent Folder have different purposes, but are usually confused for having similar behaviours. Clicking the Back Arrow would take you back to Documents; clicking the Parent Folder Arrow would make you climb up the folder structure by one level i.e. in my case, clicking the Parent Folder Arrow from Wallpapers takes me to Pictures because: /home/hex/Pictures/Wallpapers. See? However, even this button is up for debate. It’s duplicate functionality again. How? You can climb up the parent folder structure, once again, using the pathbar/location bar buttons (8), making the Parent Folder button redundant.
  3. The stop button. More useful in web browsers, if you want to stop the web browser from loading a page, completely useless in a file manager, where file accessing times are considerably quicker than web browsing times. You simply never have an opportunity to stop the file manager from loading a page. It’s an old relic. I’ve never used the stop button.
  4. This is the reload/refresh button, which again has similar properties for web browsers; you “refresh” the window you’re on to see any changes that have occured in the current directory. I think there still is a need for a refresh function, but I feel it can be executed more elegantly. See the pathbar/location bar (8) again? You’ll note how the button currently selected is “Season 2”, indicating where we currently are in the file system. Now imagine a little refresh symbol right next to the “Season 2” text on the button. Just clicking that button would refresh the page. This means we can remove the standalone refresh button. More toolbar space has been saved.
  5. Home Folder button. Duplicate functionality again. See the sidebar? See the folder called “sam”? That’s your home folder. Just click that. Seriously, it’ll be fine. There’s no need to have another button for it.
  6. The Computer Folder button. It has a necessary function: it gives you an overview of your system devices as well as the file system. But this button can be better represented in the sidebar. I’ll expand on this one later.
  7. Search button. Very necessary and a crucial part of the file manager. We need to keep this function but redesign it. I like the way that KDE4.x’s file manager, Dolphin, has rendered this. A text entry bar. It invites you to enter search terms.
  8. The pathbar/location bar. Crucial to a file manager, it gives an at-a-glance visual indication of where you are and where you’ve been. I feel, though, that the function of the pathbar/location bar can be enhanced without overcomplicating it, and for the design and new functionality of the pathbar/location bar I feel that Dan’s Elementary Nautilus Mockup is heading in the right direction. Check it out. The image really does speak a thousand words. And so does he.
  9. Icon Zoom: does what it says on the tin. This control adjusts the size of your icons displayed. Useful and necessary, so that it follows Human Interface Guidelines, but can definitely be redesigned more intuitively. Again, check out Dan’s Nautilus mockup to see how he’s implemented this.
  10. This button changes the view mode of your file manager, the options being “Icon View”, “Detailed List” and “Compact View”. We need to keep this, but again it can be redesigned in a way to provide an at-a-glance, more economical interaction. Apple got it right with OSX’s Finder; you’ll note the four icons next to the back/forward navigation icons? They allow the user to quickly switch between different view modes. Very simple, economical and intuitive. You’ll find that Dan implemented a similar spec in his mockup.

Let’s Rebuild a Better Nautilus

A Nautilus Mockup that aims to address the problems of its interface

So here we are – my reconstruction of the Nautilus File Manager, after addressing each of the problems above.

Firstly, please note that this is only a mockup. I’m no coder or programmer. I wish I had the coding skills, but all those letters and numbers whiz over my head. But perhaps what I can do is demonstrate a better interface through my skills as a GUI Designer. Let’s address the improvements here:

  • Single toolbar: the original Nautilus interface had two toolbars plus a menubar. It just takes up too much space that could be put to better use. This Nautilus has only one toolbar.
  • Hidden Menubar: I’m not going to take sides here on whether we should still be having a menubar in applications or not; it’s another minefield of opinions and flaming. I’m personally fine with a menubar inside the application, but I also happily use applications that tuck away the menubar under a single icon (think Google Chrome). But I do think that we should have the option here. In my mockup, all the menubar settings can be brought up with the settings icon (first icon after the pathbar). But if you would like to see the menubar permanently then this, too, should be an option.
  • Simpler Navigation: back/forward arrow buttons plus a location bar. That’s all you need. If you want a text editable pathbar displayed instead of a clickable location bar, then this should be an option in the settings. You can also see my implementation of the refresh function; a small refresh icon that sits itself inside the button that shows where you are. You just click the button and the directory refreshes.
  • Improved View Modes: after the settings icon, we have three view mode icons. A simple click allows you to instantly change from Icon View, Detailed List to Compact View. Just one click. That’s it.
  • Highly Visible Searchbar: there’s no denying what that bar on the right of the toolbar is, that’s where you enter text to search for. It even says “Search…”. Isn’t that handy?
  • Enhanced Sidebar: previously in Nautilus the sidebar was only used to display your “Places”, like your Home Folder, the Computer etc., and your bookmarks, or directories that you commonly view. We can do more with the sidebar without overloading it and keeping it very simple. The “Places” section displays our home folder plus bookmarks, and the “Devices” section clearly shows any devices on our system including the root filesystem (thus doing away with the Computer icon mentioned earlier). This section would also automatically update itself whenever new media is detected and mounted, such as inserting a CD or external HDD. There are two other sections in my Nautilus and they are “Recently Accessed” and “Commonly Accessed”. I will go into those later. Those are the really exciting features.
  • Icon Zoom: along with the usual status information in the status bar at the bottom we also have a highly visual and intuitive zoom slider on the bottom right. Simply sliding the slider from left to right increases or decreases the size of the icons. Much simpler but a more powerful way of interacting with icon sizes.

The keen of eye will note that this mockup of mine is not all that different from Dan’s Elementary Nautilus mockup and you’re right. In terms of user interface I think he’s got it bang on. Really, all that’s different in my version is a different theme, a separate search bar and a more enhanced sidebar. But now I’m going to present what I think are the really exciting features in this Nautilus mockup of mine…


Zeitgeist and GNOME Activity Journal Integration

Ok, what the hell did I just say there? Well, if you follow the active development of GNOME as much as I do, you may have heard of two recent technologies actively being developed. They are Zeitgeist and the GNOME Activity Journal. What are they? Well, Zeitgeist is a little, unobtrusive daemon that ticks quietly away in the background and records every file you access, every image you edit, essentially every event you perform on your computer and keeps a chronological Journal of this information for other applications to use. This is the core engine that runs quietly in the background. The frontend to this is the GNOME Activity Journal – an application that allows you to browse and search through Zeitgeist’s recordings of your activities and interact with that information. One of the developers of the GNOME Activity Journal posted a very handy video showing it in action. I use it myself and it is very handy. I also use Docky2 on my desktop that has Zeitgeist interaction. One of the options when you right-click on a launcher in Docky2 is the Journal entry, that allows you to browse through recent events and files accessed in that particular application. A stroke of genius. Again here’s a handy little video demonstrating Docky2 with Zeitgeist integration.

So… where am I going with this?

I personally think that having a separate application, the GNOME Activity Journal, to browse through your events and files chronologically is superfluous. What I’m advocating is that Zeitgeist and GNOME Activity Journal get integrated inside the Nautilus File Manager. Use just one application to browse in different ways!

An image speaks a thousand words, so…

Here we have it: my mockup of Zeitgeist and the GNOME Activity Journal integrated inside Nautilus. You should be able to do everything you can in the current GNOME Activity Journal inside Nautilus, same interface and everything. You can access this particular browsing function simply by clicking the “Recently Accessed” section in the sidebar. This particular section can also filter the journal results as well. So if you just want to see a window showing what you’ve accessed Today, then simply click that in the sidebar. This would then bring up your recorded events that occurred today, but in more detail. This is a function already possible in the GNOME Activity Journal.


Going One Step Beyond…

This is not all that I’m suggesting though. Oh no. This next feature, I’ll be honest, I’m not entirely sure is possible; I’d basically need to have a chat with the Zeitgeist and GAJ devs to see if this particular method of journalling and searching is possible, but I’m going to suggest it anyway…

As well as being able to browse and search through events and files chronologically, the purpose of Zeitgeist and GAJ, I also feel that you should be able to perform a search of events that occur often. Consider: all good application/start menus usually have a “Favourites” section, essentially a list of applications you commonly use on your system (Windows Start Menu has it, KDE’s Kickoff and Lancelot also have it among others). But I feel we should be able to view a list of files, documents, images, websites etc. that get accessed frequently and present that information to the user in a simple way.

Case Study: let’s see that you’re a student studying for a PhD in a particular subject. Over the time of your study you’ll be creating a thesis that will be accessed, edited and updated over of the course of several years. Sometimes, it may be that you won’t touch your thesis for weeks at a time, but nevertheless it is the document that you access the most. It should be possible for the student to access a fast search showing the files that have been accessed and the events that have occurred frequently. In a Zeitgeist chronological search, your thesis may need some searching as you’ve not accessed it in a few weeks, due to research or whatever. In a Commonly Accessed search, the thesis would be the number one result.

Have I made a mockup? Of course I have!

In this mockup example of mine, clicking the “Commonly Accessed” section performs a search showing all the files, image, documents, websites or whatever that have been accessed the most. It would run from left to right, top to bottom and display immediately that which has been accessed the most. This is a mockup of what I would estimate a Commonly Accessed search on my system would bring up. Previews of images and music should be available for at-a-glance functionality. Again, like the “Recently Accessed” section, the “Commonly Accessed” section would have a couple of filters built into the sidebar, so that we can filter for images commonly accessed, documents commonly accessed or whatever. These filters should be set by the user.


That’s All For Now, Folks…

So there we have it. My critique of the current user interface state of the Nautilus File Manager, my solution and a way we can make Nautilus a much more powerful file manager using new and existing journalling technologies.

I would love to hear your thoughts, opinions and criticisms. I truly hope this has given you food for thought. Pass this around the net, let’s get it seen by people and hopefully someone in the right place, with the relevant skills may one day make these mockups a reality.

Ian Cylkowski aka Izo

Logo & Brand Identity Design, GUI/UX Design

If you liked this post, feel free to share with the buttons below!

You should follow me on Twitter HERE.


59 Comments so far. Comments are closed.
  1. Richie,

    What about tree view? I use it heavily. How about merging tree view with places view. For people that don’t like spatial mode it would make things much easier, especially if you are picking files from one directory and moving them to a directory that is not bookmarked.

    • Izo,

      @Richie: thanks for the comment! Tree view is an interesting thought, could the operation you described also be done using a dual pane view?

  2. Aeiluindae,

    Finder is nowhere near the king of file managers. It will sometimes remove UI elements that I still need (toolbar, sidebar), because it thinks that I don’t need them in that context. Basically, I don’t like the configuration changing completely as I navigate from one folder to another. Dolphin has the same problem sometimes.

    By the way, a suggestion for getting from the buttons to a textbox for the path bar is to double click the bar to toggle between them. The few times when I need to copy-paste the path bar contents or to enter a path manually, I don’t want to hunt for the setting.

    I almost feel bad saying this, but I agree with the other person that windows explorer is currently the best file manager in a lot of ways. It doesn’t need right-clicking as much because of the command bar, The libraries are really useful, and it has the recent and frequently accessed documents (not in a really usable form, but good enough). My only complaint is how unintuitive it is to get to the settings.

    • Izo,

      @Aeiluindae: thanks for the comment! Looks like we’d have to agree to disagree about Finder. ^_^ I also like your suggestion, that’s very good.

  3. Uri Shabtay,

    i love it, and i wish to see it implemented soon.

    i hope you sent this to Shuttleworth himself.. if you haven’t, check out his Blog for more details:

  4. Ricardo Graça,

    This looks awesome! I actually never noticed the history arrows on the back/forward buttons until I read about them in this article. That’s how usefull they are. I can see a use for the Stop button though, and that’s when Nautilus is updating the previews for a directory that has lots of images or videos on a slow computer (netbook?). This would only be usefull if you clicked on the directory by mistake though.
    I would change two things in your design. First the magnifying glass icon on the search field. I actually prefer the binoculars icon since it makes more sense if: Second, the zoom slider should have a magnifying glass icon next to it to show what the slider does. Not everybody has used a mac, so a bare horizontal slider may not be the more universal method for signaling zoom. Apart from these two changes I believe your ideas on this improved Nautilus are excellent.

    • Izo,

      @Ricardo: thank you very much! You make some interesting suggestions for me to think about. These mockups of mine are by no means and I’m always open to suggestions.

  5. Wow. This is the way nautilus should look like. Are any of the gnome peoples reading this?

  6. Felipe,

    Just awesome! Im looking forward to seeing it soon huh?

    Nice work, seriously, I like the fact that you’ve checked other projects or current file managers to build this one.

    Beautiful !

    • Izo,

      @Felipe: thank you very much! Yes, I’ve done my research, I believe it’s important to import ideas rather than recycle them, keeps things fresh, take what works and what’s good from other sources and make them your own.

  7. Richie,

    > Tree view is an interesting thought, could the operation you described also be done using a dual pane view?

    Yes, I think dual pane view might help. But adding tree view capabilities to the places view (or adding bookmarks, network connections, devices, recently accessed, etc. to the tree view) would help all people preferring the MS Windows Explorer style.

    In my personal opinion MS Windows Explorer is better than Apple Finder. I have used both, but working with files (not just open them) is easier with the MS Windows Explorer. In nautilus I mostly use the tree view but for some things I have to switch back to places view, e.g. unmounted devices are only shown in places view, but when mounted they are also shown in tree view (in Ubuntu 9.10).

  8. I like what you’ve shown quite a lot. But as I see it there is one problem with the mockup you showcased in your latest blog post, and that is the search field. Not the search field itself but the placement of it. Because it is placed on the same row as the navigation controls and the breadcrumbs, if you make the window smaller there will be about no space left for the breadcrumbs.
    My solution to this would be to place the search field on the bottom bar along with the zoom and the small status messages that aren’t longer than 5 words anyhow. I used Danrabbits elementary mockup to show my point, yours and his are very much the same:

    As you can see there is now, unlike in the original mockup[1], a search field to the left of the zoom controls.
    Anyhow, just a simple solution from a simple man, tell me what you think about it.


    • Izo,

      @Rovanion: thanks very much for your comment! This is an interesting problem and I’m not sure moving the search bar to the bottom would completely solve it, not to mention that moving the searchbar to the statusbar almost “deregulates” its importance. It might be that, rather than a search bar we could implement a simple icon instead. Clicking the icon would pop-up a little text entry field to enter a search term into. It’s certainly open for questioning and you’ve given me something to think about.

  9. Henry E,

    If all of your sugggestions are implemented in gnome3, its gonna make nautilus the best file manager ever and take gnome to greater heights.

  10. I agree with all of the points above, except I might do away with the forward/back buttons. Also, the refresh should be done automagically, and therefore should not require a button on the interface.

  11. opensas,

    awesome work, just a couple of suggestions

    – use refresh/stop button, while loading refersh button should be used to stop loading the page (as someone already proposed)

    – use one thread to manage the UI and another one to load content, just click back should solve the problem (as someone already proposed)

    – customizable toolbar, let the user choose which icons to show, your mockup would be a great default (as someone already proposed)

    – one icon, and a shortcut to optionally show/hide main menu

    – shortcut key to turn the address bar into a text input

    great work, let’s hope the devs tak this into account…



  12. Randal,

    From a technical point of view nautilus needs to expose two things via libnautilus-extensions.

    * An interface to register sidepane menus

    * A way to add a widget which will be appear in place of NautilusNotebook when you activate it using the sidepane menu we registered.

    I can access them all now with trickery using NautilusMenuProvider which gives me a window when get_file_items is called.

  13. Aldo,

    NOT going to happen. Apple patented the hell out of Finder and implementing this in Nautilus would be almost suicidal.

    But I do hope to be proven wrong though. And anyone brave enough to try this is certainly worth supporting.

    • Izo,

      @Aldo: Apple have patented the technology behind Finder, not the UI. If that was case Styler Toolbar for Windows would not have been possible.

  14. Benoît,

    As a strict linux end-user, I think this simple, elegant redesign would thrust GNOME way ahead of the DM pack

  15. Kennedy Kasina,

    Great thought on these. Had been having thought on the same line – redesigning nautilus.

  16. Great post, great ideas, great mockups.
    The current Nautilus design is such an aberration and a lost of space, and your design seems so natural.
    Alas! Time passes and unfortunately, it will probably never get implemented.

    • Izo,

      @Johannes: thanks for the nice words! If this doesn’t become accepted by the GNOME devs then there’s always Dan’s Nautilus-Elementary branch.

  17. niels,

    Your ideas are wonderful. Here are some comments

    – How will it look with deep directory structures?

    – Is there an easy way to disable and enable the sidebar?

    – Will my “bookmarked” folders still work in nautilus. What happens If i have many bookmarks?

    – How do I search the files that were changed may 2nd last year?

    – BTW. Several of buttons on the tool bar could be middle clickable for “open in new window” (for consistency with epiphany)

    • Izo,

      @niels: Thanks you very much! Regarding your points: Deep directory structures is something I’m giving a lot thought to, at the moment; sidebar can be switched as usual, via F9; your bookmarked folders will still work, it’s still Nautilus at the end of the day, I’m toying with the idea of one scrollbar for the whole sidebar or a separate scrollbar for each section if there are a lot of entries in a particular section; to find a file accessed on May 2nd last year you simply navigate to that date like you would a calendar; also liking the middle-click idea!

  18. We almost have the Zeitgeist functionalities implemented :)
    Stay tuned…

  19. Izo,

    @Seif: Jesus Christ! That only took a day!

  20. n,

    Personally I find Mac’s file manager terribly irksome (mostly because of the way the delete key doesn’t delete files and how I haven’t found out how you move files between volumes without copying), but the interface isn’t bad. I like your mockup and the integration with Zeitgeist would be great. I cringed when I saw the lack of menubars but then took a look at Nautilus’s menu and remembered that there wasn’t actually anything there of use.

  21. Jibril,

    it’s just my first impression: this is wonderful, really good work, good ideas.
    So what about a floating sidebar[for more space], preview of pictures and videos[may be plugins ^_^], the current location[some text],
    could i hide some menus in the sidebar?

  22. blankthemuffin,

    Stop is completely different from back. I might not want to change directory, I want to interrupt loading of the current one. It might be half way through but I can already see the files I want to see. It’s not a sign of bad internal design, it should not at all remove the need for asynchronous loading or instant directory changes regardless of current state.

  23. Tor,

    Very interesting article.

    I am wondering why you chose to use the phrase “commonly accessed” rather than “frequently accessed”. “Commonly accessed” makes me wonder whatever that means, whereas the latter seems to provide the right association straight away.

  24. D10,

    Very Nice Review !

  25. I really hope this gets integrated! Let me know if you need a hand chasing this up with the GNOME devs.

  26. Tom,

    @blankthemuffin: Sure stop is not the same as back, but what you describe is a niche use case that no one really needs and it surely does not deserve an extra button.

    So you look at thumbnails over the network and find the one you are looking for. Just click it and if you want the thumbnailing to stop switch to list view or whatever.

    Stop is not needed. Give a credibable use case.

  27. Igor,

    Simply perfect!!

  28. Mathias,

    A agree that a lot of improvements can be made, but every time someone tries to do this kind av analysis thay fail to see that their use case is not the only one. A redesign can not be done by one person…

    1. Several logic fails:
    1. and .8 are the same, you say 1. needs to be removed.
    Only thing you can conclude is that 1. or 8. should be removed.

    But the are not the same at all, 1. is a history. 8. is just the
    parent directories. If they are usually the same your use of
    Nautilus i very basic

    3. Try to open a ssh-fuse folder with thousands of entries over a
    slow network connection.

    4. I don have a sidebare, see the cross… It can be removed.

    5. again the same, you suggestion should at least be to make the
    sidebar mandatory. But that would be so bad of cause.

  29. Mark,

    I love your suggestions and mock-ups! It’s good to have usability seen from an end-user’s perspective, because OSS is still sometimes made from a programmer’s point of view.

    Keep doing this!

  30. rtaycher,

    –Sorry If I sound a little Harsh–
    A couple of things
    first you are making a statement on the lack of a menu bar and the absolutely wrong one, just because chrome has some bad ui(!) elements doesn’t mean everybody has to copy it.
    If someone wants to replace the menubar they need to at least think up a good and consistent replacement not just remove a bunch of items and slap random menu like buttons like chrome does or pop the whole into an unlabelled button(great you have saved a tiny amount of space for a decent amount of usability/discoverability.
    Microsoft probably has the only decent attempt currently (I think something like a (firefox) ubiquity like ui w/ menu functions possibly and global menu like could be really cool), I sort of see why it might be good to have a choice but considering how much it affects usability if someone I would recommend hiding the option to hide the menu somewhere it isn’t easy to accidentally click.Also people today care too much about screen size-netbooks are a somewhat important corner case and their resolution will probably increase- and having too much clutter/information can look a little confusing,but not to the point of doing things like throwing out menus.

    You are totally correct about the search bar, of course the exact search ui(instantaneous vs click/press enter,how to add/specify specific search methods),ect.. is much harder, I recommend the way dolphin does this. I know it can be argued about usability wise but I would recommend using arrow tree expanders on each sidebar category.

    On the three buttons representing the view of files state, it may kinda of work where its universal(OS X) or at least fail a little less, but its way too cryptic, if we want to look for inspirations from other OSs better to have something like the drop down list vista/7 explorer have.

    • Izo,

      @rtaycher: some sound points made, thank you very much. The question of a menubar is a very long-winded one and my mockups are, by no means, the Finished-Product-This-Is-How-It-Should-Be. I’m always open to suggestions. But I’ve found that the use of the menubar is split fairly 50/50 between keeping it or moving it to a single button. So I gave both of those options. It’s a fairly logical conclusion. However, the developer of the new Rekonq KDE web browser makes an interesting alternative to the menubar: where you integrate tabs with the menubar into a SuperTabbedMenuBarThing. HERE. It’s quite interesting.

  31. Excellent article, excellent ideas! I already use the nautilus elementary mod, if your ideas are added, it will be the best file manager for sure. Love it.

  32. jose,

    Your mockup is impressing! LUVS!

    I’d comment something about the simpler navigation bit though:

    “If you want a text editable pathbar displayed instead of a clickable location bar, then this should be an option in the settings.”

    Some of us use Nautilus at work to connect to another machine via pathbar. You write the URI (Nautilus supports ftp, ssh, sftp, smb, ldap, nfs and some more)- but once connected it’s nice to have that breadcrumbs/clickable location bar. So what we do is:

    – Clicking the button to get the pathbar.
    – Writing the URI of the server. (e.g., ssh:/user@server)
    – Clicking the button again.

    See, we use that button a lot, so we can’t have that hidden in the settings. Is there a way to keep that functionality directly accesible? How do they do this in OS X? Probably they already have a better way to do it.

  33. Great article! I would love to see something like this in Gnome 3.0. Nautilus would be awesome!

  34. Red Five,

    Refresh and stop are important for remote filesystems that do not automatically update the display of their contents or might take a long time to update, such as SSHFS or (S)FTP. And back, forward, and up have their place as well; if your location bar is in textbox mode rather than folder button mode, you may find it quicker to use back or forward or up to navigate around a subfolder structure, rather than typing or deleting your path all the time.

    However, perhaps the coders could make Nautilus smarter, so that these buttons appear or hide selectively depending on filesystem context or location bar mode.

  35. This really rock! I cannot wait for this!

  36. Nicolò Chieffo,

    I would like to add that maybe a bar with cut/copy/paste buttons would be useful