LWN's Forrest Cook interviews Nile from dLoo, Inc's BlueBox project: LWN: If BlueBox is the name of the browser, what is the name of the language that it browses? Nile: It's difficult to know if the language should have a name because it has no set syntax or reserved words. Right now, for example, it's possible to create Perl words, HTML words, English words, and Math words and post them on the Internet. These languages would then be first-class citizens of "the language." That is, one could write Perl programs as part of the language or link Perl expressions to other languages. But these Perl programs and those other languages would not be "the language," they would be Perl. The problem is that this language does not have any reserved names and it can syntactically and semantically become anything you want. So, politically, we're not sure if we should name it. It's kind of like asking what the website of the Web is. The Web doesn't have a website, the websites make it up. That was our original take on it. Thinking about it some more, though, I think you're right. After all the Web has a name. So what would you call a Web of words posted on different sites around the world that define all of these different, interconnected languages that people can use? That's a hard question. I'll have to think about it. LWN: Does BlueBox use the standard tcp/ip www port (80) or does it have its own internet port? In other words, what is the method used to transport the words? Nile: Currently, BlueBox uses the standard web port. In the future, we plan to add support for other types of delivery in the same way web browsers can read web pages through a variety of protocols. LWN: Could you give some examples of how this technology could be used? Nile: BlueBox and word-oriented programming are a different way to do software. With traditional languages, you write a library and post it on the Internet to be downloaded. Other developers then download the library to use and write applications against it. Software in this world is like a free library that anyone can check books out of and use to write new novels. With words, developers write libraries by posting new words on the Internet that define languages. Other developers then use these words by writing new words that link to them. The model changes the development model from a library to a Web. Words provide a way for the open source community as a whole to move their body of work online where they can visibly reuse each others' work by creating new links. So, this technology is essentially a shift in how software is developed and reused. There are a lot of other benefits as well. For example, the fact that software is created in the form of linkable languages rather than APIs makes development of new software significantly easier. The fact that words create parsable documents means that a new reuse model can be used called "Open Reuse." LWN: If the developers never need talk to each other, how do you prevent instantaneous code rot? If a developer posts an improvement to a piece of code, what prevents that from breaking something else? Nile: This is actually a very serious problem with the networking model of distributed software like SOAP/CORBA/etc that BlueBox avoids. When a document (which can be a program, a Web page, or any other piece of information written out of words) is written, it downloads all of the words that it uses into the developer's natural language database. Then, when it is served on the Web, if the client does not have all of the words in the database, the client is served the words that were requested. LWN: Are version numbers for the software components part of the plan? Nile: Currently, version numbers are not needed for the reasons outlined above. The database that serves documents already has the correct versions of the words in its database. LWN: How about security issues? Running random software from the net sounds like fertile ground for malware writers. Is there any kind of "sandbox" concept like in Java for security? Nile: Security is a critical problem for all Internet software. Part of the reason that security is so difficult on the Internet is that current technologies can only syntactically validate software. That is, software can only validate that it has the right encryption key, that it does not call certain system calls, etc. With words, though, it is possible to semantically check information that is downloaded to the machine. Math documents, for example, should run through a math compiler that not only verified that the documents can run but that they are true before downloading them. In this way, words can provide a semantic check in addition to a syntactic check before entering information into the natural language database. This is the solution we expect to replace the sandbox concept over time and the database is being designed with that in mind. In the meantime, of course, it is necessary to have a sandbox and only allow certain calls from downloaded words. This is still in development. LWN: Thank you for the interview.