Introducing SquareTag


Summary

We're getting ready to launch a product called SquareTag. This post explains what SquareTag is and how it works. If you'd like us to send you a sample SquareTag, let me know your physical address.

SquareTag for Bags

Kynetx is getting ready to introduce a product called SquareTag. SquareTag is a simple way to use personal clouds to keep track of things you own and imbue them with functionality they might not otherwise have.

For example, I have a note-taking application running on my furnace that let's me keep track of when I last changed the filter. The furnace's cloud keeps track of the filter I use, where I buy it, the HVAC installer I use for service, and so on. To use it, I simply scan the tag on the furnace and start adding a note. On the other hand, my keys have a SquareTag attached to them that will help someone get them back to me if they're lost. Because the tags link to lightweight online computers, they can run any number or type of programs. The sky's the limit.

So, what is SquareTag? Depending on context, it might refer to any one of the following:

  1. A little tag that can be attached to something, and contains a short code—the tag's ID—that points to a dedicated online computer that stores data and runs programs. These computers are persistent data objects (PDOs—what I've called a "personal cloud" in other contexts). The PDO is a virtual representation of some thing in the physical world.

    SquareTags come in various sizes and formats depending on their use. The picture at the start of this post shows a SquareTag designed for attaching to luggage or other bags. Right now, most tags have a QR code, but that's not the defining technology. Anything that can encode the short code for the PDO and allow people to conveniently interact with the tag will do. For example, NFC would work fine.

  2. A Web site that functions as a registry mapping the tag to the PDO that it identifies. The registry aspect of SquareTag is important. When a tag is scanned, an event is being sent to the PDO associated with the tag. The channel identifier (what we call an ESL) can be quite long and contain jumbled character strings. People won't type these in. Consequently, the registry functions to encode the ESL as a short code that can be more easily managed by humans, printed on a tag, and so on.

  3. A collection of PDOs linked together in such a way as to give rise to an ecosystem. PDOs persist over time, store data, and run programs. They have a unique identity and represent a person, place, organization, or thing. Collections of PDOs that are linked to each other form a contextualized model that creates an decentralized programming environment. This third meaning of SquareTag is the most interesting of the three, so I'll spend the remainder of this post on it.

Consider this screenshot of the things I've got in SquareTag right now:

My Things in SquareTag

Each icon in this screenshot represents a thing I care about. Some of them have SquareTags physically attached to them. Some, like my house or the office, do not. I have tags on some things because I'd like them returned to me if they're lost. My dog, keys, and bags are examples of things in that category. I have tags on other things, like my furnaces, so I can keep track of important information about them. I have a tag on the knee scooter I used when I had foot surgery because I've loaned it to a friend who just broke his ankle. I want to keep track of that loan as well as recover the scooter if it's lost.

Each of these icons in the screenshot represents a PDO that has a unique identity, can run programs, and stores data about the thing it represents. Each of the PDOs representing my things has a connection to the PDO that functions as my personal cloud. They can also have relationships with each other. For example, it would make sense for my home to have connections to both of the furnaces I have listed. They can also have relationships with other entities like the service provider, the manufacturer, or another owner.

We've come up with a number of application types that run in SquareTag and have broad appeal:

  1. Safe and Mine—one of the primary use cases for tagging things is to aid in their recovery when they're lost. We've been running a pilot with the University of Utah that has been very successful in recovering lost bicycles.
  2. Journaling and Note Taking—keeping track of information about a thing you own is an important use case. While a general journal application is available on every thing, some things can use specialized journals. For example, I want a journal application that is customized for auto maintenance to run on my trucks and cars.
  3. Remind Me—I often want to be reminded of things: When to change my oil. When to change the furnace filter. Traditional tools like TODO lists and calendars often don't put reminders in the right context or make it painless to keep track of what needs to happen and when. A Remind Me application on SquareTag can do that by putting the reminder right on the thing itself.
  4. Loan Tracker—when I loan something, like my scooter, a loan tracker application can make it easy to keep track of the details.
  5. Sell This—when I'm interested in selling something, a Sell This application can help me list it on eBay, CraigList, etc.

Because these are PDOs, you don't have to pick just one of these, any given thing can support all these apps and more. There might be multiple apps in each of these categories that people can choose from.

Of course, these aren't the only applications that you might run. I have the thermostat I wrote about last year in the PDO that functions as my personal cloud as well as the controller for the Hue lights in my office.

Where do all these programs come from? As a start, we're writing some of them. We have to in order to build the platform and generate interest. But each PDO in SquareTag runs the CloudOS. Consequently each tag has a programming model so that developers can write programs and users can install and run them. The programming model conveniently handles the PDO's identity and provides a persistent data model. The CloudOS provides services for managing data, interacting with the UI, managing subscriptions between PDOs, creating and managing new PDOs, and notifications to owners. This makes the developer's job easier since they don't need to worry about any of these.

We're ready to let friends and family play with this, so if you'd like, I'm happy to send you a tag. Just get your physical address to me and we'll ship a tag out to you so you play with it and give us a little feedback.

Bonus: If you'd like to dig more into some of the details around the concept or SquareTag, you might enjoy the whitepaper I wrote last June: SquareTag: Making Everything "Smart".