Tom Morris

25 July 2007

A pungent mix of programming, philosophy, pedanticism, procrastination, perplexity, peripheral political polemic, and platters of preposterousness.

More Harry Potter analysis - Linda Grant on the moral and political philosophy in the books.

Tags:

Facebook vs. the Internet (or Thoughts on the Future)

Ivan Pope: “There just are no sophisticated tools in Facebook - everything is like a shallow version of what we’re used to on the outside. For sure, the apps have started to put some depth back into the system, but it’s hard to imagine that we’ll en masse abandon our email and our IM and our other contact and memory tools and use the stubs that Facebook offers.”

Ah, but you don’t get it, Ivan, it’s what the thirteen-year-olds use, and so we have to respect it. After all, their poetry and taste in music is so good that we have to respect their choice in roach-motel web applications. The latest craze that seems to be addictive to the blogosphere is equating “popular” with “good”.

Facebook is the modern-day BBS, only without the hacker charm of the original BBSes (I caught the tail end of the BBS thing, but I do remember logging into PDSL - a local free software distributor run out of this guy’s house - to get a set of ASCII files listing their CD-ROM catalogue - nowadays we just use BitTorrent instead).

The social networks I like all allow you to distribute things far and wide. Del.icio.us has plugins for Firefox, plus an API and RSS feeds - meaning I can easily get hold of data that I’ve entered and reuse it. The same is true for Flickr, Last.fm and many other services. If I put it in, I can get it back out again with some ease. They literally are small pieces, which I can tie together in new and interesting ways. Facebook is an island.

Take my blog as an example of portability. Since it’s all just a bunch of XML files, it took what amounted to a few days of programming in order to write a new version of it.

There’s this really cool network that I’ve found. It’s kind of like Facebook. You can link up with friends and chat. You can express yourself - post audio, video, text, photos or teeny little status updates. It’s called the Web. Facebook is just a distraction. Let’s work harder to build a better Web. That means getting the standards in a fit shape. That means finally cracking the Semantic Web. That means even greater innovation with CSS and JavaScript (I think I’m getting to grips with the former, still got some way to go with the latter). It means finding better ways of doing things. Keith Alexander is, again, right about this one - MVC will have to give way to some kind of pipelined, semantic thing, the details of which currently elude me. More importantly, it means more focus on the user experience and on decent interface design, accessibility and usability. I say those because, while they aren’t a total fit with my region of interest, I appreciate the importance of them and the huge value they play on the Web.

What else? Encryption. I think encryption is still completely under-explored, and it’s something that the masses have to jump on to. Mass use of military-strength encryption provides herd immunity against ever-insane levels of government surveillance. Strong encryption will be to the digital realm what muskets were to those pesky eighteenth-century New England upstarts - a continuing guarantee of freedom. Geeks need to lead by example on this front. If you need any more convincing, go read Why I Wrote PGP by Phil Zimmerman. This is important. Rather than lusting after iPhones, it’s something that the technically-minded folks can do to actually make our ever more repressive socities freer. Google are holding out reasonably well. Other web companies are not doing well at all. That means you, Yahoo! Grab yourself FireGPG and route around these inconveniences on the route to a free Internet.

Because that’s what it’s about. The Internet. The Web. That’s what all this TechMeme, Wall Street nonsense is avoiding - that this is the Internet, and everything can be routed around if a couple of clever geeks get together and build it.

Tags:

VerifyID - verify your OpenID

Following on from GPG key-signing, I came up with an idea - using OpenID for tying real life identity to online identities. How? Well, imagine this situation. You are at a pub, and you want to prove to someone that you are who you say you are online. You hand them some kind of device - perhaps an iPhone (or more realistically, any mobile phone, PDA etc that has an Internet connection).

They go to VerifyID, log in with their OpenID and hand the phone back to you - confirming that they are who they say they are.

But what if your OpenID provider doesn’t work on the phone? Well, you can use another one. With such a dizzying array of services, you can always find a provider that’ll work. AOL works for me.

But then, how do you tie OpenID A to B? Well, another simple answer - you go to Jyte - where you can login with your primary OpenID, and ‘claim’ all your other OpenIDs by logging in with them in the ‘edit profile’ screen. I’ve got lots of them.

When you log in to VerifyID, it’ll pull a list of your OpenIDs from Jyte.

But how do you make sure that they haven’t just written a script to make it so that when you login to VerifyID, it just mirrors what it says on the page and passes it through. Well, we have implemented a session identifier - a three letter character that should appear both on the login screen and the screen once you have logged in! It is possible that you could fake that too, so we have another line of defence.

And it’s a strange one. Twitter. Yes, Twitter. If you go and follow verifyid, it will allow anyone logged in to send you their OpenID identifier. And if they have more than one, it will append an asterisk to the direct message. You can then go to the Jyte profile for that OpenID (jyte.com/profile/ followed by their OpenID) to get a full list.

Total time to build this? Maybe one hour.

Will anyone use it? Dunno.

Will anyone find it valuable? Dunno.

But it was fun. The visual look will improve when I am in HTML-CSS mode.

Tags: