URLs, Schemes, and Resources
This is one of the most important design choices Redox makes. These three essential concepts are very entangled.
What does "Everything is a URL" mean?
"Everything is a URL" is a generalization of "Everything is a file", allowing broader use of this unified interface for schemes.
These can be used for effectively modulating the system in a "non-patchworky" manner.
The term is rather misleading, since a URL is just the identifier of a scheme and a resource descriptor. So in that sense "Everything is a scheme, identified by a URL" is more accurate, but not very catchy.
So, how does it differ from files?
You can think of URLs as segregated virtual file systems, which can be arbitrarily structured (they do not have to be tree-like) and arbitrarily defined by a program. Furthermore, "files" don't have to behave file-like! More on this later.
It opens up a lot of possibilities.
The idea of virtual file systems is not a new one. If you are on a Linux computer, you should try to
/proc, and see what's going on there.
Redox extends this concept to a much more powerful one.