Tags: paper




Someone at Clearleft asked me a question recently about making bookmarklets. I have a bit of experience in that department. As well as making a bookmarklet for adding links to my own site, there’s the Huffduffer bookmarklet that’s been chugging away since 2008.

I told them that there are basically two approaches:

  1. Have the bookmarklet pop open a new browser window at your service, passing in the URL of the current page. Then do all the heavy lifting on your server.
  2. Have the bookmarklet inject JavaScript to analyse and edit the DOM of the document in the current browser window. All the heavy lifting is done directly in client-side JavaScript.

I favour the first approach. Partly that’s because it makes it easier to update the functionality. As you improve your server-side script, the bookmarklet functionality gets better automatically. But also, if your server-side script doesn’t do its magic, you can always fall back to letting the end user fill in the details.

Here’s an example…

When you click the Huffduffer bookmarklet, it pops open this URL:


…with that page parameter filled in with whatever page you currently have open. Let’s say I’ve got this page currently open in my browser:


If I press the Huffduffer bookmarklet, that will spawn a new window with this URL:


And that’s all it does. Now it’s up to that page on Huffduffer to figure out what to do with the URL it has been given. In this case, it makes a CURL request to figure out what to use as a title, what to use as a description, what audio file to use, etc. If it can’t figure that out, I can always fill in those fields myself by hand.

I could’ve chosen to get at that information by injecting JavaScript directly into the page open in the browser. But that’s somewhat invasive.

Brian Donohue wrote on Ev’s blog a while back about one of the problems with that approach. Sites that—quite correctly—have a strict Content Security Policy will object to having arbitrary JavaScript injected into their documents.

But remember this only applies to some bookmarklets. If a bookmarklet just spawns a new window—like Huffduffer’s—then there’s no problem. That approach to bookmarklets was dismissed with this justification:

The crux of the issue for bookmarklets is that web authors can control the origin of the JavaScript, network calls, and CSS, all of which are necessary for any non-trivial bookmarklet.

Citation needed. I submit that Huffduffer and Instapaper provide very similar services: “listen later” and “read later”. Both use cases could be described as “non-trivial”. But only one of the bookmarklets works on sites with strict CSPs.

Time and time again, I see over-engineered technical solutions that are built with the justification that “this problem is very complex therefore the solution needs to be complex” (yes, I am talking about web thangs that rely on complex JavaScript). In my experience, it’s exactly the opposite way around. The more complex the problem, the more important it is to solve it in the simplest way possible. It’s the only way of making sure the solution is resilient to unexpected scenarios.

The situation with bookmarklets is a perfect example. It’s not just an issue with strict Content Security Policies either. I’ve seen JavaScript-injecting bookmarklets fail because someone has set their browser cookie preferences to only accept cookies from the originating server.

Bookmarklets are not dead. They may, however, be pining for the fjords. Nobody has a figured out a way to get bookmarklets to work on mobile. Now that might well be a death sentence.

100 words 008

Some sea lions bellow,
Some sleep,
Some crawl on top of others
As they crowd onto a raft
At the Astoria, Oregon
Municipal mooring docks.

What a beautiful poem! I found it captioning an image on the front page of The Seattle Times newspaper which was left outside my hotel room. The image illustrates a story about sea lions; how the sea lion population is doing great, and how that might spell trouble for the salmon population.

On a March morning,
Federal, state and university biologists
Clear space at the Astoria dock
For a day of research.

Animal news poetry.

Returning control

In his tap essay Fish, Robin sloan said:

On the internet today, reading something twice is an act of love.

I’ve found a few services recently that encourage me to return to things I’ve already read.

Findings is looking quite lovely since its recent redesign. They may have screwed up with their email notification anti-pattern but they were quick to own up to the problem. I’ve been taking the time to read back through quotations I’ve posted, which in turn leads me to revisit the original pieces that the quotations were taken from.

Take, for example, this quote from Dave Winer:

We need to break out of the model where all these systems are monolithic and standalone. There’s art in each individual system, but there’s a much greater art in the union of all the systems we create.

…which leads me back to the beautifully-worded piece he wrote on Medium.

At the other end of the scale, reading this quote led me to revisit Rob’s review of Not Of This Earth on NotComing.com:

Not of This Earth is an early example of a premise conceivably determined by the proverbial writer’s room dartboard. In this case, the first two darts landed on “space” and “vampire.” There was no need to throw a third.

Although I think perhaps my favourite movie-related quotation comes from Gavin Rothery’s review of Saturn 3:

You could look at this film superficially and see it as a robot gone mental chasing Farrah Fawcett around a moonbase trying to get it on with her and killing everybody that gets in its way. Or, you could see through that into brilliance of this film and see that is in fact a story about a robot gone mental chasing Farrah Fawcett around a moonbase trying to get it on with her and killing everybody that gets in its way.

The other service that is encouraging me to revisit articles that I’ve previously read is Readlists. I’ve been using it to gather together pieces of writing that I’ve previously linked to about the Internet of Things, the infrastructure of the internet, digital preservation, or simply sci-fi short stories.

Frank mentioned Readlists when he wrote about The Anthologists:

Anthologies have the potential to finally make good on the purpose of all our automated archiving and collecting: that we would actually go back to the library, look at the stuff again, and, holy moses, do something with it. A collection that isn’t revisited might as well be a garbage heap.

I really like the fact that while Readlists is very much a tool that relies on the network, the collected content no longer requires a network connection: you can send a group of articles to your Kindle, or download them as one epub file.

I love tools like this—user style sheets, greasemonkey scripts, Readability, Instapaper, bookmarklets of all kinds—that allow the end user to exercise control over the content they want to revisit. Or, as Frank puts it:

…users gain new ways to select, sequence, recontextualize, and publish the content they consume.

I think the first technology that really brought this notion to the fore was RSS. The idea that the reader could choose not only to read your content at a later time, but also to read it in a different place—their RSS reader rather than your website—seemed quite radical. It was a bitter pill for the old guard to swallow, but once publishing RSS feeds became the norm, even the stodgiest of old media producers learned to let go of the illusion of control.

That’s why I was very surprised when Aral pushed back against RSS. I understand his reasoning for not providing a full RSS feed:

every RSS reader I tested it in displayed the articles differently — completely destroying my line widths, pull quotes, image captions, footers, and the layout of the high‐DPI images I was using.

…but that kind of illusory control just seems antithetical to the way the web works.

The heart of the issue, I think, is when Aral talks about:

the author’s moral rights over the form and presentation of their work.

I understand his point, but I also value the reader’s ideas about the form and presentation of the work they are going to be reading. The attempt to constrain and restrict the reader’s recontextualising reminds me of emails I used to read on Steve Champeon’s Webdesign-L mailing list back in the 90s that would begin:

How can I force the user to …?


How do I stop the user from …?

The questions usually involved attempts to stop users “getting at” images or viewing the markup source. Again, I understand where those views come from, but they just don’t fit comfortably with the sprit of the web.

And, of course, the truth was always that once something was out there on the web, users could always find a way to read it, alter it, store it, or revisit it. For Aral’s site, for example, although he refuses to provide a full RSS feed, all I have to is use Reeder with its built-in Readability functionality to get the full content.

Breaking Things

This is an important point: attempting to exert too much control will be interpreted as damage and routed around. That’s exactly why RSS exists. That’s why Readability and Instapaper exist. That’s why Findings and Readlists exist. Heck, it’s why Huffduffer exists.

To paraphrase Princess Leia, the more you tighten your grip, the more content will slip through your fingers. Rather than trying to battle against the tide, go with the flow and embrace the reality of what Cameron Koczon calls Orbital Content and what Sara Wachter-Boettcher calls Future-Ready Content.

Both of those articles were published on A List Apart. But feel free to put them into a Readlist, or quote your favourite bits on Findings. And then, later, maybe you’ll return to them. Maybe you’ll read them twice. Maybe you’ll love them.


To paraphrase XKCD, someone not on the internet is wrong.

Exhibit A: Rupert Murdoch wants to stop Google indexing newspaper content, asking Should we be allowing Google to steal all our copyrights? As Danny Sullivan points out, Mr. Murdoch could save himself a crusade by simply writing a robots.txt file.

Exhibit B: Some hack in The Guardian puts paid to the myth that newspapers publish “quality content” by writing a screed entitled Google is just an amoral menace. The problem here seems to be that Google is too powerful for its own good because it does a great of job of aggregating content and making it easy to find. This problem statement is so absurd that even other journalists can see it’s wrong.

Whenever I see stalwarts of a dying business model rail against Google in this way, I can’t help but think that what they’re really angry with is the web itself.

I would argue that they could spend their time more constructively, reading Clay Shirky or listening to Steven Johnson. But then, as Kevin says:

Never argue with anyone who buys ink by the barrel. They tend not to be any good at debate.

Update: It gets better. The editor of the Wall Street Journal calls Google parasites or tech tapeworms in the intestines of the internet. Read the article and then read this twist on it.

At least all of this nonsense shows that the newspaper industry has moved from “denial” to “anger”. They just need to get through “bargaining” and “depression” before they finally reach “acceptance”.


I’m up in London for . I arrive late to find Aaron Straup Cope in full flow. I saw Aaron at XTech two years ago talking about the idea of . Here we are today having a whole event devoted to it. His talk today sets the scene nicely, packed full of ideas.

Tom Taylor has an awesome analogue mashup. He bought a cheap little till printer, the small dinky kind that is used for printing off shop receipts. As he put it, If A4 is a blog, this is Twitter. He has hooked it up to an arduino board which connects to his computer which is connected to the internet. That’s the hardware side of the things. The software side of things is pretty simple. Every day at 8:00am, a programme pulls in data from various places: appointments from his calendar, the movements of his fellow travellers on Dopplr, and (of course). This gets output to a queue and a few seconds later, that gets output—via the arduino board—to the till printer. Tom now has a small slip of paper with all the little reminders he might need for the day. It is, as I said, awesome. I want one.

Till printer + arduino + laptop

Alexandra Deschamps-Sonsino is talking about making stuff with paper. But enough talk. Let’s actually make stuff. We are all seated around a table covered with paper, pens, scissors, tape, stanley knives and other tools. We have fifteen minutes to make either a piece of furniture, a building or an object we love. I don’t know what to build so I look up at the ceiling and start trying to build a scale model of it. It was fun.

Chris Heathcote loves guidebooks. Venice for Pleasure is the ur-guidebook, beautifully written. Wallpaper do guide books for people who live a clichéd designer lifestyle and take taxis everywhere. In Japan they have the concept of mooks: magazine books. They aren’t replaced every month; a new one comes out every month but you can buy the previous mooks too. Guidebooks are getting smaller which is a good thing. Chris tends to rip things out of his guidebooks—they tend to be for one-time use. He does the same with maps. Like Aaron said, you don’t want to be the tourist with the big map. Moleskine make notebooks with maps and tracing paper. And of course now, thanks to the papernet, you can make your own foldable maps, turkish or otherwise.

Nick O’Leary is talking about graphs. He wants to represent them with paper rather than simply on paper. He came up with some code that generates an image including lines showing where to fold and cut. Print it out, cut it and fold it and voila!, 3D graphs. He holds up an example. It’s beautiful. He wants to make a pop-up book of statistics. Absolutely bloody brilliant! This is data porn and paper porn rolled into one. Aaron asks if Nick has thought about applying this idea to creating topographical maps which, let’s face it, would be really, really handy for somewhere like San Francisco.

Nick's creation

We break for lunch and a bunch of us gravitate towards a bar called Camino, the only place in the vicinity that shares its name with a web browser. Some of the people I know, some I don’t. The conversation turns to code and hacking. I start to mention one of my favourite hacks at HackDay, Above London. Turns out that the person sitting next to me is Paul Mison, one of the Above London hackers and also creator of the machine tag browser that I blogged about.

After lunch, Sascha Pohflepp talks about Export to World. This looks familiar. Ah yes, I remember this being presented as the dinner entertainment during Reboot last year. He’s been taking objects out of Second Life and modelling them in the real world.

Now everyone gathers around a laptop for a demo from Durrell Bishop and Tom Hulbert from Luckybite. They have a printed book based on their music collection. Each page of the book contains an image—usually an album cover—and a barcode. If you scan the barcode from a page in the book, the corresponding music will play on your computer (or your phone). The book is the UI. The wireless barcode reader is where the magic happens. If these guys can make a cheap version of this reader, it will fantastic …for all us. Right now the only expensive bit is the reading head but the price could come down as low as a dollar or two. Sign me up!

James Wheare now gives a quick demo. He’s making a daily physical lifestream. Overnight, it pulls in blog entries, Flickr pictures and twitter messages from his friends and in the morning, he prints out a foldable A4 page. He can fold this down into a little booklet to take with him when he leaves the house.

Lifestream booklet

Karsten Schmidt begins by talking about print on demand. He shows beautiful computer-generated algorithm-driven book covers from Faber Finds. He then shows the most gorgeous unique identifiers I’ve ever seen. These are printed on to postcards for the end of year show at the London College of Fashion—one per student. These cards are machine readable at interactive tables. But what about generating machine-readable identifiers without using a machine? Right now you still need a computer and a printer. What if you could use origami instead? If you think about it, that’s what’s going on with Edward James Olmos’s unicorn in Bladerunner. Take a piece of paper, configure it in a certain way; now it contains a machine-readable message.

At this stage, my mind is well and truly blown and we aren’t even finished yet. Sawa Tanaka is now going to show some of her work. Here’s a book called Spot Nocturnal Animals which is all white in the daylight but once it gets dark, you can shine a UV light on the paper to expose animal tracks and information. The Egg Book uses thermochromic ink. When you warm it up—Sawa blows on the page at this point—baby birds are revealed. Here’s the missing piece of the papernet puzzle: edibility. Sawa has made edible prints on rice paper: English breakfast, fish’n’chips, soba …this is making me hungry. She has also created a beautiful box of pictures of Hiroshima with pictures from 1945 burnt onto pictures from 2007. Every one of her projects is wonderful.

Sawa Tanaka

Next up is Beeker Northam who speaks about photographing paper. She doesn’t like throwing away books. She photographs her books. There’s something about photographing them that’s different to scanning them. She’d like to have some kind of web-based way for people to share those bits of books that have had an emotional impact on them but she hasn’t found it yet. There are book sharing sites out there but they all take a library-based approach.

I’m up next. I feel bad because, not only do I not have a demo or prototype to show, I don’t even have any slides. All I have is an idea. And ideas are a dime a dozen. It’s following through that counts. But still …I’m using PaperCamp as a real-world LazyWeb; running an idea up the flagpole; opening the kimono; attempting a landing on the Hudson.

I had this idea a while back of doing a location-based audio service. I heard about a site that offered user-generated audio guides for museums. Download the MP3, stick it on your iPod, go to the museum and press play. I thought it would be good to do the same thing for any kind of location. For example, I could walk around Brighton recording my thoughts about the architecture or talking about the best restaurants, and then I could upload that audio file and geotag it so that somebody else can later retrace my steps and hear my words. The problem I’ve found with this idea is the lack of good recording devices. We have ubiquitous listening devices—iPods—but the ubiquitous devices we talk into—mobile phones—aren’t the right fit for this, I fear.

So the idea of location-based shared audio languished on the back burner. Then I saw Aaron speaking at XTech about the papernet and I begin to think that words on paper might be a better medium than words in headphones. Paper is compact, durable and portable. Then Moleskine came out with their city guides and that’s when I joined the dots: what I want is a guide book that grows over time. It could work something like Book Crossing, with people passing the notebooks along to the next person visiting a place. To begin with, the notebooks are sparse, containing only maps but then they get filled with notes, stories, tips and recommendations.

It strikes me that the internet is superb for communication and collaboration over distance: Wikipedia, Flickr, blogs …physical distance collapses completely. Meanwhile, the physical world has an emotional immediacy and tactile feel that can’t be captured online. I’d like to bridge those worlds using guidebooks as the glue: physical objects in the real world that benefit from the collaborative environment of the internet. I’m not sure if Moleskine city guides are necessarily the best vessels. That would limit the potential places to just those cities that have guidebooks. A print-on-demand book containing maps from OpenStreetMap, photos from Flickr places and text from Wikipedia could make for an equally good starting point as long as the physical dimensions are notebook-like.

That’s my idea. I can foresee some serendipitous side-effects growing out of this infrastructure—games and treasure hunts, perhaps—but I can also imagine some challenges—like co-ordinating the physical shipping of the books from person to person (maybe drop-off points are a better idea). Then there’s the fact that all this information that’s being accumulated is stuck in a physical object that isn’t machine-readable without some scanning and OCR—it seems a shame that the information can’t easily flow back from the real world onto the internet.

I’m done pitching my idea and ask what people think. Aaron says he wants to help me build this. Yay! He also says that my worries about getting the information from book to internet shouldn’t be too much of a cause for concern. I agree: it’s certainly not a show-stopper. Alex likes the idea of the time-sensitive nature of recording thoughts about a place; the places that you visited when you were in a relationship, for example, will be coloured by how you felt in that relationship. I hadn’t thought about that, but yes, these notebooks could be vessels for messages from your past self to your present or future self. Denise reckons that this might not even be a technological undertaking at all: she mentions a notebook of sketches that was simply passed from designer to designer, filling up over time. I think that’s largely true but there’s also great potential in the social aspect of sharing the books: I’m going to want notebooks that have previously been used by people I know or whose opinion I trust. But yes, fundamentally all I’m proposing is a web-based admin system for co-ordinating the sharing.

With that, I’m done. I hand the floor over to Matt Ward who closes the event with his thoughts about everything he’s seen today. Keywords are augmentation, materiality and craft-bioinformatic-origami-unicorns.

The other Matt finishes by thanking us all for coming and turning a drunken conversation in the pub into something that will keep him thinking for all of 2009. Hear, hear! Thank you, Mr. Jones, for organising this inspiring gathering.


I’m off to Copenhagen for Reboot 10. Reboot is always a fun gathering. It might not be the most useful event but as part of a balanced conference diet, it’s got a unique European flavour.

As usual, I’m going to use the opportunity to talk about something a bit different to my usual web development spiels. This time I’ll be talking about The Transmission of Tradition, a subject I’ve already road-tested at BarCamp London 3:

This talk will look at the past, present and future of transmitting traditional Irish music from the dance to the digital, punctuated with some examples of the tunes. This will serve as a starting point for a discussion of ideas such as the public domain, copyright and the emergence of a reputation economy on the Web.

At the very least, it will give me a chance to debut that mandolin I picked up in Nashville.

This will be my third Reboot. My previous talks were:

I recently discovered the video of that last presentation. Jessica was kind enough to transcribe the whole thing. She also transcribed my talk from this year’s XTech. Go ahead and read through them if you have the time.

If you don’t have the time, you can always mark them for later reading using Instapaper. I love that app. It does one simple little thing but does it really well. Hit a bookmarklet labelled “read later” and you’re done.

Here’s a little sampling of documents I’ve marked for later reading:

Maybe I should fire them up in multiple tabs and read them on the flight to Denmark. Or I could spend the time brushing up on my Danish.

If you’re headed to Reboot, I’ll see you there. Otherwise …Farvel!