Sam Wilson's Website

T14: indieweb

Wikidata logo. Wikidata item Q18216860: IndieWebmovement to self-host, customise, and self-test web content and software
instance of
  • website
  • virtual community
  • Internet encyclopedia
official website
IRC channel
significant event
  • IndieWebCamp
Commons category
  • IndieWebCamp
  • Property type 'commonsMedia' not supported yet.

Authority Control:
— Quora topic ID: IndieWeb — GitHub username: IndieWeb — Freebase ID: /m/011dz5tk

  1. By .

    Everyone says you should've build your own blogging platform, because then all you'll ever write about is the platform itself and no one wants to read that. It's a fairly accurate idea, unfortunately. In my defence, I'm actually finding that having my own blogging (and photo) platform is saving me lots of time on things like copying photos to Commons and finding duplicates β€” so even if no one reads any of this, it's still been worth making this thing.

    Anyway, one of the reasons I've always avoided building my own platform is that I've been worried about security. I'm feeling a bit better on that front now, because of using a bunch of common Symfony patterns and libraries, and also now because I've added two-factor authentication to it.

    This means that, after registering a new account and logging in, users are not able to view any page on the site until they've set up 2FA. Instead, they're presented with a QR code, which they scan with a phone app such as Google Authenticator, and that app gives them a six-digit code that is entered in a text box under the QR code. This info is saved against their user account (and for simplicity, it's only possible to have one such pairing at the moment), and next time they log in they need to provide three pieces of information: their username, password, and a six-digit code from the app.

    There are plenty of issues with my implementation: it forces 2FA; doesn't have backup codes; doesn't allow multiple devices; can't easily be reset; and the login flow is likely quite confusing. I'm happy enough at the moment because none of these are security issues, and I'll slowly work my way through fixing them. Primarily, I wanted to make the site more secure, and as all the users are either me or people I know personally, I can handle any usability issues.

    I think this is one of the great things about indieweb development: you build what you need, as you need it, and you don't have to cater to some unknown simplified user. I do try to build everything here as general and reusable as possible (such that it should be possible for someone to set up their own Twyne-powered site, although I dare say that's reasonably unlikely), but I no longer think it's worth compromising on features that I actually want.

  2. By .

    I've been ignoring Twitter for a long time now, but I sometimes wonder if I should be cross-posting from my own site.

  3. By .

    I've recently added support to my website for linking posts' tags to Wikidata entities. This means that each tag (which has it's own URL at where nn is the tag ID) can be linked to a Wikidata ID, and have a little table of facts displayed. This means that tags are no longer just strings, but are firmly linked to a meaningful concept β€” a tag such as 'York' is definitely the town in Western Australia and not the one in Yorkshire. No two tags are allowed to be linked to the same Wikidata item.

    The other part of this work was adding a lookup widget to the tag entry form field. Before, it was just a text box and tags had to be entered with semicolons separating them. Now, you start typing and a dropdown appears with suggestions firstly from existing tags on the site and then below them with labels and descriptions of Wikidata items. It makes entering new tags much easier.

    It's great fun going back through my archives and linking all the tags, although it's also highlighting the fact that I often create duplicate tags (e.g. misspellings, or Fremantle Railway Station vs Fremantle Train Station). To add a tag-merging system I first need to add a system of tracking and redirecting old URLs (something I should've added ages ago when I added the ability to delete duplicate posts).

  4. By .

    I feel like I'm making progress towards actually being on the indieweb. I just need to sort out webmentions, mobile auth, and per-tag feeds. And a million other things of course, but those are the current priorities.

  5. By Wouter Groeneveld .


    The IndieWeb community sometimes forgets that the community mostly consists of tech enthusiasts who know how to program and configure stuff, while many bloggers just want a way to interact with other blogs. They discover the Webmention system, read somewhere it’s a contemporary and maybe better alternative to Pingbacks (although I contested that), and just want to β€œmake use” of it, without losing hours and hours of fiddling with scary code.


  6. By .

    Good overview of indieweb things.

    (If I'd implemented webmentions this reply might be useful; as it is, I think no one shall ever see it!)

  7. By .

    There's an indieweb meeup this morning, and I'd thought I'd go to it and maybe talk about the vagaries of syndication links in posts (because that's been confusing me), but actually before that I wanted to finish importing my entire Flickr collection to this site β€” and that's taking longer than I thought it would. I've built the same Flickr importer about three times now, for Piwigo, MediaWiki, and a generic backup tool, but this fourth time is different enough. I'll get it done soon though, and so maybe I'll go to the next meetup.

    Of course, ideally, I'd be able to write about what I'm working on here, and for it to be syndicated into the other feeds etc. β€” but I've got more work to do here first, and so keep putting off the actual writing.

    In fact, the old truth is rearing its head again: that it's probably not a good idea to write one's own blogging software! I'm ignoring that still though, and having fun.

  8. By .
  9. By .

    It's obviously the meaning of online writing, the blogiverse, and everything (because of the issue number: ) β€” so I've added support for "syndications" to Twyne. Each post can have a list of URLS (with labels) at which the post is duplicated. This is the first stage to making Twitter and Flickr imports work, so that each post can point back to where it came from (although, the import process will switch things around and pretend that the posts originate on my own site, even though that's not stricktly the case). Hopefully this will work.

  10. By .

    One key indieweb idea is that one can create a post wherever and syndicate that post to other sites. I'm attempting to switch completely to first posting on my own site, and then syndicating (i.e. duplicating my posts) on places such as Twitter and Flickr, as well as (for photos) Wikimedia Commons. It's sort of coming into shape, the database that I'm using for all this. It's got a great number of bits that I want to improve, and so sometimes I feel like I'm wasting my time β€” but then, when I think of all the time I've wasted trying to wrangle other systems into the shape that I want, I think I'm actually moving much faster with this and that it's completely worthwhile.