For the application development side of this, see http://www.12factor.net. One of the tenets is that processes should be stateless, and therefore filesystems are ephemeral. Don't expect a file to stick around from invocation to invocation. This is explicitly true on Heroku, where they guarantee that they will kill every process sooner or later - and with it, the VM that it runs in.
A filesystem as backing service is a different problem (or more to the point, a different solution). But the filesystem used to store the application runtime is itself ephemeral. In Heroku, when the app shuts down, its VM goes away permanently, along with any local storage, and any instance of an app can be shut down at any time.
For average users, maybe. But as long as I have source files, scripts, executables/etc.... I don't think the filesystem is going anywhere. The other thing is even if people get used to the "new" way of doing things, the old way won't go away entirely.
Look at guis versus command line. Most people never use the command line, but that doesn't mean its gone, or obsolete. It has just moved to being an advanced tool.
What about the people who create content? Sure the consumer doesn't care but what about the sound engineer, the digital artist, the film maker, the architect?
The conclusion here that the file system will soon be obsolete is overstating the argument. A more accurate conclusion, in line with the rest of the article, might be that the file system will soon no longer be directly accessible by non-developers.
But that assumes that the "app" is able to manage its assets competently.
the iphone deals with assets that lend themselves to simple organisation. Photos work quite well as tiles, Contacts in name order. But what about text files? How do I move from one product to another if it doesn't have a "export" function.
If we go down this route, we are going to end up in the bad old days of lots of small incompatible app with no way to share between them.
Its great while its still hip and fashionable, but what happens when everyone stops using it? Whatsapp, voxer are a good example, how do I get my messages out of that service?
The end of hierarchical storage has been heralded for as long as I can remember. I doubt it'll ever happen. It's not like it was an abstraction we were forced into by computers; hierarchies dominate every aspect of real world information storage, digital or otherwise.
Even when I'm in consumer mode I access the file system on my phone daily. Maybe I've just transferred a file to my phone that I want to read. I'll look in the appropriate folder where files that are transferred by Bluetooth are saved, this being the easiest way to open such a file. Or perhaps I'll open up the Dropbox app and use its pseudo-filesystem to find a file. I delete large folders manually and I sometimes dig out a profile photo that Grindr cached if I'm creating a new contact in my phone and don't want to forget who they are.
Also, the desktop isn't going to disappear, it's just going to be used in more niche cases, like development, graphic design, and even gaming. Some people just have a preference for that form factor, especially because it can be more comfortable for longer stretches. For casual users? They'll probably just have a laptop, a tablet (or a tablet with a decent keyboard), and a phone. People love to consume on phone and tablets and create on laptops and desktops with real keyboards. As long as a real keyboard is necessary true mobile devices are going to be a supplement but not a replacement.
Files obviously aren't going anywhere as even document-based metaphors are files by another name.
Folders? Well - maybe tags but hierarchical tags are essentially the same thing as folders with one restriction relaxed (a 'document' can be in more than one place). But removing them altogether is a step back to MS-DOS 1.0 with a single flat hierarchy and I don't see that helping anyone.
The desktop however - I'm not even sure what you mean.
A surface on which multiple overlapping windows are arranged? I don't think overlapping windows is anything other than a Xeroc PARC-induced collective mistake. I'd much rather have a tiling window interface of some kind.
The only thing left for the desktop to provide is some kind of launcher and location for recently used files. It doesn't do a very good job of that when combined with overlapping windows (they tend to be blocking the desktop most of the time...) so I think that is something we can happily improve on.
The filesystem has also had the concept of "tags" for quite a while - since hard links essentially provide the same functionality (file may be in many places at once, is only deleted when reference count reaches 0).
This is true and sensible since hard links have the bad property of not making it clear you're editing a file that may be elsewhere (which really speaks to the danger of tags in many respects as well I'd say).
Most of this stuff is implemented by toolkits and DE-specific things though, so its not inconceivable it could be substantially improved in one swoop.
Desktop = desktop computer. I put forward a counterargument to a point made in the second half of the article regarding desktop computers.
Some people like tiling window managers, other people prefer stacking window managers. I feel constricted by tiling windows managers which is why I don't use them. I readily stack and deliberately overlap windows daily, and it's part of my workflow. But, at least with a *nix based system you have your choice.
Replacing folders with metadata would make it more unwieldy. Files and folders are a familiar, logical, and easy metaphor that readily lends itself to a graphical environment. Heaps of data (at least in the non-programming sense) with excellent metadata is a second rate version of the former. It's been proposed and tried many times with little success because it doesn't lend itself to easy access of data, except when there are few content blobs ("files") in existence.
Search engines are useful when you've got a haystack of stuff and you're looking for a needle. They're particularly useful when you're looking for something novel, usually an answer to a question. Often you don't know where the content is and you probably didn't create it either. They have two benefits: removing the tedium of hunting intelligently through an unknown haystack for some content, and doing it faster than could be done manually. They also come with the benefit of returning alternate results.
The file/directory model is useful when you know roughly (or exactly) where something is. It's easier and often quicker to clicky clicky all the way to your content than it is to describe what you're looking for, waiting, wading through possibly irrelevant results, and then refining your query if you didn't succeed first time around. This model also has the benefit of returning related content (other files in the same directory), as opposed to alternate results. It's for this reason the file system is going to live on, simply because there are many daily situations in which clicking or tapping on directories to get to a file is easier and perceptually quicker.
Both filesystems and search engines are useful in different scenarios, which is why we use both depending on which is easier in a given scenario.
Very few users are organization savvy enough to use deep hierarchies of folders and files to organize their data. They are lazy and just throw it in one place, relying on LRU caches (when new and active) and search (when old and inactive) to find what they need.
Developers are quite a different breed from mass conventional users. We still need file systems if only because we are more savvy enough to use it. Also, our tools tend to be low level and file oriented.
Not quite; my parents both organize pictures into folders very well and organize them by date and tag them with metadata. They don't do the same for documents, but because every document of theirs tends to be unique, there really isn't any need to.
Also note that these are the same parents who haven't the slightest idea of what a kernel is.
However, I bet your parents know what filing cabinets and floppy disks are, while your kids most definitely do (or will) not! Pictures and music were also some of the first content classes to be de-filed [1] with apps like iTunes and iPhoto (the file hierarchy is still there, its just hidden from most users).
I think this is one of those rare cases where the future is just staring us right in the face, like when Apple got rid of the floppy disk on the imac, or when CD ROM similarly went away. It doesn't mean file systems die right away, but they will become invisible to most users in one or fewer generations.
Search engines didn't win out over the directory model on the web; the two models coexist.
Traditional web browsing uses the directory model. Search engines supplement that by allowing you to jump to locations based on a search, but they don't replace the traditional following of links.
Traditional web browsing uses hypermedia (i.e., links), but that doesn't necessarily implement a directory. For example, HN is filled with links, but there's no hierarchy implied, so it's not a directory.
Directories on the web exist, but they're mostly very small and localized (e.g., website navigation). Web-wide directories like DMOZ were all but obsoleted by search engines.
> A surface on which multiple overlapping windows are arranged? I don't think overlapping windows is anything other than a Xeroc PARC-induced collective mistake. I'd much rather have a tiling window interface of some kind
Now, rearrange that a bit:
> A surface on which multiple overlapping papers are arranged? I don't think overlapping windows is anything other than a paperwork-induced collective mistake. I'd much rather have a tiling desk paper interface of some kind.
Sounds a bit absurd, right? Desktops on PCs are virtual analogues of desktops in real life, and desktops in real life are designed to be modular, flexible, so they can stack and scale to any given task.
The desktop analogy is actually a weakness. With a real life desktop, you can't have 10 different workspaces that you're capable of instantly switching between, so you have to have all of your papers overlapping. This leads to an inefficient workflow when you try to switch between them. With a computer desktop, you can have as many workspaces as you need, which paves the way for a tiling window manager to increase your efficiency.
>A surface on which multiple overlapping windows are arranged? I don't think overlapping windows is anything other than a Xeroc PARC-induced collective mistake. I'd much rather have a tiling window interface of some kind.
25x80, EGA don't ring a bell i guess. It is nice to tile on a couple of 1920x1200 or 2560x1440 though.
People have been saying this for years. I remember in 2003, when people whined about how the nascent Mac OS X (as it was called at the time) still had a concept of folders and files that needed to be in specific places. They wanted to "keep everything in a database" instead, like BeOS (never mind that BeOS also had files and folders in specific places; that was beside the point).
Ten years later, the filesystem hierarchy is still around. Nowadays, with the Internet's hierarchical domains and URI paths, I don't think there's any risk of it going anywhere. That notion of files in a space hangs around because, simply put, it works. People know what files and folders are, and hardlinks notwithstanding, they generally behave the way people expect them to. It's too easily-understood to throw away, not matter how hard people try.
The file system is just, IMO, too fundamental to replace. It isn't that we haven't thought of alternatives- it is that there aren't any! Or, well, there is one- a flat database, which is just a flat filesystem- but as soon as you start using it, you will start wishing for some organization...
The problem is that digital file systems are digital versions of the physical file systems that we are all familiar with. Most notably these don't let one file be in two folders at the same time. But our mental file system does work like this. By this I mean that the same memory can be reached by multiple routes. Couldn't you design a filesystem that was a flat database with file metadata being used to both browse and search for files, thus avoiding the need for tree hierarchies in current systems? Wouldn't this be closer to our mental model? Crucially, could you develop software like this?
You're right, and good point, I didn't think about hardlinks or symlinks. I guess you could do what I was suggesting by having one directory that contains every file and then creating links to them in different folders.
That abstraction was highly dependent on physical storage unit attached to your device of choice.
When most of storage is moved to the cloud and the books are stored in my Dropbox, private photos on my Flickr and public photos on my Instagram, it no longer matters that the underlying abstraction is using files and folders - they could switch to streams (case in point - iOS), and most users wouldn't care.
While I agree with your point, I think you chose a poor example. In the last 10 years, URIs have changed to no longer refer to a path on the filesystem (yes yes, there are still a ton of old sites that do). A lot of new web frameworks start by regexing the daylights out of your URI and then running a function based on the match.
What you say is true as far as it goes, but only from the behind-the-scenes perspective of a programmer. From a user's perspective, not only does using these services feel like a filesystem, but according to current best practices, that's explicitly what's supposed to happen. The filesystem itself has become an important interface paradigm, and that's going to keep it alive.
Completely sensational, file systems will continue to exist as long as we use storage devices. The end-user interacting with the low-level interface may be phased out though.
No he's not, you are just twisting the argument so it is easier to knock down, which is a completely normal relevance fallacy even if you didn't intend it as such.
File systems, physical memory addresses, and processing units exist in iOS, the user just isn't exposed to it. What many of us our proposing is that filing cabinets as user-facing abstractions in particular are not very useful. How many users save their files to more than a couple of locations (Documents and Desktop) these days? Rather, they just throw them all in one place and rely on search or LRU caches to find things.
Which is pretty awful in current implementations. Search in Windows is slow (contrast that with a 3rd party app like Everything, which gives results almost instantaneously). As for Mac... maybe I'm doing it wrong, but I've almost never managed to find anything with Finder.
But it's not just the file manager, it's the file themselves as user interface semantics. Right now, the file system is more than just a data storage layer, it's also a set of concepts (files, directories, etc) with which the user interacts through almost all applications.
For example, when I click on a link to a paper, I'm not just viewing an abstract document, I'm downloading and opening a PDF file, and this is exposed to the user as the UI to manage the content.
OP is talking about the file system as that set of concepts, and claims they'll be obsolete and mostly replaced by more abstract views of the content we use.
> Right now, the file system is more than just a data storage layer, it's also a set of concepts (files, directories, etc) with which the user interacts through almost all applications.
A filesystem is an API for making system calls to deal with data access on storage devices. It isn't necessary for a filesystem to have the concepts of directories or even files. Look at Plan9 for instance. The word "filesystem" is being overloaded to mean something more general than what it means in an operating system discussion.
A filesystem is an API for making system calls to deal with data access on storage devices.
Yes, and that API involves certain core concepts, like files (and usually directories), which are exposed to the user. You open files, you save them, you copy them. The UI semantics are almost a 1:1 mapping of the base API.
It isn't necessary for a filesystem to have the concepts of directories or even files. Look at Plan9 for instance.
I don't get your last point; Fossil has both, and as far as I know, the whole core of Plan9 is that everything is a file, achieving what UNIX couldn't.
And how can a filesystem not have files? The very definition of the word implies the storage and/or retrieval of files. There are other data stores which don't depend on a concept of files (e.g., RDBMSs), but they aren't filesystems.
The word "filesystem" is being overloaded to mean somethng more general than what it means in an operating system discussion.
I disagree; the author is talking about the filesystem, as it's exposed to the user. Sure, it's not the layer we usually talk about, but it's the same base concept.
...or maybe the OP was missing the point. Perhaps the directory/folder as a primary user-visible organizing principle is going to become obsolete. As a filesystem developer I would welcome a change to that paradigm, if it means that we can shed some of the baggage that has grown around it and get back to a simpler interface. However, that's not what the OP said. He claimed that the filesystem is going to become obsolete, and that's just silly. Even if documents are grouped by app and users apply tags and so on then the apps and the OS itself still need the kind of structure that a filesystem provides - hierarchical directories for different users/apps, mounting filesystems on top of one another, permissions, etc. Whatever it looks like on the outside, it's still going to be filesystems on the inside. If the author meant the Finder/Explorer was becoming obsolete, then he should have chosen different terms.
He's talking about the file system has a set of concepts (files, directories, etc) that are exposed to the user interface in almost every (desktop) application; it's not just the file managers like Explorer.
It is the filesystem, but as the UI semantics, not the underlying storage mechanism.
Of course the filesystem will soon be obsolete! That's why it's called ext4, to distinguish it from ext3, which came before.
Oh, you think you're going to store all your data in a soup, pulling out collections of bits based on tags? That's a nice feature, and users may like it, but it's going to be implemented as an extension to a hierarchical file system. The same evolutionary pressures that guarantee we will have desktops* in ten years mean that filesystems will still be here: they've been tested in battle, and they continue to function in odd situations.
*Desktops: they aren't going away. People like large displays; people like accurate and reliable text entry devices; people like expandability and the ability to plug new stuff in. These are all things that desktops are much better suited to than laptops, tablets, or phones.
> Oh, you think you're going to store all your data in a soup, pulling out collections of bits based on tags?
Bit of history, the Newton actually did store all of its data (from an application programmer and user point of view) in "soups"[1]. It was quite interesting since some of the data could be on an external card and some internal. When you pulled the external card, part of the data would disappear. The Newton was quite fun to program.
Previous employer asked me if I wanted a laptop, but I prefer a large display, keyboard, etc. with a big fast machine and lots of working memory. Ergonomics are important to me, I have friends with permanent damage from poor posture. To see people hunched over laptops makes me cringe.
I have two external monitors plugged into my laptop's docking station. Most laptops allow for external monitors. They also allow you to plug in a full-size keyboard and mouse via USB.
"Laptop" does not necessarily imply "ergonomic disaster".
True, but then you're plugged into the wall with the computer literally ON the desk. All that hassle of docking/undocking and hauling around all the crap just seems like a waste of time to me.
In a work situation, everything I do is in version control, or some external backup. So a notebook doesn't have any special data portability convenience. A dedicated machine at home and office just makes more sense for my purposes.
On a modern powerful laptop you can easily connect three 2540x1440 or bigger resolution displays.
Keyboard and Mouse, obviously. Best to have them at an usb hub so you only need to plug in one cable (or a docking station).
Fast is relative. There are laptops where you can put in 6 core Xeons, but they are rather expensive. A modern mobile i7 quadcore or equivalent AMD CPU is rather fast. Try it.
On a powerful laptop you can easily have 32 Gigabyte Ram. If you need more, then you need a highend workstation, yes.
Poor posture doesn't need to concern you more than on a desktop PC if you have your laptop connected to the same peripherals than you would have a desktop PC connected to.
Laptops additionally allow you to take them with you and work with bad posture.
Well if you're going to put it on a desk and plug it into the wall... it's a less powerful, less expandable, vastly more expensive desktop. You buy special adapters for your extra screens/peripherals, and spend time with setup/breakdown every time. I personally hate to share wifi with a dozen other people in my office so I need yet another adapter for ethernet (some notebooks have this, some do not).
When you unplug you lose all that equivalent experience, and then you're on battery power... which sucks for powerful laptops. Working from a couch or whatever just seems ineffectual to my workflow. I can see media consumption working in that case, (not the latest games of course) but then you don't need the big beefy machine.
I really don't see the benefit of portability for a workstation. It's a luxury to me when I have less things to haul around. For work everything is either in off site backup or version control systems. Obviously that wouldn't work for something like video editing.. but then (and I'm not an expert) you'd want a bigass power hungry workstation anyway.
Regarding apple notebooks: Bluetooth keyboards are pretty much equivalent to Macbook keys, so most of my co-workers would just use that. The apple mice suck, so most would again use the notebook trackpad. External screens were used as expanded desktops with most work happening on the default notebook screen. Everyone was hunched over the laptop like it wasn't docked at all. This is my own limited experience, but it seems that in practical use, the limits of laptops somewhat encourage poor ergonomics.
Yea, it's more expensive and not so upgradeable and you lose a few seconds by setting it up.
The display adapters should be only a few dollars, so maybe not ideal, but hardly a really good reason.
There's not really a reason why a powerful laptop should be really bad on battery power. Modern CPUs save power pretty well, especially mobile ones. And any powerful GPU should have the capability to be disabled.
But still, it's mobile or "mobile". As long as it fits in a backpack and I don't have to hike for hours I really don't see the problem. Maybe laptops today are not completely feasible, but I suspect in one or two generations the successor to USB3/4/? will be capable of driving everything from screens to external GPUs or CPUs so you'd only connect one cable and have everything attached there. But that's not now. For me it's just a minor inconvenience for the big convenience of having everything with me. And everything is not only stuff I have synced or in a version control system (by the way, don't you have that moments where you are somewhere and remember that the code you want to access is on a machine dozens of kilometers away and you forgot to push it?), but really everything and everything exactly how I left it. It's just the feeling that I can just suspend and go somewhere, no matter where, get my laptop out and continue exactly where I left off.
The article assumes people don't like tree structures. What if they do?
There's a good analogy with a programmer blog reporting he likes linked lists, therefore B-trees are going away. Or I prefer the syntactic sugar of recursion, therefore iteration will disappear in the future (or vice versa)
I will say nothing screams "silo" like hiding metadata from the end user. Oh that plain ASCII text file, that can only be opened in MS Word of course because its a "word file" because MS Word opens when I click on it.
A filesystem engineer/professor at a top-tier university told me once (well he told a whole class of us) that hierarchy is the only mechanism that the human brain has for dealing with complexity. A few people balked, they don't like 'trees' or what have you but nobody could come up with an alternative. This was nearly 20 years ago and I still haven't heard of a better idea.
So what's a filesystem? It's a very good and very scalable data structure for storing lot's of items. It's pretty good at lot's of little things and big things a like and a bunch of sizes in between. This problem remains.
Then be it tags, folders, something else, it's all just hierarchy to find and store your stuff in that data structure.. Where it looks like everything is going is having multiple overlay hierarchies, all your songs are in the music folder but then you tag different things to help you sort it out. Then maybe the computer can figure out some more optimal ways to store stuff. Take those fancy hybrid drives, maybe songs you don't play too often, there is no reason they can't be in part of the filesystem that is on spinning media and not in flash.
>hierarchy is the only mechanism that the human brain has for dealing with complexity. A few people balked, they don't like 'trees' or what have you but nobody could come up with an alternative.
None of you could think of anything better because you're engineers, not psychologists or philosophers.
The "human brain" deals with complexity through:
* causation
* hierarchy
* chunking
* association
* ordering
Complexity in general is managed using all the tools of analysis:
* drawing distinctions
* drawing similarities
* making definitions
* transforming concepts using other concepts
And this is all off the top of my head. It's been years since I took psychology of memory and philosophy of mind. But suffice to say your "top engineer" commenting on stuff outside his specialty and using the stupidity of undergrads to bolster his amateur argument is not convincing and is a pure expression of bathos.
The kind of jack-ass feature that's been carefully kept by its creator despite a number of people doing exactly what you did and then complaining about it. I've honestly got no idea why.
You just have to hover it for the kudo counting. How many are from people that didn't even see the widget? Or people like me, that just read it, and discovered that I was interacting with it only after it counted my vote?
Anyway, it doesn't have any consequence. It's just some feelgood freature... Kind of stupid to have a counter that doesn't count anything real.
Look at how many apps have built-in directory browsers to manage files. Moving this functionality to the core, will look like a revolutionary and elegant idea.
I'll agree with this observed trend. Colleagues of mine at a top-tier university are already seeing this in students. They have "computing" experience, but no real sense of the file system as an organizational and navigational tool. This poses a question in my mind:
Are we creating a world of perpetual intermediate users?
I think there are definite advantages to reducing cognitive noise in "casual computing" found in current mobile experiences. What's less clear is the path individuals will take from this world of per-app organization into one where content creation, workflow, and eventually implementation details increasingly take precedence.
It's not enough to say "the king is dead" until we also have a way to add ", long live the king."
We could increase the productivity of humanity in fabulous ways if we all knew how to use computers efficiently. Instead, we go the other way and only use them as entertainment platforms. Too bad education doesn't make big money.
> We could increase the productivity of humanity in fabulous ways if we all knew how to use computers efficiently.
I'll argue that's not the problem. The problem is more of nurturing a social culture of continuous learning and creation. How many of us knew folks when we were in school who just couldn't wait "to be done with school forever"? How did that travesty, a vast failing of human education, come to pass? It's easy to be elitist and point to those of us who dodged the bullets as being "superior" or "smarter" or whatever, but I've also witnessed too many occasions where good environments, mentors, teachers, etc. lit the spark in learners who might otherwise have been judged unremarkable.
I've also seen (and apparently there are now studies on) the positive skill effect of having access to computers-as-making-devices as a kid can have. IIRC, this relates to a substantial part of the successes that Harvey Mudd College is having in bringing more women into computing programs[1]. In short, changing education to embrace students who didn't have "deep" access to computers prior to college is helping to close the gender gap.
Mobile or no, I'll ask: do children have sufficient access, role-models, and mentors regarding computers (mobile or no) as tools of creation? What does the changing profile of computer use in the mobile era imply for education towards computing-enabled professions?
I think the route is still crystal clear: use Linux. That's the start of the path that led me to becoming a "real" programmer (as opposed to just a cargo cult programmer). I think it's possible to use OSX and even Windows in the same manner, but it's not in your face like it is with Linux (e.g., it's very hard to avoid learning the command line in Linux).
>Are we creating a world of perpetual intermediate users?
No, we're including users that were previously alienated from computing. The desktop metaphor has been with us for 20 years and there's a segment of the population that just doesn't get it, doesn't understand it, and just can't get used to it. It causes a whole slew of issues (e.g. the virus-pocalypse of the early 2000s).
The apps the author speaks of uses the file systems he claims will soon be obsolete. Maybe some enjoy not having to organize their data but I prefer having access to decide where my files are stored on my system.
The file system isn't going anywhere. The file system as we know it is almost effectively an extremely partitioned index organized table of BLOB information, which actually makes it more efficient when handling permission than a database would likely be. Without this hierarchical structure, permissions are nearly a nightmare to go through with.
Furthermore, a database can also be implemented in a way similar to a hierarchical file system, and in many cases have much more flexibility as you get virtually unlimited extensibility (often at a cost of performance).
Additional layers built on top of filesystems will make the way we interact with files obsolete, but the file system will not become obsolete.
The app developers would like the app to own the data.
That this isn't in the users' interests should be self-evident. Vertical data silos with doors owned by gatekeepers who want to charge admission: just say no!
Yeah, whatever. For practical purposes, it nearly has, and it won't really technically go away, the interface to it will get progressively dumber. See also: mobile (native) apps.
Not this again. I've heard this argument recycled for the last 20 years.
You can't abstract everything away into nothing. At some point the meat sacks (like myself) operating the devices will need to reach a compromise that the machine agrees with too, much as the compromise that I must turn the steering wheel and press the pedals on my car.
The filesystem is a pretty good compromise.
Denying its existence is another step towards our future of epsilon semi-morons operating mindless consumption devices.
"it’s a matter of time before the traditional desktop disappears and is replaced by one interface regardless of device that just operates on apps, metadata, and search."
If you have to tag your data with metadata, you might as well make a place for it and put it in its place. I don't see a big advantage one way or the other. Unless the meta information storage becomes automatic. But then I probably wouldn't trust it to catalogue the information the way I want.
With a metadata based file system, the metadata must describe the content in a variety of ways for content to be searchable. Problem is until computers can understand what a certain document is automatically, it's up to users to manually categorize or tag each one, which is hugely time consuming. Better approaches than the hierarchal file system has been researched for decades, so far with no clear breakthroughs in sight.
Complete and total FUD. Desktops and laptops--which are merely older form factors of the tablet, mind you--will be around for a long, long time. And rooted phones and tablets will allow file system access. Hell, I regularly use the file system in my (non-rooted) android phone.
I don't think that have some kind of backdoor access to the underlying filesystem makes it incompatible with the argument. The argument is about normal UI and workflow, not implementation details.
Besides, the author is talking about content, and what if that's stored online? There's no files except for the server sysadmin.
And no, the fact that you and I may continue to use it is not an argument either. The claim is "obsolete", not wiped from the face of the Earth.
I never use the prepopulated Music/Photos/Videos/Documents folders because some apps pollute them with their settings and whatnot without my permission.
Instead, I make one folder and keep all my manually created content there.
I _used_ to try to organize by categories, but due inability to easily place same file in many folders, and things become harder to find as time passes, I shifted to my current favourite way to organize stuff.
It's inspired by Camera Roll. Just a single folder with folders for events, sorted by time.
149 comments
[ 1.7 ms ] story [ 187 ms ] threadLook at guis versus command line. Most people never use the command line, but that doesn't mean its gone, or obsolete. It has just moved to being an advanced tool.
the iphone deals with assets that lend themselves to simple organisation. Photos work quite well as tiles, Contacts in name order. But what about text files? How do I move from one product to another if it doesn't have a "export" function.
If we go down this route, we are going to end up in the bad old days of lots of small incompatible app with no way to share between them.
Its great while its still hip and fashionable, but what happens when everyone stops using it? Whatsapp, voxer are a good example, how do I get my messages out of that service?
Like in terms "I created a silo of valuable data with some obscure app and now stuck with this app"?
Even when I'm in consumer mode I access the file system on my phone daily. Maybe I've just transferred a file to my phone that I want to read. I'll look in the appropriate folder where files that are transferred by Bluetooth are saved, this being the easiest way to open such a file. Or perhaps I'll open up the Dropbox app and use its pseudo-filesystem to find a file. I delete large folders manually and I sometimes dig out a profile photo that Grindr cached if I'm creating a new contact in my phone and don't want to forget who they are.
Also, the desktop isn't going to disappear, it's just going to be used in more niche cases, like development, graphic design, and even gaming. Some people just have a preference for that form factor, especially because it can be more comfortable for longer stretches. For casual users? They'll probably just have a laptop, a tablet (or a tablet with a decent keyboard), and a phone. People love to consume on phone and tablets and create on laptops and desktops with real keyboards. As long as a real keyboard is necessary true mobile devices are going to be a supplement but not a replacement.
Folders? Well - maybe tags but hierarchical tags are essentially the same thing as folders with one restriction relaxed (a 'document' can be in more than one place). But removing them altogether is a step back to MS-DOS 1.0 with a single flat hierarchy and I don't see that helping anyone.
The desktop however - I'm not even sure what you mean.
A surface on which multiple overlapping windows are arranged? I don't think overlapping windows is anything other than a Xeroc PARC-induced collective mistake. I'd much rather have a tiling window interface of some kind.
The only thing left for the desktop to provide is some kind of launcher and location for recently used files. It doesn't do a very good job of that when combined with overlapping windows (they tend to be blocking the desktop most of the time...) so I think that is something we can happily improve on.
Most of this stuff is implemented by toolkits and DE-specific things though, so its not inconceivable it could be substantially improved in one swoop.
Some people like tiling window managers, other people prefer stacking window managers. I feel constricted by tiling windows managers which is why I don't use them. I readily stack and deliberately overlap windows daily, and it's part of my workflow. But, at least with a *nix based system you have your choice.
Replacing folders with metadata would make it more unwieldy. Files and folders are a familiar, logical, and easy metaphor that readily lends itself to a graphical environment. Heaps of data (at least in the non-programming sense) with excellent metadata is a second rate version of the former. It's been proposed and tried many times with little success because it doesn't lend itself to easy access of data, except when there are few content blobs ("files") in existence.
Or many. Isn't that why search engines won to "directories"?
Search engines are useful when you've got a haystack of stuff and you're looking for a needle. They're particularly useful when you're looking for something novel, usually an answer to a question. Often you don't know where the content is and you probably didn't create it either. They have two benefits: removing the tedium of hunting intelligently through an unknown haystack for some content, and doing it faster than could be done manually. They also come with the benefit of returning alternate results.
The file/directory model is useful when you know roughly (or exactly) where something is. It's easier and often quicker to clicky clicky all the way to your content than it is to describe what you're looking for, waiting, wading through possibly irrelevant results, and then refining your query if you didn't succeed first time around. This model also has the benefit of returning related content (other files in the same directory), as opposed to alternate results. It's for this reason the file system is going to live on, simply because there are many daily situations in which clicking or tapping on directories to get to a file is easier and perceptually quicker.
Both filesystems and search engines are useful in different scenarios, which is why we use both depending on which is easier in a given scenario.
Developers are quite a different breed from mass conventional users. We still need file systems if only because we are more savvy enough to use it. Also, our tools tend to be low level and file oriented.
Also note that these are the same parents who haven't the slightest idea of what a kernel is.
I think this is one of those rare cases where the future is just staring us right in the face, like when Apple got rid of the floppy disk on the imac, or when CD ROM similarly went away. It doesn't mean file systems die right away, but they will become invisible to most users in one or fewer generations.
[1] A funny punny
Traditional web browsing uses the directory model. Search engines supplement that by allowing you to jump to locations based on a search, but they don't replace the traditional following of links.
Directories on the web exist, but they're mostly very small and localized (e.g., website navigation). Web-wide directories like DMOZ were all but obsoleted by search engines.
> A surface on which multiple overlapping windows are arranged? I don't think overlapping windows is anything other than a Xeroc PARC-induced collective mistake. I'd much rather have a tiling window interface of some kind
Now, rearrange that a bit:
> A surface on which multiple overlapping papers are arranged? I don't think overlapping windows is anything other than a paperwork-induced collective mistake. I'd much rather have a tiling desk paper interface of some kind.
Sounds a bit absurd, right? Desktops on PCs are virtual analogues of desktops in real life, and desktops in real life are designed to be modular, flexible, so they can stack and scale to any given task.
25x80, EGA don't ring a bell i guess. It is nice to tile on a couple of 1920x1200 or 2560x1440 though.
Ten years later, the filesystem hierarchy is still around. Nowadays, with the Internet's hierarchical domains and URI paths, I don't think there's any risk of it going anywhere. That notion of files in a space hangs around because, simply put, it works. People know what files and folders are, and hardlinks notwithstanding, they generally behave the way people expect them to. It's too easily-understood to throw away, not matter how hard people try.
In summary: If you give a mouse a cookie...
1. http://en.wikipedia.org/wiki/Ln_(Unix)
When most of storage is moved to the cloud and the books are stored in my Dropbox, private photos on my Flickr and public photos on my Instagram, it no longer matters that the underlying abstraction is using files and folders - they could switch to streams (case in point - iOS), and most users wouldn't care.
File systems, physical memory addresses, and processing units exist in iOS, the user just isn't exposed to it. What many of us our proposing is that filing cabinets as user-facing abstractions in particular are not very useful. How many users save their files to more than a couple of locations (Documents and Desktop) these days? Rather, they just throw them all in one place and rely on search or LRU caches to find things.
Which is pretty awful in current implementations. Search in Windows is slow (contrast that with a 3rd party app like Everything, which gives results almost instantaneously). As for Mac... maybe I'm doing it wrong, but I've almost never managed to find anything with Finder.
For example, when I click on a link to a paper, I'm not just viewing an abstract document, I'm downloading and opening a PDF file, and this is exposed to the user as the UI to manage the content.
OP is talking about the file system as that set of concepts, and claims they'll be obsolete and mostly replaced by more abstract views of the content we use.
A filesystem is an API for making system calls to deal with data access on storage devices. It isn't necessary for a filesystem to have the concepts of directories or even files. Look at Plan9 for instance. The word "filesystem" is being overloaded to mean something more general than what it means in an operating system discussion.
Yes, and that API involves certain core concepts, like files (and usually directories), which are exposed to the user. You open files, you save them, you copy them. The UI semantics are almost a 1:1 mapping of the base API.
It isn't necessary for a filesystem to have the concepts of directories or even files. Look at Plan9 for instance.
I don't get your last point; Fossil has both, and as far as I know, the whole core of Plan9 is that everything is a file, achieving what UNIX couldn't.
And how can a filesystem not have files? The very definition of the word implies the storage and/or retrieval of files. There are other data stores which don't depend on a concept of files (e.g., RDBMSs), but they aren't filesystems.
The word "filesystem" is being overloaded to mean somethng more general than what it means in an operating system discussion.
I disagree; the author is talking about the filesystem, as it's exposed to the user. Sure, it's not the layer we usually talk about, but it's the same base concept.
It is the filesystem, but as the UI semantics, not the underlying storage mechanism.
Oh, you think you're going to store all your data in a soup, pulling out collections of bits based on tags? That's a nice feature, and users may like it, but it's going to be implemented as an extension to a hierarchical file system. The same evolutionary pressures that guarantee we will have desktops* in ten years mean that filesystems will still be here: they've been tested in battle, and they continue to function in odd situations.
*Desktops: they aren't going away. People like large displays; people like accurate and reliable text entry devices; people like expandability and the ability to plug new stuff in. These are all things that desktops are much better suited to than laptops, tablets, or phones.
Bit of history, the Newton actually did store all of its data (from an application programmer and user point of view) in "soups"[1]. It was quite interesting since some of the data could be on an external card and some internal. When you pulled the external card, part of the data would disappear. The Newton was quite fun to program.
1)http://en.wikipedia.org/wiki/Soup_(Apple)
Previous employer asked me if I wanted a laptop, but I prefer a large display, keyboard, etc. with a big fast machine and lots of working memory. Ergonomics are important to me, I have friends with permanent damage from poor posture. To see people hunched over laptops makes me cringe.
"Laptop" does not necessarily imply "ergonomic disaster".
In a work situation, everything I do is in version control, or some external backup. So a notebook doesn't have any special data portability convenience. A dedicated machine at home and office just makes more sense for my purposes.
Keyboard and Mouse, obviously. Best to have them at an usb hub so you only need to plug in one cable (or a docking station).
Fast is relative. There are laptops where you can put in 6 core Xeons, but they are rather expensive. A modern mobile i7 quadcore or equivalent AMD CPU is rather fast. Try it.
On a powerful laptop you can easily have 32 Gigabyte Ram. If you need more, then you need a highend workstation, yes.
Poor posture doesn't need to concern you more than on a desktop PC if you have your laptop connected to the same peripherals than you would have a desktop PC connected to.
Laptops additionally allow you to take them with you and work with bad posture.
When you unplug you lose all that equivalent experience, and then you're on battery power... which sucks for powerful laptops. Working from a couch or whatever just seems ineffectual to my workflow. I can see media consumption working in that case, (not the latest games of course) but then you don't need the big beefy machine.
I really don't see the benefit of portability for a workstation. It's a luxury to me when I have less things to haul around. For work everything is either in off site backup or version control systems. Obviously that wouldn't work for something like video editing.. but then (and I'm not an expert) you'd want a bigass power hungry workstation anyway.
Regarding apple notebooks: Bluetooth keyboards are pretty much equivalent to Macbook keys, so most of my co-workers would just use that. The apple mice suck, so most would again use the notebook trackpad. External screens were used as expanded desktops with most work happening on the default notebook screen. Everyone was hunched over the laptop like it wasn't docked at all. This is my own limited experience, but it seems that in practical use, the limits of laptops somewhat encourage poor ergonomics.
The display adapters should be only a few dollars, so maybe not ideal, but hardly a really good reason.
There's not really a reason why a powerful laptop should be really bad on battery power. Modern CPUs save power pretty well, especially mobile ones. And any powerful GPU should have the capability to be disabled.
But still, it's mobile or "mobile". As long as it fits in a backpack and I don't have to hike for hours I really don't see the problem. Maybe laptops today are not completely feasible, but I suspect in one or two generations the successor to USB3/4/? will be capable of driving everything from screens to external GPUs or CPUs so you'd only connect one cable and have everything attached there. But that's not now. For me it's just a minor inconvenience for the big convenience of having everything with me. And everything is not only stuff I have synced or in a version control system (by the way, don't you have that moments where you are somewhere and remember that the code you want to access is on a machine dozens of kilometers away and you forgot to push it?), but really everything and everything exactly how I left it. It's just the feeling that I can just suspend and go somewhere, no matter where, get my laptop out and continue exactly where I left off.
There's a good analogy with a programmer blog reporting he likes linked lists, therefore B-trees are going away. Or I prefer the syntactic sugar of recursion, therefore iteration will disappear in the future (or vice versa)
I will say nothing screams "silo" like hiding metadata from the end user. Oh that plain ASCII text file, that can only be opened in MS Word of course because its a "word file" because MS Word opens when I click on it.
So what's a filesystem? It's a very good and very scalable data structure for storing lot's of items. It's pretty good at lot's of little things and big things a like and a bunch of sizes in between. This problem remains.
Then be it tags, folders, something else, it's all just hierarchy to find and store your stuff in that data structure.. Where it looks like everything is going is having multiple overlay hierarchies, all your songs are in the music folder but then you tag different things to help you sort it out. Then maybe the computer can figure out some more optimal ways to store stuff. Take those fancy hybrid drives, maybe songs you don't play too often, there is no reason they can't be in part of the filesystem that is on spinning media and not in flash.
None of you could think of anything better because you're engineers, not psychologists or philosophers.
The "human brain" deals with complexity through:
Complexity in general is managed using all the tools of analysis: And this is all off the top of my head. It's been years since I took psychology of memory and philosophy of mind. But suffice to say your "top engineer" commenting on stuff outside his specialty and using the stupidity of undergrads to bolster his amateur argument is not convincing and is a pure expression of bathos.EDIT: Looks like all the sites built on svbtle do that. What kind of jack-ass "feature" is that?
Anyway, it doesn't have any consequence. It's just some feelgood freature... Kind of stupid to have a counter that doesn't count anything real.
Why?
Look at how many apps have built-in directory browsers to manage files. Moving this functionality to the core, will look like a revolutionary and elegant idea.
Are we creating a world of perpetual intermediate users?
I think there are definite advantages to reducing cognitive noise in "casual computing" found in current mobile experiences. What's less clear is the path individuals will take from this world of per-app organization into one where content creation, workflow, and eventually implementation details increasingly take precedence.
It's not enough to say "the king is dead" until we also have a way to add ", long live the king."
I'll argue that's not the problem. The problem is more of nurturing a social culture of continuous learning and creation. How many of us knew folks when we were in school who just couldn't wait "to be done with school forever"? How did that travesty, a vast failing of human education, come to pass? It's easy to be elitist and point to those of us who dodged the bullets as being "superior" or "smarter" or whatever, but I've also witnessed too many occasions where good environments, mentors, teachers, etc. lit the spark in learners who might otherwise have been judged unremarkable.
I've also seen (and apparently there are now studies on) the positive skill effect of having access to computers-as-making-devices as a kid can have. IIRC, this relates to a substantial part of the successes that Harvey Mudd College is having in bringing more women into computing programs[1]. In short, changing education to embrace students who didn't have "deep" access to computers prior to college is helping to close the gender gap.
Mobile or no, I'll ask: do children have sufficient access, role-models, and mentors regarding computers (mobile or no) as tools of creation? What does the changing profile of computer use in the mobile era imply for education towards computing-enabled professions?
[1] http://www.npr.org/blogs/alltechconsidered/2013/05/01/178810...
No, we're including users that were previously alienated from computing. The desktop metaphor has been with us for 20 years and there's a segment of the population that just doesn't get it, doesn't understand it, and just can't get used to it. It causes a whole slew of issues (e.g. the virus-pocalypse of the early 2000s).
So what? Whether or not it's abstracted in a file system, people will be sharing documents.
Furthermore, a database can also be implemented in a way similar to a hierarchical file system, and in many cases have much more flexibility as you get virtually unlimited extensibility (often at a cost of performance).
Additional layers built on top of filesystems will make the way we interact with files obsolete, but the file system will not become obsolete.
Apps that assume they do are rapidly removed from any system I use.
There are some single purpose apps that have data directly tied to them, but everything else is not like that.
That this isn't in the users' interests should be self-evident. Vertical data silos with doors owned by gatekeepers who want to charge admission: just say no!
You can't abstract everything away into nothing. At some point the meat sacks (like myself) operating the devices will need to reach a compromise that the machine agrees with too, much as the compromise that I must turn the steering wheel and press the pedals on my car.
The filesystem is a pretty good compromise.
Denying its existence is another step towards our future of epsilon semi-morons operating mindless consumption devices.
If you have to tag your data with metadata, you might as well make a place for it and put it in its place. I don't see a big advantage one way or the other. Unless the meta information storage becomes automatic. But then I probably wouldn't trust it to catalogue the information the way I want.
Besides, the author is talking about content, and what if that's stored online? There's no files except for the server sysadmin.
And no, the fact that you and I may continue to use it is not an argument either. The claim is "obsolete", not wiped from the face of the Earth.
Instead, I make one folder and keep all my manually created content there.
I _used_ to try to organize by categories, but due inability to easily place same file in many folders, and things become harder to find as time passes, I shifted to my current favourite way to organize stuff.
It's inspired by Camera Roll. Just a single folder with folders for events, sorted by time.