UPDATE: Sandwich is End-of-Life now and replaced by Tomato.
Earlier this year, a mysterious chap who goes by the tag “radius314” created a BMLT spinoff project, called “Sandwich.”
Sandwich is a BMLT Root Server “aggregator.”
That means that it can take multiple Root Servers, and present them as if they were one single, unified Server.
THIS IS AWESOME
You can say that again.
THIS IS AWESOME
This is the “missing link” that was necessary to produce searches that will extend around the entire world of BMLT server.
In fact, radius314 maintains an “all roots” interface that allows a worldwide search.
You can’t log into that interface (which is perfectly sensible). It’s a “Read Only” server.
Another useful feature of this, is that it can aggregate non-SSL (HTTPS) servers, and present them as an SSL server. This is a requirement for the iOS apps.
HOW SANDWICH WORKS
Sandwich works by gathering references to multiple Root Servers, then sending out simultaneous queries to them.
In the illustration below, you see that a single Sandwich Server aggregates five Root Servers.
Each Root Server is administered individually (the little gray guys), and can be queried locally by Satellites (the little blue guys), which are restricted to only one or two servers (which can only be queried one at a time).
However, the Sandwich Server can send queries to all five servers at once, and return responses from them all (the little red guys).
WHAT’S THE CATCH?
Frankly, there’s not much of one. It’s a bit (but only a bit) slower than a local interface. It also won’t (yet) interpret format codes, as each server is free to create their own custom format codes. This server will simply report the abbreviation keys, and we expect locals will be aware of what they mean.
However, that’s a limitation that we may be looking into addressing in the future.
Also, as mentioned above, it isn’t for administration.
In order to have your Root Server included in this “all roots” server, it needs to appear in this list. Remember that the BMLT works on a “few roots, many satellites” model, so just because your Web site isn’t mentioned in that list, doesn’t necessarily mean that the Root Server it connects to isn’t there.
It does not support the full semantic interface, but does support enough JSON to allow all of the current satellites to use it.
SHOW ME THE MONEY!
Here’s a few iOS (iPhone/iPad) apps that take advantage of this. The top two apps in that page connect to https://na-bmlt.org/_/sandwich/, and can work anywhere in the world where the BMLT is supported.
If you replace the URL to your local Root Server with https://na-bmlt.org/_/sandwich/, then you will have access to the world Sandwich “All Roots” Server.
But you may not want to do that.
The reason is that your local Root Server is going to be faster. In some cases, considerably faster, and is customized for a local audience. By necessity, Sandwich can’t give that level of local control.
In summary, this is an amazing tool, and we should all give radius314 a hand:
Look for more interesting stuff to come from radius314 in the future. He’s a smart cookie, and has a lot of very cool ideas.
More will be revealed…