Just to derail a bit... I've always disagreed with Jobs over the filesystem thing. There's just a minimum level of knowledge a computer user needs to use the damn thing, and file systems are really fundamental to that. I've never seen an abstraction that worked well enough to replace the file system as we know it, so abstractions stay welded to particular apps. Then you have a bunch of domain specific abstractions re…
I have my own opinions on it but I'm pretty sure I'm wrong too. I think this is one of those things where a bunch of well-intentioned people implement a bunch of different designs over the next few decades, and it just sort of converges on something even though every design leading up to it was fundamentally wrong in some sense, or went to far in one direction.