Steve Jobs on the File System
oleb.net
oleb.net
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.
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.
Do you have any citations for that?
Then you should step out of your cave. You and I like file system, but 99.3% of the world's population (who don't have time to fiddle around with computers and just want to get their things done), hate file systems, and usually have disgusting desktop, documents, downloads and music folders.
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.
This seems like an awfully arbitrary statement. Why should there be an official way to get access to the filesystem?
I'm aware of all the arguments for their completely closed eco-system. But OSX itself is also a perfect example to counter them. Fundamentally, portable touch screen devices are still computers and are not actually so different that such a closed environment is needed.
A natural extension of this is a Mac that runs iOS, or making OSX more like iOS. I think this is happening, and it's being driven by what most people want.
It may not be what I personally want, but fortunately there is more than one choice these days.
Also, I completely disagree that iOSs success is due to it being closed. As the current OSX environment shows, it is completely possible to have both an App Store yet not discard your professional customers. I can tell my mother to only use the App Store and she is perfectly happy.
Apple is removing control for a single reason only: money. They want their 30% of every sale on their devices. This is a good reason for them, but a bad reason for their customers.
For starters, they don't understand what a file is, they don't understand what a folder+directory is, they don't understand what metadata is, and they've never had to know what we understand as a filesystem for the last five years in order to use their phone effectively.
You and I could figure out anything Apple offered instantly, and it wouldn't be difficult for them to program at all. But for the 95% of people who conceptually couldn't grasp what it's offering, it's another mysterious button on the screen that is taking them to a place they don't get. It adds to the cognitive load of the experience, adds to the UI, and makes them feel less 'with it' when their son or daughter tries to show them how to use the paperclip to attach multiple photos. They struggle with cut and paste, they struggle with how to search in Safari mobile (YES), they struggle with settings, and even things like multiple email accounts can get unmanageably complicated for them.
Even if the filesystem implementation was utterly neutered and bumpered, it is still fundamentally not making iOS a better product for the great majority of those who would use it. I would strangle for a real filesystem, believe me, but Apple and the market have spoken on this.
-- http://www.paulgraham.com/gh.html
The feeling that the top end was being crippled for the benefit of the unwashed masses was always my complaint about apple in the last few years. (Tongue in cheek).
Actually I do and it works great. I hate iTunes.
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.
http://musicbrainz.org/doc/MusicBrainz_Picard
Harness the power of machine learning to identify your songs by what they sound like! Take control of your sprawling library with folder names that YOU define! Re-embed missing ID3 information to that mystery music!
Sure, it probably won't catch your live/album/recording distinctions, but I've had pretty good success rates with it.
I think there's a port to Mac OSX somewhere.
Poor format support. I don't care either way about Ogg, but no FLAC support is a deal killer. There's a FLAC plugin, but it requires using 32-bit iTunes, and even then it's not supported very well.
It insists on "managing" my music collection itself. It's constantly renaming, moving, editing ID3 tags, and what not. I think most of those features can be turned off, but it takes forever to figure out what all the options are, and by the time you realize they need to be turned off, it's generally too late and you have to pull the altered songs from backups.
It also doesn't handle poorly tagged music very well. For example, a while back I had a two CD collection of trance music, something like "The Best Goa Trance of 2010". The MP3s were tagged with the artist and song names, but no album name, presumably because they were originally on different albums. In iTunes there's no way (that I know of) to group the songs in my library, except going through and manually adding the album tags. This is made even worse by the default settings where it moves around and renames the files without telling you.
I'm sure I could train myself to immediately fix all of my music's ID3 tags, and to conform to Apple's arbitrary way of managing music, but it's easier to just use a different player.
You get the best of both worlds then.
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
The ones who understand where their photos are or attach significance to them will make the effort. The remainder tend to work exclusively out of Facebook or iOS Camera Roll, which is why iCloud now backs that up.
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?
I actually figured out every photo I take has
- one copy on the SD card
- two mirrored copies on my raid
- 3 copies on S3
- 3 copies on flickr (I believe)
for a total of 9!The only reason someone would not use this approach and opt for one of the services mentioned is marketing. There is no marketing for storing files in a "non-proprietary" format. It's simply a matter of not knowing how to do it.
What's funny is the proprietary approaches ultimately can make things more difficult for novices. At least it's more they have to learn: different rules for each service. How often I have heard novices wanting to know how to convert/export/transfer files to/from these services.
Compare this with learning the jpeg format, IPTC and EXIF. You only need to learn one set of rules. And every service uses jpeg. That's unlikely to change anytime soon.
It's a battle against the "lowest common denominator" in the interest of creating a strategic advantage via incompatibility and proprietary formats. But it seems always some compromise is necessary. All those services work with lowest common denominator formats like jpeg. They don't each have their own proprietary image formats, though they could. Compromise is made.
The entire web is built on "lowest common denominators": e.g., IP, UDP, TCP. To allow things to flourish you have to have some lowest common denominators that everyone can develop on top of. But let the battle continue. We the users all suffer inconvenience as a result.
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.
I agree it's confusing for a lot of users, but I still think there is a happy medium in there.
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.
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.
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.
> 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!")
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.
*mostly because real-life scenarios aren't as straight forward.
I guess I'm saying I agree, but it's still possible to keep the filesystem as free from the UI as possible.
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.
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.
On a side note, this probably explains why Finder is the most retarded file manager ever :-)
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.
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
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.
I.e., Terminal.