I was in Nuremberg last weekend for Indie Web Camp. It was great.

At some point I really should stop being surprised by just how much gets done in one weekend, but once again, I was blown away by the results.

On the first day we had very productive BarCamp-like discussion sessions, and on the second day it was heads-down hacking. But it was hacking with help. Being in the same room as other people who each have their own areas of expertise is so useful. It really turbo-charges the amount that you can get accomplished.

For example, I was helping Tom turn his website into a progressive web app with the addition of a service worker and a manifest file. Meanwhile Tom was helping somebody else get a Wordpress site up and running.

Actually, that was what really blew me away: two people began the second day of Indie Web Camp Nuremberg without websites and by the end of the day, they both had their own sites up and running. For me, that’s the real spirit of the indie web—I know we tend to go on about the technologies like h-card, h-entry, webmentions, micropub, and IndieAuth, but really it’s not about the technologies; it’s about having your own place on the web so that you have control over what you put out in the world.

For my part, I was mostly making some cosmetic changes to my site. There was a really good discussion on the first page about home pages. What’s the purpose of a home page? For some, it’s about conveying information about the person. For others, it’s a stream of activity.

My site used to have a splash-like homepage; just a brief bio and a link to the latest blog post. Then I changed it into a stream a few years ago. But that means that the home page of my site doesn’t feel that different from sections of the site like the journal or the link list.

During the discussion at Indie Web Camp, we started looking at how silos design their profile pages to see what we could learn from them. Looking at my Twitter profile, my Instagram profile, my Untappd profile, or just about any other profile, it’s a mixture of bio and stream, with the addition of stats showing activity on the site—signs of life.

I decided I’d add signs of life to my home page. Once again, I reached for my favourite little data visualisation helper: sparklines

A sparkline is a small intense, simple, word-sized graphic with typographic resolution.

I’ve already got sparklines on Huffduffer and on The Session so I suppose it was only a matter of time before they showed up here.

Small Screen Sparklines Large Screen Sparklines

I’ve been tweaking them ever since I got back from Germany. Now I’ve added in a little h-card bio as well.

Bio and sparklines Bio And Sparklines (large screen)

Initially I was using the fantastic little scripted SVG that Stuart made , the same one that I’m using on Huffduffer and The Session. But Kevin pointed out that a straightforward polyline would be more succinct. And in the case of my own site, there’s only four sparklines so it wouldn’t be a huge overhead to hard-code the values straight into the SVGs.

Yesterday was the first day of Render Conference in Oxford (I’ll be speaking later today). Sara gave a blisteringly great talk on (what else?) SVGs and I got so inspired I started refactoring my code right there and then. I’m pretty happy with how the sparklines are working now, although I’m sure I’ll continue to play around with them some more.

There’s another activity visualisation that I’m eager to play around with. I really like the calendar heatmap on my Github profile. I could imagine using something like that for an archive view on my own site.

Luckily for me, I’ll have a chance to play around with my website a bit more very soon. There’s going to be another Indie Web Camp in Germany very soon.

Indie Web Camp Düsseldorf will take place on May 7th and 8th, right before Beyond Tellerrand. Last year’s event was really inspiring. If there’s any chance you can make it, you should come along. You won’t regret it.

Have you published a response to this? :



After having a splendit time last weekend helping and participating at the Indiewebcamp Nuremberg (as a result of which I know have a ‚progressive web app‚ where before there was only my website ;), I changed my travel plans around the visit of the Beyond Tellerrand conference, and will attend the next Indiewebcamp in Düsseldorf. Yay! Eager and happy to meet ‚Die drei von der Indiewebtankstelle‘ (Aaron, Tantek and Jeremy) again, and also Joschi and the other attendees in just about two weeks. :-)

Foto @iwontsignuphere / tollwerk

# Posted by Webrocker on Friday, April 22nd, 2016 at 9:10pm


# Friday, April 22nd, 2016 at 10:11pm


@adactio the problem I’ve always had with sparklines is that I never understand what the axis is. For your journal is it X=days? :-\

# Posted by rem on Monday, May 30th, 2016 at 7:45pm

Jeremy Keith

@rem Time, yes. Overall time divided by number of pixels on the X axis. So in my case (15 years of posts), one pixel is about 45 days.

As I mentioned a while ago, I had been living in cloud cuckoo land with respect to spammers. I naïvely thought that my little microblog was of no interest to spammers. The truth was, I just wasn’t being notified of the incoming dross. As a result, I’m afraid I might have got onto some lists as a very soft touch. Now that I am getting notified, I am trying to stomp on spam as soon as I can, and I recently found myself wondering whether the flood was increasing, decreasing or staying the same. To begin with, I wasn’t keeping records. About 10 days ago I started to do that, recording the number of spam received per day and also the number of items deleted per say, which is often more because I am still deleting ones that came in while I was blissfully ignorant.

Today, I thought I would use that data to play with sparklines, which many people in the indieweb use to display data. I was inspired most recently by Ton Zylstra and Jeremy Keith, whose code I lifted. That worked fine; you can see the result over there in the sidebar. For now, I’m happy to update by hand once a week or so. At some point, however, I am going to have to go back and try to understand what the code is actually doing. Kevin Marks’ article is where I’ll start.


# Liked by Gunnar Bittersmann on Friday, April 22nd, 2016 at 7:33pm

# Liked by Ozan Çağlargil on Monday, May 30th, 2016 at 7:04pm

# Liked by Mark Everitt on Monday, May 30th, 2016 at 8:31pm

# Liked by Jan Skovgaard on Tuesday, May 31st, 2016 at 5:34am

Previously on this day

5 years ago I wrote 100 words 031

Day thirty one.

5 years ago I wrote Complete line-up for Responsive Day Out 3

Lyza is speaking! Squee!

14 years ago I wrote Transcribing podcasts

Making podcasts accessible.

15 years ago I wrote Fight club

There are a lot of ways of tracking up-to-the-minute memes on the Web right now. You can check out what’s hot on Technorati. You can find out what’s popular with

17 years ago I wrote Surfin' Safari

All software development should be this efficient and transparent:

18 years ago I wrote Herman Miller: Aeron Chairs

This room is starting to look like a little dot com start-up office.