A new way of counting readers
As far as I can tell, Piperka's retained its users pretty well. But, as is to be expected, not everyone stays. This matters when counting the amount of readers a comic has. With all the stale user data, older comics tend to be overrepresented. I added a rule there that disregards any users who haven't been active within the last half a year. I'm not removing anyone's account with it, if someone logs in again then they get marked as active users once again.
I've collected a table of how the top 50 changed with this. I'm happy with the results, at least. xkcd still keeps its first place and the changes in rankings seem sensible.
| Rank | Change | Comic | New readers | Old readers |
|---|---|---|---|---|
| 1 | xkcd | 586 | 957 | |
| 2 | Questionable Content | 462 | 724 | |
| 3 | +2 | Gunnerkrigg Court | 409 | 542 |
| 4 | The Order of the Stick | 376 | 599 | |
| 5 | +3 | Oglaf | 370 | 434 |
| 6 | -3 | Penny Arcade | 353 | 621 |
| 7 | -1 | Girl Genius | 352 | 526 |
| 8 | +2 | Saturday Morning Breakfast Cereal | 312 | 423 |
| 9 | +3 | Dresden Codak | 294 | 408 |
| 10 | +3 | Looking For Group | 292 | 393 |
| 11 | -4 | The Perry Bible Fellowship | 283 | 489 |
| 12 | -1 | The Adventures of Dr McNinja | 281 | 417 |
| 13 | +1 | Girls With Slingshots | 275 | 355 |
| 14 | -5 | Sinfest | 275 | 425 |
| 15 | +2 | The Meek | 273 | 328 |
| 16 | -1 | Lackadaisy | 270 | 345 |
| 17 | +1 | Hark! A Vagrant | 253 | 311 |
| 18 | +1 | Hanna Is Not a Boy's Name | 252 | 306 |
| 19 | +3 | Awkward Zombie | 236 | 277 |
| 20 | -4 | Cyanide and Happiness | 232 | 338 |
| 21 | Erfworld | 210 | 279 | |
| 22 | +2 | Goblins | 205 | 270 |
| 23 | +4 | The Phoenix Requiem | 195 | 260 |
| 24 | +7 | Ménage à 3 | 189 | 237 |
| 25 | +8 | Johnny Wander | 186 | 224 |
| 26 | +18 | Manly Guys Doing Manly Things | 185 | 202 |
| 27 | -7 | Megatokyo | 184 | 290 |
| 28 | +12 | Fishbones | 179 | 214 |
| 29 | -4 | Something Positive | 170 | 270 |
| 30 | -1 | Least I Could Do | 169 | 245 |
| 31 | +12 | Darths & Droids | 167 | 208 |
| 32 | -2 | El Goonish Shive | 167 | 244 |
| 33 | +1 | Gone With The Blastwave | 166 | 223 |
| 34 | +1 | Three Panel Soul | 163 | 223 |
| 35 | +12 | Freak Angels | 158 | 192 |
| 36 | Misfile | 157 | 221 | |
| 37 | +12 | The Abominable Charles Christopher | 151 | 186 |
| 38 | -12 | PvP | 149 | 270 |
| 39 | +24 | Sandra and Woo | 148 | 157 |
| 40 | -3 | Dominic Deegan | 148 | 219 |
| 41 | -9 | A Softer World | 143 | 229 |
| 42 | +3 | No Rest For The Wicked | 143 | 194 |
| 43 | -1 | Schlock Mercenary | 142 | 212 |
| 44 | +14 | Kukuburi | 138 | 167 |
| 45 | -17 | 8-Bit Theater | 135 | 251 |
| 46 | -8 | Shortpacked! | 135 | 218 |
| 47 | +12 | octopus pie | 133 | 170 |
| 48 | +23 | Sfeer Theory | 131 | 150 |
| 49 | -26 | Dinosaur Comics | 130 | 275 |
| 50 | +12 | Teahouse | 129 | 160 |
Though I do consider collecting comic rankings as a secondary function to Piperka. If only because Piperka isn't a generic comic listing, but only lists comics that it can index. Even if that fits most web comics with public archives. I suppose there is potential to get some pretty accurate rankings from Piperka's data, since it reflects what people actually read, not just whose readers are most active at doing something secondary like clicking a vote incentive. Collecting more accurate user data is yet another area where I could do more, of course.
Next up: search functionality. Ready whenever it is.

Graveyard for comics
Comics disappear, domains expire, archives get taken offline or get turned into something that Piperka can't index. I used to delete such entries from Piperka's end, but I've felt that that was quite an inadequate thing to do. There's no record left anywhere of the comics when I do that. I'd rather reserve that for fixing things like double entries or for other odd situations.
I have set up a page for removed comics. I have set it up so that I can move comics back from there to the active comics' list, should whatever cause that made them go there be resolved.
I'll move dead comics to the graveyard list as I come across them. Hopefully you won't need to see the backpack girl as much anymore.

A button to highlight comics with a tag
It's not yet a search, but I'm hoping that it's useful on its own. I added a dialog for choosing which tags to highlight in a comic listing. Meaning that you can see all the comics which are, say, sci-fi or fantasy on a glance. Mind that the current implementation has a few quirks, like that it forgets what you have chosen when you navigate to some other page in a listing.
This was a pretty easy feature to implement, now that I have a more versatile tag system in place. But I guess it's starting to show that I'm more concerned with functionality than visuals. I'll just say that I'm open to suggestions on how to make things look better.
Another change to go with this is to rework the advisory tags a bit. I added web ratings tags. I didn't yet adopt the panda icons, though. Also, "language" got renamed to "profanity" and "explicit" to "nudity". The new table of advisory tags follows.
| advisory:Web G | An all age site. These sites will have no offensive content on them whatsoever. |
| advisory:Web PG | This site contains little or mild offensive materials. Basically stuff only uptight parents would get upset over. |
| advisory:Web 14 | This site contains slightly offensive material. High chance of mild swearing, partial nudity, violence and adult themes. |
| advisory:Web MA | For mature audiences. Contains high risk of violence, nudity, and adult situations. Viewer should be at least 17 or with parental guidance. |
| advisory:Web NC-17 | Should definetly NOT be viewed by minors. Contains graphic violence, mature themes, and/or nudity and adult situations. Not for kids in other words. |
| advisory:violence | |
| advisory:nudity | |
| advisory:profanity | |
| advisory:nsfw | Not safe for work. |

The new tagging system
I've been working on a new tag system for a few months now, and it's finally ready to go live. Much of it was backend stuff which isn't that visible, but I have a new set of tags to go with it.
The new tags
Without further ado, here's the initial table of new tags.
| genre:sci-fi | Science fiction. |
| genre:sci-fi:steampunk | |
| genre:sci-fi:post-apocalyptic | |
| genre:fantasy | |
| genre:fantasy:sword and sorcery | |
| genre:fantasy:superhero | |
| genre:furry | Anthropomorphic characters. |
| genre:horror | |
| genre:horror:supernatural | |
| genre:horror:lovecraftian | Perhaps the most prominent horror mythos, used by a wide variety of authors. Cthulhu ftaghn! |
| genre:weird | May contain nuts. |
| genre:satire | |
| genre:romance | |
| genre:not a comic | For whatever reason, some things which are not comics have ended up on Piperka. |
| topic:religion | |
| topic:politics | |
| topic:music | |
| topic:games | |
| topic:work | |
| topic:school | Anything from elementary grades to the upper echelons of the academia. |
| topic:glbt | |
| topic:real life | It could happen to you. |
| topic:war | Never changes. |
| advisory:violence | |
| advisory:explicit | Nudity. |
| advisory:language | |
| advisory:nsfw | Not safe for work. |
| language:french | |
| language:german | |
| language:spanish | |
| language:finnish | |
| archetype:elves | Long lived if not immortal, tall, slender and with pointed ears. |
| archetype:robots | Mechanical creatures. |
| archetype:ninjas | |
| archetype:pirates | |
| archetype:vampires | |
| archetype:zombies | |
| archetype:angels and demons | |
| art:stick figure | |
| art:manga style | Big eyes, small mouths. |
| art:cgi | Computer generated or at least computer aided, with 3d graphics. |
| art:photo | |
| art:photo:lego | |
| art:photo:figurine | |
| art:sprite | |
| format:single panel | |
| format:episodic | Longer story arcs. |
| format:available in print | |
| setting:historical | Where things happen in a recognizable environment based on history. |
| setting:locality:urban | |
| setting:locality:wilderness | |
| setting:locality:space | |
| setting:locality:virtual reality | |
| setting:culture:eastern | Japan, Korea or China, or thereabouts, or similar. |
| setting:culture:american | |
| old:adult | Should be replaced with tags from under the advisory category. |
I'm no comic critic and I don't expect to come up with a perfect set of tags myself. Anything missing? Anything that you'd express differently? Can you think of some comics that wouldn't comfortably fit under this scheme?
Piperka had the possibility of adding links to other sites, like Comixpedia, even before this, but those weren't a part of the comic entry edit interface, so the only way to add anything there was to send me an email. That's changed now. If the comic's listed on Comixpedia or Wikipedia, then there's a field for that too.
A next step from here would be to put the tags in use, like to implement a search function. Another thing that I would like to make is some way to move dead comics to some sort of an inactive comics list, stored separately from live comics. It would be especially useful at this point since I'm inviting people to go through all the comics. If and when you come across dead comics, please email me and I'll take care of those when I have that feature in place. Please don't make an edit that says that it's a dead comic. The info edit system is not for that.
If anything's broken now, then don't hesitate to tell me. This change touched quite a many parts of Piperka and there could be bugs left around.

Database trouble, expect missing updates
I wish I had had a regular backup schedule. I'll be sure to set up one once I've cleaned up this mess.
I just overrode all the crawler configs from the database. Meaning that the crawler won't know how to parse the pages that it downloads. The last backup I had was from May. That leaves 400 or so comics with invalid configuration, and all the crawler fixes I have done after that are gone too. I expect that I can recover most of that data in a few days.
Please don't email me about broken comics quite yet. There are bound to be a number of stragglers but I'll try to fix as much as I can myself first.
This wasn't the blog post that I was hoping to make. Sorry about this.
Update, database mess cleaned
Everything's back to normal, as of Thursday evening. I got a bit lucky and still had all the updates to old comics' crawler settings available in an editor buffer, which had been open all year. Going through the new comics took some time but that's done now too. I fixed a few comics that had been missing updates even before I had explicitly broken their settings and found a few comics that had gone missing and should be removed from Piperka's end.
As far as database disasters go, this one was from the easier end. Had I wanted, I could have passed this one under the radar, but I didn't know that quite yet when it happened. On the positive side, I have regular database backups running now.
I should find ways to make maintaining the database easier for me, perhaps even to the point where I could hope to involve others in it. I'm doing a large part of the work by writing straight SQL, and that's error prone, laborous and I can't try to distribute that work if it's at that level. A large part of the update logic is humming along nicely automatically but it does get stuck from time to time and I'm watching that part only little. Though it's certainly the core part of what Piperka does, it's kind of invisible and I find trying to implement new, more visible, features more motivating. But I'll get to improve this part, yet.
Finding disappeared comics calls for another feature for Piperka: A list of removed comics. One that would retain all the data from the database and users' settings regarding that comic, but that would list them separately and aside from most of the logic that concerns active comics. I've been just removing dead comics so far, but that doesn't feel like the best solution. It's like they never existed when I do that.
That's it for now.

