No. (1) That's what "userspace helpers" are for. (2) What does image
format conversion have to do with viewing files in their component
parts? (3) I suspect someone will write a plugin that does indeed
convert virtually every known image format to a common format
(probably PNG and something "raw") at some point. Why not? It's just
a small script (it would run ImageMagick!).
Sure, if you think mmap() is an easy substitute for "parse the author
& license tags from this [unknown format] audio, video or font file".
If you decide to do that, you are welcome to write the userspace
helper which creates that view in your directory.
Why not? It's very silly, but it's no sillier then writing a program
to read your 1mb JPEG and write it out one file per bit, which you're
welcome to write right now.
Generated views are something which should _not_ be backed up and
restored. That's not what they are for.
Auxiliary metadata, such as author info and signatures which cannot be
stored in the main file for some reason -- that should be backed up.
Permissions, that should be backed up.
But not views which are computed from the main file. You don't need
to back them up, and they don't need to take any real space. They're
virtual, just like an infinitely deep directory on a web server can be
virtual. You can make those very silly too, if you want to.
(Some help from the filesystem with storing temporarily cached values
is fine, for performance, but we shouldn't pretend that generated
views are anything other than virtual).
Would you like to propose an alternate API? I was under the
impression that we were discussing one, right here in this thread.
It's called POSIX with an extension where you can cd into a file. It
has a rich set of semantics to manage your data, and works with a lot
of familiar programs.
A better one would be welcome, if you have an idea.
Come up with a better one otherwise it's right ;)
Eh? In this case the OS is mediating by providing a uniform interface
between programs that access the data and programs that handle file
formats.
What is this "low level" data you speak of? I would say something
like the "designer" of a font, or the "from address" and "subject" of
an email are very high level abstractions, and that's among the sorts
of things which are to be exposed by these interfaces.
-- Jamie