This week I took a mini-sabbatical from work to explore the IndieWeb movement and really liked what I found. It’ll be exciting to see what future holds for this vision of creating people-focused technology to enable social interactions on the open web.
Aaron Parecki’s Building an Indie Web Reader strikes a chord particularly close to my heart. Currently I manage my information influx clumsily via a combination of Feedly, email newsletter (mostly Medium), Nuzzle, Google Now, a couple of magazines and the family/friends network on WhatsApp and WeChat. I have quit Facebook 7 years ago, have been pondering about going back as a particular community I’m now involved with is more active there, but am worried about the deluge there. I’m new to GitHub and IRC but haven’t figured out a good way to incorporate them into my information consumption. This leaves me feeling overwhelmed often. The Microsub server abstraction seems like a great idea. Normalizing various data sources will not only improve organization, but also provides a perfect seam for more “magic”, such as personalized algorithms for classifying and summarizing content for the user. I see this is distinct from the current social silos’ “algorithmic timeline” model because 1) it works across the web, and 2) the algorithm is a hackable module that the user can tinker with to their liking. This is an area I’d like to work more in.
I also followed Chris Aldrich’s Setting up WordPress for IndieWeb Use to set up this blog. The title says it all. It’s a very accessible step-by-step guide for getting a basic IndieWeb-compatible site up and running. It was amazing how much the community has already built up that I was able to post a cross-site reply using webmention and post to this blog from a 3rd party editor (Aaron Parecki’s Quill) using Micropub without writing a single line of code. Having abandoned many silos because of the lack of interoperable tools, this completely blew my mind.
I also found several interesting conversation within the community. How to design web services that properly respect user privacy yet still promote openness is something I’d like to learn more about. Sebastian Greger’s The IndieWeb Privacy Challenge is a great starting point.
Overall, I feel the time this week has been well spent. These are the main accomplishment:
- Staked out my own IndieWeb presence at http://www.stillmuchtoponder.com. Tested that IndieAuth, Micropub and Webmention setup work on this domain.
- Created a Microsub test server using Node.js (new to me too). It responds to /timeline, /channels and /follow API calls using canned data. I was able to create a simple Mocha test suite to verify these APIs.
- Introduced myself on the IndieWeb IRC. People are super friendly. I hope to interact with this community more.
- Wrote the first public blog entry (this one) in many years! This is a public commitment for me to continuing on this project.
Both the IndieWeb vision and the principles resonate a lot with me. So I’d like to continue in the following directions:
- Microsub related:
- Create a compliant Microsub server implementation.
- Experiment with existing Microsub clients.
- Explore algorithmic feed processing in the Microsub server so I don’t feel overwhelmed by my influx feed.
- Micropub related:
- Figure out how to post private messages via Micropub (may just need a small tweak). Bookmarking pages I’ve read is a typical use case for me, and I don’t feel comfortable yet to make all of them public. Especially that my current WordPress theme shows bookmark posts as regular posts. I feel this introduces clutter to the blog timeline.
- Experiment with other Micropub clients.
- Privacy and permissions:
- Research more about permission model in the IndieWeb framework. Right now everything is based on public posts. An important use case for me to migrate out of the silos’ is being able to communicate with my close friends and family, and I wouldn’t feel comfortable sharing all information there publicly. So some kind of permission model that I can express on my site to manage data requests would be useful.