I've been a computer user since 1979, getting started on the venerable Apple II. I've been an Internet netizen since 1995 when I left the walled garden of CompuServe and got my first real dialup ISP connection - a service provided by two guys in a one-room Texas strip mall office with a modem bank and a homebuilt BSD server. It was slow and unreliable, but that service came with a shell account, email, USENET access, and 5MB of homedir quota. And importantly, the server had this experimental software called "Apache"
that was configured to serve user content from
~/public_html on this new thing called the World Wide Web. About a week after signing up, I was learning HTML and making my first webpage to share with friends.
It was awesome (the service, not my webpage). And I've had a webpage in one form or another ever since.
How I came to the IndieWeb
I have been aware of IndieWeb for some time and I've sort of monitored the movement from the sidelines, seeing in it a lot of commonality with my own values. In mid-2019, I finally shutdown my Mastodon server in disgust, thus ending my latest (and final) foray into federated social networking. It was around that time I decided to go all in on IndieWeb and see where that takes me.
I see IndieWeb as sort of a movement in the direction of what I consider the halcyon days of the world wide web, when the Internet was still a wide open territory with seemingly endless possibilities. A space that had not yet succumb to corporate interests, pervasive advertising, surveillance capitalism, and Balkanization along national, political, and corporate boundaries. That's a Web I would very much like to revisit, one where users are peer creators sharing their work with others from a position of ownership and control.
I'm probably a little atypical from the usual IndieWeb crowd. For one, I don't use proprietary social media - at all. No Twitter, Facebook, Instagram, any of that. About the closest thing was Reddit, and I finally kicked that habit earlier this year, as well. I've tried a plethora of open-source, federated social networks (GNUSocial, Mastodon, Diaspora, Friendica, et al), but frankly - they all kind of suck (for various reasons). I favor open protocols over closed systems, and because I want to control and safeguard my own content, communications, and other data, I self-host all of my own services. For me, IndieWeb is more about controlling my publishing platform while allowing some interconnectivity with other like-minded persons, and less (not at all) about syndicating social content to and from silo services.
About my website
My homepage is my primary/only publishing platform. I use the POSTAB methodology (Publish on Own Site and That's All, Buddy).
My site is a "homebrew" creation of bespoke code. Never a big fan of Wordpress or complex frameworks, the backend of my website is a self-built, API-driven frankenCMS written in PHP. It may not be the most elegant of engines, but I have the benefit of familiarity with every line of code - because I wrote it. When something breaks I know exactly where to look to fix it. Usually, that's because it was something I did that broke it.
I have organized my site's textual content along the note/article model, implemented h-card support, applied microformats to my posts, and enabled send and receive webmention support for the following classes:
I've leveraged a few very useful PHP libraries for collecting, parsing, and sanitizing webmentions:
Thanks very much to the developers of those libraries, because they saved me many hours of writing code.
Because I don't use any social media or other proprietary silos, I didn't have to concern myself with POSSE/PESOS issues and my IndieWeb scaffolding was probably a little simpler to build because of that.
I just finished a UX overhaul of my site's front end, ditching a lot of
float hackery for CSS Flexbox layouts and changing the overall look and feel quite a bit.
It's prettier now but the site is also still perfectly usable in a text-mode browser or screen reader (which is a design goal I maintain).
In addition to note/article posts, my homepage is my personal photo sharing service with a few albums I make publicly available. My site also incorporates a personal pastebin, a personal link shortener, Libravatar service, and an IndieAuth server endpoint.
Both of these tools are designed to be "stupid simple" or "bare bones". The code is intentionally stripped down so that it can be modified and incorporated into an existing website or API. The apps are meant to be used as backend tools, accessed via CLI/scripts/self-hosted webform/etc. There are no fancy UIs or management interfaces.
In fact, it might be better to consider them toolkits rather than applications. Reference clients (bash and Emacs) are also included.
I've done a lot of scratching lately so this list is fairly short:
- Build a local/remote management console for adding/editing/deleting content.
- Emacs is the first target interface, extending some tooling I've already done there.
- Web/mobile UI to follow.
- Find/start a Homebrew Website Club or similar meetup in the Las Vegas area.
- Network with other DIY/scratch-build webdevs and sysadmins.
- Organize and publish a bunch of recent vacation (and other) photo albums.
- Write a couple articles about IndieWeb! I've spent the last month working so much on my site that I haven't posted anything new in all of October. I haven't posted anything long-form since April, FFS.
- Laying out scaffolding for my future admin interfaces.
- Personal documentation and QA for my website API. Lots of fixes.