Piperka blog

The story so far, 2013

It's been a while. I've purposefully not tried to stick to any update schedule, but I guess I could have written something earlier, already. So far, there have been two larger, yet not all that visible changes to Piperka this year.

But before I go into that, I should tell of an old bug. I redid the account and login handling code two years ago. After that, the new account creation code discarded the user's email instead of storing it. Please go check your account information page and check that you have an email address there. You'd need it for password recovery.

The rest of this post is going to get, unavoidably, more technical. In March, I introduced support for banner uploads. Prior to that, they were submitted as plain old text links. It worked, but it was a rather ungainly way of doing it. The comics have banners submitted more frequently now, so it seems that it solved a problem. I had to clean up quite a bit of old code to make that work, starting with how I was calling Mason. And since I'm using AJAX submits instead of plain old Web 1.0 submits, I had to use File API. I opted for simpler code and just tell older browsers that banner uploads are not supported.

The second, more recent, change is a bit fancier. I made the listing pages (top, browse and profile) navigation use AJAX calls and History API. The (un)subscribe buttons use AJAX now, too. It was remarkably easy to leave the old code path in place for browsers without working History API support. All I needed to do was to not add event hooks to the navigation links and let the old links work as is. By my rough testing, it looks like I made page load time drop by 25% and the page loads won't flash content anymore. I suppose I could further squeeze a pageful of comics to MTU, but that's a project for some other day.

Both changes introduced some bugs that some of you ran into and thankfully told me about. They have been fixed.

I solved a few annoying bits along the way and got to practise some HTML5 techniques. If I had to work on invisible parts of Piperka, I suppose that making the crawler errors easier to manage would have been better used time. But my whim took me here.

If you're interested in even more details than this, then I should remind you that Piperka's source code is available. Of which not all that many people are aware, even those who have contacted me about technical matters. I ought to add a link to a page about the source code to Piperka's templates.

submit to reddit
Mon, 27 May 2013 19:28:04 UTC