Author Archives: Ulla

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

Imagining a Firefox extension

Today we’re thinking about ways to make it easier to create new thinglinks. If you had a lot of new things that you wanted to talk about on, you might start by taking photos of each one and uploading them to a photo service like flickr or 23. If you did that right now, you’d have quite a job ahead of you to cut and paste all those titles and photos into the form on

We imagined a Firefox extension that could make this job easier. The process would go something like this:

  • the user takes a photo of a thing and uploads it in the usual way
  • on the photo page, an extra button appears saying ‘make a thinglink’
  • when clicked, this button takes the user to the form for registering a new thinglink
  • the form has been pre-populated with the photo and its title from the photo page
  • the user fills in the rest of the information
  • after submitting, the extension automatically goes back to
    the photo page and adds the tag ‘thingtagged’ and a tag like ‘thing:265CII’ for the
    newly-allocated thinglink code

What do you think? How hard is it to make an extension like that?

Read More

Featured maker: Ville Lahtinen

Ville Lahtinen is a nineteen-year old snowboarder-entrepreneur, who makes snowboarding accessories such as beanies. Ville established his own beanie business in the age of sixteen, and since that he has crocheted more than fifteen hundred head wears. In addition, Ville gives crocheting lessons to school kids and adults.

On April 11th, Ville received an email from Sofia Laine, a EU-meeting coordinator from Helsinki. Sofia asked if Ville could make 260 unique beanies for the upcoming Young Active Citizenship EU-meeting that she was organizing. Ville was in the middle of his matriculation exams, but decided to take the challenge and replied “yes”. Between April and the end of June, he crocheted about four beanies per day.

Every beanie has got a unique thinglink, which is printed on a fabric label and attached to the hat by sewing. On July 3rd, Ville got to hand out his creations to the conference participants, including the Finnish Minister of Culture, Tanja Saarela.


Read More

A URL design for

This week, Ulla-Maaria and I are having our first face-to-face Thinglink meetings in Amsterdam. We’re discussing a lot of areas that are important to the project: concepts, website, community, technology, standards and many more.

The first technical issue we’ve tackled is the URL structure of the website. Although every thinglink has a reliable URL such as, most of the rest of the site has URLs that are not reliable. They change over time, which makes them impossible to bookmark, to blog about, or to email to a friend.

We want to fix this as soon as possible by tweaking the code behind the scenes, but first we had to decide what the ideal URLs should be. The new URLs, as soon as we’ve implemented them, will look like this:

  • – things tagged ‘beanie’
  • – things tagged both ‘beanie’ and ‘finland’
  • – ulla maaria’s profile and list of thinglinks
  • – a search for ‘search terms’
  • – things made in finland
  • – things made in 1989

We think this is a good clean structure that we can build on in the
future when we add more features to help people share their
information. For each kind of webpage that these URLs represent, we want to add RSS feeds, and a way for developers to read and write the information using an API.

If you’ve got any thoughts on what kind of feed or API would work best for you, please let us know.

Read More

Thinglinks for Estonian Art and Design

Design Innovation Center at Estonian Academy of Arts has recently decided to build a database of Estonian art and design. The aim is to create a platform that makes artists and designers as well as their work easily approachable to the corporate world and ordinary people.

All the design and artwork in the Estonian database will be tagged with a thinglink, which means that in the future we’ll see plenty of Estonian design on! In Tallin I met with the project leaders, Katri Ristal and Sven Idarand from the Estonian Academy of Arts.


Read More

Traffic jams

There is now more traffic on Thinglink that the service can handle and some activities get jammed. Thank you for your patience!

Read More

Matt Biddulph joins Thinglink

When Matt Jones first heard about Thinglink, he said I should contact his friend Matt Biddulph. He was right, and that was good advice.

A year later I met Matt B. at XTech and we agreed on working together for the next four months. In addition to being an experienced developer in the fields of digital media and social software, Matt is a perfect match with Thinglink, because his previous job was to develop a database for the BBC archives. Currently the BBC Programme Catalogue (now in review process) has details of 950,980 BBC radio & TV programmes from 1,190,271 contributors!

During the summer Matt and I will be working on a white paper for Thinglink, which is a process you can follow (and participate!) on the Thinglink blog.


Photo: urbanwide


Read More

We’re up again is up and running again!

Read More

Oops we fell down

The server that runs Thinglink and Aula fell down last night. I hope we can get up without broken bones. Stay tuned…

Read More

Question about Wicket

Stefan Groschupf found a technical problem with the current webpage: links on the webpage change when a web session change. This means that one user cannot send a link to another user, since each user has her own session. The only url that stays the same is the thing page:

“The way the wicket framework you use handle this kind of page navigation is – let’s say everything else than common. I think you will run into problems since everybody wants to link to a tag or popular year etc. and end up to “page expired”. (…) Also, the search engines will not able to crawl your page.”

Well, that indeed must be fixed. Unless there are some wicket developers out there who can comment on this right away, I think we have to wait for Joni to solve the problem. I think it is this way because we haven’t really planned a proper url architecture for our pages yet.

Read More
1 9 10 11 12 13