We’ve created ordinary http URLs that teleport you to places in-world in Qwaq Forums, Being programmers, we could not resist the pun of calling them QRLs. The most common uses today are:
- meet me here – telling someone where to meet, in IM, email, or calendar invite
- I was here – recording a history of where you were in a bookmark or some sort of audit trail
- go there – even if working asynchronously, you can tell people where to go to explore more from a Web page, blog, or wiki
Most programs will recognize
http://… and turn it into something clickable that starts your Web browser if it is not already started. Our QRLs produce a page that displays instructions, which is nice if you don’t yet have the Forums client installed. But if it is installed, the page can automatically launch the client and place you directly at the designated location.
We piggyback on our general URL machinery in which there’s a base URL for each world, with an automatically generated Web page that I’ll write about another time:
There’s also a query URL for each named place in the world. The
info parameter causes an automatically generated Web page to be displayed for the place:
The format of a QRL, then, is:
For example, if you have Forums installed and were a member of the
http://forums.qwaq.com/Acme-Metal/Budget-Planning?go=Q1 would position you at the Q1 place in its Budget-Planning forum. Each forum always has a place called
Home, and organizations always have a place called the
lobby. (E.g, the QRL to hang out in the lobby of an org is
We’ve talked about having things like this in Croquet for years. Mark McCahill was an early proponent. Second Life has also long had stuff like this. The first part of their mechanism is based on defining an SL-specific URL protocol called a scheme or resource-type. E.g.,
secondlife://region-name/x-coordinate/y-coordinate/z-coordinate. When you install Second Life, the installer teaches your computer how to follow that. However, your computer doesn’t know how to help you if you click on that without having SL installed, so most SL users rely on a second level of indirection called SLURLs. Visiting
http://slurl.com/secondlife/region-name/x-coordinate/y-coordinate/z-coordinate displays a map and other links for downloads, signup, etc, but it doesn’t actually launch you. You then click the big pop-up balloon thingie that says to click here to “Visit this location” or “teleport now.”
We’ve separated the functionality a little differently.
We decided to base this on place rather than, e.g., coordinates. QRLs are thus recognizable when you see them in an email in that you can guess just from the name where, exactly, you’ll be going. You can also create a QRL just by typing, without having to know coordinates. (For example, suppose you’re away from your usual Forums-enabled computer and you have to tell someone where to meet. You can just tell them the
host/organization/forum?go=place. If you get some of the parts wrong, someone following the QRL you made up will go as far as was right and then allow the user to continue with appropriate choices.) If you’re meting at a gathering place, you won’t all teleport in top of each other, but rather around, e.g., a conference table or application panel. Everyone will automatically be positioned at an appropriate heading and distance to get to work right away at whatever is of interest at that place. If you move the object within the forum, following the QRL will still work. (See this post for more discussion.)
While the automatically generated pages at our Forums URLs provide the preview functionality (and more) of the
http://slurl.com/secondlife/… part of a SLURL, you can just directly follow a
go= QRL link just as you can directly follow
secondlife:// schemed-URL. However, we want to make sure something reasonable happens if you click on a QRL without having the Forums application already installed on your computer. So here’s what happens behind the scenes. When you click on a QRL such as
http://forums.qwaq.com/Acme-Metal/Budget-Planning?go=Q1, the server displays an ordinary page with links to instructions, downloads, and the various authenticated and encrypted preview pages. (The QRL page itself leaks no information from in-world and so it requires no sign-in at all. It doesn’t even confirm to you whether there is an organization or forum of that name.) It also immediately downloads a small text file of MIME type and file extension
qwq. The Forums installer registers the program for opening this file/MIME type, analogous to how the Second Life installer registers its program for opening the
secondlife:// scheme. However, the
qwq file is just a tiny ordinary file that contains the host, org, forum, and place information. These files can be sent to people as attachments or copied to your desktop, etc. Double clicking them launches Forums and places you at the specified location – without relying on anything from Web browsers or URLs. It’s just a little more flexible for integrating with systems (like Windows and MacOS) that predate the Web and thus deal with files rather than URLs (e.g., shortcuts rather than bookmarks in the user interface). The file contents are just text, so a techie can just edit a copy to go someplace else and use them in anything that can handle files, which is pretty broad.
When you follow a QRL (or open a
.qwq file), the Forums client is launched if it is not already running. If you are not signed in, you are asked to do so. (If you’ve logged in before and checked the “Remember password” box on the login screen, following a QRL will just zoom right through that login screen.) Once logged in, you are sent to the place in the forum in the org that was requested. If you were already running in a different org, you are asked whether you want to leave before it teleports you away.
I don’t think this all perfect.
I’m not crazy about cluttering my download directory with even tiny files. Sure, it’s no different than what happens in the various cache directories scattered all over my computer (arguably better for being in a user-known place), but I still don’t like it.
Each browser has its own different screwed up way to protect you from launching programs you’ve previously installed:
- Depending on your Internet Explorer version and settings, it may make you click through a bunch of dialogs and obscured “tools” before you can convince it that you know what you’re doing.
- Firefox will offer to launch Forums and also offer to just launch next time without asking for confirmation next time. Reasonable.
- Safari will simply not let you launch stuff not on Apple’s secret list of stuff-that-Safari-launches. So after clicking on a QRL, you also have to open it from either the finder or the Safari Downloads window. This does not just effect Forums, but is true for every program that isn’t on Apple’s unpublished list.
QRLs are URLs, not URNs. There’s no registry to keep track of what other forum, organization or host a particular object might have been moved to by a user. This is one of those hard problems that computer scientists tend to think must be solved, and yet the Web turns out to be pretty useful without solving the problem. But since QRLs are ordinary URLs, any solution worked out for the Web will work for QRLs, too. For example, PURL.org should work, and you could even use Python automation in Forums to update the purl registry automatically.
Because QRLs are so mnemonic and user-chosen names for orgs, forums, and places can be pretty long, the QRL itself can get long enough to cause line wrapping in emails and such. Again, with QRLs being ordinary URLs, any solution worked out on the Web helps, such as tinyurl.org. However, it’s kind of a pain for a user to have to pasting and copying stuff in different Web tools. I’m not sure what to do about that.