We all hate SPAM. We all love Akismet. GMail is also great at killing SPAM. Why are Akismet and GMail so great? They have huge databases of SPAM from their many users to train filters with.
Only one problem : they’re commercial and closed. Same old story, if they go down or evil we’re screwed.
Solution : decentralise.
The way that I’ve been thinking this could work is threefold.
First off, write a plugin for WordPress/other things that logs all SPAM in the WordPress database and allows anyone to easily access this list in standard formats. This could hook into Akismet and other solutions to track what existing solutions mark as SPAM, as well as what users manually mark as SPAM/ham.
Then, create a site that simply lists sites that are publishing SPAM data, with links.
Third, create simple server software that either scrapes sites publishing, accepts submissions of data, or has a public API for individual SPAM submissions (like Akismet) or a combination of the above. This server could also include filter logic that trains itself and offers a public API, or that could be other servers that rely on these ones.
The big thing is that this code all be open source so that anyone can run a server. Each server would either scrape from all publishing sites, or publishing sites could cache a lists of operating servers to submit to. Either way, we end up with a multiple-server environment with distributed data / load.
About time! I’ve mentioned multiple times that I wanted to turn the logic I use here for user photos on comments into a plugin. I’ve made two hacks for blogger that do this, after all, why not for WordPress?
My recent work with the DiSo project has caused this interest I had to come back, in the form of two plugins.
Plugin #1 – Avatar from URL
This plugin looks at the comment author’s URL and tries to find a suitable image. This is primarily done by looking for an hCard, but it will also use other images if no hCard I found.
Plugin #2 – AllAvatars
This plugin is what is now powering comment avatars on this blog. It detects if you have the gravatars plugin, the avatars from URL plugin, or the favatars plugin installed and tries to use the avatar those plugins would normally give (in the listed priority order) — thus allowing more avatars to display than with any one of these plugins.
It also detects if there is photo data in the user’s profile (such as data imported by my semi-released hCard Import plugin) and overrides any other plugins with that.
I have released another now plugin for WordPress! This one lets you easily generate a Focebook-like “mini-feed” of your doings online to embed on a WordPress page (like it is on my home page).
See the plugin page for more details.
This plugin now lives at WordPress Extend.
I have updated my XRDS plugin for WordPress to allow for deleting XRDS services, and also to have a nice configuration UI for delegating an OpenID. I have updated the tarball for both the XRDS plugin and the Pempeth plugin to include the new version.
I knew others were talking about distributed social networking, but Messina is working on code, and even code for WordPress! The Kilroy concept (an “I was here” plugin) looks excellent. Avatars looks like exactly what I’ve been saying I should do since I installed Gravatars on this blog. The contactlist plugin looks like basically what I have here (his code, I believe), but I’ve hacked mine some. His delegation looks a lot like what I want to add to my XRDS plugin. Pempeth would go great with his contact form concept.
Other cool stuff there too — overall just excited that things seem to be picking up a bit in this field — I’m writing some bookmarklets just now, and really should clean and release some of the remaining WordPress code.