Re: Virtual Directory Structure



temp123 brindabella org (2001-05-10 at 0003.19 -0400):
> Linux's directory structure is pretty arcane for a newcomer - bin, boot, 
> etc and so on.  And they seem to be repeated in subdirectories too.

If people do not want to heard the explanation, I guess they do not
want to poke inside. And one thing is the explanation and another be
able to build one. ;]

Anyway it is not very complex, mainly cos for a normal user you only
need to explain /tmp/, /mnt/ and /home/username/, and the rest can be
explained in a few phrases more.

> I think a simpler directory paradigm would make Linux much more 
> approachable for newcomers.

I would prefer virtual names on top of the real names. Yeah, it is
partial hiding, but at least you are not hiding it to the point of
becoming unusable. Things under different name are still the same
things, virtual things...

A nice name and probably people will get it fine, they will be able to
learn the "old" names if they like or need (ie use a shell, which is
not rare if you have to access a machine from other place, or network
devices, or areas of the filesystem that have no "translation" yet).
Also support people will not have learn much, just "new" long names.

Alan said we could look at MacOSX: its layout is not Unix but not as
problematic as Windows can be (non unified tree, weird loops, complex
access...). Apple had the option to rename all, and hide some, so they
did :-/ but not too much (homes are not /):
http://developer.apple.com/techpubs/macosx/SystemOverview/SystemOverview/FileSystem/

My suggestion is to keep the low level of the system, and just make it
nicer, never hiding or overvirtualizing, mainly cos whatever we do,
some users will run over a problem (old apps, got a book, want to
learn, user is the admin...). It is easier to say that GNOME provides
descriptive names on top of machine ones, than hide all in GNOME and
let the user become mad outside without solution.

Supposing a RH style layout (it can be adapted to other systems quite
easy):

First group is what user will probably see from day zero:

/home/ -> /User_Homes/
tmp/ -> Temporary_Storage/
/mnt/ -> /Removables_and_Servers/

I would keep ~ and ~username, it works fine, being able to locate the
home of anyone in a fast way is great (remember: multiuser system, and
sometimes homes are not local). MacOSX seems to support it (I guess
they tested it).

More if you have users that "walk":

/root/ -> /Administrator_Home/
bin/ -> Applications/
sbin/ -> Administrative_Applications/
lib/ -> Function_Libraries/
lost+found/ -> Recovered_after_Crash/

Some other expansions / changes to make things nicer:

man/ -> Manuals/
doc/ -> Documents/
share/ -> Common/ (not happy with this one)
games/ -> Games/
X11R6/ -> Graphic_System/

System things (so most users will just ignore them, but they have the
option to poke inside, and that is what counts, be able if you want):

/dev/ -> /Hardware_Devices/
/proc/ -> /System_Information/
etc/ -> System_Configuration/
/boot/ -> System_Core/
/var/ -> System_Temporary_Storage/

What to do with the "evil" usr and local:

/usr/ -> Extra (so /Extra/Applications/)
local/ -> Local (so /Extra/Local/Applications/ ... Rocket Science ;] )

If homes are under /mnt/, /usr/ or similar, leave them there. People
is smart enough to see that a system maybe gets the user info from
other machine or that users can be taken as an extra that was added
when computers evolved (/usr/ exists due expensive disks in the past).

Then provide four modes: use new only, use old only, use new but
tooltip shows old, use old but tooltip shows new (or instead of
tooltip some other kind of easy clue). Of course, the config tool
would use different phrasing, not "old" and "new".

Note: the "_" and "/" were on purpose, to note dirs and files, as some
kind of reserved method, so it is not confused with menus, commands or
similar. For the people complaining about no use of " ", I hope they
will explain users what %20 is, as well as recommend them to read
Apple note about metadata and extensions (Internet is the least common
denominator, so be cautious). User will be able to use names with
spaces if they want.

Unix can use anything except \0 and / for names, but better not abuse,
I have seen too many problems due it, and some of them in userfriendly
MacOS, for example wasting four pages of print color separations (the
transparent sheets, dunno exact English word) cos a user got confused
with names that sometimes had " " and others not ("image 002" looks
very similar to "image002" in a GUI, to the point of "why do I have
files with the same name in the same folder? that is impossible!").
Users can use spaces, or see another way that works, they are free.

Aventages:
- easy names (what really short names mean more or less, IMHO)
- translatable (French, German...)
- able to use old (or show in mix mode) if desired
- not excesively virtual (you can print a guide in a sheet for those
cases where it does not work, ie system recovery)
- all apps will work, no low level requirements (all GNOME apps should
use normal Unix names inside, but show new names if requested)
- secure / conservative approach
- can be created with some kind of global and user rules like
s|/bin/|/Applications/|g or s|^~/mail/|^~/Mail/|

Problems:
- hides a bit
- does use " ", "_" and "/" like old style, so I guess people will
tear clothes (I guess they are happy with interfaces that give no
clues and do weird things, like some webpages)
- new things are not automatically translated, you have to add some
config to the system if new dirs appear, until then, a mix appears

Comments? Fixes? Direct discard? :]

GSR
 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]