Daniel Pietzsch

Personal blog. Mostly photos.

All posts tagged with #indieweb

Inspired

IndieWebCamp keeps inspiring me. Having had so much interesting conversations with interesting people that care about similar things, motivates me to work on my own homepage, blog and other web projects.

And so I’m currently still excited about IndieWeb stuff and am researching potential tools, hosting options and workflows for my personal sites.

And I’m still fancying going static with my blog, too. Most of my other projects are static already. It’s either indeed a plain hand-written static site, or generated via Jekyll, my SSG of choice (so far).

While researching, I found the following (somewhat random) articles and resources interesting and helpful so far.

By Aaron Gustafson:

By Michael Ummels:

By Christopher Kirk-Nielsen for Smashing Magazine:

Chris Ferdinandi’s whole website seems to be a treasure trove in this regard. So far I’ve read:

I think as a first step, I might neglect the “hosting” part of my upcoming solutions a little bit. I want the hosting and deployment to be as simple as possible. And so I might sacrifice my other principles about server location and using renewable energy sources in the short term. I’m currently looking into these hosting options:

The good thing about static sites is, that they are very easy to move and host somewhere else, should I decide to do so.

Tooling and Hosting options research

At IndieWebCamp, we collected an overview of everyone’s publishing software tools and hosting providers. And tonight I am doing a bit of research. I’m a little overwhelmed by only going through all those options. Of course, there’s an almost infinite amount of additional options out there, too.

Anyhow, to help narrowing it all down, I thought I’d write down some of my current thoughts on what I might want from both my future publishing tool and workflow for this blog, as well as the hosting options. Here we go:

Tooling

Hosting

Phew. And that’s just some of the things I‘m considering. Running a risk of overthinking this and never get anything done. I feel this is important, though. Especially to choice for the software.

IndieWebCamp Recap

It’s Sunday evening, and I’m back home from two very enjoyable days (and one night, too) at IndieWebCamp Düsseldorf 2019.

I met lots of friendly and interesting new people, had interesting discussion and conversations, learned new things and was also productive implementing new technologies on one of my projects.

Saturday

Day one of the camp was the “Discussions” day: after the introduction round, everyone gathered to suggest discussions on IndieWeb-related topics. I spent my time at “URLs: How?”, “Offline Strategies”, “Hosting, SSG vs CMS vs Custom”, “Travel Data & Posts” and “Safety”. I learned something new in every one of them and/or contributed, too.

“Hosting, SSG vs CMS vs Custom” was maybe the most immediately interesting to me, since I’m keen to move my blog, and so I suggested this session myself. I was interested in how other folks publish to, host and deploy their own site. Everyone in the room shared their setup, which was absolutely fantastic! Now, I need to take some time, take those notes and research how I want to continue publishing this blog.

Sunday

Sunday was Hacking Day.

That means, whatever you fancied to work on, you simply did – either on your own or with (the help of) others.

I myself added a Service Worker to my “Focal Length Equivalents” site and also made this a “Progressive Web App (PWA)”. A topic I wanted to start with for a long time and now I finally did.

I used Jeremy’s Minimal viable service worker script, and modified it a little to suit this page’s needs even better. Following Daniel’s suggestion, I deployed this via GitHub Pages; I needed to switch hosts, because I needed a (free) SSL certificate. Because serving your site over HTTPS is a prerequisite for using a service worker (and thus making the site available offline). Then I created a quick icon and followed the “Add to Home Screen” guide to turn the site into a PWA.

So, when you now go to https://danielpietzsch.github.io/fl/, it’ll be available offline (after that first visit of course), and you can also add it to your home screen on iOS or Android, and it’ll behave very similar to a native app.

The final step would be to actually use my custom subdomain again, which so far hasn’t worked, unfortunately.

At the end of the day, everyone demoed what they’ve worked on. I was super impressed by all the things that got done.

A big thanks to Marc, Tantek, Aaron, Jeremy and Joschi for making all this happen! This will not have been my last IndieWebCamp for sure!

Here are the photos: Day 1, Day 2.

Originally, I thought I could easily write up my summary of day one of the IndieWebCamp here in Düsseldorf tonight. But instead I ended up in a Restaurant and only returned close to midnight. So, no summary. But I had a great time, meeting lots of interesting people. Looking forward to day two.

IndieWebCamp Düsseldorf

Next weekend, just before the Beyond Tellerrand conference, I’m going to attend another IndieWebCamp. The last and only time I’ve been to one was four years ago (also before the BT conference). And I’m very much looking forward again to two days of learning, show & tell, programming, and meeting fellow indieweb-ers.

I’m not quite sure yet what my personal goal is going to be during this year’s camp. I feel like my next step towards independence is to finally dump Tumblr, and start hosting my own site.

But I’m still undecided what stack to use: a static site generator or a dynamic site? With database or simply flat files? An existing software or build something from scratch? Hosting on a VPS, simple webspace, or use a PaaS (like Heroku or Netlify for example)?

Maybe I can get some inspiration at the event and start a little prototype.

On my new photo journal website

I’d like to write about why I created my new photo journal website.

I have been wanting a site where I can post lots of photos at once for quite some time now. I have been enjoying these longer, chronological posts by other photographers, and it’s become my favourite way of consuming images. For me, it’s way more enjoyable to really take my time and look at a single person’s photographs, than consuming single images of several different photographers – which is usually the default on social media. It’s more like sitting down with a photography book of a single artist.
Currently I’m very much into personal and documentary photography, and I think longer posts lend themselves better to this style.
Plus, I enjoy creating these posts with photos covering a longer time span much more.

I also wanted to have full control over my photos, my site and the way I’d like to present and archive them. I wanted something Indie. And hosting your own site is the only way to do so.
Now I can have everything the way I want: no limit on the number of images, and simply a long page where you can scroll through full-size pictures – chronologically and without the need to click or tap anything. I can also easily (batch-)download all the images and posts, since it’s simply an FTP download of a static website.

It’s interesting how I more and more go back to hosting my own sites again and also code lots of it myself. That’s how I started out in the late 90s. But I think it’s the only way I can control the things I share on the web long-term. It feels like my photos found a real “home” again. A homepage for my photos. This feels very right to me.

image

IndieWebCamp in Düsseldorf

A short summary of IndieWebCamp 2015 in Düsseldorf

And one more IndieWebCamp review by Johannes Dachsel.

Indie Web

Another great IndieWebCamp summary by Bastian Allgeier.

Adactio: Journal—100 words 049

Day forty nine.

Here’s Jeremy’s summary of day 2 of IndieWebCamp Germany 2015.

130/365: Demo time at IndieWebCamp. Aaron Parecki went first.

130/365: Demo time at IndieWebCamp. Aaron Parecki went first. 

Adding h-entry Microformat markup to this blog

I’ve just added h-entry markup to all the posts on this blog. I’ll just quote the IndieWebCamp website as to “why”:

Why? This will allow other people’s software to easily read and understand your content. This is useful for a variety of things like recognizing comments, likes, reposts, and displaying reply-contexts for your posts.

For example, if I sent a webmention to someone else’s site/URL1, this other site can easily parse my post and could – for example – display it as a comment.
Another use case that I like, is that the Moncole reader can now parse and display my content.

A small markup roadblock

The philosophy of Microformats2 is actually to be able to add compatibility by only adding class names to existing elements:

The best way to use microformats-2 is with as little additional markup as possible. This keeps your code cleaner, improves its maintainability, and thus the quality and longevity of your microformats.

One big advantage of microformats-2 over previous microformats (and others) is the ability to add one class name to an existing element to create a structured item.

So you shouldn’t (necessarily) need to add, remove or alter your existing HTML tags. However, I found this to not be doable in my case.
For texts posts for example, I had a structure like this:

<article>
  <h2>My title</h2>
  Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content 
</article>

Marking up the article and h2 elements wasn’t a problem: I just had to add class="h-entry" and class="p-name" respectively. However, I didn’t have a HTML-tag wrapping the content, so there was no tag to put on the extra class="e-content". Hence – with feedback and approval from Jeremy – I had to add an extra div to make this work for me. Here’s the new (simplified) markup for a text post:

<article class="h-entry">
  <h2 class="p-name">My title</h2>
  <div class="e-content">
  Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content 
  </div>
</article>

Although I didn’t like having to add an extra div, it’s not a big deal really. I guess I simply found an unfortunate usecase2 that doesn’t quite align with the Microformats2 philosophy of “we do it with class”.


  1. Which I can’t do yet, but which I’m going to implement next. ↩︎

  2. Although I imagine this is not really a rare usecase. ↩︎

Going (more) indie

A while back, I started sharing my stuff more-or-less exclusively through my blog on my own domain.
I wanted to have a single web-presence where I can share all my content: be it photos, texts, videos, links or whatever else. I wanted to have control over how it’s displayed and where (the URLs of my own domain).

I think the trigger was my frustration with the fleetingness of corporate third-party services. They were (and are) getting neglected, moving in a direction I was not happy with, or getting acquired by Facebook, which I try to avoid as much as I can.
So, I thought, instead of putting a lot of work into sites that I can’t control, I’d rather put it into my own website on my own domain.
I just wanted something more reliable and permanent.

I still wanted to continue using these third-party services, though. I wanted my connections on these sites to be able to continue following me there. But I didn’t want to have to rely on these services as much as before. I wanted the canonical source of my content to be my blog.
So, I continued (and I am going to continue) posting copies of my content to Flickr, Twitter and all the other services that I use, but this posting happens automatically most of the time and always through my blog1.

And that’s why I was excited when I heard about the idea of the IndieWeb. I think I first heard it from Jeremy Keith at the Decentralize-Camp last year.
The best way to explain what it’s about, is to just quote their website:

What is the IndieWeb? The IndieWeb is a people-focused alternative to the ‘corporate web’.

Your content is yours When you post something on the web, it should belong to you, not a corporation. Too many companies have gone out of business and lost all of their users’ data. By joining the IndieWeb, your content stays yours and in your control.

You are better connected Your articles and status messages can go to all services, not just one, allowing you to engage with everyone. Even replies and likes on other services can come back to your site so they’re all in one place.

You are in control You can post anything you want, in any format you want, with no one monitoring you. In addition, you share simple readable links such as example.com/ideas. These links are permanent and will always work.

I’m now slowly but certainly moving more and more in that direction.

While I currently use Tumblr as my blogging platform – which hardly counts as an independent tool – I still think it is not that much of a contradiction to the IndieWeb principles. Tumblr allows you to host your blog on your own domain – and I believe that this is the main point of the IndieWeb. Whether you host the website yourself comes second, in my opinion. If Tumblr went away – or I wanted to move away from it – I could still switch to host my own site, but – crucially – I could keep all the URLs.

This whole approach has been serving me well for quite some time now. And I’ll continue refining the design of my blog to better cater for this style of sharing and to implement more of the IndieWeb building-blocks.

If you’d like to hear more about this yourself – as opposed to just reading the IndieWeb website – I can recommend this excellent episode of the Working Draft podcast featuring Jeremy Keith.

There are also actual real-world IndieWebCamp events taking place, which you can attend.
There’s even one happening in Düsseldorf in May. And I’ll be there!


  1. This is called POSSE (“Publish (on your) Own Site, Syndicate Elsewhere”) in IndieWeb terms, and I achieve this either via Tumblr’s sharing tools or IFTTT↩︎