People have left lots of great comments and suggestions in response to my series of posts on reinventing the Internet (Links to part one, two, three, four, and five). Rather than respond to them piecemeal, I’ll just take a time-out from the series to respond to them here.
One thing I noticed is that most of the comments revolved around the way I’m proposing to use the URI. There seems to be a bit of confusion around URI vs. URL, which isn’t surprising at all since it confused me for a while too. And, most importantly, this made me take notice of the fact that the online identity community and the semantic Web community aren’t talking enough. As you read through these you’ll notice that the comments around identity are centered around "URL’s", while comments about semantic Web type-stuff are centered around "URI". There’s a huge overlap between these two concepts, both of them actually. URL is closely related to URI, and identity is closely related to the semantic Web. However the semantic Web crowd seems to understand the former better, and the identity crowd seems to understand the latter better.
Dennis Hamilton said:
"I think you owe it to yourself to look at what is happening with URL (that is, accessible) based identity systems, since you also want to have discovery work and to avoid having to use somebody’s mediated service. (Look at the attention.xml stuff as possibly useful too, if you haven’t)."
Dennis brings up a good point, which is that there are several identity systems out there that use URL’s as the foundation for identity. This differs in a couple of ways from what I’m talking about. First, it’s important to make a distincion between URI and URL. There really isn’t a standard definition of URL (check http://www.w3.org/TR/uri-clarification/#contemporary if you don’t believe me), URL really refers to an HTTP URI like http://www.jasonkolb.com. (I discussed URI’s in-depth in part three). Thus, if you use URL’s as the basis for an identity system you’re really limiting the kind of traffic that can flow to and from the identity. If you use a URI, you can use not only HTTP and serve Web content but also use XMPP, SMTP, or any other protocol you need to use. In fact if you look at part four and five, you can see that most of the network I’m proposing uses XMPP, not HTTP. And secondly, they’re still trying to aggregate your identity from various places, I want to centralize it.
I actually have looked at many of those systems and I like LID in particular. In fact I think there still may be a place for them as an alternative entryway via HTTP, and since application data is still hosted by the application itself there may be a place for OpenID as well. However, these systems need to move out of the URL mindset and start thinking URI instead. Protocol is not part of the identity. The term "URL" needs to be considered deprecated.
Danny Ayers said:
"If you go the next step, that URIs can also be used to identify relations between things then you’ve pretty much got the Semantic Web idea.
(Various detail tweaks, notatbly the basic relations (RDF properties) are normalised right down to 2-part, subject-object; the open world assumption is taken, anything that isn’t true is unknown – an analogy to the 404)."
I *think* I’m following you Danny
In the schema I’ve been working on there’s a table to hold relationships between objects, and each of those can be addressed individually with their own URI. I hadn’t thought of doing much with it yet except as part of an access control list, but I’ve built the system in a generic way so that everything in it can be generically addressed and used in the same way, so it’s there and accessible.
It’s interesting that you stress the importance of the open world model. I completely agree with that assumption but coming from an identity standpoint rather than a semantic Web one as you seem to be. It relates to an ongoing discussion in the online identity community about the default state of an "anonymous" online user. Some people are arguing for a closed world assumption where people don’t exist if they’re anonymous, others are arguing for an open world assumption where anonymous is the default. I fall in the open world camp because I believe that you should be 100% anonymous online until you choose to identify yourself, and everything that I’m working on is built on that assumption. That seems to equate more closely to "unknown" than "no, you don’t exist".
Peter Ring said:
"Using URIs in the form of URLs as identifiers introduce a number of challenges (that you you didn’t have with GUIDs)."
As I mentioned a moment ago, it needs to be a URI, not a URL. Although HTTP is fully supported in the model I’ve been talking about, it’s not the default or preferred method for communicating with URI’s. That would be XMPP. I consider the HTTP compatibility backwards compatibility in a sense, so that you can send a hyperlink to an object and have it mean something to somebody using a browser, or to a search engine. Both of those I would consider legacy interfaces, albeit important ones because search engines still rule the day right now.
Alex said:
"A DataServer is not the home of data (like a database), it is just something that presents a RESTFUL facade out that makes it possible to interact with the data (or database).
The idea is based on URLs to map a conceptual model to a URL scheme or namespace."
You got it. What you call a data server, I call a private server. Stick a decoupled storage and logic server between that and the database, and you’re thinking of the same thing I am. Although the objects look and feel like they live at the URI being looked at or used, they really don’t exist except in the database. But again, URI, not URL.
Kingsley Idehen said:
"You are really talking about what I call "Data Spaces". I see "Data Spaces" as critical infrastructure crystalization of the Semantic Web vision."
I took a look at your site Kingsley and I find it really interesting. It seems that there are far more people out there arriving at the same place at the same time than I had thought, and you seem to have rolled a couple of the concepts that I’ve been talking about into your Data Spaces idea. It does seems to have many parallels to the software that I’ve been talking about, the one thing that I don’t see (although I may have missed it) is a comprehensive schema for the Data Spaces to sit on top of. I also think the public-facing server needs to be more loosely coupled than it is in your current implementation, and hardest of all I think it needs to be a five-minute process for the Average Joe to get up and running on their own server on their own domain. I need to look at your stuff more thoroughly but it’s really cool there’s already work being done on this.
The most blunt comments I received are from Jean-Louis Seguineau’s blog:
"The confusion between "presence" and "identity" is more a matter of [shortcuts to get to approximate conclusions suiting our subjectivity]."
This is all Jean-Louis had to say about presence vs. identity, but I’d be interested in hearing his definition of an online identity. When I talk about online presence I’m not talking about the definition from XMPP land where it is the state the user is currently in. In the architecture I’m talking about the user is always connected, so their "XMPP presence" is always available. My definition of online presence is the collection of bits and bytes on the Net that you define as part of "you". Presence does not equal state. Jean-Louis, I would assume you equate your blog and email to your online presence and identity in some way, no? In fact, taken straight from your blog: "This blog does not provide a comment feature, because it only expresses my opinion." Kind of like saying that you don’t allow anyone to use your email account because it only expresses your opinion, right? To me, anything that you take of ownership of like that and consider a representation of yourself is part of your online identity slash presence.
In the next sentence:
"So is the reliance on DNS as the global glue of our ever expanding interaction needs over the Internet [a matter of shortcuts to get to approximate conclusions suiting our subjectivity]"
My response to that would be: If you can’t rely on DNS, what use is the Internet? It’s the starting point for every interaction we have on the Internet, including every single public XMPP transaction and just about every single public HTTP transaction. If we can’t rely on DNS we may as well throw in the towel right now and go back to private networks, because we’re not going to be able to talk between each other very effectively. And you may as well throw XMPP out with the bath water as well, because without DNS it’s pretty much useless.
I confess to having a bit of an issue with Jean-Louis’ insistence that DNS is unreliable. It’s a distributed system with advanced caching and forwarding mechanisms in place, and I honestly can’t remember a time when it was unreliable. It takes a little while for changes to propogate over the Internet, but that’s my only quibble with it. Beyond that, it has served me well and without problems for, well, I’d say about 10 years straight now. In fact, wouldn’t you say that this blog exchange with us linking to each other’s blogs using URI’s based on our domain names is further cementing our online identities to these domain names we’re using?
He goes on to write:
"But, by wanting to quickly get to working on the ‘web application aspect of the private server’ the author has taken for granted that the resulting server would be able to communicate outside its private sphere"
Yes, I admit it, I want to quickly write an application. I want to USE the semantic Web sometime within my lifetime. If it never gets out of the realm of theoretical discussion, you may as well be writing science fiction. At some point all of this cool stuff needs to make its way out of blogs and mailing lists and into the real world, don’t you think it’s about time? I really appreciate all you’ve done to develop XMPP Jean-Louis, but it’s time to let your baby start walking.
One thing that I find very exciting is that there are many people out there, like Alex and Kingsley, who are, I’m pretty sure, envisioning the same end result as I am. I think Kingsley said it best:
"One of the great things about the moderate “open data access” that we have today (courtesy of the blogosphere) is the fact that you can observe the crystallization of new thinking, and/or new appreciation of emerging ideas, in near real-time."
I agree. Hopefully it’ll allow us to discuss and finally roll out real-world applications based on all these great concepts that have been pretty abstract and theoretical up to this point. That will be cool.









