Laser-etched thinglinks

Eric Wilheim from Instructables brought a laser cutter to Foo Camp. It can etch any digital image on metal, plastic or wood. The cutter ran almost uninterrupted through the weekend as campers etched images on their laptops and mobile phones.

Chris Heathcote eched a moomin character on his MacBook (thing:025NNI)

I thinglinked my laptop (thing:686DLP):

Jyri etched a speech bubble on his Powerbook that says ‘Hi! I’m thing:754QFF Check me out on’

The fact that the cutter was so popular suggests people want to personalize and identify objects they own. Specifically, it’s objects like laptops, iPods, phones, bikes, and cars that both express our personality and have a market value.

Read More

Labeling with thinglinks

Ways of labeling objects with thinglinks in physical world:
1) Writing/scratching/burning a thinglink directly on a physical object
2) Attaching a printed thinglink sticker/fabric label/swing ticket to an object or to the package/wrapper of an object
3) Ordering pre-allocated labels with thinglink codes and using them to identify objects

Ways of labeling objects with thinglinks on the Web:
1) Hyperlinking text, images, and other content on the web with thinglink URLs (see thing:636RPE)
2) Using thinglinks as tags on services like Flickr, Delicious, and (example: tag “thing:561BZJ” on this Flickr photo)
3) Annotating objects in photos with thinglink bubbles


Read More

DIY thinglink fabric labels

Printing out thinglink labels on paper is easy. With a little crafting, it’s also possible to make fabric labels. Here’s how I made the labels for Ville’s beanies.

1. I turned an excel file of all thinglinked items into a word file of thinglink labels. The label said: “Hi, I’m thing:123ABC”. Check me out on!”


2. Then I saved the Word file as PDF and flipped it into a mirror image in Photoshop

3. I printed them on iron-on transparencies.

4. I ironed the sheets on a white cotton fabric.

5. I removed the paper on the back.

4. Now the labels were ready for cutting and sewing.

Read More

The Thinglink data model

This post describes the data model on the kinds of information that the site knows about, their fields, and the relationships between them.

Let’s start with a diagram:

You could also read A URL design for, published previously on this blog, to get an idea of how this data model translates onto the website.

Each of the boxes in that diagram is represented in the thinglink database with a number of fields and relationships:


The thinglink is the core of the data model. As can be seen from the diagram, all other data on references a thinglink. A thinglink has the following fields:


  • code (e.g. 123ABC)

  • title

  • description

  • createDate

  • viewCount (incremented every time someone views the thinglink’s webpage)

  • photo (ID, url, thumbnail URL and title)

  • linker (the user who created this thinglink)

  • maker (one or more people who made the thing that this thinglink represents)


In order to comment or to create or edit a thinglink, users must be logged into the site. User records have the following fields:


  • name

  • password

  • email

  • bio

  • homepage

  • flickr ID and username


Thinglink tags are the same concept as flickr tags: a folksonomy made up of text strings attached to thinglinks.

Unlike flickr, tags may only be added, edited or deleted from a thinglink by the user who created the thinglink. Tags are presented on thinglink pages, and in a list on the homepage showing the most popular tags.


The labeling area of is currently under development and no label data is stored in the database.

flickr picture

A picture from the user’s flickr account can be associated with a thinglink. The data about this association is stored in the thinglink table as described above. The flickr picture is displayed with the thinglink in thumbnail or fullsize form wherever appropriate.


A thinglink may have the country of its origin listed. Countries are chosen from a controlled list in a dropdown on when the thinglink is created or edited. A list of popular countries is displayed on the homepage.


A thinglink may have the year of its making stated when the thinglink is created or edited. A list of popular years is displayed on the homepage.

Read More

Stefan Groschupf joins Thinglink

On June 3rd I got an email from Stefan Groschupf saying he could write some code to index thinglinks with Nutch – similar to the way the creative commons license indexing is working. ‘Sounds great’, I said. One email left to antoher, new questions came up, I introduced Stefan to Joni and Matt, and sooner than I realized, Stefan had become a key person in our developer team. Thanks to Stefan, thinglink will be soon available from under GNU GPL. Here is a good intro about Stefan from CommerceNet Events:

Stefan designed and built his first search engine for a university library in Germany at the age of 19. By 21, he founded Media Style, Inc., a computer engineering company specializing in text-mining, search and e-commerce applications. Over the past 10 years he has consulted on Internet and database projects for BMW, Intel, Siemens and Hoffmann La Roche. He is an active member of the Open Source community working on distributed file-sharing and map-reduce implementation projects. He has also contributed the plugin architecture and metadata support to Nutch, the leading open source search engine.

Stefan is also the founder and lead architect for weta, an open source grid computing project. Currently Stefan works as Chief Architect for and also consults for other Silicon Valley startups in the vertical search engine arena.

Read More

Thinglink developers dinner on Thursday

On Thursday Matt will give an Aula Talk about “open databases as the next wave of open source” at Helsinki Institute for Information Technology. After that there is a plan to meet at Via restaurant in the Helsinki centre. If you’re interested in thinglinks and happen to be in town, you’re more than welcome to join us. Just let me know in advance so I can book a big table!

Read More

Thinglinks as barcodes

Here are two examples of showing thinglinks as barcodes.

1) On pages like Barcode Mill you can use Code 128 to turn thinglinks into traditional barcodes.

2) On Semacode you can turn thinglinks urls into two-dimensional barcodes that any phone with a camera and J2ME can read.

Thinglinks can also be converted into short codes, althought there is not yet an application that can read them.

I’m looking forward to try thinglinks as semacodes in exhibitions. If you know people who would be interested in a thinglink/semacode experiment, please feel free to spread the word!


Read More

Introducing thingtagging

If something’s worth thinglinking, it’s worth taking pictures of. Lots of pictures. On, there’s only space for one picture of any one thing, but that’s far from the end of the story.

We’ve come up with a way to keep track of pictures of thinglinked objects on flickr. We looked at how people are using tags to geotag the location of photos, and in much the same way, we’re recommending thingtagging.

Here’s how it works:

  1. Thinglink your unique and interesting object on Now you’ve got a thinglink code – something like thing:265CII (maybe it already had a code labeled on it somewhere, in which case you’d use that one).
  2. Take pictures of it out in the world.
  3. On each picture, add the tag thingtagged and the thinglink code tag, e.g. thing:265CII. For example, here’s a picture that Ulla-maaria thingtagged a few days ago.

Now you can track pictures of it on Flickr. But even better than that, you can go visit the lovely thingtagging website. Updated hourly, it brings together information from both Thinglink and Flickr to show the latest pictures of thingtagged stuff in the world.

Read More

Thank you Mediamatic Amsterdam!

Among friends of Thinglink, Mediamatic Amsterdam deserves a special mention. They invited me to speak at their workshop when Thinglink was only a conceptual level idea. During the past few months, they’ve introduced me to a great number of interesting people and organizations, given important feedback and ideas for developing the database, and organized positive publicity in the local media such as Bright 08. During the first Thinglink workshop last week, we got to use their meeting room and wifi in the center of Amsterdam. Special thanks for all this goes to no other person than Willem Welhoven, the Director of Mediamatic Interactive Publishing. If there were more willems around, the world would surely be a better place.

Photo: Matt

Read More

Design patterns for building with web APIs

To help us design the future Thinglink developer API, I’ve been documenting patterns that I see in web apps that share and modify data over HTTP. The following is an extract from a draft of the Thinglink technical white-paper.


One of the simplest cases is when the writer of a blog would like a subset of the latest Thinglink information on their blog. They can take the URL of the feed for the information they want – perhaps – and transform the XML from that feed into HTML in a sidebar. This can be done by polling in a batch process on a regular schedule.

This doesn’t require write access to thinglink data, nor does it need any special developer relationship between the two sites. If becomes unavailable, the information may start to become stale, but the blogger’s site continues to work.

Thin client

A mobile application could be developed to help people discover and record information about things in their environment. Running on a phone or a PDA, it would not have a database of its own and would directly access the Thinglink API in order to lookup a thinglink code, create a new thinglink or make a comment.

This kind of application is much more dependent on network connectivity and the availability of Because all the information in the application is transmitted over the internet, it cannot do anything for the user if the API becomes unavailable.

The principles in this pattern would also apply if a website used AJAX to directly talk to the Thinglink API.

Website using data enriched with thinglink information

We intend that over time people will start using thinglink codes in their own data. The more this happens, the more the network effect will help enrich every participant’s information.

If a museum tagged a collection with thinglinks and put the information on their own website, they would be combining a mixture of information from their own database and information from

Because thinglink codes are issued at, they would use the API directly  during their archiving process to allocate codes and record information about their pieces. It is practical to do so if the number of items they are cataloguing is a few hundred or thousand a year.

However, when users requested pages from their site they would use cached thinglink information from their database. This would improve performance, reduce load on and avoid relying on the availability of the API for every request. They would periodicially expire this cache and refresh the information directly from the Thinglink API.

Decoupled, replicated thinglink data

A busy ecommerce site that lists many new items per day cannot rely on a direct coupling to the Thinglink API to generate new thinglink codes because of the risk to their business if problems occur.

In this situation, Thinglink would define a scheme for the ecommerce site to allocate its own thinglink codes and define the minimum information that should be stored about each item. Their website and database is then fully independent of for its daily operation. They would agree to deliver regular updates of XML data to Thinglink, perhaps once a day, which would be incorporated into in a batch.

Read More
1 52 53 54 55 56 57