Forgot your password?
typodupeerror
Data Storage Linux Business GUI Software Linux

Shuttleworth On Redefining File Systems 414

Posted by Soulskill
from the as-long-as-we-don't-call-it-2.0 dept.
moteyalpha writes "Mark Shuttleworth described the beginnings of what could a great step forward in making file systems more usable. I've personally had the experience of trying to find a file for a customer who had just finished editing a critical report, saved it, and then couldn't locate it to deliver to their client. Quoting: 'My biggest concern on this front is that it be done in a way that every desktop environment can embrace. We need a consistent experience across GNOME, KDE, OpenOffice and Firefox so that content can flow from app to app in a seamless fashion and the user's expectations can be met no matter which app or environment they happen to use. If someone sends a file to me over Empathy, and I want to open it in Amarok, then I shouldn't have to work with two completely different mental models of content storage.'"
This discussion has been archived. No new comments can be posted.

Shuttleworth On Redefining File Systems

Comments Filter:
  • This would be easy (Score:4, Informative)

    by CRCulver (715279) <crculver@christopherculver.com> on Saturday October 25, 2008 @01:54PM (#25510485) Homepage

    I've personally had the experience of trying to find a file for a customer who had just finished editing a critical report, saved it, and then couldn't locate it to deliver to their client

    Was it a Word file? Locate all .docs, run them through antiword, grep for words from that critical report, and report back the matches. Less than a minute of Bash scripting.

    • by larry bagina (561269) on Saturday October 25, 2008 @01:54PM (#25510493) Journal

      or search by last modified time.

    • Re: (Score:2, Interesting)

      by smidget2k4 (847334)
      Ooops, posting to remove mod
    • by antifoidulus (807088) on Saturday October 25, 2008 @02:00PM (#25510541) Homepage Journal
      Or just use spotlight, Mac users have been able to do find files quickly for years.
      • by DigDuality (918867) on Saturday October 25, 2008 @02:05PM (#25510583)
        Oh yes, spotlight is soo novell. Exactly what can you do with spotlight *nixes haven't done with find, locate, and grep for many more years before apple even thought of going the *nix route?
        • by Goaway (82658) on Saturday October 25, 2008 @02:10PM (#25510633) Homepage

          They can search for files by typing in words to search for and pressing enter.

          • by tolan-b (230077) on Saturday October 25, 2008 @02:15PM (#25510671)

            So like Tracker that comes installed by default on Gnome based distributions then?

            Or Beagle, that was released somewhat before Spotlight.

          • Re: (Score:3, Funny)

            We don't press enter.

            Cheers,

          • Re: (Score:3, Insightful)

            by SignOfZeta (907092)
            Actually, they don't even have to press enter. Spotlight searches as you type. Shuttleworth's point here is that while we Slashdotters have slocate, find, grep, etc., what do the grandmothers and Microsoft expatriates have?
            • by fatphil (181876) on Saturday October 25, 2008 @07:26PM (#25512967) Homepage
              Who cares? Are people really so insecure about their OS that they want the reinforcment of knowing that even senile grandmothers can and do use it? Personally I would prefer it that the idiots _weren't_ using the same OS as me.

              If you (not *you* you, the generic "other" you) don't care where you are storing your files, then I don't care if you find it hard to find them. Removing the usefulness for ad hoc organisation, and improving search functionality is tantamount to just doing away with the hierarchical file-system altogether. Welcome to the 60s - enjoy your stay. This "it shouldn't require me to think" attitude is the attitude which gets people driving cars off river embankments because of their reliance on their GPS system.

              Yes, this patronising and pure, unadulterated, snobbery; I won't pretend otherwise. No need to flame me for it; I already know.
              • by miro f (944325) on Saturday October 25, 2008 @09:17PM (#25513577)

                Who cares?

                Clearly Mark Shuttleworth cares. He wants to make money off Ubuntu.

              • Re: (Score:3, Insightful)

                by mollymoo (202721)

                Are people really so insecure about their OS that they want the reinforcment of knowing that even senile grandmothers can and do use it?

                Are people really so insecure about their OS that they worry about whether a senile old grandmother can use the same one?

        • by MrCoke (445461) on Saturday October 25, 2008 @02:13PM (#25510649)

          You don't get it.

          My grandmother could use spotlight. She won't be able to use find, locate and grep.

          And that is the target audience of Shuttleworth's point: the Computer Illiterates.

          • by Facegarden (967477) on Saturday October 25, 2008 @02:32PM (#25510813)

            You don't get it.

            My grandmother could use spotlight. She won't be able to use find, locate and grep.

            And that is the target audience of Shuttleworth's point: the Computer Illiterates.

            I agree, everyone on here acts like linux is way better because it's had this stuff for ages but i STILL can't use most of it because it requires spending hours online searching for answers (and when you're trying to get the internet working in linux on a dual boot machine, it's hell... you have to reboot to something else, search for answers, reboot to linux, try it, forget what you had to do, reboot...)

            I don't really need to try hard to make the argument because you guys either already know what i mean or you pretend like it's easy ("duh just type ~rf - m" or something something, because yeah, a menu to do that would kill someone).

            Anyway, yeah, spotlight is probably nice. Google desktop is also awesome. I especially like being able to just double tap control to bring up the search, type what i want, it's right there.

            Anyway, now that i've pissed off everyone...
            *hides*
            -Taylor

            • (and when you're trying to get the internet working in linux on a dual boot machine, it's hell... you have to reboot to something else, search for answers, reboot to linux, try it, forget what you had to do, reboot...)

              Ahh... the good ol' days.

              I remember doing that when I was 11 years old, trying to Install Redhat 6.0 on my mom's computer.

              Boy have things changed quickly. Now we have LiveCD's (and LiveDVD's) to test hardware with... the most important of all being your network connection... if you have that

            • by jonaskoelker (922170) <jonaskoelker@gnu ... org minus distro> on Saturday October 25, 2008 @03:10PM (#25511097) Homepage

              "duh just type ~rf - m" or something something, because yeah, a menu to do that would kill someone

              For no one thing would a menu item to do that thing be particularly bad. But you can't put _every_ task in a menu, because there are infinitely many tasks.

              If you find people often tell you to type in commands you don't understand, it's probably because it's the most efficient way to do something once you do master it. See for instance http://www.linuxquestions.org/questions/linux-newbie-8/modifying-functions-678643/ [linuxquestions.org]. I've built a 1650-byte podcatcher in #!sh [and that's including proper error-checking and all].

              It's also dense communication-wise; compare "sudo ifconfig eth0 192.168.0.1" with "System -> Administration -> Network; unlock, wired connection, properties, enable, static ip, 192.168.0.1".

              That being said, though, deskenvs should support the most common and important tasks in an easy-to-use way.

          • by syousef (465911)

            My grandmother could use spotlight. She won't be able to use find, locate and grep.

            Sounds like find, locate and grep need a nice GUI, rather than being fatally flawed.

            • Sounds like find, locate and grep need a nice GUI, rather than being fatally flawed.

              I think that was the point Mark Shuttleworth was trying to make.

          • Re: (Score:3, Insightful)

            by Zerth (26112)

            I bet she can use "open recent"

        • by fluch (126140) on Saturday October 25, 2008 @02:13PM (#25510655)

          Spotlight is faster. Very much faster...

        • by barzok (26681)

          How many binary file formats can you search that way?

          Does it search user-defined/entered metadata (Spotlight comments) too?

        • by samkass (174571) on Saturday October 25, 2008 @02:23PM (#25510745) Homepage Journal

          Next I suppose you're going to say that rsync is the same thing as Time Machine, when in reality while they may be in vaguely the same arena of functionality, they are orders of magnitude different in utility. Instant searches of both local and remotely accessible drives tied to various easy filtering and categorization functions makes Spotlight a game-changer. Just like always on, incremental, and back-through-time searches and intra-file record retrieval (ie. 1 address book entry, photo, song, etc) make Time Machine a game-changer.

      • Have a look at Tracker and Beagle. There's desktop search on Linux too :)

    • by interiot (50685)
      Sort all .DOCs by mod-time, most recent first. Half the tech world hasn't really thought about why sorting by time is so useful, and the other half uses it as the default sort for everything.
    • by haeger (85819) on Saturday October 25, 2008 @02:03PM (#25510575)

      Less than a minute of Bash scripting.
      Obviously you're not a consultant.
      "If you're not part of the solution there's good money to be made in prolonging the problem."

      Do you honestly expect ANY customer to pay you if you solve their problem in less than a minute?
      Back to school young grasshopper, you're obviously not ready for the real world.

       

      .haeger

      • That's a better reply than what I was thinking:

        What kind of linux advocacy is it in 2008 where the answer to the problem is Writing a Script?

        No. Not gonna happen. No-one in the windows world writes a script to search for a file, it shouldn't require that in linux either.
        • by jedidiah (1196)

          "Don't panic" is pretty darn good advocacy.

          You don't have to "nanny state" everyone. You can let
          people know that the problem really isn't as big or as
          bad as some people would like you to believe.

          You don't have to disrupt everything and re-engineer
          everything and in the process BREAK everything by
          introducing loads of new bugs. You can just use the
          tools that are already there.

          Some of them even include GUI elements. ...it probably means that the problem is already solved,
          it's just not well publicized because to

    • by Animaether (411575) on Saturday October 25, 2008 @02:06PM (#25510595) Journal

      - Or look in My Recent Documents (works with most applications)
      - Or look in Recent Files in the application of choice's file menu (most applications)
      - Or go to File > Save, eye the file browser that probably opens the last location you saved to

      Or, you know, grow short-term memory capacity.

      Honestly, "I just saved a file and now I don't know where I put it" is more indicative of the human operating the computer, than it is of the computer apparently lacking facilities to find the files.

      That said
      - Google Desktop
      - etc.
      Will all index files in ways that you can easily retrieve them beyond that base Windows will do. OS X and *nix systems do this even better and in an easier to use (completely transparent) way, too.

      • Shuttleworth's real dig is not, "Hey, we're going to make it so that you can do stuff you couldn't do before." No, no, no. Of course you can already do stuff like this. And I'm sure everyone who reads this site could tell you how.

        The point is making it screamingly obvious and intuitive. Fool-proof. Unconscious. Integrated. The kind of abstraction where you don't think, "Hey, I have an application to do such-and-such," but where you think, "This is a computer, so it does that if I click here." Like the "Back

      • by node 3 (115640) on Saturday October 25, 2008 @03:53PM (#25511397)

        Honestly, "I just saved a file and now I don't know where I put it" is more indicative of the human operating the computer, than it is of the computer apparently lacking facilities to find the files.

        And this statement perfectly demonstrates why Linux is not now, and will not be for a very long time, a true Desktop OS.

        The Interface Matters. Linux has the technology down pretty well. It's not always the best, but it generally has the most breadth. The problem is the interface is designed around the technology, and not the humans for which the technology exists.

        Your statement is, essentially, "Linux can do this task just fine, the problem is most people don't take advantage of it." Simply leaving it at that, and blaming the user, is not going to improve matters. On the other hand, if you look into it further and ask, "why don't people use this functionality?" might lead you to a solution that people will use. However, such inquiry is anathema to the Linux ethos.

        The problem lies not with the user, the problem lies with the Linux programmers who show clear disdain for the needs of their users[*], giving primacy to the nature of the technology instead.

        Doing that gives Linux all sorts of flexibility and technological capabilities, while simultaneously making it a fundamentally useless desktop OS.

        [*] Some people like to imagine the target users are not desktop users, but sysadmins and Linux programmers. Fair enough, but this whole thread is based on the premise of Linux as a Desktop OS. Designing a system for sysadmins and Linux programmers completely precludes any notion of it as a Desktop OS to anyone outside of those groups.

        • by zapakh (1256518) on Sunday October 26, 2008 @01:50AM (#25515131)

          Honestly, "I just saved a file and now I don't know where I put it" is more indicative of the human operating the computer, than it is of the computer apparently lacking facilities to find the files.

          And this statement perfectly demonstrates why Linux is not now, and will not be for a very long time, a true Desktop OS.

          I couldn't find my keys this morning. It's a real shame, too, since I used to think my car was roadworthy. But it turns out that it expects me to know where I put my keys, and blames the user when they go missing.

          I just want to drive to work! I don't want to manage a bunch of keys...

    • by PPH (736903)

      This hack works well, and illustrates one of the fundamental problems with storing/retrieving data based upon content. Current file systems can locate data based upon a few common characteristics such as timestamps, file type, size, names, etc. But more advanced indexing and lookup systems tend to be domain specific. The important characteristics of each piece of data tend to differ from one application domain to another. Or between organizations, business processes, or individual users.

      The 'find ... |antiw

    • Re: (Score:3, Insightful)

      by ka9dgx (72702) *
      A search might work, if you don't happen to have my 200,000+ photos or 100,000+ other random bits of stuff that accumulates over time you might even be able to do it in a few seconds, But I believe the OS (or the file manager) should be able to keep track of this stuff for you, which means a new API, and the file managers have to tap into it at a minimum.
      It's reasonable to call for everyone to do it in the same way, to be interoperable.
    • I should be able to tag a file with "friends, birthdays, gifts" and be able to find that file again using any of the terms.

      Hierarchical filesystems are ok for systems management, but they are crap for assigning meaning to user data. A hierarchy implies that any particular file can only have a single aspect when in fact it may have dozens of aspects.

       

      • by vadim_t (324782) on Saturday October 25, 2008 @03:03PM (#25511037) Homepage

        You think it's going to be any better for people who can't find things they saved?

        They can't find it because they didn't care at the time of saving to attach enough information to the file to be able to find it later. Instead, they saved it under a name like "letter5", or even worse, "asdf", and possibly left it in a random directory as well.

        Tags won't be just as bad, they'll be worse. They require a considerable effort to tag consistently. You also have to think of all the possible tags that could be related to the file. Is it "friends", "acquaintances", "buddies", etc? Is it singular or plural? Will "birthdays" be enough, or you also have to file it under "parties", "celebrations" and "events" in case you remember the file you need was related to some sort of celebration but you can't remember which?

        What happens with categories that are diffuse, change meaning, or their contents? For instance, take emails from Alice, that initially get tagged with "acquaintances", then progresses to "friends", then "significant other", then "ex". If you search for something that was mentioned in a friend's email, are Alice's emails tagged as they were initially (in which case after the upgrade from acquaintances to friends her previous mail needs an extra keyword to find), or have they all been updated to "ex", in which case the search might fail since she was a friend back then?

        Coming up with a good keywords system is something that only geeks and secretaries are going to do. Your average person will at best pick a couple keywords, then complain they can't find stuff because they didn't use the right keywords, or that every single document comes up because all the mail is tagged as "email" and nothing else.

        • Re: (Score:3, Interesting)

          by YttriumOxide (837412)

          I do agree with you, however for the particular point you raise, I do think the "nicest" way to do it would be to tag the file with "Alice". That tag is meta-tagged with "friend", and then after the change in relationship, you only alter the meta-tag, automatically allowing the files tagged "Alice" to be found with "significant other" or later, "ex".
          In the same way, the tag "birthday" has the meta-tags "celebration" and "events", so those searches will also work, but will find other non-birthday related th

    • Except that when this happens to me it's normally shared on some stupid multi-terrabyte windows-hosted nightmare fileshare connected by what seems like an IPoCP (RFC 2549) link and the search you describe would take three days. Most of the time Open Office's recent-opened list saves me; but not always.
  • Semantic desktop (Score:5, Interesting)

    by oever (233119) on Saturday October 25, 2008 @02:01PM (#25510545) Homepage

    Merging the efforts of Nepomuk [kde.org] and new file systems like brtfs are the way to go with this. Handling of file events can be done better than what we have now with inotify. File systems should allows plugins to update indexes on files within the file system structure and file systems should allow queries and query monitors directly.

    DBPedia shows the power of SPARQL and implementing an efficient storage for it into a file system is the first step forward. Then user interfaces in GNOME and KDE can take advantage of the queries that are currently very expensive to do.

    Ubuntu is in a good position to help out on the Nepomuk effort. Mandriva is already sponsoring this work. More support for this desktop-independent project would be a boon for achieving the file system Mark is looking for.

    • Re:Semantic desktop (Score:5, Interesting)

      by harry666t (1062422) <harry666t@gmail. c o m> on Saturday October 25, 2008 @03:26PM (#25511201)
      Why not the other way around?

      Get rid of the file system at the OS level.

      Treat every document (text file, source code, song, album, web page, picture, movie, contact, email message, etc) as an object, with associated tags: class, interfaces, metadata, etc, and store it in a database.

      Locate the objects by querying the database, not by going through a hierarchical tree (eg. 'find-object type:program, name:"python" version:2.5' instead of "/usr/bin/python2.5" - yeah, more typing, but consider this: when the object is not found, the system already has ALL the info necessary to download and install it, and all of its dependencies - just catch the exception thrown when "no matches found in local storage", invoke apt-get like magic on it, retry).

      Remove the distinction between "regular" memory and cache, and just make whole RAM a big cache for accessing on-disk objects. Ensure object persistence across reboots - no more shutting down, hibernation the only way. No swap file or partition needed - the whole disk is a swap area. The anonymous memory (the malloc()/new one) is no longer anonymous - it belongs to the process object. Versioning - use the free space to hold older revisions of every object (unless explicitly marked not to do so - in case of /var like stuff or highly confidential data), and rm old backups as more space is needed for "current" (or more recent) objects.

      Permissions - get rid of Unix permissions or ACLs and use capabilities, eventually use different namespaces for each running process (like Plan9 does it). Get rid of all-powerful root.

      Exchange of objects over the network? Serialization (for example, turn the "image" object into a regular jpg or png, store other metadata in associated xml file, and pack everything into a zip or gzipped tarball).

      Legacy apps? Implement the traditional file system API in a library, some LD_PRELOAD tricks or whatever. For example every object with a "type: program" tag would be accessible from /bin/, /sbin, /usr/bin...

      The only problem?

      $ apt-cache search ".*"|wc -l

      25221

      The transition would be ***painful***.

      Anyway, if I'd be doing an OS from scratch (I tried some time ago - definitely not a task for a team of one human), that's how I'd do it.
  • by ka9dgx (72702) * on Saturday October 25, 2008 @02:08PM (#25510615) Homepage Journal

    Version control, searching, and all of the other advances since the first directory tree are good things to add, but they must be supported down to the application level.

    VAX/VMS had a wonderful system of versioning baked right into things, if you worked on a file, it kept versions for you as you saved them....

    login.com;1
    login.com;2
    login.com;3
    .. etc.

    The default was the last version, unless you explicitly chose a different one. This is an incredibly useful tool, and I still miss it to this day, 20 years after I last used it.

    If you can't express an idea explicitly, your power of expression is radically limited. If we can get consensus and support a bigger set of expressions, we can do a whole bunch of cool new stuff. As long as we follow the leader, we'll never do anything this innovative, and we'll always be playing catch up.

    It won't be easy!

    To do even this simple thing with Linux, all of our applications would have to be re-written to enable a new file specification syntax, hopefully one reasonably compatible with the past. We're talking about a shitload of work, so it's important to agree on a set of goals first, to avoid having to re-do it later.

    --Mike--

    • Re: (Score:2, Insightful)

      by pseudonomous (1389971)
      Isn't this just a less elegant approach then having a versioning file system? http://en.wikipedia.org/wiki/ZFS#Snapshots_and_clones [wikipedia.org] http://www.ext3cow.com/Welcome.html [ext3cow.com] And if you really, really want to do it this way, just consistently use "save-as"
    • Re: (Score:3, Funny)

      To do even this simple thing with Linux, all of our applications would have to be re-written to enable a new file specification syntax, hopefully one reasonably compatible with the past. We're talking about a shitload of work, so it's important to agree on a set of goals first, to avoid having to re-do it later.

      And there you have it, that is the advantage that open source really has. Backwards compatibility can be dropped fairly quickly because other software that relies on those APIs can be rewritten by the same people who changed the API.

    • To do even this simple thing with Linux, all of our applications would have to be re-written to enable a new file specification syntax,

      Why? Hans Reiser demonstrated that files can be directories too, without breaking the VFS layer.

      Say we bake versioning into the file system. You want the old versions of /home/user/shopping-list.txt; you go look in /home/user/shopping-list.txt/old/1. If you want the one from yesterday you go for /home/user/shopping-list.txt/old/bytime/2008-10-24.00:00:00, and the file system figures out which of the old versions was present at that time.

      Same old syntax. The name resolution is handled differently, but that's all in the file system. You could probably even write a fuse file system that adds a layer of versioning on top of another file system. No need to ever touch the apps.

      If you want the duct tape solution: write a shell script that checks whether anything changed every n minutes, then commit your home directory to subversion/git/....

      Do you have any numbers on how much space was used on extra versions for a "typical" distribution of files and usage patterns? TANSTAAFL and all that ;)

      • by jimicus (737525)

        Do you have any numbers on how much space was used on extra versions for a "typical" distribution of files and usage patterns? TANSTAAFL and all that ;)

        Of course it did take up space and you had to do some maintenance to reclaim that, but ATEOTD if you've bought a disk with N capacity and you only use N/2, it follows that the rest of it is essentially wasted. Might as well do something useful with it.

        • but ATEOTD if you've bought a disk with N capacity and you only use N/2, it follows that the rest of it is essentially wasted. Might as well do something useful with it.

          I come dangerously close to 100% before buying new storage. I even delete videos I'm done watching just to reclaim space [I can always download them again if I need them]. You're correct, but the condition of your if-statement is only true for 5% of the disk lifespan.

          I'm not trying to say "wah wah it uses more space". I'm trying find out whether it's worth complaining about :)

          You had to do some maintenance to reclaim that

          Here's an interesting idea I just had: when the disk is full, it automatically runs through the non-newest versions of all files f

    • Re: (Score:3, Interesting)

      by Fweeky (41046)

      HAMMER [dragonflybsd.org] provides similar capabilities; you can view files, directories, or entire filesystems as of specific versions. "hammer history foo" to find the history of a file, then look at foo@@[id] to view the file at any given point.

    • by syousef (465911)

      I still use VMS today at work (on Alpha and Itanium). I'd like to point out that versioning like this works a hell of a lot better on small text files than larger binary files. You also tend to get initimate with the purge command (which leaves deletes old versions) otherwise your sysadmin gets narky when you run out of disk. Half the time you just end up running a purge of everything but the latest version, negating the benefit of having the versioning in the first place.

      Note too that VMS lacks a lot of wh

    • Re: (Score:3, Insightful)

      by bcrowell (177657)

      I used VMS for years, and I don't think I'd want to go back to its versioning system. It was actually kind of annoying. You kept on having to do the purge command to get rid of all the old versions of files that were cluttering up your account and using up your disk space.

      For my day-to-day activities on Linux, I get along just fine without that kind of automatic versioning. Emacs makes ~ files, which gives me versioning one level deep, and that's almost always all I ever need. I also use Unison to mirror

  • Why? (Score:5, Insightful)

    by wumpus188 (657540) on Saturday October 25, 2008 @02:12PM (#25510643)
    ... just finished editing a critical report, saved it, and then couldn't locate it to deliver to their client.

    Well, there are some people who can't find Pacific Ocean on the map. I dont see map makers running around in panic, thinking how to make their maps more accessible to the general population...
    • What's interesting is that maps of the world have a quite good relation to where the locations really are. There are some projection methods which are good enough to put the information on a 2D map. The problem is that this is not possible or very difficult for other information like all your documents on your harddisk. Tree structures don't work very well because its impossible to find one single tree where everything fits nicely into just one section. Tagging and search is usually better but its also not

    • Well, there are some people who can't find Pacific Ocean on the map. I dont see map makers running around in panic, thinking how to make their maps more accessible to the general population...

      I think it's just a shortage:

      Well, I personally believe
      that
      U.S. Americans are unable to do so
      because uh, some
      people out there in our nation
      don't have maps

      And we should all help Mark Shuttleworth make more maps!

      and I believe that our education like
      such as South Africa
      [...]
      I believe that they should
      our education over here!
      in the U.S.
      should the the U.S.,
      should help South Africa

      I mean, think of the children! You don't hate children, do you?

      so we will be able to build up
      our future
      for our children

      (watch more intellectual roadkill at http://www.youtube.com/watch?v=WALIARHHLII [youtube.com])

    • by Dr. Tom (23206)
      That's right. Why did the user lose the file? Maybe it would be good for the user to learn how to remember filenames, or what a folder is, or otherwise how to use the tools required for work.
      • Re:Why? (Score:4, Interesting)

        by jc42 (318812) on Saturday October 25, 2008 @04:30PM (#25511633) Homepage Journal

        Why did the user lose the file? Maybe it would be good for the user to learn how to remember filenames, ...

        Funny example: A couple of weeks ago, while downloading and installing something, it asked where I wanted it saved. Naturally, I typed in a file name, starting with a couple of directories with slashes between them, and hit the Save button. Then I went to that directory to look at the file - and it wasn't there! I looked around in all the obvious places, and didn't find it.

        Now, I can see some people snickering at a "dump Windows user". But this was on linux. So I did what y'all would eventually do, I ran a "find / "*foo*" command, where "foo" was part of the file name. After a good while, it found it. It was in my home directory (not the one in the save window's Directory widget), and its name had all the slashes changed to colons.

        My reaction, of course, was "WTF???" I did a couple more tests, and got the same insane misbehavior. The app was obviously intentionally programmed (with malice aforethought) to do this to pathnames.

        Lesson: On any system, linux included, an app can do utterly insane things like this that no sensible user would ever expect. Some apps seem designed to do such things in the worst possible way, perhaps to challenge the sucker^Wuser to figure it out.

        It is, of course, all part of the popular GUI culture, in which the user isn't supposed to worry their pretty little head about such details. Users are assumed ignorant and illiterate, the details should be hidden from them, and the app can decide for itself what things are called and where they should reside.

        It's part of why the more intelligent people eventually migrate to the CLI environment, which has far fewer such insanities as roadblocks to getting things done. But even there, the attitude that "the user is an idiot" is spreading. And the CLI environment isn't for everyone, since it requires a good level of literacy. So we can expect such things to continue, and probably get worse, for a long time.

        Anyway, I have one more item on my long list of things developers can do to make life difficult for users.

    • Re:Why? (Score:5, Insightful)

      by Sentry21 (8183) on Saturday October 25, 2008 @03:23PM (#25511183) Journal

      Yes, but most users don't create the pacific ocean, save it in the default location, and then have no idea whatsoever where that default location is, because it's not a fixed location across all apps, it never says it anywhere except the Save dialog, and it's not a sensible, obvious default.

      That's the problem we're trying to solve here - not 'clueless users lose things', but 'regular users get confused when every program saves somewhere different by default'.

    • Re: (Score:2, Insightful)

      by finity (535067)
      Ever used Google Maps? If you can't find something on the map, just type it in.
  • I've personally had the experience of trying to find a file for a customer who had just finished editing a critical report, saved it, and then couldn't locate it to deliver to their client.

    So the user decides not to pay attention to where the file was saved (I mean, you do get to choose where it goes, it does not just happen) and later has difficulty locating it. Yes, that is unpleasant, but is additional complexity in the file system really the best solution? I am honestly not sure how I feel about that

    • Re: (Score:3, Informative)

      by ScrewMaster (602015) *

      They claim that they are not interested in understanding, but it seems like they are strongly interested in not understanding. Is there something to be gained by accommodating this?

      Not really. It will just make systems appear childlike in nature to those who are willing to learn, and generally unpleasant to use. Of course, I started out in 1975 on a mainframe and spent a lot of years after that at the command line, so perhaps I'm not the best person to ask. But, like most other things in life, there's a balance that has to be struck, and no matter what you do people will still be required to learn something about their machines.

      A lot of that goes to motivation: people learn some pr

      • Re: (Score:3, Insightful)

        by TuringTest (533084)

        A lot of that goes to motivation: people learn some pretty damn complex activities when it comes to earning a driver's license, for example

        That's because cars only have one level of user interface. If they were sometimes required to directly push the levers to turn right, cut the ignition wire to stop the car, or remove and disassemble the motor (and then rebuild it) to recharge fuel, they would all use taxis.

    • by Dutch Gun (899105)

      It's easy to avoid understanding a system at a deep level. People are pretty good at memorizing steps to get a job done. That doesn't mean they have any deep understanding of what they're doing. While this is a decent short-term way to get from point a to b, it's worthless if the steps change in any small way, of course. This is why continuously changing interfaces are a big deal to companies and office workers - most software developers don't understand this, because they think about things in an enti

    • by m.ducharme (1082683) on Saturday October 25, 2008 @03:14PM (#25511111)

      So the user decides not to pay attention to where the file was saved (I mean, you do get to choose where it goes, it does not just happen)

      This isn't strictly true, as each program has a default action on saving a file. Some default to desktop, or to "My Documents" or ask for a directory by default. Others may do "smart" checking and try to sort the files depending on what file type gets detected. It's this wide variation that's the problem. Even for someone who is knowledgeable enough to handle the situation without help, it's still a pain in the ass (and waste of time) to dig out the setting and replace it with your preferred setting.

      Yes, that is unpleasant, but is additional complexity in the file system really the best solution?

      Probably not the best solution. Better would be for the OS developers to set a standard directory scheme and enforce other developers to comply with it. If you want to change the scheme you can dig in and do it yourself. Of course, this may not be practical, as it may prove more complex to enforce compliance (and still keep things customizable) than it would be to bolt on the same functionality in the file system.

      that at some point there needs to be a minimum expectation of competence on the part of the user.

      But who gets to decide what that expectation is? Don't forget, computers are not "for" hobbyists, developers, experts and geeks, they are for normal people to make their other tasks easier. The more time these people spend training and raising their minimum level of computer knowledge, the less time they spend doing their real work/play, the less value the computer has for them.

      Is it really too much to ask of a user that they understand that it is a machine, an inanimate object, and it generally does only what they tell it to do (insert Windows jokes here), and that if they tell it to do something by mistake (like saving a file in an unintended location), the mistake is theirs and not the machine's?

      Yes it is too much to ask, because it's not true. Computers as machines do what developers tell them to do. The amount of instructions given by the programmer vis-a-vis object code vastly outnumbers the number of instructions a typical user is going to issue to the machine. This is necessarily true since each instruction given by a user is a blind proxy for at least one instruction (and probably more like hundreds or thousands of instructions) given by a developer.

      Users can't be expected to predict a) all the myriad directions that a programmer has given/is giving the computer and b) the effects of the user's instructions when interpreted in the context of the programmer's instructions and assumptions. Most users are bad at using computers effectively because they don't understand how developers think. You wanna try teaching them how you think?

      If that is too much to ask, then what is a more reasonable standard? How far should we go to accommodate users who, to put it bluntly, refuse to take responsibility for their actions?

      Well, in my opinion, I think we're pretty close to the reasonable standard right now. People can decide for themselves how much they want to learn, how much pain they want to suffer for their ignorance versus how much time they want to spend reducing their ignorance, and vote with their wallet. You're basically saying that you want users to learn more, to make developers' lives easier, but in fact developers get paid to make users' lives easier. Maybe the developers should do their jobs better.

      It's like that Unix saying, (paraphrase) "Unix doesn't try to stop you from doing something stupid, because that would also stop you from doing something clever". I like that, not because I think it's witty but because in my opinion, it reveals a design philosophy that assumes that maybe this is new to you and you don't und

    • by TuringTest (533084) on Saturday October 25, 2008 @03:21PM (#25511167) Journal

      So the user decides not to pay attention to where the file was saved

      Of course the user paid attention to where the file was saved: it was saved in Word, inside the Save As... dialog. But when she tried to recover the file using the Open..., the file was no longer there. That's what Shuttleworth means when he says there are two completely different mental models of content storage: one is tied to functionality in applications, the other is a tree of folders and files.

      Users understand perfectly that it is a machine that should do only what they tell it to do. They get upset when the machine *doesn't* do what they told them, because the machine changed their data to a different level of abstraction that they don't know about. To someone without a complete mental model of the inner workings of a computer, those different abstraction levels are a source of utter confusion.

      You geeks only see the last one, and typical users only see the first one - and when they are required to jump the gap between the two completely unrelated abstractions, they are lost. At least the "My Documents" kind of folders tries to simplify the model so that users don't have to learn the two models.

      So don't blame the users of something that is fault of the software designer [wikipedia.org] because of their insufficient research about the human API. Throwing layers upon layers of abstraction is a good way to tell programmers how the machine works, but it's not good for everybody else. If you designed a machine that only required one abstraction layer to be used efficiently [wikipedia.org], users would love to learn it to the highest proficiency.

    • I just used my last mod point on a less worthy post, but I'll blow it off in order to say that I agree with the parent, and to add that I wholeheartedly despise the all-too-common mindset that expects and even encourages people to stay ignorant their whole lives.

  • by m50d (797211)
    Seriously, there are efforts in place for more advanced filesystems - but it's all to no avail when the linux kernel will neither merge these into its tree, nor provide a stable API for them to be maintained outside it. It's kernel politics that's the biggest thing holding back linux filesystem development.
  • by Prof.Phreak (584152) on Saturday October 25, 2008 @02:21PM (#25510729) Homepage

    ...had the experience of trying to find a file for a customer who had just finished editing a critical report, saved it, and then couldn't locate it...

    None of this would be an issue if folks were competent and created directories themselves, and Word (or whatever) asked where to save stuff, as opposed to just assuming (or insisting on) some default system provided directory.

    Am I the only person who hates those "My Documents" folders? Or on a Mac iTunes insisting on putting music in a certain weird place? I want to create my own folders, and maintain why own directory structure, and know exactly where stuff is because I put it there---not because Microsoft/Apple/Ubuntu think that's where I should keep stuff.

    For the most part, maintaining my own folders for stuff works out just fine (easy backup, easy moving among environments, etc.), except when some program assumes it knows better, and saves a file "somewhere"; really hate it when that happens.

    ie: The problem is caused by Microsoft/Apple (and Linux following) to cater to stupid users who just want to create a document and not care where it is saved. Those same users probably wouldn't be able to locate the file (for copy/backup, etc) unless they use the same program they used to create the file.

    • by Mwongozi (176765) <slashthree@davidglov e r .org> on Saturday October 25, 2008 @02:50PM (#25510943) Homepage

      Or on a Mac iTunes insisting on putting music in a certain weird place? I want to create my own folders, and maintain why own directory structure, and know exactly where stuff is because I put it there---not because Microsoft/Apple/Ubuntu think that's where I should keep stuff.

      I know that you're not really looking for a solution - but that behaviour in iTunes is optional. You can turn it off, and then iTunes will use whatever folder structure you've already got.

      The thing is that 99% of iTunes users don't know, and don't want to know, exactly where in the filesystem their music is stored, they just want to click on iTunes and see it. So that option is on by default.

    • Re: (Score:3, Insightful)

      by TuringTest (533084)

      The "My Documents" folder is not a weird place, is the only one that can be accessed in a sane way from the Save and Load dialogs. Normal user data is tied to the applications they use (the filesystem *is* the weird place to put data), so it's just natural that their mental model of storage is mediated by the application storage functions.

  • Meddle not in the ways of filesystems. Lest you succumb to the curse of Reiser.

  • by ThePhilips (752041) on Saturday October 25, 2008 @02:30PM (#25510795) Homepage Journal

    We need a consistent experience across GNOME, KDE, OpenOffice and Firefox so that content can flow from app to app in a seamless fashion and the user's expectations can be met no matter which app or environment they happen to use.

    In Windows we have survived several such attempts. e.g. "Recent File" or "Documents" in Start menu; or the useless location buttons in open/save file dialogs.

    Let's just hope I would be still able to open a file at random location. Because the statement makes me feel that eventually I would be able to find all possible files - system thinks I may need to find, but not the files I actually need.

    I've personally had the experience of trying to find a file for a customer who had just finished editing a critical report, saved it, and then couldn't locate it to deliver to their client.

    Orienting future development on full idiots worked well in past... Or not? Well, GNOME full of it already and another drop of inusability into the mix will not hurt much its rabid fans.

    As they say, give man a fish...

    P.S. rfc1925, ch 11.

  • Simple solution (Score:5, Insightful)

    by Waffle Iron (339739) on Saturday October 25, 2008 @02:41PM (#25510859)

    If someone sends a file to me over Empathy, and I want to open it in Amarok, then I shouldn't have to work with two completely different mental models of content storage.

    And you wouldn't have to, if every app would just show the frigging directory tree as it exists, instead of trying to fool the user with a random bunch of stupid fake roots in every GUI.

  • In other words ... (Score:3, Insightful)

    by ScrewMaster (602015) * on Saturday October 25, 2008 @02:42PM (#25510871)

    If someone sends a file to me over Empathy, and I want to open it in Amarok, then I shouldn't have to work with two completely different mental models of content storage.

    Yet another abstraction layer.

  • When I misplace a file I simply search on its extension for all files modified today. I never realized that this was such a big deal.
  • Or you could just go back to the recently used file list and resave it in the proper location.
  • What does any of it have to do with a better file system?
  • Sounds like he wants Office.

    Seriously, what the hell was his problem in finding the latest document someone "misplaced" in their PC.

    Recent Documents?
    find/locate?

    I can think of more ways to find a recent document, but so can any other reader here.

    But, this idiot thinks it's a new idea to have... What do they call it, a DOCUMENT STANDARD?

    Can't even call this one fake advertising.

    --Toll_Free

  • by bcrowell (177657) on Saturday October 25, 2008 @03:00PM (#25511019) Homepage

    My mother in law in upstate NY had a Windows box that she used for exactly two purposes: email, and playing online Scrabble. Her Windows machine got full of malware, to the point where it wouldn't even boot. While she was visiting us in California this summer, I set up a machine with Ubuntu for her to use, and she got fairly comfortable with GNOME and Firefox. I sent an Ubuntu install CD home with her on the plane, and she went ahead and installed it with virtually no problems. I only had to talk her through a couple of issues on the phone, the main one being non-Linux-related: her BIOS wasn't set to boot from a CD.

    She got going with email, and then it was time to get her set up for scrabble. The one she plays isn't the famous facebook one, it's a java program that accesses a club's server in Romania. Well, I think I spent about an hour with her on the phone, and we still don't have it working. One thing that took us a heck of a long time was that when she downloaded the jar file for the scrabble app, neither of us could figure out where the file had gone. Probably if I'd been in the same room with her it would have only taken me thirty seconds to locate the file, but over the phone, it was more like I was experiencing it from her point of view, and it was completely confusing. She was clicking around in the Firefox download manager, in the GNOME file manager, all with no luck. It seriously took her about 20 minutes, *with my help*, to find the file. It probably didn't help that I use fluxbox myself, and am not familiar with GNOME or its file manager. (Now we're almost there, except that apparently she's got a completely dysfunctional version of the java runtime installed. You click on the widgets in the program's UI, and it doesn't respond.)

    Anyway, what kind of indictment is it of Firefox/GNOME's usability when it's easier to install Linux than to find the file you just downloaded?

    Of course now I have to slap a steel helmet on my head to withstand the inevitable onslaught of know-it-all slashdotters telling me what an idiot I am, and how I could have easily found the file. Of course that's always how it is with usability. To the person who already knows how to use the software, it seems painfully obvious.

  • "throw out the old "files and folders" metaphor and leap to something new" - sounds like WinFS?
    "They import a picture into F-spot and then have no idea how to attach it to an email." - picasa?
    "single-file version control system" - Shadow Copy
    "We need a consistent experience" - Windows, OS X

    "it would be phenomenal if free software were leading the way"? - I don't see any new ideas here that hasn't been implemented before.

  • by daveb (4522) <davebremerNO@SPAMgmail.com> on Saturday October 25, 2008 @03:09PM (#25511093) Homepage
    The problem is that the user couldn't find a file. The solution is a better INTERFACE - this has absolutly nothing to do with the file system!

    From the headline I thought this was going to be about lost/cross-linked clusters not idiotic users forgetting where something is saved. You can improve the problem in this story by implementing better and more intuitive search features through to overhalling the traditional file-browser window implimented on all OS's that I see.

    These changes are independent on the underlying file system which could be anything from fat16 through to reiser ... heck it could even be PICK or a relational DB. Of course - some FS's naturally lend themselves to a particular style of search/browsing - but that simply makes it easer/harder for the interface developer. They are still very seperate things.

    Changing the file system will NOT solve this problem

    • The problem is that the user couldn't find a file. The solution is a better INTERFACE - this has absolutly nothing to do with the file system!

      I agree with you. To make file systems work for average users, what you want is this: full text searching on the contents (plus name, tags and other metadata) and an index that updates as soon as the file is saved. Possibly with some smarts on parsing the query, though Google demonstrates that you don't need that much there. This then needs to be integrated into the standard open dialog, and apps need to use the standard dialog rather than rolling their own (I suppose we ought to have a few open dialogs, e.g. one for "text" files and another for images). The vision then is that users can search for it using what they remember about it: this will work better than anything else since it doesn't assume the operator has a tidy mind.

      BTW, the "update the index immediately on saving" part is important; too often I've seen users close a document and then immediately think "ooh, I didn't mean to do that". This means that you can't put off the update until a cron job, and you hence need incremental update of the search database. (It's this that Spotlight on OSX gets wrong too.)

      As you say, none of this has anything to do with actual filesystems; you could even do it with FAT12 (though that's a horrible horrible FS!) This is all about applications and how they present the FS to the user. (I'd not present the actual directory structure by default; it doesn't help the untidy minded and the tidy can click/shortcut to reveal the structure.)

  • Redundant but why not:

    If you can't find the file, there's a user problem here.

  • by Twinbee (767046) on Saturday October 25, 2008 @05:18PM (#25511961) Homepage

    The hierachrical system is an outdated concept based on traditional methods of meat-space organization.

    I'm surprised no one else has mentioned this yet, but a metadata filesystem would save so much time. Tracks would be autotagged with timestamp, size, and filetype if possible, but allowing the user to set their own custom tags would bring out the real benefits.

    It would work like Google, where every file is in a single folder. You would an ultra-fast filter window to narrow down to any criteria. Tags could be reused easily (the filesystem would save recently used tags in a dropdown menu on opening or saving), and a thesaurus would help detect near misses if need be. Here's a little more info:

    http://www.skytopia.com/project/articles/filesystem.html [skytopia.com]

    In any case, for all the hardened folder adherents, there's no reason why they two systems can't coexist.

Is a person who blows up banks an econoclast?

Working...