QRLs are not SLurls … but they play that role on the 'Net.

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:

http://host/organization/forum

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:

http://host/organization/forum?info=place

The format of a QRL, then, is:

http://host/organization/forum?go=place

For example, if you have Forums installed and were a member of the Acme-Metal organization, 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 host/organization?go=lobby.)

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.

About Stearns

Howard Stearns works at High Fidelity, Inc., creating the metaverse. Mr. Stearns has a quarter century experience in systems engineering, applications consulting, and management of advanced software technologies. He was the technical lead of University of Wisconsin's Croquet project, an ambitious project convened by computing pioneer Alan Kay to transform collaboration through 3D graphics and real-time, persistent shared spaces. The CAD integration products Mr. Stearns created for expert system pioneer ICAD set the market standard through IPO and acquisition by Oracle. The embedded systems he wrote helped transform the industrial diamond market. In the early 2000s, Mr. Stearns was named Technology Strategist for Curl, the only startup founded by WWW pioneer Tim Berners-Lee. An expert on programming languages and operating systems, Mr. Stearns created the Eclipse commercial Common Lisp programming implementation. Mr. Stearns has two degrees from M.I.T., and has directed family businesses in early childhood education and publishing.

3 Comments

  1. Are you familiar with Q codes from ham radio and earlier communications? Your reference might have an unintended meaning, and it seems to me that there is a lot of crossover between ham radio operators and microcomputer enthusiasts.
    See http://en.wikipedia.org/wik

  2. 10-50, but thanks for the QSL.

    I was completely ignorant of these. We did intend QRL as a pun on URL. I’m fascinated that it is clear enough by voice but not apparent at all in writing. I also like that with Qwaq you get the “U” included automatically!

    I gather QRL is used as “are you busy?” with the reply indicating that you are. I wonder if there is an exchange that means “Are you busy?” “Yes, but go ahead. What is it?”

    We sometime use the abbreviation QMS for Qwaq Multi-Share, which is the technology by which we interactive external 2D legacy apps onto an interactive panel in the space. We also sometimes refer to Qwaq Forums Enterprise Server as QFES, which is the version of our back-end that companies run behind their firewall if they need the extra control. I gather that neither of these have a Q code meaning.

  3. Talked a little with a buddy that is an active ham radio operator. Keep in mind that the Q codes are generally used in Morse code. An exchange somewhat like what you wondered about might be:

    QRL?
    QRL QRU?
    QRV?
    QRV

    The question marks are included.

    I think that Q codes are probably easy to keep separate from the Qwaq codes you talked about, mainly because Q codes are question and answer phrases and sentences, where Qwaq codes refer to things, nouns. And Qwaq codes are not likely to come up when using Morse code.

Comments are closed