Furthermore, there was no simple naming convention - each protocol had a different way of locating and requesting the desired resource. At present it is a part of Java specification, and the KDE runtime, so any Java or KDE application can use URLs to connect to Internet resources. The remaining issue is managing protocols, so that software can evolve to handle new protocols cleanly and without rewriting. Java has a clean way of supporting this - one can write a protocol handler and register it, and all Java clients can then seamlessly use it. In the previous section we've talked about the requirements of programs that would like to access files, but not only programs need to work with resources.
Humans do too.
As mentioned in the first section, everything in UNIX is a file and everything is built around files. Even the user interface is built upon files - the shell. A command line interface, that allows user to list files in directories, create new ones and execute commands on them. The nexus of it is the ls command that lists the content of a directory. Well, this was a good start, but the times went on and users' demands grew.