This is a summary of the talk I gave at conconuk, with a few more references, examples and links thrown in.
In my talk at Etcon (Powerpoint, 1.2Mb), method number 28 to find your location was geowarchalking. This originally was a simple idea of people marking postcodes and lat/longs around the urban environment in chalk, similar to the wi-fi markings – making the invisible visible.
These methods are still hard to get in and out of an electronic location system. You don’t really want to be typing in numbers to 8 decimal places, or triple-tapping postcodes. Machine understandable is not machine readable.
So how can we make this easy and automatic – RFID tags will soon be available in spray cans, anyone can sticker the city…. with barcodes.
An aside: Japanese mobile phones. Many modern mobiles read 2d barcodes, in a standard format, using the on-phone camera. These barcodes include a phone number, a URL, or an email address. This has been expanded to include a whole business card. People print them on their paper business cards, adverts often have a barcode link.
But – we want to store other data. We want latitude and longditude. We want places. We want lots of things – we want to barcode tables, chairs, everything! How can we create all these specs?
Most of them exist already. There are RDF schemas for position (geo), places (locative) and even homepages (FOAF). If you want to describe something else, there’s an entire dictionary in wordnet and a poor description of how things work with cyc, and, to be honest, RDF schemas aren’t that hard.
So, the idea: RDF as barcodes. I’m proposing to use the same standard for barcode encoding as used in Japan: QR Code. It’s scalable (up to about 4kb), it’s in the public domain, handles odd characters (such as Japanese scripts) and it copes pretty well with being readable when the barcode is damaged.
Here’s a geo tag (the example from the geo spec) encoded as a QR code:

(the black line is because I’m using a demo version of a barcode creator – I think)
Now, it might be worth being a bit pragmatic, and not including the RDF blurb at the beginning (i.e. just encoding the actual geo packet). This might actuallly be valid RDF these days – I know the validator has this as an option.
This reduces the size of the barcode considerably:

The other thing to add is a human-readble indication of what you’re encoding – e.g. geo, locative, foaf. This means you can work out what kind of thing you’re scanning or looking for.
And just to prove how crazy this can get, here’s the description part of my FOAF file:

And if you include all my email aliases, it gets to a point where I don’t think cameraphones could cope:

So, let’s annotate the planet!
What we need next – a standard proposal (this post may even be it)
free, open reader and writer software – both for PCS and phones
crazy geo pirate graffiti gangs
Some questions that arose at conconuk – Why not use RFID?
Too expensive, and not generally available – all you need with barcodes is a printer
Why not just use a pointer or a URI?
This isn’t just for connected devices such as cameraphones. Your digital camera might use a geo barcode to geoposition your photo. Your GPS might learn about places and things via barcodes. The system’s a lot more hackable and open-ended this way.
The other thing I haven’t really given is services that might use such a system. This is just an enabler, a piece of glue that relates computer and Internet data to the physical world. I’m really interested in everyone’s thoughts, problems, pitfalls, ideas.
(I’ll leave the reverse idea – barcodes displayed on mobile phone screens and read by an environment of devices for another time)
UPDATE:
A few people (hi joshua) mentioned by email and at conconuk some other points – Why not use n3 triples?
I thought more software and hardware would understand some form of XML rather than n3 (I have never seen an n3 reading app outside RDF testbeds).
Why not zip/gzip the data first?
A pretty good point, and something I’m going to investigate. I’m worried that this is introducing more complexity, and things to go wrong. I want to see if doing this makes the barcodes less fault-tolerant.
Some links:
DoCoMo barcode spec
an english explanation
QR Code official site
Japanese software to create QR Code barcodes: QR Factory QR Manager
general barcode creation software (demo)
good overview of all 2d barcode techniques
Some examples of the smaller geo packet in other barcode formats – 
data matrix

maxicode
(registered at the Post Office as a “dangerous British ammunition export”)
contact
email:
chris is at anti-mega.com
Twitter:
@antimega
iChat/AIM:
antimega77