9 Weeks of Indieweb

A discussion of my first nine weeks in the indieweb community.

So, this site is now almost 9 weeks old. I've been loosely following the guide on indiewebcamp, plodding through the recommendation and trying to figure out what the best way to set things up is.

A map of the way I started building things is basically:

Week 1:

  • Figure out what the indieweb is all about
  • Devour all the IWC guides
  • Figure out what the best way to store content was
  • Get micropubbing with Quill to get some kind of content into the site.

I spent an awful lot of time during my first week trying to figure out what the best way to implement things was. Since so much of the indie-web specification is open-ended, there's a lot of decisions right from the get-go that you have to make.

How do you store your photos and your text? What if the text has a related photo? Should the text be stored as mark-down and then converted into HTML? Maybe you should just store it in HTML... The list goes on, and I really wanted to figure out what the most sensible design choice was, because making major changes to the way I store files and the way I format files would be a pain. After all, what sold me on the indieweb was a sense of permanence and structure in the way I store my photos and my text.

Week 2

  • Started refactoring stuff from lessons learned. I'm not a web-dev expert by any means, so there were a lot of lessons learned.
  • Added images to the site and started work with own your gram to sate the needs of my instagram-using friends.
  • Committed to a formatting structure that's easy to read and machine-parsable

This was going to be the week dedicated to POSSE: the idea of posting on your own site first, then syndicating elsewhere. I was going to kind-of fake this by using Quill for text posts and Own Your Gram for images. OYG takes images posted on instagram, and sends them to your site. Technically this is PESOS, but I was willing to temporarily compromise, since you can post to facebook, tumblr, and twitter directly from instagram.

This was the week that everything I posted got collected onto my site.

Week 3

  • Auto-posting to twitter
  • Added a database as a sort of caching system to point to where posts are
  • Made my own posting client
  • Started filtering posts by tags

This was going to be the week I was going to actually work on POSSE. There's a couple of reasons this is a good thing to do. Chief among them is formatting: when I publish on my site, I can format the text. When I get text back from instagram posts, it's mangled with handles and hashtags. Ew.

Additionally, by posting on my own site first, I can add links back to my site. However, in my attempts to free myself from the instagram app I came face-to-face with the fact that you can't post to instagram from their API

At this time, uploading via the API is not possible. We made a conscious choice not to add this for the following reasons:

  1. Instagram is about your life on the go – we hope to encourage photos from within the app.
  2. We want to fight spam & low quality photos. Once we allow uploading from other sources, it's harder to control what comes into the Instagram ecosystem. All this being said, we're working on ways to ensure users have a consistent and high-quality experience on our platform.

So I dumped instagram.

I may come back to it in the future, but I don't care enough about it right now to go ahead and deal with the droll work of removing hashtags and handles. This was the motivating factor to make my own posting client. With it, I can post images (albeit, clumsily) and post to twitter. Through twitter, my posts go to face book.

Boom. Everything is POSSE.

Week 4

  • Tweet formatting to add images
  • Changing up the aesthetics
  • Adding all the stored information---such as geo coordinates---to the posts
  • Added a by-date search

This was a week for formatting. Whomever last edited the indieweb site suggests you work on your design first and foremost.

UX and design is more important than protocols, formats, data models, schema etc. We focus on UX first, and then as we figure that out we build/develop/subset the absolutely simplest, easiest, and most minimal protocols & formats sufficient to support that UX, and nothing more. AKA UX before plumbing.


Well, I disagree with this primarily because the whole point of this exercise is to take the stuff that I typically leave to rot on social media sites and store it somewhere safe and secure. Safe, secure, and in a nice format that will last in the long-term. For this reason I chose to prioritize the fetching posts from sites I already use and the mechanics of syndication. So, up until this point, the site was largely unusable, but was a kind of storage facility. I promise it's not because I'm an engineer

So, eventually things need . I added a form of navigation that lets you find, for instance, all of the posts from a specific month and year. I started putting effort into a semi-respectable UI. That being said, I'm not known for being a good UX designer

Week 5

  • Improving the usability
  • A quick-post system on the blog-roll

Week 6

I took a break and built a little site for rating informatics courses at my university.

Week 7

  • Made the posts markdown based for styling
  • Updated the styling to make it readable
  • By category filtering

Because things were usable, I slowed down a bit. I started to work on less interesting things, continuing to focus on the usability, while doing some testing and refactoring the hacked-together mess that was my blog.

Week 8

Skyrim belongs to the Nords.

Week 9

  • I fixed my micropub end-point, removing all the code-snippets I got from other people's projects
  • I added a means of collecting groups of posts, like images
  • I added an editor to make changes to posts
  • I focused on the usability of the site and make links to things that are relevant
  • I started talking on IRC

I now feel like I actually have something semi-respectable. Sure, it's spaghetti code that's tangled up, but it does what it's supposed to, and I think I made some reasonable choices that will ensure stability in the long-run. That being said, I'm still a lone island in a vast sea. I don't really spend much time talking to indieweb people, and I've not implemented any of the functionality that allows me to interact with indieweb sites.

Going forward, I'd like to implement webmentions and functionality for event-based posts. Beyond that, I guess spending more time getting integrated in the community would help my project grow in the long-term.

There seems to be some tentative interest in Edinburgh University Hoppers to run some web-development workshops next year. If there's enough interest, I'm sure we could get a few people to start a hombrew club and build our own community.

Speaking of which... I should probably update the ancient hoppers page.