In this article (re:PDF – 127k) the author attacks the difference between today’s file structure representations and our mental model of the same, and suggests mind mapping as a method of closing the gap. Here’s a screen shot of what it might look like.
Seems similar to an application already existing called “The Brain” on the following site: http://www.thebrain.com/
This is what I was getting at with my PLG comment. If you could pivot in Konqueror or similar and navigate it would be a little more intuitive although I still think the major issue with Linux is the directory nomenclature. usr/local/bin doesn’t mean much to your average joe.
Maybe we could work out a proposal for the LSB folks about a “desktop” or “friendly” alias tree that could be standardized.
We could just create a default set of end-user-ish ease-of-use directory aliases for the built-in administrator-ish ones, and then propose that they be created in a standard place so all the gui/framework/distro people could include them and refer to them.
It’s complex, with repeating/parallel stuff at /, /usr, /usr/local, and so on, but maybe something could be worked out that most everyone liked.
Also, I’ve always thought that “user-ish” distros ought to do something like use UML to virtualize or “sandbox” the user’s environment away from the system environment. Then, in the UML sandbox, the directories could be aliased any way that seemed friendly or useful, since half of them would be read-only and left alone by the users anyway.
It would be like running VMWare GSX on every corporate desktop, with just the one virtual machine. Lots of advantages for administration/reliability/recovery, with very little loss to the user.
Hmm, I was just thinking about this yesterday, but in a more drastic manner. Although Linux gains from it’s Unix-like structure, this doesn’t really fit for a desktop system. I was considering that maybe it’s time for a “new” OS, using the GNU/Linux kernel and tools, but based on a new structure that allows simple administration for a basic user, in particular providing a home directory that can be used for installing applications without hacking with paths etc.
I’m still a long way off, but I’ve come up with a basic outline, including a root that has only three directories,”System,” “User” and “Variable.” It’s a somewhat BeOS like idea, with Touch/Don’t touch implied in the directories.
There are a lot of problems to work around, in particular whether the structure should specify a single desktop environment as in integral part of the system (good for a commodity OS, bad for a Linux OS) and significantly, what to do with all the X crap. But it’s interesting to think about, maybe I’ll write an article/proposition about it when I’ve got a bit further.
An interesting article and an interface that would be a lot of fun to play with, but I don’t see how it solves any real problem.
OK. So we learn to use tools everyday, some being less complicated than a computer. But we want to be able to use the computer intuitively, without learning anything, and computer sellers want us to buy their machines, but don’t want to show us how to use them, which is perfectly legitimate, but they don’t want to tell us that we have to, that we should learn.
Now, we’re in front of our terminals, we’ve created and saved files. Some of us are organized and they have created folders and subfolders, others are not and they put every thing in the same folder, some are really nuts and they don’t know where they put their stuff.
The author wants an interface that match to the way the brain represent information. I don’t think the brain represent information in any shape, form, hierarchy. It just absorb information, like a sponge, and if it classifies that information, it does so transparently, so transparently thet we don’t even know.
Some people are unable to grasp the concept of hierarchy, a concept that we learn, like we would have to learn mind mapping, which is certainly not natural. Others won’t grasp this mnemonic concept, which boils down to a flat “hierarchy”, with the problems the author has seen, and probably a lot he hasn’t seen.
In fact, what is the problem? Search efficiently, find easily (file management is absolutely nothing, once you’ve found the files you want to manage). That’s why we have invented all those cataloguing systems (can’t remember the name of the system used in libraries…). Navigate the less possible. The computer is here to help now, so, instead of developping efficient ways of searching for the human, develop efficient ways of finding for the damned machine (metadata, live queries, etc?), and let it do all the work!
Hey phil, and the others discussing an alternative tree —
Check out Gobolinux. http://www.gobolinux.org
It implements a completely new and well-designed desktop-appropriate file hierarchy. It’s pretty mature by now and I can assure you is a delight to use.
In case you’re wonder, the Gobo file hierarchy is thus:
/Depot (Shared media and documents for all users)
/Files (Files shared by multiple programs, that need a stable location. Fonts, Codecs, etc.)
/Mount (removable devices.)
/Programs (All programs/packages reside in their own directory, in /Programs/App/Version, with /Programs/App/Current pointing to the currently installed one. Different versions can be switched with SymlinkProgram, uninstallation is just deleting a directory, and CompileProgram automates the installation into this structure from any standard tarball.)
/System:
/System/Kernel/
Boot
Devices
Modules
Objects
Status
/System/Links/
Executables
Headers
Libraries
Manuals
Shared
/System/Settings
/System/Variable
/Users (Home directories, including root.)
So there are 6 root directories. The legacy tree (/usr, /etc, /lib and friends) is still there with symlinks but a kernel patch hides them. It’s all very elegant.
what users need are 3 things, a simple gui or other way to install something (a software folder under home may be a nice place;), paired with a install wizard like autopackage or similar), a place to put stuff everyone needs to access (a “generic files” folder under home anyone?) and lastly a nice gui to config common tasks (maybe even set up useing sudo so you dont have to recall the root password just to reconfig your printer).
if these are in place they dont have to venture into /usr, /etc or any other, in fact if something goes haywire they can call up theyre trusty helpline (be it a relative, friend or a actual person at the other end of a phoneline).
most user software use 1-2 libs that are allready preinstalled on the os most of the time and the rest can go into a subfolder of the library subfolder of the /home/software subfolder anyways as they are not needed for anything but user software use…
hm, am i not describeing what /usr and its subfolders are suppose to do? if one could not replecate the lib and bin folder sepearation but instead have software named folder under there one is good to go as then one can dig out just the folder holding all the files of that software and delete it if needed.
there is no need to break down the entire classical unix filesystem to help in useability as most users will not venture outside of their home subfolder anyways unless its a emergency. good gui configtools for printer, network and usb devices and your all set to go.
hell 99% of the windows users dont know where the software goes anyways, they just know that if they click on the uninstall link in the start menu it will go away again. and for those that want to poke around they can learn the classical layout. its not as hard as people belive it is, in fact when you learn it then it realy makes sense. system config? thats in /etc, basic system files? those are in the root subfolders, that is execpt in /usr as that is user software and desktop files, and /home holds the subfolders of the users, oh and /root is the homefolder of the boss accont, never anything exiteing in there. and if i mess up may userconfigs its somewhere in hidden files and folders in my home subfolder.
Yah, I agree. As long as you can use a file browser, and get a basic understanding of the file system layout, any user will feel reasonably comfortable (as long as they’re GUI has links to the installed apps and prefs, etc).
I use Windows, Mac OS X, Linux and BeOS and don’t seem to have any problems.
The mind-mapping stuff is more confusing to existing users… maybe if you start kids off using something like it… but for us “old-timers” I think it might make us dizzy!
🙂
Mike
I think that the problem is the the heiarchical file system – with files and directories, which can contain either files or directories. The heirarchical filesystem is the main problem with the computer’s interface. Maybe some other people spend their time organizing their files into a nice, neat folders, but the fact is that most people A) are too lazy or B) don’t know what directories are. My ‘desktop’ is cluttered with files and the only thing that I do to keep it more neat is to make a new ‘Untitled Folder’ (It keeps its name) and put everything in the desktop in it. On the other hand, my sisters don’t even know what folders are. The only contact between them and the filesystem is the ‘open’ and ‘save’ dialog boxes, which are always open to “My Documents” If it switches to another ‘folder’ they would ask for help. I might have strayed from the topic, but the thing is that the heiarchical file system does not fit in with the way the brain thinks (Isn’t that what the essay was saying?) Making the filesystem ‘cleaner’ like in gobolinux is not going to solve anything because especially with the large amount of files we have. Something like the ‘Mnemonic’ interface can solve the problem; and Apple and Microsoft have some short-term solutions to the problem- The Spotlight search technogy and a database-based Filesystem in Longhorn. Both of these recognise the fact that the way our files are organized are so bad that we need to search for them if we want to find them. Now the hard drive has joined the likes of the interned in the fact that we need to search to find what we need. And that might be the case until something like the ‘Mnemonic” interface or the brain replace the file heiarchy as the way to organize files.
for me the most useful aspect of modern UIs is the “tooltips” which you seen when you hover the pointer over something long enough. its a “parallel” action which doesn’t need the original task process to be cancelled and restarted once you;’ve looked at the help.
this is why command and file completion for command line shells is useful. you don’t actually interrupt your command line while you looks sideways for help.
Maybe we could work out a proposal for the LSB folks about a “desktop” or “friendly” alias tree that could be standardized.
You mean with Symlinks? That’s not good for internationalization. That’s also why i don’t like GoboLinux – they didn’t think about that, it’s a design flaw.
The better solution is to let the File Manager display names for the standard folder. I think that’s also the way Mac OS X does it (i once mounted a Mac OS X volume linux where the Mac OS was in german, and in Linux suddenly all the standard folders had english Names; e.g. “Musik” turned into “Music”).
But in a heterogenic environment such as Linux/Unix with X it’s also quite hard to let the desktop environment display other Names, because there are hardly any users who ONLY use applications written for their desktop environment. So with one app your folder is called “Configuration Files” while in the next one it is called “/etc”. That’s even more confusing.
If you throw out the FHS you will throw out a lot of well thought out concepts. You will most probably lose more than you gain.
As someone before stated it should not mean anything to a user and it doesn’t really whether something is stored in /usr or /usr/local or /opt.
The real key is that a simple file elegant unix file structure has been overcomplicated by vendors to the point of insanity.
Solaris alone can drive even a good sysadmin to drink.
You do NOT need a new hack standard for the file systems. The key is simplifying and standardizing around the simple core.
/ = stuff needed to boot
/usr = stuff for the user
/opt = optional 3rd party stuff
/home = your stuff
The next key is to simplify through the gui the user’s experience in trying to find these things.
If the paths are standard across *nixes (not just linux but all *nixes) then forget the guesses gui makers can standardize basic shortcuts and hot keys for getting to things and making their way around the system.
The user should not have to know the hierachal paths but simply be able to hit shortcuts and simplification interfaces for getting around and dealing with the paths.
I think a lot of this new model talk is just a crutch to avoid the much bigger issue of truly standardizing the file system hierachy. A number of projects have tried to push standards for just even linux but it does not appear that is working very well.
I know that the unix hierarchy is standardized to some extent, but I still think it’s inappropriate for desktop users.
Before getting to that, I would like to point out though there are major issues with the standards. For example, what is /opt for? Suse thinks it’s for KDE etc (I think,) Debian thinks it’s for nothing. Also, what’s the distinction between /usr and /usr/local in pratice? Apt installs everything in /usr, but it definitely seems like I’m installing locally.
Regardless though, for a desktop system, you have the big issue of allowing users to install software. It simply doesn’t work, if you install an app in your home directory, you have to hack it keep all it’s libraries, config and binaries together so they can be found without needing to write to /etc or wherever. Then you find you have to start duplicating libraries where needed, because you can’t change the linker’s search path, and then you’re in the same mess as windows, plus you can’t even launch apps from the command line without setting up a sim link farm or constantly changing your path.
Hence, I think a reasonable plan is to make a NON-unix-like Linux operating system. Thoughts?
All interfaces are mnemonic, that’s the essence of interfacing, labelling one in particular as mnemonic is plain psycho-babble (meaningless); this is mnemonic too,
http://www.viewizard.com/memonix/7.jpg
I would rather use this,
http://www.cs.umd.edu/users/oleary/c460/alphabet.jpg
This study is stuck in the current metaphor, which is really not the -desktop-, it is the underlying concept of FILES that models the WIMP (Windows, Icons, Menus and Pointers) Interface that a computer desktop uses now. A new metaphor will probably look back to Ted Nelson’s XANADU and seek to actually link text and graphics instead of displaying static file systems.
Here is a guy trying to look into the future who ends up asking himself one the most arcane and useless questions: -“Should all the files be visualized?”- That’s it, say no more. And all that fuss only to convert files into bubbles!
Mind is symbolic and the most powerful symbol known to date is text. Map the mind with text, link it with Hypertext, map it also with embedded graphics, link it all by way of a textual directory (no folders) combined with advanced boolean search, time stamps and personal associations, bring on zooming to provide a very practical visual enhancement.
http://humane.sourceforge.net/the/zoom.html
No files nor folders nor bubbles, it’s all about the text, about implementing a Hypertext User Interface,
http://xanadu.com
About organizing netted information,
http://haystack.lcs.mit.edu
http://www.osafoundation.org/
About finding,
http://images.webattack.com/screenfiles/scopeware.gif
http://www.hardwarecentral.com/graphics/screenshots/1050351976600vg…
http://www.networkingfiles.com/images/ScopewareVision.gif
http://www.computerworld.com/computerworld/records/images/story/sco…
He mentions that there doesn’t exist a note system where you can just click and type and thats it, well there are alot. Just keep stickynotes open on a mac, or a much more robust system, is the very nice Microsoft OneNote, you don’t ever have to save (it’s continually saving), you can organize, add drawings, add pictures, add sounds, organize them in various ways, add to do lists basted on your rambling notes, etc, if you have a tablet you can just write directly into it. Overall it’s a very solid package. But thats a bit off topic, sorry.
Manic
The author wants an interface that match to the way the brain represent information.
Not quite, one that “suits the human brain’s way”, which is different.
I don’t think the brain represent information in any shape, form, hierarchy
True – all we can do is observe and measure what our minds prefer, and adjust our environment accordingly. The mind map is “proven” in this sense, and that was my starting point when I wrote the article.
When I finally find an old file I’ve been searching for, I usually don’t even recognise it’s file name, nor the place I put it. My hope is that with a mnemonic user interface, remembering the file name doesn’t become that critical, but rather recall that I put the file next to that big green blob in the bottom-right corner.
On the linux file structure
Linux file paths are cryptic, but I don’t think the solution is to rename directories. Would a linux power user gain from that? Would a linux desktop user (who don’t want to mess with iptables and dhcp daemons anyway) gain anything? To the desktop user, who only wants to keep track of his own documents, I think the mnemonic user interface would serve well.
To a linux administrator, I think re-abstracting the file system is the answer, and keeping every daemon and service visualized as a cluster. I’m no linux expert, but maybe something like <a href=”http://cla.tc.se/grafix/linux_admin.gif
“>http://cla.tc.se/grafix/linux_admin.gif.
(Black and white only =/ )
My hope is that with a mnemonic user interface, remembering the file name doesn’t become that critical, but rather recall that I put the file next to that big green blob in the bottom-right corner.
You’re right. It would help (and even help a lot), if we persist in asking the user to search and find files instead of asking the machine to do the work.
BTW, your MUI would find a good complement in Jeff Raskin’s ZUI, the Zoom User Interface.
Personally i do not have a need to see everything on my computer. I understand the demand to find a better interface but look at it this way. The interface that we use to access text(books) has been around for how long? the computer could be looked at as an upgrade to that interface but it is largely just an emulation of the original book type inteface. I really don’t think the interface will change significantly until we start wireing up our brains to devices(make sure you install an inline fuse).
… One of my favourite free ones is SpaceMonger which shows a treemap of all the files on your hard drive (Windows). Also useful for visualizing a source-code tree.