March 8th, 2010


8
Mar 10

Where files go to hide

I’m always losing files in my immense collection of accumulated documents and structures of folders, which have for a long time become slightly less than contextual. Lurking in many depths of paths structured as per; /home/karl/Miscellaneous/Misc/Other/Stuff/Old Stuff/Things from before/A long time ago/ are useful files I barely remember creating.

VFolders - Links to video

VFolders - Links to video

With tracker, and fster we’re edging toward a solution to making everything accessible without the pain of sorting. Using these tools we can build semantic fuse file system. Still in it’s early stages and with lots of features to come, take some time to try it out!

Installing Tracker+Fster VFolders

Install Tracker 0.7.24, for ubuntu users there’s a nice PPA available;
sudo add-apt-repository ppa:tracker-team/tracker-unstable

If you’re using another distribution you can follow the build instructions found here.

If you’re using ubuntu you can install the fster deb file straight from their website.

If you’re using another distribution, or are on amd64 like me you’ll need to build fster, in order to do this you’ll need the following packages;

  • cmake >= 2.8.0
  • fuse >= 2.8.1 (2.7.4 seems OK)
  • tracker-client >= 0.7.24
  • libxml2 >= 2.7.4
  • libattr1-dev

Then follow the build and install instructions as per the fster website; You may need to make /etc/fuse.conf readable by all after install as it seems to be created with 640 permissions.

Using Tracker+Fster VFolders

You need to make sure that tracker has started indexing everything, generally running tracker-control -s will get that off the ground, you can also re-log-in in order to start tracker with the GNOME session.

Start up fster by running fster /path/to/virtual/Virtual/ -d -c /path/to/fster_media_library.xml, ../conf/fster_media_library.xml from your build folder if you built it yourself, not sure where this file is in the deb, please someone let me know if they use it on i386 :)

Now you can browse all of your videos, pictures and music via the semantic data store. Obviously this is just a starting block, and much work needs to be done in the future, for instance figuring out which folders to auto-generate within each folder based on the common relationships of the items, creating folders resulting in sub-queries and features of that nature to be added.

Even now I see a lot of potential in taking this route forward to improving the usability of the file system and nautilus.

GNOME3 and the future of the file system

Nautilus is, as has been previously mentioned due an overhaul. In order to allow Tracker+Fster to exist on GNOME nicely, and be used in Nautilus I propose we focus on improving how devices appear in nautilus, and allowing devices to specify their position, and function in the sidebar, as well as using configurable icons, emblems, backgrounds and other existing features to improve their functionality.

We should consider making the default bookmarks and the appearance of devices and bookmarks more configurable for folders and devices. For instance certain fuse devices might want to appear as default bookmarks as in replacing the home folder with vfolders, these devices or folders could also specify whether or not they wish to display the mount/unmount button. The separators, the positioning, grouping and spacing of the places are all artificially imposed at present. If concentrate on improving these things we can introduce fuse filesystems as first class citizens in nautilus.

By concentrating on the fuse/device integration with nautilus rather than a specific filesystem add-on inside the nautilus UI we keep nautilus small and unbundled from the data store and allow for other fuse filesystems like GNOME Activity Journal with Fuse to benefit from the same improvements.

I also think we need to do more in order to detect types of devices and include more device icons, e.g. iPods, Phones, Cameras, Memory cards, and other attached storage devices can have device icons and it would be great if we could try and utilise any and all available icons appropriately, like the icons available in places like Quantum Bits. Using icons and branding, watermarked backgrounds and emblems in nautilus along side the device, bookmark or folder improves the connection between what the words represent and the function of the item. Dropbox is very good at integrating into Nautilus using emblems, and there’s no reason that other folders and fuse file systems can’t achieve the same level of usability with features already present in Nautilus.


8
Mar 10

Carving something beautiful

Image by artcodes

Image by artcodes

Details, often overlooked, are very important, the many details on the corners and edges of the old buildings we all see are just as important as the structure of the building.

I often feel that many new constructions lack these finishing touches, the detail that someone spent a lot of time to ensure looked just perfect. In some ways this illustrates the difference between an architect and a master craftsman of old.

If the intention of the structure is convey a particular essence of grandeur then it is important to build that into the fabric, communicating the impression through design.

If we take a look back it’s the same with the desktop in many ways. If we allow it to become too cold and surgical we will never be loved but may be used. If we make it too active and animated then we may reach a market but may also convey an image of childish interactivity. Somewhere in the middle is a balance, where we use animation, colour and shape in a way which brings together the user interface for the whole desktop into a polished, finished and corner detailed experience which expresses the essence of the GNOME desktop.

I wouldn’t like to classify the essence as a political belief, political beliefs especially those behind free software aren’t important to the end user. Instead I would focus on what GNOME intends to be really good at, the following bullet points were brainstormed during the HIG session at the Usability Hackfest I believe that this is a good starting point for describing the ‘essence of the GNOME desktop’, and that this is something that should be embraced by developers and designers;

  • Simple – No useless options presented to the user, no confusing options
  • Elegant – clean visual layout, no unecessary clutter, alignment of elements
  • Universally accessible – Everyone can use it, 3 – 93 years, no-matter what disability, background, language
  • Obvious, discoverable, learnable – common operations should be visible, should be easy to learn advanced operations
  • Helpful – requiring as little work from the user as possible, staying out of the user’s way, anticipating the user’s needs, presenting them with what they are most likely to need

Indeed there are some things to be concerned about, for instance as I read recently.

“I’m becoming more and more worried about the rounded-rectangle, grey gradient, tango-esque, big-ass padding and even bigger-ass button style that is predominating our little end of UI design lately.”rfquerin

This, it must be said, has some truth in it. Although I do love the idea of tango icons, a standardised pixel sharp icon set with a standard colour palette is very sensible. However, the issue that we’re not really innovating in other ways is a concern of mine, we need to rethink themes, rethink window management, rethink desktop furniture and rethink the rules for colouring and styling our widgets.

Things are most certainly becoming more grey, rounded rectangled, hugely padded UIs but some of this is well placed, some of it not-so. I believe that there is a case for pairing the HIG with a set of Style Guidelines which will help build stylish user interfaces. A lot of the required text for a set of style guidelines exists in parts of the HIG, separating this out and making it appropriately usable shouldn’t be too hard.

Some proposed topics for a set of style guidelines could include; colour matching & palettes, shapes, gradients, lighting, borders & spacing. There should also be some standard documentation somewhere for accessing specific colours from the theme allowing developers to use cairo widgets in tune with the themes colour scheme with ease.

Alberto Ruiz posted recently that we should be more open to design ideas and embrace them rather than resist them. We need to make GNOME exciting for developers and end-users, encouraging designers to become a part of the project and dissect and critique without fear of the reaction.

Making GNOME3 isn’t just about libraries, modules and infrastructure it’s also about improving the experience for everyone and learning from mistakes we’ve made in the past.