I realized that it’s been some time since I posted about the Mnikr project, and since development has been far from stagnant, I thought I’d talk a bit more about what I’ve done so far, where I’m going, and even provide a few screenshots.
So then, when last I wrote, I had just finished and uploaded Mnikr Cards, which, while I think it’s a fun project, is only a side note to the actual Mnikr project; it will be part of the finished product, but it isn’t core functionality. I’ve spent the last few weeks working (when I’m not doing classwork, “real” work, or fantasizing about killing people with my mind– I may have to obtain one of those…) on real things.
One might reasonably wonder what Mnikr is supposed to do, anyway– as I haven’t spoken about that. So then, in no particular order, the goals of the Mnikr project (and at some point, my thesis work) are to:
- Allow users to access all their Open Web data without needing to do lots of (or indeed, any) configuration.
- Allow users to express a minimal subset of their identity data for a particular task.
- This is in response to the information sluts problem I’ve previously written about.
- The interesting challenge here, naturally, is to be able to give some measure of confidence for these identity assertions.
- Allow users to take social actions whether or not their friends are Mnikr users.
- Create a reputation system that works in a context-free environment– as opposed to, say, eBay feedback numbers.
I’ll talk more about that last point later, because I don’t have pretty pictures of it just now (and it’s too complex a topic for a subpart of one blog post). Let’s examine the rest, then.
One issue, in something like Action Streams (though I love it) is that it takes a fantastic amount of time to get all the configuration set up to make it work. It took perhaps 30 minutes (most of that waiting for the server to respond, admittedly) for me to set up my 20 profiles on USSJoin.com, and then a bit more poking to make sure the feeds were operating properly, to say nothing of making sure that they actually updated correctly (which required setting up cron jobs to go fetch my data). This is nuts– users aren’t going to do this, and they miss out on a lot of possibilities because they can’t be bothered to spend the configuration time, or they don’t have the technical knowledge to configure their own server scripts. And even things like Friendfeed or Plaxo take the configuration time, at least (though they don’t take the server setup, on the user end at least).
Even if one accepts the amount of time it takes, it’s still limiting to be confined to, say, Plaxo’s idea of what sites broadcast useful action stream data. Action Streams is extensible, if you’re willing to write a YAML configuration file, but hosted services aren’t. So then, no matter how much time you want to spend, if your service doesn’t like your blog site (especially a problem when you self-host your blog, as I do), you can’t get it to show up nicely. What a waste!
To solve these problems, then, Mnikr autoconfigures itself. When you create an account with your OpenID, it “just knows” what sites you use across the web, and then it can pull all of their stream data, in real time, without you needing to fuss with it at all. It’s magic! :-)
Of course, I might not want to list every single service I have on my profile page– and so Mnikr lets you turn on or off particular sites from the stream. Even so, look how many useful sites it pulled (including specific usernames, when those are relevant, although they aren’t shown in this screenshot) from my OpenID (http://ussjoin.com) alone:
(For those of you who have to code things like this at home, no, I didn’t have to tell it about all those services to get all those icons. It knows how to get those, as well.)
This, then, lets me display a nice profile (a bit unformatted still, but you get the idea) like so:
(The duplicated Tweet there is a mistake in my Twitter abilities, by the way. That’s what Twitter is sending out right now.)
So great– now we have yet another profile. Who cares?
Well, the next thing is that you don’t need to use Mnikr to have a Mnikr profile– since it’s being generated without your help, your friends can use Mnikr to keep track of you without you needing to worry about it. Of course, if you’d like to customize your presence, feel free to log in and do so. To get someone’s profile, just give Mnikr a URL where they are– for instance, their Facebook or Flickr page– and it’ll handle the rest. Your friends are shown– regardless of the service where you have them– the same way.
This last feature, when added to a system that lets me, say, friend someone straight from Mnikr (for instance, follow their Twitter stream without leaving Mnikr), means we now have a social network that’s immune to the network effect. And that’s cool.
If you’d like to play with Mnikr, let me know, and I can set up a demonstration– it’ll be live on the Internet soon, but I’m making a few changes to my host before I upload it. (My email address: blog, then some sort of symbol, then ussjoin.com.)
So that’s where I am now. Where next? Well, a bit more polishing would be good (on a related note, if anyone likes to make logos, contact me! I’m bad, as you can tell), and after that, it’s time to challenge the state of reputation in a different way from any existing approach on the Internet. So while it might not work, at least it’ll be original– and that’s how we make progress!
Edit: If you’d like to keep up with Mnikr without just waiting for me to blog about it, it now has its own Twitter identity, @mnikr.