
Steve Jobs on the File System - dwynings
http://oleb.net/blog/2012/06/steve-jobs-on-the-file-system/
======
drcube
This is probably the reason I will never buy an idevice. The very _first_ app
I downloaded on my Android phone was a file explorer.

I can't imagine any other way to interact with data than as individual files
in some kind of hierarchy. What is iTunes but a specialized file browser that
happens to have a built in music player?

The need for a single, general purpose program for performing actions that are
generic for all files just makes sense to me. Say I have a bunch of pictures,
a few albums, a movie and an ebook I'd like to share with my mom. Do you
really think it would be easier to open four different applications, which
probably have four different sets of "sharing" features and four distinct user
interfaces? Or to just copy and paste from my hard drive into her thumb drive?

Speaking of which, is this actually a problem? I don't know anybody who has
difficulty with the file/folder metaphor. And it isn't like I just hang around
technical folks. I know lots of people who could use a "computers for dummies"
book.

Which makes me think the _real_ "problem" with file system behavior is that it
facilitates file sharing. If people forget they have a disk drive filled with
files, and think instead of their "iTunes multimedia blob", then the FBIAA can
just lean on MS and Apple to "program out the piracy". Brilliantly evil.

~~~
WildUtah
_I don't know anybody who has difficulty with the file/folder metaphor._

Half the world has an IQ below 100. Computers need to help and serve them,
too.

The threshold for comfortably managing hierarchical file systems is around 100
IQ. For doing it well is several points higher.

And eliminating access to the file system makes app developers get creative
about inventing new ways to make things easier for users. A lot of data is
relational and not compatible with the file metaphor. Some data is a net of
objects (not as much as OO language designers seem to think). New ways to
interact with those are valuable.

Of course, the flexibility of the file system has a lot of advantages. It
invites a powerful and uniform set of tools that can make it even more
flexible. That's why it continues to be useful. Nevertheless, other ideas,
like relational data as a universal system service, are setting in to give it
competition.

~~~
kapilkaisare
> The threshold for comfortably managing hierarchical file systems is around
> 100 IQ. For doing it well is several points higher.

Do you have any citations for that?

------
tensor
It does sound like iOS, except for the fact that iOS has no fallbacks for pros
to access the file system, modify the OS, or otherwise manage it like the
portable computer it is.

Before someone mentions jailbreaking, I'd just like to say that jailbreaking
is not a suitable solution. There should be an official supported way to
obtain advanced access to your device.

~~~
tedunangst
To play devil's advocate, if you allow the pros to do cool things, then the
peons will see them doing that, and want to do it too. Why is your iPhone
doing this cool thing that mine isn't? Then they try to manage their portable
computer, and either dick it up or fail, but end up frustrated. Platform unity
is a big deal, not just in the sense that there's only a few models of iPhone,
but also in the sense that everybody's iPhone is equally awesome (or not).

~~~
cluda01
What's interesting about this is the overall trend of flexibility in
technology. In the few short years I have been alive (~27) the trend during
the 90s and early 200s was a preference for infinite customization, and all
the confusion that that engenders. In today's world we are now seeing the
pendulum swing back in favor of less flexibility with the primary
justification being that it makes for a more usable and intuitive interface. I
wonder if the trend will reverse course and head back towards customization.

~~~
jiggy2011
Absolutely yes we will. This is tech we are talking about, it just yings and
yangs endlessly.

------
mcantelon
>And that was the breakthrough, as an example, in iTunes. You don’t keep your
music in the file system, that would be crazy

Actually I do and it works great. I hate iTunes.

~~~
alexchamberlain
Devil's Advocate: Why do you hate iTunes?

~~~
randallsquared
I'm not the OP, but in 2003 iTunes was the single biggest drawback to
switching to the Mac, for me. I had a fairly large collection of MP3s at the
time -- maybe a coupla thousand -- and a bunch of versions of the same song in
some cases (an album version, a radio version, live at here, live at there),
and it was all neatly categorized in the filesystem, band/album/name, when I
switched from Gentoo to OS X. I freely admit I should have had a backup.

When I "tried" iTunes, there was an option for it to rename all your files (I
don't remember whether it was the default or if I stumbled on it), but what I
did NOT expect was that all my carefully named folders and files would be
lumped into "Unknown Artist"/"Unknown Album"/"Unknown Track NNN".mp3, while my
old files were all carefully removed.

My MP3 collection literally never recovered. I could choose to play the few
hundred tracks that had happened to have good ID3 information, but all the
tracks I'd ripped myself were essentially randomized. I also never found an
ID3 creator that could successfully differentiate the various versions of
songs I had, though I stopped trying around 2006 or 2007, and now I don't
bother buying music any more -- I just listen to Pandora.

~~~
Gring
Why didn't you do a backup before using such a risky feature, or use the
feature on a copy of your original files?

~~~
Mavrik
Because you don't really expect a music player to destroy your collection
without as much as a warning.

~~~
alexchamberlain
This is Apple we're talking about!

------
delsarto
No way would I trust all my photos to iPhoto, or Flickr, or Picasa! What
happens in 18 years when I want to make a slide-show of my daughters baby
photos for her birthday party. Good luck with that...

I feel the only reasonable approach is to have the original jpegs layed out in
a simple date-encoded directory tree, title/comment them with IPTC, add EXIF
geotags and archive that. Backs up to S3 (even though if I got hit by a bus I
doubt my family could figure out how to restore them).

Actually, SD cards are so cheap these days I don't even reuse them. So I have
that backup, minus comments and geotags as well

~~~
esbwhat
Hope you're accomodating for bit rot with your SD cards

~~~
alexchamberlain
DVDs safer?

~~~
lowtolerance
Burned DVDs last between 5-10 years, depending on the quality of the media, as
well as storage temperature, humidity, handling, etc. After that, data begins
to "evaporate".

Flash memory depends more on write/erase cycles. Infrequently used media can
theoretically last for decades, and is much more resilient with respect to
storage and handling. Then again, in 25 years, how easy will it be to find a
USB reader?

------
peterkelly
So what happens if you're working on several different projects, each of which
involves working with multiple files of different types (e.g. word processing
documents, photos, videos, and spreadsheets)? On a desktop OS you would have a
folder for each project, and store all the stuff related to a particular
project in the respective folder. I've been doing this for longer than I can
remember.

With the current iOS model, content is organised by the app that created it,
not by the project it's related to. So if you're doing work for multiple
clients, or collaborating on different internal projects, all of your content
is spread out between different apps, and there's no easy way to gather it all
together for the purposes of sharing, archiving, or backup.

I agree that the way in which the filesystem is exposed to users on desktop
OSs can be confusing, but I really think they need to find a way to allow
people to organise their files better. Dropbox has essentially become the
filesystem for iOS - it's a way around the limitations, and a lot of apps use
it.

------
tosseraccount
An application managing it's own data is not Steve Jobs idea. Marketing
genius/visionary types have been trying to save us from "the file system" for
about a half a century. The file system is still here and there are still
magic proprietary bins for putting your data into (saving you from having to
think too hard ... about the file system).

------
51Cards
Interesting since just the other day I read an article on how lack of access
to the file system in iOS was one of its significant drawbacks. Specifically
the lack of ability to browse and attach multiple files to an email, etc.

I agree it's confusing for a lot of users, but I still think there is a happy
medium in there.

~~~
ajross
Or not. A large class of people have simply never used the filesystem at all.
Everything on their PC went onto the desktop or default directory. They used
the "Find..." dialog to locate everything they used, etc... These folks are
well served by the "modern" app-centric abstractions, and frankly will be
harmed by an attempt to show them the filesystem.

But the rest of us are harmed by hiding it (badly, sometimes). I'm not sure
there is a happy medium; I suspect to some extent we filesystem-conscious few
will simply have to learn and use two UX environments.

------
0x0
This is all fun and games until you need to work with multiple hard drives,
removable media, and network volumes. And backups of and onto such devices.

Maybe only "professionals" need that. But I'd imagine even amateur
photographers will soon run out of space if they store all their holiday
photos on the macbook SSD.

~~~
jiggy2011
I guess the answer is to somehow handle this transparently, for example
putting most commonly used files on the SSD.

Think about the Unix way vs Windows. In Windows you have a C drive , D drive
etc, all of these are seperate partitions and if you want to locate a file you
need to know which partition it is on.

In Unix you want your personal files , so you go to /home/username or programs
are in /usr/bin etc. This is because the filesystem is providing a layer of
abstraction over the physical disk.

Of course this has a snag that if one of your disks fails you won't be quite
sure what you lost because you don't know what was on that specific disk, but
I guess anything important will be persisted to the cloud anyway.

The filesystem is really a very limited way of organizing things. You have to
choose one criteria to categorize on which means you end up in subfolder hell.

The big problem is, how do you store your data in a way that means it can be
accessed by multiple programs. For example you catagorise your music in iTunes
but you want to move it into a different media player?

The Apple answer to this seems to be to simply say no, you have one program
for each type of data and that is it.

~~~
johnchristopher
> Think about the Unix way vs Windows. In Windows you have a C drive , D drive
> etc, all of these are seperate partitions and if you want to locate a file
> you need to know which partition it is on.

> In Unix you want your personal files , so you go to /home/username or
> programs are in /usr/bin etc. This is because the filesystem is providing a
> layer of abstraction over the physical disk.

Hm. I have the opposite feeling. To me unix is using one less layer of
abstraction than windows. I know hdd are really devices located in /dev/sd* or
/dev/scsi or sthg and these acronyms relate more to the hardware wiring than
the piece of metal that is a hdd. blkid, fstab would tell me which devices are
mounted or their properties and I can "mount (or switch them on)" them to a
"kind of virtual folder". In windows, two partitions located on the same hard
drive appears as two distinct hard drives both in explorer and in a prompt and
that is an additionnal layer. Specifically, with 2hdd with 4 partitions
scattered on each drive you can't tell which partition is on which drive at
first glance.

> The Apple answer to this seems to be to simply say no, you have one program
> for each type of data and that is it.

This boils down to "what is a computer to me? : a machine to run programs that
manage data ? data that are supposed to be looked at and data that are
supposed to be executed to look at another type of data ? Do I use word to
write text or do I write text to a file via word ?"

Personnaly, I believe the "everything is a file" moto to cover a lot of ground
and to be a very good description of how computer/mobile works when I have to
explain "computer" to beginners. It also frees you from paradigms imposed by
the use of one and only one explanation ("yes, you can write text without
MSWord and people will be able to read it!")

~~~
jiggy2011
My point is more that the directory structure on Unix is seperated from the
physical disks.

For example, you have a computer with 1 HDD and you upgrade it so that there
is now 2. On a Windows computer you are going to have to explain to the user
that their "my documents" folder is now on the D drive whereas on Unix you
just map the second disk to /home and they can be none the wiser.

The next logical step is to have a system whereby you don't even need to
wrangle fstab, you just throw hard disks and cloud storage at a computer and
let the OS decide how to balance it all.

~~~
johnchristopher
I see your point and I mostly* agree. It's also true on Unix that you can use
LVM but it's not (yet) for the non-technical user.

*mostly because real-life scenarios aren't as straight forward.

------
jfernandez
One of the biggest pros for having a file system is data portability. To a
local degree that means being able to use files across multiple contexts,
usually "apps". Another related effect is that you can transfer your files
across devices/platforms without the need for systems to build ad-
hoc/proprietary techniques to communicate with each other (i.e any iOS app
that does app-to-app cooperation or how iTunes can show you files related to
your apps).

A lot of people feel iOS 6 will include better system-supported architecture
for this so in that sense he is right we don't need a 'file system app', but
iOS hasn't given us this kind of abstraction yet that works to scale.

------
albertzeyer
Hm, for mails, I usually use IMAP or an web interface, so it doesn't really
matter (for me) how/where there is a local cache in my file system.

For music, pictures and other stuff, I care and I want to be able to use
different tools and switch between them on the same set of media. This is why
I disabled all the automatic management, e.g. in iTunes or iPhoto and just
move the files around manually. It's because only this way, I have a sane and
common way to find my media, no matter what application I am using.

The same is for projects (source code, other stuff; I also sometimes switch
between different IDEs/editors) and documents.

And then there are contacts and dates. I haven't really found a good way yet
to manage them as powerful as I want. Currently I use CalDAV and the like, all
what GMail is offering me, so it is serverside just as mail. I guess to get
all the possibilities I want, I also would need to have it just in my file
system in some way.

------
10098
That is a poor approach that only introduces more unnecessary complexity.

On a side note, this probably explains why Finder is the most retarded file
manager ever :-)

------
agumonkey
We're still toying around data categorization. Files are dull, hierarchies are
almost meaningless since they require arbitrary ordering. DB-oriented FS
aren't there yet (although BeOS found a sweet spot it seems, their c++ API has
some ORM feel). '''Semantic''' still in progress.

The solution is barycentric: A network a loosely coupled types as a basis for
ontology/semantic network in with `atomic` artefacts can be seen/search
through. Could even be used to feed dataflow-like graphs for user to
manipulate their data. Just like unix pipes but typed, and with an interactive
side effect `free` GUI.

~~~
fratis
I did a video on something like this that got some traction on reddit, where
some really nice, knowledgable folks told me about BeOS and the original
vision for Longhorn.

What I think both of them are missing is a really simple GUI that makes it so
that the average user doesn't need to worry about the metadata layer, which
seemed a little too _present_ in those efforts.

I'd posted it on HN at the time, but it never really picked up any steam. Here
it is again, if you're interested: <https://vimeo.com/39284250>

------
grumblepeet
This is the great thing about SharePoint. It adds a layer of abstraction that
allows you to present different views of the files and you can slice and dice
as much as you want. I can see a time in the next few years where the
traditional file share on Windows Server will be completely replaced by a
SharePoint interface.

------
nadam
The file system is basically a simple abstraction: store data in a tree
structure.

The broader topic is how the tree structure can be 'disrupted' by less
structured data organization and what are the territories where the tree
structure (or at least a very strong (hierarchical?) structure) seems to be
the right abstraction for most people.

For example let's take written communication: A Word document, a non-fiction
book, is a tree structure. A wiki, or the web of tweets is not. The web itself
is not a tree (web directories did not work out) while some parts of it (some
websites, some webpages) are tree structured.

------
hoprocker
> And eventually, the file system management is just gonna be an app for pros
> and consumers aren’t gonna need to use it.

I.e., Terminal.

