Indie Web Camp Brighton 2016
Indie Web Camp Brighton 2016 is done and dusted. It’s hard to believe that it’s already in its fifth(!) year. As with previous years, it was a lot of fun.
There was a design session looking at alternatives to simply presenting everything in a stream. Some great ideas came out of that. And there was a session all about bookmarking and linking. That one really got my brain whirring with ideas for the second day—the making/coding day.
I’ve learned from previous Indie Web Camps that a good strategy for the second day is to have two tasks to tackle: one that’s really easy (so you’ve at least got that to demo at the end), and one that’s more ambitious. This time, I put together a list of potential goals, and then ordered them by difficulty. By the end of the day, I managed to get a few of them done.
First off, I added a small bit of code to my bookmarking flow, so that any time I link to something, I send a ping to the Internet Archive to grab a copy of that URL. So here’s a link I bookmarked to one of Remy’s blog posts, and here it is in the Wayback Machine—see how the date of storage matches the date of my link.
The code to do that was pretty straightforward. I needed to hit this endpoint:
I also updated my bookmarklet for posting links so that, if I’ve highlighted any text on the page I’m linking to, that text is automatically pasted in to the description.
I tweaked my webmentions a bit so that if I receive a webmention that has a type of
bookmark-of, that is displayed differently to a comment, or a like, or a share. Here’s an example of Aaron bookmarking one of my articles.
But until this weekend, I didn’t have the combined view:
I didn’t get around to adding pagination. That’s something I should definitely add, because some of those pages get veeeeery long. But I did spend some time adding sparklines. They can be quite revealing, especially on topics that were hot ten years ago, but have faded over time, or topics that have becoming more and more popular with each year.
All in all, a very productive weekend.
The fifth edition of IndieWebCamp Brighton saw a good two dozen enthusiasts gather for a weekend of debating, brainstorming and prototyping the social web of the future.Image caption: IndieWebCamp Brighton 2016 was held September 24/25.
Being run by a community committed to the development of alternatives to the walled gardens of corporate-owned social media services (aka. “silos”) by developing new means of using the open web for social interaction, I expected a lot of food for thought and, if anything, was overwhelmed by just how much there is going on. Experiencing the hands-on combination of designing with doing, a trademark feature of the IndieWeb community, was a great pleasure – and a welcome diversion from the often rather academic “design thinking” I engage in in other contexts.Image caption: Suggested sessions that find an interested audience get posted on the scheduling wall. (Photo © Julie Anne Noying, CC-BY/Flickr)
My own site (that you are reading right now) has long been supporting the core features of an IndieWeb site, with:
- a strict policy to publish only here and syndicate to social media silos where appropriate (POSSE, “post on own site, syndicate elsewhere”),
- mechanisms to follow discussions emerging around my content (cue: webmentions and backfeed), and
- specific efforts to integrate IndieWeb features to WordPress for my own purposes (referred to as “selfdogfooding”: designing solutions for personal use first, then sharing them for others to build upon).
In addition, I have always tried to identify how the premise of “owning your content” could be taken further, made accessible to non-tech audiences and extended beyond the “personal blog” context it often appears in.
Amongst a myriad of random inspirations, many of which for sure will find their way into projects of mine in the near future, I would like to summarize three main takeaways from this memorable weekend in Brighton:
‘’.RunSpanGamut(UnslashQuotes(‘1: IndieWeb is not just coding’)).’
I took home a new concept/term as well: “weaning” as the process of slowly decreasing the rate of use of an online service (who says attending an unconference/hacking weekend could not feed back into your academic research?).
‘’.RunSpanGamut(UnslashQuotes(‘2: Thinking “beyond the stream”’)).’
The discussion highlighted how most attendants actually have certain systems in place to filter their content’s initial presentation to their readers. While the diary-like creation and handling of posts remains a core feature for almost everybody, considerations of the audience play an important role in how they are presented. Three approaches dominate the field:
- Filtering by category: not showing certain post categories in a default view, or liminting the amount of such posts shown, is one solution not to overload the reader with potentially irrelevant content,
- Summarizing less relevant categories: the presentation of certain post types as summaries, with a link to access more, show how diary-style IndieWeb users have a clear conception of their audience and know what posts are likely of interest to only themselves or a small share of readers.
- Highlighting recent posts of a certain type: some authors recognize particular interest in some forms of their content (often long-form articles) and provide a separate design element to feature these apart from the main “most recent” stream element.
Image caption: This solution by Aaron Parecki, showing only teasers of the less general-interest categories (like sleep tracker, food posts, etc.) gained a lot of attention in the discussion.
To the reader of these notes, this must appear like discussing the 101 of designing a social interface (filter, summarize, feature/highlight, …). However, the value of this debate reaches much deeper: thinking back to how personal web sites were designed before the big platforms raised “the news feed” to be the definitive solution for organising personal publishing (though also the evolution of blogging itself needs to be mentioned here as a source of the feed), traditional information architecture has always been the first principle, from the earliest days of GeoCities and beyond.
Having a movement who aims to free the individual from the restrictions of the social media corset (NB. “indie” does not just stand for independent, but also individual!) debate on the value of the news feed/stream is a wonderful example of critical engagement with current IxD principles for the benefit of both publishers and readers – this is what I refer to as Critical Interaction Design.
Apart from a small addition to my POSSE WordPress plugin, now allowing me to also instantly share relevant posts on LinkedIn at a single mouse click (a separate blog post on this solution will follow), I had chosen to work on my bookmarking workflow. This had been the topic of another Saturday session; during the intro rounds, it turned out that – once again the richness of practices only independent web sites can provide – individuals have very distinct workflows of how and why they bookmark sites, what is their workflow for presenting them to their readers, and the techniques used “under the hood”. Sharing personal practices, collecting tools available, and discussing whether a bookmark with added commentary is a “bookmark post” or rather a “reply” to the original author (the majority’s and my preference being the former).
Saving URLs as I read on the internet is an important starting point for collecting material on interesting topics, for crafting future posts and articles, and for archiving relevant content for myself. Having self-hosted my bookmarks for several years, though mainly as private posts for my own use, I am currently looking at ways to make my readings more easily available to blog readers – who can be assumed to be interested in similar topics and hence may get a lot of value from sharing.
Unfortunately, one day is often too short to achieve more than baby steps, but here is what I did and will follow up on in a later blog post:
- I installed Wallabag, a self-hosted Pocket/Instapaper alternative, on my server …with the goal to temporarily integrate it into my flow and evaluate whether it could be integrated with my WordPress-workflow to e.g. save the full text of bookmarked sites for later reference.
- Bookmark posts on this site now feature the recommended microformat markup for bookmarks, to communicate the nature of the posts.
- When publishing a bookmark, a webmention of type “bookmark” is going to be sent to the referenced website, enabling their author to receive a notification (not functional yet, to be finalized in the near future; ideally, I would also like to process and display incoming bookmark notifications).
- First updates to my bookmarking UI, in order to allow for a more streamlined publishing process and easier classification of my bookmarks by their purpose (“read later”, “for reference”, “to publish” etc.; as a matter of fact a good share of my hacking day went into analysis and design work around this workflow).
Another bookmark-related idea I took away from the concluding demo session was Jeremy Keith’s implementation of using the bookmarking flow to ping archive.org’s Wayback machine – ensuring that the service is aware of the bookmarked URL and keep a copy of it archived for the future.
When is the next IndieWebCamp?
With the growing interest in the IndieWeb, IndieWebCamps and their smaller siblings, Hombrew Website Clubs, are currently popping up around Europe and North America like mushrooms after the rain; schedule here.Image caption: Listen, get inspired, try out, share – everybody participates based on their personal interests and capabilities. (Photo © Julie Anne Noying, CC-BY/Flickr)
Having an entire day dedicated to do under-the-hood work on my site that I otherwise never find the time to do was a great opportunity, but above all I enjoyed two days of social exchange with like-minded people who all share the passion to restore freedom and independence on the web, along with a constructively critical approach to mainstream practice and putting their money where their mouth is by “selfdogfooding” on their designs to prove the case.
…and I got to know a whole bunch of very nice people in the process! (Also posted on IndieNews)Image caption: It’s not all work at IndieWebCamp. Brighton provided a great environment for socializing, such as here on a warm September night on the beach!
As of October 30, 2016, I’ve slowly but surely begun posting what I’m actively reading online to my blog.
I’ve refined the process a bit in the last couple of weeks, and am becoming relatively happy with the overall output. For those interested, below is the general process/workflow I’m using:
- As I read a website, I use a browser extension (there’s also a bookmarklet available) linked to my Reading.am account to indicate that I’m currently reading a particular article.
- I have an IFTTT.com applet that scrapes the RSS feed of my Reading account for new entries (in near real-time) and this creates a new WordPress draft post on my blog. I did have to change my IFTTT.com settings not to use their custom URL shortener to make things easier and to prevent future potential link-rot.
- Shortly after I’m done reading, I receive a notification of the creation of the draft post to remind me to (optionally) post my comments/thoughts to the draft post. If necessary, I make any additional modifications or add tags to the post.
- I publish the post; and
- Optionally, I send POSSE copies to other silos like Facebook, Twitter, or Google+ to engage with other parts of my network.
Status updates of this type also have a pre-included O-embed with a synopsis of the content if the bookmarked site supports it, otherwise, a blockquoted synopsis stripped from the site’s meta-data is included.
Other near-term improvements may include custom coding something via the available Reading.am hooks to directly integrate with the WordPress Post Kinds plugin to use the URL post pattern
http://www.yoursite.com/wp-admin/post-new.php?kind=read&kindurl=@url to shorten the workflow even further. Post Kinds automatically handles the wrapping of the post data in the appropriate microformats automatically. I also want to add a tidbit so that when I make my post I ping the Internet archive with the URL of the article I read so that it will be archived for future potential reference (hat tip to Jeremy Kieth for giving me the idea at IndieWebCamp LA a few weeks ago.)
I had originally played around with using the Post Kinds bookmarklet method directly, but this got in the way of the immediacy of reading the particular article for me. Using a PESOS method allows me to read and process the article a bit first before writing commentary or other details. I may also integrate a Hypothes.is based workflow into this process in which I use the hypothes.is browser etension to highlight and annotate the article and then use the Hypothes.is Aggregator Plugin to embed those thoughts into the post via shortcodes. The following post serves as a rough example of this, though the CSS for it could stand a bit of work: Chris Aldrich is reading WordPress Without Shame.
I was a bit surprised that Reading.am didn’t already natively support a WordPress pathway though it has a custom set up for Tumblr as well as a half a dozen other silos. Perhaps they’ll support WordPress in the future?
These new read post types can be found at the following URL: http://boffosocko.com/kind/read/?type=status?type=link.Syndicated copies to:
A few updates to my site September 26, 2016 Late last week and over the weekend I’ve made a few subtle updates to my site. I saw that this weekend was Indie Web Camp in Brighton and while I can’t travel a few thousand miles to hack on my blog I can sit at my desk and do a bit of hacking. The main things I updated were randomizing the image shown on the home page, cleaning up the main site navigation, changing the word “photos” to “images” since they were interchangeable throughout the site, and cleaning up a bit of the code. Somehow I had forked my own theme’s code a few month’s back and so the code was a little bit sporadic. I was able to sift through the source and cobble together what must have been a few different nights of hacking and then ditch the rest. Now I’ll be able to make some steady progress on making this site a bit more what I would like. In addition, I’m rebuilding The Watercolor Gallery in WordPress and adding a few features and will be “relaunching” that site within the next few weeks. I’m really looking forward to doing so as I have a backlog of features, interviews, art spaces and videos to publish. #blogging #indie web camp #mywebsite View all posts