Since October this year, I've been working more and more on my homepage again. Back then I changed the whole underlying data structure and gave the website a new design. Since, I've added support for Citationstyles for offline references in blog posts and recommended citations, fixed link rewriting, added support for Twitter cards and previews of linked websites inspired by how Twitter does its previews, and added support for marking up the contents' language; I've changed the concept of how the data input interface is linked with the site's frontend (more on that later), reactivated the idea of generating automated statistics from my posts, improved the posting experience for notes, and added more personal data displayed to logged in users only.
That's about one major improvement a week. And of course, I spent a considerable amount of time on it. Since the last few weeks were very busy, this seems all the more strange.
I was asked why I was keeping working on it all the time. After thinking about it for a almost a week, I finally thought
Note that many of the ideas of how I handle my homepage are heavily influenced by the Indieweb Principles. Why do I still write about it? Because I had moved away from watching the Indieweb people's work quite a bit and had gone in quite a different direction. And in the end, I had to notice that I had circled back to their ideas.
Remember Your Aims, Even After Years
There are certain things I know I'd want for my physical home. Say, in my most decadent dreams I thought that having a glass table would be cool. Since that was just out of my league financially, I didn't really follow up on the idea.
After years, it was very, very far at the back of my mind. And then a former flatmate moved out, turned out to have a glass table and didn't want to take it along. Imagine my joy!
With the web, there is a slight difference. Finances barely matter, skill does. But the analogy might still work.
I have two rough models of how a good website design I do might look. One can be seen on the website I did for the Orality Studies Workshop at the AAI at the University Hamburg. A background image, text boxes with slight transparency. The predecessor to my homepage - some site where I posted translations for friends - used the same basic design idea.
Alternatively, I really much like more neutral, toned down website designs. Almost since I went public with my homepage, I've been trying to get to that here. Two or three colors (white, grey, black, and maybe one additional one), symbols instead of text to reduce distracting noise. Here is a blog post from Tantek Celik about pretty much what I mean.
Now, why did I open this section with an analogy using a glass table? Because it's harder to do toned down designs than flashy ones. I think the one I currently have on my homepage is the best one I've done to date. And I would simply not have been able to do it when I started working on my homepage. The more I learned about CSS, the closer I got, because I kept pursuing the aim of a toned down and simple but good design. And I implemented what I learned asap most of the time.
If Something Annoys You, Fix It!
If you have a rat infestation, you fix it asap. If your data storage structure is completely XML-based ... Okay, that might be a bit hard. But the older I get, the more I notice that fixing whatever bugs me as soon as I can leads to a better life quality (of course, only if it's in my power to actually fix it). Some of the changes I made in the last two months were really major. Take switching from an XML-based data storage structure to a custom one. But to keep motivated to work on on my website, I can't have underlying problems being left alone.
Using XML made my page considerably slower, and it kept bugging me. Always having an
i.php in my links to fake link rewriting did. Posting in different languages without being able to note down which language I was using did. So once I found a satisfying way to fix it (getting rid of XML, link rewriting) or when I was working on related things anyway (languages), I fixed it.
Innovate. Imitate. Adapt.
So far I've written about old itches to be scratched. But what about new ones?
I strongly doubt that something like genuine innovation exists. There needs to be something before, on which we can build on to develop something new.
Standing on the shoulders of giants, applies, I think, for more than actual science - just that we'd need a different metaphor, because giants are still persons. If a human discovers how to make fire, that's because there's nature before offering the tools and an example of the existence of fire (hence discover). As for later innovations, it's as good as always looking at what someone else has done and adapting that to one's own needs and design principles.
That's also how much of what I do on my website comes into being. Many of the changes I did on my homepage's posting interface were inspired from seeing the settings of Aaron Parecki's 3pk. That's e.g. a partial integration of the posting interface with the public homepage and the idea to split different parts of the settings into different pages.
Rather similarly, I liked the idea of having one's battery status on one's homepage - at least if it's confined to logged in users (say, mostly me myself). From there I thought of adding a sidebar with overlay pages for personal information extracted from tools I use for logged in users. Aaron Parecki shows the weather at his current location, I care more about what I am reading. So I left out weather information but added summaries of my reading and very, very rough statistics on my to-do list.
Since I want additional stuff like that to leave as little of a footprint as possible, I have contents in said sidebar computed only every hour for the to-do list and the reading. Battery status is updated only every 10 minutes. These are then stored in HTML-files embedded in iframes if so requested.
Other ideas are more removed. I implemented Citationstyles support for Aklaman (the tool I wrote for keeping track of my readings) and thought that having flexible and exportable bibliographies at the end of blog posts might be a good idea. So I implemented that recycling my old code. As for the newly added "currently playing", it was actually a song from Shing02's new album with Cradle Orchestra that I was listening to that triggered me. I remembered how people would write currently-playing scripts for IRC and thought that it'd be a nice idea to implement those as notes.
My Homepage Is My Home
Just as having a nice place to live at offline is an ever ongoing work-in-progress, working on my homepage is for me, too. And importantly, it's a nice place to try out things. At home, it's not as bad if something does not actually work out. On my personal homepage it isn't either. If I am asked about how to do something, I first implement it on my homepage before anywhere else, because here I can freely test. Once it actually works, I will then go on and get it integrated with other websites I work on.