Start of My IndieWeb Journey
Around a month ago I finally bought my domain name and thought about how I wanted to utilize my new stake on the Internet. The IndieWeb philosophies of my content is mine, interconnectedness, and control of my content appealed to me quite a bit. After thinking about the goals I wanted for my online presence, I went to the IndieWeb site and sorted through the process of getting myself on the Indie Web.
My Website is my User Name
When I was formulating the goals for my site, I thought about people’s current usage patterns when interacting with other people on the Internet:
- Snapchat has the concept of Snapcodes. People on the platform can point their smartphone cameras on another person’s Snapcode to start following them to see stories or send messages.
- Twitter and Mastodon utilize user names. People can follow others and send messages to each other just by knowing their names on the platform.
- People communicate to each other on e-mail by sending e-mail addresses.
In short, when people want to communicate in any fashion, they need an identifier. Thing is, I wanted a domain name, but I didn’t really want a more traditional top-level domain. Opting out of traditionally-chosen top-level domains like .com
or .me
, I decided on a domain hack of the user name I use most often in other places on the Internet.
Choosing this unconventional domain name gives people familiar with my user name on the Internet an easy way to remember my website (oh, it’s just sentamalin with a ‘.’ between the ‘l’ and the ‘i’). It also allows me to name things like e-mail or Stellar federated addresses in a more action-oriented fashion:
- tip*sentamal.in (For tipping me in Stellar Lumens)
- pay*sentamal.in (For paying an invoice in Stellar Lumens)
- email@sentamal.in (For sending regular e-mails)
- hire.sentamal.in (Not implemented, but could be a redirect to my portfolio)
Plus, it’s just kinda cool to have it; it’s something different compared to the number of name-dot-com domains around. I probably lose a bit of professional points, but I think the value I get from having it be interesting makes up for it.
In short, my domain name should be treated as if it’s my business card.
HTML is my Lowest Common Denominator
Of all the ways to share information, HTML is probably the most accessible way for anyone to get anything I post. You can still follow me on your social network of choice, for example, since I’m working on making sure my content syndicates to other places, but nobody should be forced to make an account somewhere or download an app to read and interact with the things I create.
As such, I wanted to make sure that I had good HTML for my pages from the get-go. To the best of my knowledge, all of my HTML validates correctly and I intend to keep validations correct as I continue fleshing out my site more and more. I also intend to utilize Microformats extensively so my usage of other publishing formats and services can be at a minimum.
I also test and make sure my content is readable on text-based browsers like lynx
. While this alone doesn’t testify that my website is completely accessible, it’s a good place to start, and I can work on further accessibility as I continue my IndieWeb journey.
My Website is my Business Card
Properly using Microformats and HTML is all I need to make sure that my domain name will suffice as my business card. Anybody going to my home page will see the equivalent of a user profile and all the details people expect from a profile:
- Name
- Profile Picture
- Description/Bio
- Other Information
- OpenPGP Key
- Contact Links
Formatted in the h-card
microformat, this can allow an Address Book application that supports h-card
to easily add me as a contact. However, a separate app is not required; people are free to simply bookmark the page, if they want to.
Because the links to my other social network profiles have the rel="me"
attribute, this also allows me to log-in to websites that utilize IndieAuth with just my domain name. Alternatively, because I provide an OpenPGP Key, services (including IndieAuth) can also use my key to authenticate me to their servers and services.
My Website is my Timeline
In addition to being my business card, visiting my website shows my timeline, a feed of interactions (marked up with the h-feed
microformat) I’ve been doing on the Internet. Like my business card, a Reader application may easily consume my posts with just my domain name alone, but people are free to just bookmark my site.
I’m presenting my web activity in chronological order so that people can know what I’ve been doing with my time on the Internet.
My Posts are Multiple Things
Inside my h-feed
are a bunch of things I posted of various content types. All of them are formatted in h-entry
and represent a variety of post types common in blogs and other social networks:
- Articles (Long-form content I’ve written)
- Bookmarks (Links I’ve saved from elsewhere)
- Check-Ins (Places I’ve visited)
- Likes (Things I’ve generally enjoyed)
- Notes (Short-form content I’ve written)
- Photos (A single picture; sharing an album is next)
- Replies (A reply to content shared elsewhere)
Again, relevant applications can read this and present it to someone, but it’s all available on the site anyways. Future content types are easily made thanks to Hugo, an open-source static site generator that I’m using to manage my site. Admittedly I didn’t start out with any kind of CMS and was editing my sites by hand. I ended up spending more time writing HTML thatn writing content, so I decided to make the switch.
My Website can Send Replies
Other social networks like Facebook, Twitter, and Mastodon allow their users to like, re-post, and reply to other people’s content. Thanks to Webmentions, I’m able to do the same just by creating a new post. As my site is a static site generated by Hugo, I’m utilizing Telegraph to send other sites a Webmention whenever I post something that mentions them.
Unfortunately this is currently not automatic yet. I need to do some thinking about how to make it automatic, but I don’t anticipate it to be hard. For now Telegraph works fine, and worse case I can rely on curl
to send a Webmention as well.
My Website can Receive Replies
Thanks to Webmention.io my site can receive any Webmentions sent to my from someone else! That being said… I haven’t implemented anything yet for people to see the Webmentions sent to me. But someday soon, it will.
My Website Syndicates
Specifically, my website syndicates to Twitter and Mastodon. None of this is automatic yet, and I’m having a few quirks to sort out, but I’m able to syndicate to these two networks thanks to Brid.gy.
In addition, when someone on those social networks interacts with my content, Brid.gy sends a Webmention back to my site. This means that my content’s replies, likes, re-posts, and other interactions can be seen by everyone instead of being limited to a single service.
My Website is on the P2P Web
Anyone can visit my website just by going to my URL. In addition, for those who are using Beaker Browser, you can also view my website in a peer-to-peer manner through the DAT Protocol.
Note that at this time, I think, viewing it through DAT breaks Webmentions. I’d need to do things (perhaps process the current Webmentions at the time when generating my site through Hugo?) to have Webmentions displayed, and I’m unsure how to send decentralized Webmentions at this time.
But I’m not Done Yet!
Even though I’ve gotten a lot done, there’s still a lot to do. Some of it might be beyond my skills and scope, but part of the fun is learning how to do it and have it working right.
Some of these outstanding things I want for my site are:
- Show any Webmentions received from others
- Give an easy way for people to interact with my content via their own site or their social network of choice
- Add OpenGraph and Twitter Cards data to display my content a little nicer on social networks that don’t show preview links nicely without it
- Paginate the main feed (I’ve already finished the work on this on a branch, however I haven’t merged it yet because I need to figure out if I want to paginate in the first place)
- Utilize taxonomies like Categories and Tags on my posts to facilitate easier searching and related-post discovery
- Add search capabilities
So… Yeah! I’m having fun, and it’s nice to have my own space on the Internet. I hope I continue to enjoy this journey.