The End of Files: the biggest revolution since the GUI?
bluesheepthinking.com
bluesheepthinking.com
What I wanted to be the future, especially after that Oberon OS article here not so long ago, is the best of both world. This paired, with better OS level analysis of files and dedup (hardware or software) is cool. I think we should just move towards the OS X model (and I am very, very anti-Mac, so you should know it must be pretty good for me to conceed any wisdom in their approaches): power users I know, including yours truly, will dump all their files in one or two places and Cmd + Space their way to search files and apps through the Sherlock utility all damn day. Now moving towards filesystems with version controlling UIs built into apps and files is a great improvment (a la the Nextstep cum Etoile Linux revolution).
Pair that with better OS level tools, and I will continue to see Unix toolchains with more refined GUIs as the answer when we move away from file and into search. That is why Gmail and other tails continue to be popular, most of us are tool lazy to organize or screw up our own organization systems, and search allows quick impromptu sort methods to help us with the basic stuff.
When this day arrives, the real revolution will be on the usability side, which goes against this sort of "get rid of all complexities" thinking. More proficient computer users like to have their computers do exactly what they want. This is achieved by some level of competency in treating the computer as a computer, not as an appliance. Unfortunately, current computer languages and programming environments are almost comically horrible. Something much better will be required to bring real computation to the masses. I bet that will be the next Apple. It will require plumbing, files or something else. When people taste this, they will find the app model unbearably restrictive.
Also, I bet the next generation of approachability will be fuelled by AI, not UX.
I'm not claiming I know the future, but I am claiming that my ideas are sufficiently crazy to have a chance of being correct, unlike the author's.
Now if you want files that are accessible both from inside and from outside the application, then you have to settle for a compromise somewhere, and that's what we already have with filesystems and the OS-provider access methods to them.
We treat these collections of notional bits - files - as though they exist because this is a useful abstraction.
If you want to replace files, you need an abstraction which is so much more powerful that it will dominate our thinking about information storage, or perhaps an abstraction which is easier to reason about while being at least as powerful.
Microsoft has been trying something like this for decades with WinFS (for 'this' read 'a richer persistence abstraction offered by the OS').
It never quite happened.
I think BeOS had something going right when BeFS was introduced with indexed extended attributes. Tagging and other metadata are exceedingly useful, so why isn't anyone working on a native tagging filesystem with indexed extended attributes? That would go a long way to making the likes of WinFS a reality.
Even more useful is if we find a way to standardize the communication of these additional metadata, to make the tags and attributes more portable.
Less access makes linked things harder to build. I can write an application now and other people can link it up with other things without me doing anything.
Get rid of files, and data is easier to lock up in a single application - it becomes harder to write programmes that interoperate without the co-operation of the authors of the original app, who might have a commercial reason not to play ball.
I don't want to use your iTunes / SuperDuperMusicSynchronizer / Cloaca 9.7 etc., I don't want it to "synchronize and manage my music library", I don't want it to start indexing it, I don't want to learn it.
I know how to manage my files and I only had to learn it ONCE, and it works for my mp3s the same way as for my docs, jpgs etc. It's a universal skill.
I still remember the day when my ipod broke down. Before jumping to the apple store I asked myself if I can't use my old Android phone instead (that I took over from my girlfriend when she got a new shiny iphone).
I plugged it in. It became immediately available as an external drive. I copied my mp3s over. I was done.
Please don't take this away from me...
As for the mp3 scenario: for a 1Gb mp3 player its certainly doable to just scan the contents for the files/metadata once in order to show track titles etc. The problem is when the collections of files grow by several orders of magnitude and you need instant lookup of metadata (e.g. a 1Tb photo library, which isn't even especially large these days, my camera takes 25mb photos with hundreds of pieces of metadata that can't be encoded in the filename unlike an mp3 track).
Sorry, I'm putting this idea in the bad apples category.
Either all applications implement ways of interfacing with all kinds of things to share information: E-mail, instant messaging, FTP, USB thumb drives, shared folders on a network, print, etc. or the OS provides some kind of method for generalized sharing and negotiation of content types to accept and send (the clipboard does this). Windows 8 provides that via its Share charm, but that cannot be used from the desktop (and I think Android's Intents can be used similarly).
The problem is that such solutions need to work across everything you use. If they don't, you fall back to more reliable methods. Even if that means that you have to hunt for the file somewhere in a folder hierarchy you don't understand (many people don't get hierarchical file systems; that's been known since quite some time) or the 5000-file Documents folder.
Firstly, there are rightly the concerns about interoperability. And from "our" (meaning people who use computers all day long) point of view, losing files is like losing a leg.
But secondly, there are a whole group of people for whom hierarchical file systems make NO sense. I don't know if it's some area of the brain that works differently or what, but you can explain folders within folders and they get it, then ten minutes later they are looking at you blankly.
I'm sure it's the hierarchy that causes the issue, not the files themselves - but managing files without the hierarchy is difficult, unless you take an iTunes-type approach and hide them. Arguably that gives you the worst of both worlds, a (hidden) hierarchy that you can easily break when you navigate it with the wrong tool.
BeOS (oh how I miss it) used an iTunes-type approach, built directly into the filesystem, and Microsoft's WinFS was going to do the same until Apple side-stepped it with Spotlight. And now Apple is giving us a frankly shoddy and totally sub-standard version with iCloud document sharing.
But get it right, and it will open up computing to a whole group of people for whom computers are a mysterious black box that make no sense and cause nothing but frustration. The fact that phones make filesystems optional to the user is a big part of their appeal.
You may want to look at: https://www.haiku-os.org
...if you didn't knew about it already.
Removing files is in no way a plus. You could achieve better results in all aspects by providing a customizable presentation layer on top of files (that would keep the same UI, and allow interoperability; it would of course also need a proper security model)
Remove options, reduce flexibility and the device becomes simpler and easier. Good for the novice, bad for everybody else.
The real trick is to gradually surface functionality: provide powerful abstractions & flexible conceptual tools, but then hide them so that they only surface when they are needed, and, more importantly, when the user is able to cope with them.
So, by all means hide files, and other abstractions that serve to complicate the interaction & confuse the novice, but keep them in the background, waiting until they are needed; and provide neat ways of discovering and learning the conceptual tools required to use our devices to their full potential.
User interface design is about planning the user's learning process; guiding them on their journey from novice to expert.
But this already exist! ...well, sort of. For most things there is a broad range of applications that cover them from simple to very complex. Let's take text - we have everything from simple viewers and plain-text simple writers to complex text editors like "vim", to complex rich-content editing suites like LibreOffice, we even have designated document-preparation languages like LaTeX. The same for music, video, or other kind of content. From this broad range the beginner's system provides (or at least that's what it should provide) by default only the simplest basic tools. Also, at least in Windows, they removed the default easy access to computer's files that existed in early versions in 90's and instead let the applications in user's easy reach.
Trouble is, of course, this requires big thinking in the GUI department. There are analogs out there of the Temporal navigation, I remember it being kind of a 'big thing' in the 80's, but it all got WIMP'ed out, I suppose.
That's interesting.
I am not sure Lightroom can be any better. The problem is this issue, as he described it, not you, is the abstraction problem moves up. Instead of remembering which file is where, you need to remember which app opens which type of files, which sucks if you have four or five apps that do the same thing (pretty common for me and any audio/video manager on Android device, and browsers to boot, as eash open has different capabilities for certain file types).
What is needed is an OS level abstraction that still lets you access your data in files, but hides the actual physical organization of these files. The application interface to the file system shouldn't be a tree but a database/query like interface. Microsoft had great plans for this (already in Vista http://en.wikipedia.org/wiki/WinFS), but had to pull the plug on it. It hasn't reappeared in Win7 or 8. In a system like WinFS applications like Lightroom awould not have to manage its own SQLite database tables of your photos and their physical location. The query would go directly to the operating systems file database.
But the proposed solution is INSANE!
iOS sure makes the "computing" experience easier, by dumbing everything down. Unfortunately, also lost in the process is the "general computing" nature of the device.
All your data is stuck inside apps, which dictate how you can interact with it. No "email this document" menu item in your notepad app? TOUGH!
The utter ubiquity of Dropbox on iOS should show the foolishness of attempting to go fileless.
"Gone are the days we had three or four major applications. Now we have 50 plus."
You can have even more if you choose to stick to UNIX philosophy of having "programs that do one thing and do it well", and you also can have only a few, if you choose software suites (and counting one such suite as "one" program), that do a broad range of things, so it's a mater of personal choice in the spectrum of software solutions.
"One part of the potential solution may lie in an ‘app-centric’ operating system (OS), instead of the current ‘file-centric’(OS). In an app-centric OS, the file/folder management is a background (system/app level) process, similar to what you find on current smart phones and tablets."
Again, it's a personal choice. In the desktop you may interact in an "app-centric" way. You open your application and then do things inside it. Opening automatically an associated application when you're opening a file is only there for your convenience, desktop or phone/tablet BTW. It's a no-brainer!
"To access the last ‘run’ I completed, I don’t have to wade through the files on my iPhone to find it. I simply open the app, and the relevant files are accessed and presented to me in a meaningful way within the app interface."
Some sort of history and in-app access to recent files (read "works") was there long before the iPhone! And that's beside the examples of Spotify-like desktop apps "partially doing it".
Files in current computing systems are like cells in the living organisms, like atoms in physical mater. Of course, there is file-less information transfer inside the system, just like there is chemical transfer among living cells, just like there is sub-atomic interaction among chemical molecules, but some sort of structure inside a given individual information system is needed, just like was needed in the nature itself. The entire article seem like a rant against the nature of things only because "I can never remember where I ‘file’ the bloody things."
But I don't see how it can work if you need to use multiple applications to work on multiple projects. In a typical professional use case, you want to keep your files organized by project, so the files/folder approach is pretty good.
Now, files/folder can probably be improved. (Semi-)Automatic tagging can be improved. Search can be improved. Maybe we need more than one parent per folder. But please, let me organize my work per project and not per app.
Files are not going away because they mean control. The moment user loads his data into proprietary app, some company tries to squeeze money out of him. Than you loose all your data because payment failed, or hacker got your credit card number.
We (computer industry) are still educating users how important backups are and this article is not helping.
The example of a fitness tracker app storing each workout is bad. Because these are not a file and never would have been a file in any era of computing. It is application state.
Yes, we still have files and we still have the keyboard. Actually, even worse than the keyboard is that we have a QWERTY on phones. How about we come up with a better idea for input on the phone?