Becoming an Open Web: April 2018 update

Here are some updates on what I’ve done in my site in the last three months as part of my effort to become an open web this year, whose roadmap I published at the beginning of this year.

New post types

I added notes on 2018-04-11 and photos on 2018-04-12.

I’ve imported most of my Instagram photos going back to 2014-06. Other sources such as my Flickr profile or photos uploaded to my Twitter account are on the import queue, but that hasn’t happened yet.

As you can see, since I’ve got notes, I post more often into my site. I described notes as short posts that have no title. They are like tweets. To me, they feel less strict than blog articles, so that’s why I’m less afraid to write short status updates than fully-featured blog posts.

Photos are a particular kind of notes that happen to have a picture attached to them. Their implementation is very similar. As I intented, I added alternative text to my photos. I find them more useful for blind users than the caption that is usually attached to photos in Facebook, Twitter or Instagram.

The alternative text and the e-content for a photo post
If the photo can't be downloaded, an alternative text describing precisely the contents of the photo will appear instead. The e-content provides a nice story... but that doesn't tell what the photo contains.

New feeds

As a consequence of the new post types, if you’ve been subscribed to my master RSS feed (/feed.xml) since before 2018-04-11, you’ll have noticed that I’m suddenly more active. This is because I decided to syndicate notes and photos through this feed, to provide a richer stream of updates.

If I were to collect workout updates, such as how many kilometers did I run today, how many push-ups I did, or how many steps my new MiBand reported yesterday, I’d probably not include them in that feed, but I’d have a secondary master feed with no filters that syndicates everything.

However, there are still more feeds in my site now. On a technical view, a feed is a chronologically sorted collection of entries of a particular type. A feed can be described by its name and which types does it filter. For each feed, I currently keep an HTML feed using hFeed, and an ATOM+XML document for RSS syndication. For instance:

  • /blog filters entries of the type Post.
  • /linklog filters entries of the type Link.
  • /photos filters entries of the type Photo.
  • /feed filters entries of the types Post, Link, Note and Photo.

No /notes feed exists yet.

Software

I’m still using Jekyll and writing everything using Visual Studio Code. Throwaway scripts have helped me import content by creating a lot of files in a batch.

I made a new bucket in my self-hosted Minio instance (an open source S3 alternative) and I’m already uploading attachments, such as photos in my photostream or images in my blog articles in static.danirod.es.

The bigger my site is, the more quirks I get with Jekyll. The site takes 10 seconds to build on my computer. Sometimes I get a permalink wrong or an UID wrong and I have to manually fix it. It is still acceptable, but I’m looking for alternatives.

Q2-2018 iteration goals

Internationalization

There are posts in Spanish and posts in English in my site. This mix of languages is not properly signalled yet. It would be useful to mark the language of an excerpt or a full post, and to link translated versions of posts to signal search engines or clients they’re the same content in different languages.

The ATOM spec explicitly indicates support for the xml:lang attribute as a way to describe the language of an entry or a feed. I don’t know if there are any RSS clients out there that have the capacity of filtering posts written in a particular language only.

Make backlinking suck less

At the moment I don’t backlink my posts from Twitter and other third party social media so often because it’s very unconvenient to link to a note and to have a Twitter card bigger than the text content of the tweet itself. Maybe it’s time to not use twitter:card meta tags unless it actually makes sense 🤔.

Write software

No webmentions support yet in my site. This has been delayed to Q2-2018, because I would prefer to have smaller micro-applications (such as webmention manager, a login server, a storage server and an HTML client), instead of a big monolithic application that does everything and that’s hard to upgrade and replace in the future.