Friday Jan 15, 2010

Last Days at Sun Microsystems

The Sun is setting - so an Oracle has told me - and my days at this company, one of the best I have ever worked for are nearing their end.

I will be moving my blog over to http://bblfish.net/ as soon as I get the right software set up there. You can follow me on twitter or identica for updates.

Sun will continue to pay me for the next 8 month at a salary very close to the one I am earning now, so in gratitude to them, I will essentially just keep doing what I have been doing while here. I will keep working on foaf+ssl and securing the social web. As I won't be getting any travel money, I will be happy for anyone willing to sponsor those costs for me.

So to all a happy new 2010.

Chaos Computer Club reveals massive airport security hole

The Chaos Computer Club yesterday revealed on German Television, in a program entitled "Data theft via wireless - security risks at German airports", a massive security hole, that could easily allow intelligent terrorists - if such a being is possible - to gain access to the secure parts of many airports, thereby bypassing any of the more and more restrictive and intrusive measures being introduced to scan normal citizens, and which led the pirate party to demonstrate in underpants as I reported earlier this week.

The trick is simple. Employees at many airports use badges that are read wirelessly by scanners. Using a trick similar to that described by Chris Paget's RFID cloning presentation - a massive security scandal in the US - it is possible to capture the signals emitted by these cards and use that to produce fake ones. Having created one such card, the CCC members were able to gain access to secure parts of the Hamburg airports without going through any of the security checks imposed on the passengers.

It is not surprising that such a hole and many more should be found of a similar nature. Increasing security in one part of the airport will not make anything more secure if not all parts are secured equally. But since the threat of terrorism is so minute - you are 8 times more likely to be killed by a cop in the US than by a terrorist - any security measures will end up creating more danger than that posed by the terrorists themselves. Add more police and the danger of accidental killing by the police can only go up faster than the terrorist threat itself.

Wednesday Jan 13, 2010

Faviki: social bookmarking for 2010

faviki logo

Faviki is simply put the next generation social bookmarking service. "A bookmarking service? You must be kidding?!" I can hear you say in worried exasperation. "How can one innovate in that space?" Not only is it possible to innovate here, let me explain why I moved all my bookmarks from delicious over to faviki.

Like delicious, digg, twitter and others... Faviki uses crowd sourcing to allow one to share interesting web pages one has found, stay up to date on a specific topic of interest, and keep one's bookmarks synchronized across computers. So there is nothing new at that level. If you know del.icio.us, you won't be disoriented.

What is new is that instead of this being one crowd sourced application, it is in fact two. It builds on wikipedia to help you tag your content intelligently with concepts taken from dbpedia. Instead of tagging with strings the meaning of which you only understand at that time, you can have tags that make sense, backed by a real evolving encyclopedia. Sounds simple? Don't be deceived: there is a huge potential in this.

Let us start with the basics: What is tagging for? It is here to help us find information again, to categorize our resources into groups so that we can find them again in the rapidly increasing information space. I now have close to ten years of bookmarks saved away. As a result I can no longer remember what strings I used previously to tag certain categories of resources. Was it "hadopi", "paranoia", "social web", "socialweb", "web", "security", "politics", "zensursula", "bigbrother", "1984", ... If I tag a document about a city should I tag it "Munich", "München", "capital", "Bavaria", "Germany", "town", "agglomeration", "urbanism", "living", ...? As time passed I found it necessary to add more and more tags to my bookmarks, hoping that I would be able to find a resource again in the future by accidentally choosing one of those tags. But clearly that is not the solution. Any of those tags could furthermore be used very differently by other people on delicious. Crowd sourcing only partially works, because there is no clear understanding on what is meant by a tag, and there is no space to discuss that. Is "bank" the bank of a river, or the bank you put money in? Wikipedia has a disambiguation page for this, which took some time to put together. No such mechanism exists on delicious.

Faviki neatly solves this problem by using the work done by another crowd sourced application, and allowing you to tag your entries with concepts taken from there. Before you tag a page, Faviki finds some possible dbpedia concepts that could fit the content of the page to tag. When you then choose the tags, the definition from wikipedia is made visible so that you can choose which meaning of the tag you want to use. Finally when you tag, you don't tag with a string, but with a URI: the DBPedia URI for that concept. Now you can always go back and check the detailed meaning of your tags.

But that is just the beginning of the neatness of this system. Imagine you tag a page with http://dbpedia.org/resource/Munich (the user does not see this URL of course!). Then by using the growing linked data cloud Faviki or other services will be able to start doing some very interesting inferencing on this data. So since the above resource is known to be a town, a capital, to be in Germany which is in Europe, to have more than half a million inhabitants, to be along a certain river, that contains certain museums, to have different names in a number of other languages, to be related in certain ways to certain famous people (such as the current Pope)... it will be possible to improve the service to allow you to search for things in a much more generic way: you could search by asking Faviki for resources that were tagged with some European Town and the concept Art. If you are searching for "München" Faviki will be able to enlarge the search to Munich, since they will be known to be tags for the same city...

I will leave it as an exercise to the reader to think about other interesting ways to use this structured information to make finding resources easier. Here is an image of the state of the linked data cloud 6 months ago to stimulate your thinking :-)

.

But think about it the other way now. Not only are you helping your future self find information bookmarked semantically - let's use the term now - you are also making that information clearly available to wikipedia editors in the future. Consider for example the article "Lateralization of Brain Function" on wikipedia. The Faviki page on that subject is going to be a really interesting place to look to find good articles on the subject appearing on the web. So with Faviki you don't have to work directly on wikipedia to participate. You just need to tag your resources carefully!

Finally I am particularly pleased by Faviki, because it is exactly the service I described on this blog 3 years ago in my post Search, Tagging and Wikis, at the time when the folksonomy meme was in full swing, threatening according to it's fiercest proponents to put the semantic web enterprise into the dustbin of history.

Try out Faviki, and see who makes more sense.

Some further links:

Tuesday Jan 12, 2010

Food Envy - a short silent comedy

This weekend I went to a birthday party in Berlin, where one of the guests presented this very short (5 min) Laurel and Hardy style movie he shot on super 8 film a couple of years ago with his friends. I convinced him to put it up on youtube. Here it is for your enjoyment:

As it happens the day before I had been discussing the relation between jealousy and envy, two emotions that are often confused. The Wikipedia article on Envy, confirms the widespread nature of this misunderstanding. Whereas envy is an emotion relating two or more people and an object, jealousy involves three people and a shifting relationship between them. In this film the object of envy is the food, and this film very clearly illustrates what envy is. We all remember such episodes from our childhood I bet. It would be fun to do a film like this on jealousy, and all the other emotions...

Pirate Party gets naked in Berlin to protest airport scanners

The 60ies are back, and so is getting naked at protests :-) The Pirate Party in Berlin has just protested the intrusiveness of planned scanning technology at the Tegel Airport, with the motto "No need to scan we are already naked". Here is the video:

There is a very serious need to put the terrorist threat back into perspective and laugh a little. As argued very cogently in the recent Register article "Trouser-bomb clown attacks - how much should we laugh?" there is no need to respond any further with security increase to such attacks. All that has been done is done. There is nothing more one can do. Life is fundamentally insecure. According to John Baker, you are "8 times more likely to be killed by a police officer than by a terrorist". When one responds to a crisis one has to keep the relative dangers in perspective, and deal with the most important ones first. And it is not completely unthinkable that the threat of government intrusion into our private lives is just simply a much bigger danger than terrorism right now.

This recent article in Wired "Airport Scanners Can Store, Transmit Images" details the power of these new scanners that the German government plans to introduce as an attempted response to the underpants bomber. If you accept that, then why not just go all the way and make nudist (FKK in German) planes available, as the Pirate Party demonstrators cheekily suggest.

Beyond airport security, which has so clearly now gotten completely out of hand, the demonstration is aimed to wake citizens out of the slumber which has allowed us all to give one part of society - the "security" services - completely disproportionate power over the rest of society. As Mr Security shows so well, there is no reason we should not set limits to their action, by allowing us, citizens to monitor them too, by re-establishing our rights in public spaces, and by not just accepting any irrational request for security increase, and intrusions into the private sphere.

And speaking of intrusions into the private space, we should also be careful to trust our privacy to large firms: see the recent ReadWrite web article "Facebook's Zuckerberg Says The Age of Privacy is Over". Privacy like freedom, is something one has to fight for to keep.

Other links:

Saturday Jan 09, 2010

Mr Security: patrolling public spaces

Mr Security is a brilliant piece of performance art exploring with seriousness and humor the fast encroaching surveillance society growing in our midst and in our souls. The product of their work consists in realistically crafted PDF security marketing material (in German and English), in which they describes the team's security performances, which consist in watching public spaces and documenting the reactions to it.

A very telling example is the very short surveillance of the street around the American Embassy in Berlin. After taking a few pictures of the street a few police officers arrive. The dialog is noted as:

POLICE OFFICER 1
Excuse me, please put your camera away. Hello young man, did you hear me?
POLICE OFFICER 2
Hello. Do you have some identification?
MISTER SECURITY
Yes!
PO 1
Why are you taking pictures of us here?
MS
I'm observing
PO 1
Who?
MS
The street.
PO 1
Why?
MS
For Security.
PO 1
Oh!? Where are you from?
MS
Private security service.
PO 1
Where are you from? Your badge doesn’t help us at all. Where are you from?
MS
What do you mean, where am I from?
PO 1
Well, where from? A security service? Who?
MS
Here, Mister Security!
PO 2
Young man, please take your hands out of your pockets! I feel happier that way. What security company do you work for?
MS
Mister Security, private security service!
PO 2
Yes, and your area of operation is the American embassy, or what?
MS
Private security reinforcement.
PO 2
Oh!
PO 1
For what? For who?
MS
For public safety.
PO 2
Who hired you?
MS
The public itself!
PO 1
Oh! Let’s get this straight, it’s not entirely clear what you’re saying here. Let me tell you what I think. I don’t buy this private security service story – look at your shoes. They look like my last pair of work shoes, to be honest. I don’t believe you’d be dressed like that if you were working for the public.
MS
There’s not that much money in the private sector anymore!
PO 1
Well, I’d have thought your employer would provide you with what you need.
MS
I have to see to my clothes myself.
PO 1
No, really, this is not okay!... What’s on your film? What kind of a camera is that?
MS
It’s not switched on. It’s a digital camera, but as you can see, it’s not turned on, look – nothing!
PO 1
Okay! Well I do want to get clearance here. We’ll have to inform the sector. And I’m going to ask you to wait so that we can be sure about your identity. You can stand under the shelter here, that way you’ll stay dry. This’ll take a few minutes.
PO 2
Are you a one-man business?
MS
Well, it’s not that big yet – but I’m trying to grow.
PO 2
How did you get this commission and who gave it to you? What assignment are you working on?
MS
I am not at liberty to say!
PO 2
Oh, you’re not at liberty to say?!
MS
I think it’d be a good thing if there were more surveillance.
PO 2
You do?
MS
You need reinforcements here. It’s not enough that you’re here with just three people on this side.
PO 2
Oh! And where do you see the security problem?
MS
Yes, well you could have twenty well-prepared guys come and run right past you here!
PO 2
Right, and what do you want to do about that, if I may ask? Perhaps we could exchange some ideas?
MS
Yes, that’s exactly the issue. We’re working for several embassies right now. We’re revising the security concept, which we’ll then introduce personally.
PO 2
Right! Great! And the private sector will deal with it then?
MS
Exactly! It’s cheap and effective!

You can read about the continuation of this conversation, and others involving a number of different actors (including anti-fascist demonstrators, for example) in their PDF.

Mr Security presented his work in detail at the 26th Chaos Computer Congress "Here be Dragons" in Berlin on 27 December 2009. There he revealed how the camera's sound had in fact continued to function during the whole conversation. What does not appear in this PDF is his later experience going to the US, where he received a stipend at a New York art institute. On appearance of the FBI to the studio he was promptly ejected by his artist colleagues who clearly lacked the courage (see my recent article on "After Virtue") to support him. Not that surprising perhaps given the extraordinary high amount of people in US jails, with 3.2% under direct police surveillance at any one time.

Can one still have a democracy in such an atmosphere of fear? If yes, then for how long?

Friday Jan 08, 2010

After Virtue: history, ethics and identity

While walking around Blackwell's bookstore in Oxford I picked up Alasdair MacIntyre's "After Virtue", a book that I had seen in philosophy sections for over 20 years now after it having been recommended to me by my undergraduate Philosophy discussion partner Mark Pitt.

When I finally started reading it a few weeks later, I could no longer put it down. This is a philosophy book that starts like a novel, reads like a novel, and indeed it's main thesis is that our understanding of ethics and life has to be that way, because we have to understand ourselves and our interactions with others as parts of a developing, interlinked, enmeshed and developing narrative.

Virtues are those character traits that are necessary for individuals-in-communities to work together to a common goal, that will enable the good of man, understood itself as an evolving historical self understanding. This type of analysis requires teleological thinking - the idea that a person can only be understood by understanding the good of man, the aim of a life being that of having a coherent story to tell - which was the basis for the Aristotelian account of society and nature.

Where Aristotle failed was by applying telos to the physical sciences: explanations that stones fall to the ground because they want to be there, were put to an end by Newtonian mechanics. With that Newtonian insight and the massive success of the physical sciences that followed, started a process of questioning the philosophy that Saint Thomas Aquinas had integrated so well into Christian thought, itself underpinned by Jewish historical religion. The philosophers of the enlightenment attempted one after the other to replace telos and history with some form of Rational grounding where it was thought that reason in some sense gave us access to the divine point of view. But without the understanding of telos, MacIntyre argues, the project was bound to fail. Hume had to resort to intuition to ground a very specific moral outlook; Kant resorted to universalisable rules that would complement the laws of nature which could be used as criteria to evaluate actions viewed non historically; and Bentham and the other utilitarians up to this day tried to devise mathematical calculi of happiness, ignoring the issue that this cannot be measured. Historically minded philosophers such as Hegel still held onto a rationalistic conception of evolution of spirit, that fatally believed that history was deterministic, since science seemed to be. Since science did not make value judgments, neither did Marx, leading to the creation of some of the worst political systems of the 20th century - and that is not a major feat. Within the western tradition amoral bureaucracies gained ground, under the Weberian motto of utility, and slowly all understanding of the basis of right and wrong disappeared, as it did in the 1930ies when it was found reasonable in philosophical circles to hold a position that to say that something is good, is just to say "I like it, do so too", preparing us for the ravages of consumer culture.

Since the book was first published, the Soviet empire collapsed, and it might even be that the latest financial crisis is revealing some of the deep flaws in non critical implementations of capitalism. So the message seems just as relevant now as it did 30 years ago when the book first appeared.

The above review, needless to say does no justice to the depth of argumentation found in the book. The Internet Encyclopedia of Philosophy has a much more detailed overview of MacIntyre's philosophy though it does not read nearly as well as "After Virtue" itself.

Tuesday Jan 05, 2010

MISC 2010 and the Internet of Subjects

The International Conference on Mobility, Individualisation, Socialisation and Connectivity (MISC 2010) will be taking place in London from Jan 20 to 23 under the rallying cry "Personal Data It's Ours!". It will cover a very large number of topics in the space of Identity, the Social Web, Privacy and Data Ownership, (see the Agenda). I will be presenting on the developments of the Secure Social Web with foaf+ssl.

The conference will also be the launch pad for the Internet of Subjects foundation, whose manifesto starts with the following lines (full version)

The place digital technologies have now dwelled in our lives is leading to an ever-increasing flow of personal data circulating over the Internet. The current difficulties experienced in personal data management, like trust and privacy, are the revealing symptoms of a growing contradiction between an architecture that was primarily designed to manage documents, with the growing expectations of individuals of a more person-centric web. This contradiction will not be resolved by adding a simple patch to the current architecture; a second order change, similar to Copernican revolution, is required to move from a document-centric to a p erson-centric Internet, and create the conditions for a more balanced and mature relationship between individuals and organisations.

I completely sympathise with the feeling expressed by this message. But just as the Copernican revolution did not require an actual change in the movement of the planets - they have been turning around the Sun quite happily for billions of years - but 'only' required a change in how the humanity thought about the movement of the planets, so Web architecture as it currently stands, is perfectly adequate for an Internet of Subjects. It has been designed like that right from the beginning. Tim Berners Lee in his 1994 Plenary at the First International World Wide Web Conference, presented a Paper "W3 future directions" where he showed how from the flat world of documents as shown here

one could move to a world of objects described by those documents as shown here

This is what led to the development of the semantic web, and to technologies such as foaf that since 2000 have allowed us to build distributed Social Networks, and foaf+ssl that are allowing us now to secure them. Using the semantic web then to describe the authors of the documents and hence turn the web of objects into a web of subjects making statements about objects, does not require much technological innovation: it's built into the semweb architecture.

Still to someone who does not know this - the conference as well as the Manifesto are aimed at people who don't - their feeling will be that something is fundamentally wrong with web architecture. This is indeed the feeling the pre Copernican astronomers would have had as their models became more and more complicated to accommodate the always increasing amount of information they gathered about the stars. What should have been simple and beautiful, revealing the mind of God, must have seemed more and more confusing. Until one day, the way the world looked, suddenly changed...

Sunday Nov 29, 2009

Web Finger proposals overview

If all you had was an email address, would it not be nice to be able to have a mechanism to find someone's home page or OpenId from it? Two proposals have been put forward to show how this could be done. I will look at them and add a sketch of my own that hopefully should lead us to a solution that takes the best of both proposals.

The WebFinger GoogleCode page explains what webfinger is very well:

Back in the day you could, given somebody's UNIX account (email address), type
$ finger email@example.com 
and get some information about that person, whatever they wanted to share: perhaps their office location, phone number, URL, current activities, etc.

The new ideas generalize this to the web, by following a very simple insight: If you have an email address like henry.story@sun.com, then the owner of sun.com is responsible for managing the email. That is the same organization responsible for managing the web site http://sun.com. So all that is needed is some machine readable pointer from http://sun.com/ to a lookup giving more information about owner of the email address. That's it!

The WebFinger proposal

The WebFinger proposed solution showed the way so I will start from here. It is not too complicated, at least as described by John Panzer's "Personal Web Discovery" post.

John suggests that there should be a convention that servers have a file in the /host-meta root location of the HTTP server to describe metadata about the site. (This seems to me to break web architecture. But never mind: the resource http://sun.com/ can have a link to some file that describes a mapping from email ids to information about it.) The WebFinger solution is to have that resource be in a new application/host-meta file format. (not xml btw). This would have mapping of the form

Link-Pattern: <http://meta.sun.com/?q={%uri}>; 
    rel="describedby";type="application/xrd+xml"
So if you wanted to find out about me, you'd be able to do a simple HTTP GET request on http://meta.sun.com/?q=henry.story@sun.com, which will return a representation in another new application/xrd+xml format about the user.

The idea is really good, but it has three more or less important flaws:

  • It seems to require by convention all web sites to set up a /host-meta location on their web servers. Making such a global requirement seems a bit strong, and does not in my opinion follow web architecture. It is not up to a spec to describe the meaning of URIs, especially those belonging to other people.
  • It seems to require a non xml application/host-meta format
  • It creates yet another file format to describe resources the application/xrd+xml. It is better to describe resources at a semantic level using the Resouces Description Framework, and not enter the format battle zone. To describe people there is already the widely known friend of a friend ontology, which can be clearly extended by anyone. Luckily it would be easy for the XRD format to participate in this, by simply creating a GRDDL mapping to the semantics.

All these new format creation's are a real pain. They require new parsers, testing of the spec, mapping to semantics, etc... There is no reason to do this anymore, it is a solved problem.

But lots of kudos for the good idea!

The FingerPoint proposal

Toby Inkster, co inventor of foaf+ssl, authored the fingerpoint proposal, which avoids the problems outlined above.

Fingerpoint defines one useful relation sparql:fingerpoint relation (available at the namespace of the relation of course, as all good linked data should), and is defined as

sparql:fingerpoint
	a owl:ObjectProperty ;
	rdfs:label "fingerpoint" ;
	rdfs:comment """A link from a Root Document to an Endpoint Document 
                        capable of returning information about people having 
                        e-mail addresses at the associated domain.""" ;
	rdfs:subPropertyOf sparql:endpoint ;
	rdfs:domain sparql:RootDocument .
It is then possible to have the root page link to a SPARQL endpoint that can be used to query very flexibily for information. Because the link is defined semantically there are a number of ways to point to the sparql endpoint:
  • Using the up and coming HTTP-Link HTTP header,
  • Using the well tried html <link> element.
  • Using RDFa embedded in the html of the page
  • By having the home page return any other represenation that may be popular or not, such as rdf/xml, N3, or XRD...
Toby does not mention those last two options in his spec, but the beauty of defining things semantically is that one is open to such possibilities from the start.

So Toby gets more power as the WebFinger proposal, by only inventing 1 new relation! All the rest is already defined by existing standards.

The only problem one can see with this is that SPARQL, though not that difficult to learn, is perhaps a bit too powerful for what is needed. You can really ask anything of a SPARQL endpoint!

A possible intermediary proposal: semantic forms

What is really going on here? Let us think in simple HTML terms, and forget about machine readable data a bit. If this were done for a human being, what we really would want is a page that looks like the webfinger.org site, which currently is just one query box and a search button (just like Google's front page). Let me reproduce this here:

Here is the html for this form as its purest, without styling:

     <form  action='/lookup' method='GET'>
         <img src='http://webfinger.org/images/finger.png' />
         <input name='email' type='text' value='' />         
         <button type='submit' value='Look Up'>Look Up</button>
     </form>

What we want is some way to make it clear to a robot, that the above form somehow maps into the following SPARQL query:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?homepage
WHERE {
   [] foaf:mbox ?email;
      foaf:homepage ?homepage
}

Perhaps this could be done with something as simple as an RDFa extension such as:

     <form  action='/lookup' method='GET'>
         <img src='http://webfinger.org/images/finger.png' />
         <input name='email' type='text' value='' />         
         <button type='submit' value='homepage' 
                sparql='PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
                 GET ?homepage
                 WHERE {
                   [] foaf:mbox ?email;
                      foaf:homepage ?homepage
                 }">Look Up</button>
     </form>

When the user (or robot) presses the form, the page he ends up on is the result of the SPARQL query where the values of the form variables have been replaced by the identically named variables in the SPARQL query. So if I entered henry.story@sun.com in the form, I would end up on the page http://sun.com/lookup?email=henry.story@sun.com, which could perhaps just be a redirect to this blog page... This would then be the answer to the SPARQL query

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?homepage
WHERE {
   [] foaf:mbox "henry.story@bblfish.net";
      foaf:homepage ?homepage
}
(note: that would be wrong as far as the definition of foaf:mbox goes, which relates a person to an mbox, not a string... but let us pass on this detail for the moment)

Here we would be defining a new GET method in SPARQL, which find the type of web page that the post would end up landing on: namely a page that is the homepage of whoever's email address we have.

The nice thing about this is that as with Toby Inkster's proposal we would only need one new relation from the home page to such a finder page, and once such a sparql form mapping mechanism is defined, it could be used in many other ways too, so that it would make sense for people to learn it. For example it could be useful to make web sites available to shopping agents, as I had started thinking about in RESTful semantic web services before RDFa was out.

But most of all, something along these lines, would allow services to have a very simple CGI to answer such a query, without needing to invest in a full blown SPARQL query engine. At the same time it makes the mapping to the semantics of the form very clear. Perhaps someone has a solution to do this already. Perhaps there is a better way of doing it. But it is along these lines that I would be looking for a solution...

(See also an earlier post of mine SPARQLing AltaVista: the meaning of forms)

How this relates to OpenId and foaf+ssl

One of the key use cases for such a Web Finger comes from the difficulty people have of thinking of URLs as identifiers of people. Such a WebFinger proposal if successful, would allow people to type in their email address into an OpenId login box, and from there the Relying Party (the server that the user wants to log into), could find their homepage (usually the same as their OpenId page), and from there find their FOAF description (see "FOAF and OpenID").

Of course this user interface problem does not come up with foaf+ssl, because by using client side certificates, foaf+ssl does not require the user to remember his WebID. The browser does that for him - it's built in.

Nevertheless it is good that OpenId is creating the need for such a service. It is a good idea, and could be very useful even for foaf+ssl, but for different reasons: making it easy to help people find someone's foaf file from the email address could have many very neat applications, if only for enhancing email clients in interesting new ways.

Updates

It was remarked in the comments to this post that the format for the /host-meta format is now XRD. So that removes one criticism of the first proposal. I wonder how flexible XRD is now. Can it express everything RDF/XML can? Does it have a GRDDL?

Wednesday Nov 25, 2009

Identity in the Browser, Firefox style

Mozilla's User Interface chief Aza Raskin just put forward some interesting thoughts on what Identity in the Browser could look like for Firefox. As one of the Knights in search of the Golden Holy Grail of distributed Social Networking, he believes to have found it in giving the browser more control of the user's identity.

The mock up picture reproduced below, shows how Firefox, by integrating identity information into the browser, could make it clear as to what persona one is logged into a site as. It would also create a common user interface for allowing one to log in to a site under a specific Identity, as well as allow one to create a new one. Looking at the Weave Identity Account Manager project site one finds that it would also make it easy to generate automatically passwords for each site/identity, to sync one's passwords across devices, as well as to change the passwords for all enabled sites simultaneously if one feared one's computer had fallen in the wrong hands. These are very appealing properties, and the UI is especially telling, so I will reproduce the main picture here:

The User Interface

One thing I very strongly support in this project is the way it makes it clear to the user, in a very visible location - the URL bar -, as what identity he is logged in as. Interestingly this is at the same location as the https information bar, when you connect to secure sites. Here is what URL bar looks like when connected securely to LinkedIn:

One enhancement the Firefox team could immediately work on, without inventing a new protocol, would be to reveal in the URL bar the client certificate used when connected to a https://... url. This could be done in a manner very similar to the way proposed by Aza Raskin in the his Weave Account manager prototype pictured above. This would allow the user to

  • know what HTTPS client cert he was using to connect to a site,
  • as well as allow him to log out of that site,
  • change the client certificate used if needed
The last two feature of TLS are currently impossible to use in browsers because of the lack of such a User Interface Handle. This would be a big step to closing the growing Firefox Bug 396441: "Improve SSL client-authentication UI".

From there it would be just a small step, but one that I think would require more investigation, to foaf+ssl enhance the drop down description about both the server and the client with information taken from the WebID. A quick reminder: foaf+ssl works simply by adding a WebID - which is just a URL to identify a foaf:Agent - as the subject alternative name of the X509 certificate in the version 3 extensions, as shown in detail in the one page description of the protocol. The browser could then GET the meaning of that URI, i.e. GET a description of the person, by the simplest of all methods: an HTTP GET request. In the case of the user himself, the browser could use the foaf:depiction of the user, to display a picture of him. In the case of the web site certificate, the browser could GET the server information at its WebId, and display the information placed there. Now if the foaf file is not signed by a CA, then the information given by the remote server about itself, should perhaps be placed on a different background or in some way to distinguish the information in the certificate, from the information gleaned from the WebId. So there are a few issues to work on here, but these just only involve well developed standards - foaf and TLS - and some user interface engineers to get them right. Easier, it seems to me, than inventing a whole protocol - even though it is perhaps every engineers desire to have developed a successful one.

The Synchronization Piece

Notice how foaf+ssl enables synchronization. Any browser can create a public/private key pair using the keygen element, and get a certificate from a WebId server, such as foaf.me. Such a server will then add that public key as an identifier for that WebId to the foaf file. Any browser that has a certificate whose public key matches that published on the server, will be able to authenticate to that server and download all the information it needs from there. This could be information

  • about the user (name, depiction, address, telephone number, etc, etc)
  • a link to a resource containing the bookmarks of the user
  • his online accounts
  • his preferences
Indeed you can browse all the information foaf.me can glean just from my public foaf file here. You will see my bookmarks taken from delicious, my tweets and photos all collected in the Activity tab. This is just one way to display information about me. A browser could collect all that information to build up a specialized user interface, and so enable synchronization of preferences, bookmarks, and information about me.

The Security Problem

So what problem is the Weave team solving in addition to the problem solved above by foaf+ssl?

The weave synchronization of course works in a similar manner: data is stored on a remote server, and clients fetch and publish information to that server. One thing that is different is that the Weave team wish to store the passwords for each of the user's accounts onto a remote server that is not under the user's control. As a result that information needs to be encrypted. In foaf+ssl only the public key is stored on a remote server, so there is no need to encrypt that information: the private key can remain safely on the client key chain. Of course there is a danger with the simple foaf+ssl server that the owner of the remote service can both see and change the information published remotely depending on who is asking for it. So an unreliable server could add a new public key to the foaf file, and thereby allow a malicious client to authenticate as the user in a number of web sites.

It is to solve this problem that Weave was designed: to be able to publish remotely encrypted information that only the user can understand. The publication piece uses a nearly RESTful API. This allows it to store encrypted content such as passwords, identity information, or indeed any content on a remote server. The user would just need to remember that one password to be able to synchronize his various Identities from one device to another. There is a useful trick that is worth highlighting: each piece of data is encrypted using a symmetric key, which is stored on the server encrypted with a public key. As a result one can give someone access to a piece of data just by publishing the symmetric key encrypted using one of her public key.

Generalization of Weave

To make the above protocol fully RESTful, it needs to follow Roy Fielding's principle that "REST APIs must be hypertext driven". As such this protocol is failing in this respect in forcing a directory layout ahead of time. This could be fixed by creating a simple ontology for the different roles of the elements required in the protocol: such as public keys, symmetric keys, data objects, etc... This would then enable the Linked Data pattern. Allowing each of the pieces of data to be anywhere on the web. Of course nothing would stop the data from being set out the way specified in the current standard. But it immediately opens up a few interesting possibilities. For example if one wanted a group of encrypted resources to be viewed by the same group of people, one would need only one encrypted symmetric key each of those resources could point to, enabling less duplication.

By defining both a way of getting objects, and their encoding, the project is revealing its status as a good prototype. To be a standard, those should be separated. That is I can see a few sperate pieces required here:

  1. An ontology describing the public keys, the symmetric keys, the encrypted contents,...
  2. Mime types for encrypted contents
  3. Ontologies to describe the contents: such as People, bookmarks, etc...
Only (1) and (2) above would be very useful for any number of scenarios. The contents in the encrypted bodies could then be left to be completely general, and applied in many other places. Indeed being able to publish information on a remote untrusted server could be very useful in many different scenarios.

By separating the first two from (3), the Weave project would avoid inventing yet another way to describe a user for example. We already have a large number of those, including foaf, Portable Contacts, vcard, and many many more... I side for data formats being RDF based, as this separates the issues of syntax and semantics. It also allow the descriptions to be extensible, so that people can think of themselves in more complex ways that that which the current developers of Weave have been able to think of. That is certainly going to be important if one is to have a distributed social web.

Publishing files in an encrypted manner remotely does guard one from malicious servers. But it does I think also reduce the usability of the data. Every time one wants to give access to a resource to someone one needs to encrypt the symmetric key for that user. If the user looses his key, one has to re-encrypt that symmetric key. By trusting the server as foaf+ssl does, it can encrypt the information just in time, for the client requesting the information. But well, these are just different usage scenarios. For encrypting password - which we should really no longer need - then certainly the Weave solution is going in the right direction.

The Client Side Password

Finally Weave is going to need to fill out forms automatically for the user. To do this again I would develop a password ontology, and then markup the forms in such a way that the browser can deduce what pieces of information need to go where. It should be a separate effort to decide what syntax to use to markup html. RDFa is one solution, and I hear the HTML5 solution is starting to look reasonable now that they removed the reverse DNS namespace requirement. In any case such a solution can be very generic, and so the Firefox engineers could go with the flow there too.

RDF! You crazy?

I may be, but so is the world. You can get a light triple store that could be embedded in mozilla, that is open source, and that is in C. Talk to the Virtuoso folks. Here is a blog entry on their lite version. My guess is they could make it even liter. KDE is using it....

Tuesday Nov 24, 2009

my time at Sun is coming to an end

Many have been laid off at Sun over the past few years, and we are in a new round now in France: it looks like it may be my turn next.

I am lucky to be working from Europe where these things take quite some time to be processed. There may be even some way I can extend my pay for 3 months, if I volunteer to depart, and don't take some time to find another job inside of Sun. In France people don't get fired, unless they did something really bad - their jobs are terminated.

I have known this was on the cards for the past 6 months, and so I had really hoped that the Social Web Camp in Santa Clara would help me demonstrate the value of what I had been doing to a larger cross section of people in the Bay Area. Sadly that was messed up by the decision by the SFO Homeland Security bureaucrats to send me to jail instead; a very interesting experience with hindsight, that has triggered a number of new interests, that could well guide me to a radical departure of my career as writer, sociologist, psychologist, political scientist. So many interesting things to do in life...

My time at Sun has certainly been the best experience of work I have ever had. I learned so much here. Certainly, I would have preferred it if we could have launched a large and successful semantic web project while I was here, but somehow that just seemed to be a very elusive task. My hope was to simplify the Semantic Web down to a core, and to show how there is a tremendous opportunity in distributed Social Networks. But Sun's current financial difficulties and the uncertainties of the takeover by Oracle, have meant that the company had to focus more on its core business. Much bigger projects have failed, and many much better engineers have lost their job here.

Still this means that I am a bit in limbo now. I will certainly continue to work on Decentralized Social Networks (esp, foaf+ssl), as I believe these have a huge potential. But even more so that over the past few months, I will be doing this under my own steam.

Thursday Nov 19, 2009

http://openid4.me/ -- OpenId ♥ foaf+ssl

OpenId4.me is the bridge between foaf+ssl and OpenId we have been waiting for.

OpenId and foaf+ssl have a lot in common:

  • They both allow one to log into a web site without requiring one to divulge a password to that web site
  • They both allow one to have a global identifier to log in, so that one does not need to create a username for each web site one wants to identify oneself at.
  • They also allow one to give more information to the site about oneself, automatically, without requiring one to type that information into the site all over again.

OpenId4.me allows a person with a foaf+ssl profile to automatically login to the millions of web sites that enable authentication with OpenId. The really cool thing is that this person never has to set up an OpenId service. OpenId4.me does not even store any information about that person on it's server: it uses all the information in the users foaf profile and authenticates him with foaf+ssl. OpenId4.me does not yet implement attribute exchange I think, but it should be relatively easy to do (depending on how easy it is to hack the initial OpenId code I suppose).

If you have a foaf+ssl cert (get one at foaf.me) and are logging into an openid 2 service, all you need to type in the OpenId box is openid4.me. This will then authenticate you using your foaf+ssl certificate, which works with most existing browsers without change!

If you then want to own your OpenId, then just add a little html to your home page. This is what I placed on http://bblfish.net/:

    <link rel="openid.server" href="http://openid4.me/index.php" />
    <link rel="openid2.provider openid.server" href="http://openid4.me/index.php"/>
    <link rel="meta" type="application/rdf+xml" title="FOAF" href="http://bblfish.net/people/henry/card%23me"/>

And that's it. Having done that you can then in the future change your openid provider very easily. You could even set up your own OpenId4.me server, as it is open source.

More info at OpenId4.me.

Wednesday Nov 18, 2009

Detained in Heathrow

Sipping a coffee in Heathrow, after having - finally - picked up my computer and bicycle that just arrived back from the US, following my recent adventure in San Francisco. Thanks to a very friendly Ernesto Smith from British Airways, who very kindly dealt with the paper work at the police lost and found at SFO, and forwarded my belongings to London.

As I was catching up on my last 2 weeks of e-mail Mischa Tuffield kindly sent me a few links to the following PHD Comics cartoon. :-)

Click on the image for the following episodes.

He had it easy. In the UK, they even let him go out to seek a hotel! Perhaps what I need is a Phd...

Legalise marijuana

I was watching Newsnight yesterday evening, which is running a show on "recipes for a good and palatable tax".

Britain is facing its biggest deficit for 40 years. The question is not whether taxes should go up, but how.

A number of people came up to propose some good ways of generating new taxes. It occurred to me that legalizing cannabis/marijuana should provide quite a nice windfall in taxes. I have not read the recent book "Economics and Marijuana: Consumption, Pricing and Legislation" which is bound to have a detailed analysis of how much one could expect in taxes from legalization, but going from the sentence in the introduction

...expenditure on marijuana in Australia is estimated to be three quarters of that of beer and twice that of wine.
and putting that together with the figure I found in "Alcohol: Tax, Price and Public Health" that £6 billion were collected in taxes on beer, would make me think that one could collect at least £4.5 billion on cannabis if the tax rate for cannabis were the same as that for beer - but it could be more as people have gotten used to paying for the risk to the dealers. In Keneth Clements and Mert Daryal's online paper "The Economics of Marijuana Consumption" (p 18) they estimate that in 1995 the Australians spent 5 billion dollars on Marijuana. Since there are three times more people in the UK, and counting the fall in value of currencies over a period of 10 years, we have 15 billion 1995 Australian dollars that might now be worth $22 billion, which converted into pound sterling is £12 billion. It seems quite reasonable then that out of a spending of that size it should be easy for the state to recuperate at least 1/3 of that if not more.

One could furthermore save a huge amount of money on reductions in police surveillance, legal cases and prison sentences. This should be even more true in the USA, which has a huge prison population (10\* larger than most European countries). About.com has an interesting article on the subject "Should Governments Legalize and Tax Marijuana?". See also "A Budget Cure: Marijuana Taxes?". This idea is clearly making its way: Governor Schwarzenegger recently proposed opening the debate on this issue.

In the Newsnight program the proposal that won approval was the proposal to tax the rich a lot more on their pension funds. So my guess is that a lot of rich people should be very keen to legalize marijuana in the very near future.

It would be quite ironic in the end if a mind altering drug were to pull the state out of a hole created by mathematically deluded stock analysts on a huge ego trip.

Monday Nov 16, 2009

7 days in SF Jail - the iPhone thief

image of stone inscribed with code of hammurabi

A young black boy - 18 to 20 perhaps - very tall, entered our cell, joining our growing community. [ I am not a professional writer and don't remember the exact SF expressions. I'd welcome some help to get the language right. ]. I don't think we really asked him what he was in for. He was pissed: "Those motherfuckers got me. Damn! I could have just gone away. One iPhone too much man. One iPhone too much. Do you think I'll get bail? They have not caught me in years man. Should let me out. I need to go out, there's my pussy waiting for me out there. I just was about to call her."

Someone asked him how he got those iPhones.

"I just go up and spot someone with one, ask them the time, and when they look at their phone I just grab it and run. Really easy. That's a good money. $350 for 8 MB phone, $400 for 16MB."

Someone asked him how they can resell such a phone. Won't the GPS feature in the phone locate them? How can they resell a stolen phone anyway? "Just go to the shop, they remove the SIM card. That's it. They resell it on the market."

It was remarkable how candid he was about his operation. He really seemed to have no conscience about what this activity being wrong in any way. Nor did he seem to think about the possibility that in the crowd of detainees there might lurk a few cops in disguise, which one of the older more experienced detainees later tried to get him to consider by targeting the white boy who was arrested with someone else in a drug deal, and suggesting that he might be with the other side. "What! he's way too young." was the astonished reaction. "They come in all forms and all ages" was the response. The boy defended himself weakly. "We'll see", said the older one. "If those dollar notes and their serial numbers appear in court, then you'll know it was a trap." He repeated this a few times. Ominous.

Sadly I can't quite remember where the iPhone thief was working, because that would be a good place to hang out for people with a good insurance and a broken one... (psst, here's a tip: Apparently you have more chance of being robbed if you look somewhat drunk, lost and helpless.)

I asked the young boy if he was not worried to get shot. That thought surprised him. No he said, he runs back to the car, that's where they have the guns. They caught him just before he reached the car. "Otherwise, hehe..." I wondered if he was for real, or just trying to impress. It was just too weird. Someone else pointed out that using guns in a crowded street would be very dangerous. (A bit like using nuclear armaments to win wars, I thought. Not precise enough, too indiscriminate, too full of bad consequences for the one using it. That is of course if the one using it spends a little time to think about the consequences of their actions.)

I wondered where the boy had gone to school. Of all the crimes, theft is probably the one that is the oldest, and best well known to be wrong. One should not even need school to know about this. Already in 1750 B.C. (nearly 4 thousand years ago) in ancient Babylon the Code of Hammurabi (full text) had some very strong punishments for theft: death for stealing of sacred objects, and repayment of 30 times the original value for others - or death if the thief could not repay. Punishments were quite simple in those days, perhaps due to the effort of writing those laws out in stone...

I was too tired by my own troubles to dig much deeper. I would loved to know how he came to work in this field. Who had guided him in his youth? I think he mentioned feeding his brothers and sisters as a reason for doing this, but I am not sure...

If he got bail, he was calculating, he could steal a few more iPhones to cover the costs . I think he was deluded. He was not going to get out of jail soon. And perhaps here there was something useful for him to learn. One could hope that this would be a place for him to gain a little conscience. As Philip Larkin wrote in "Wires":

The widest prairies have electric fences,
For though old cattle know they must not stray
Young steers are always scenting purer water
Not here but anywhere. Beyond the wires

Leads them to blunder up against the wires
Whose muscle-shredding violence gives no quarter.
Young steers become old cattle from that day,
Electric limits to their widest senses.

Friday Nov 13, 2009

7 days in SF Jail - Halloween Friday Transfer

hand fingerprint machine

My depressed cell mate fell asleep on the one available bench leaving me too little space to lie down myself.

I paced up and down, trying to imagine all the possible options left open to me. Perhaps if I got transferred to San Francisco there would still be a way to get the court hearing early Monday, be freed and have the rest of the day to present at the Santa Clara Social Web Camp, or at least be free for the rest of the week to attend the other conferences. I held onto that hope as a drowning animal holds onto the smallest twig that comes his way. Perhaps one could overturn the ICE Hold? Perhaps Sun lawyers could get me out of here. But I did not have any number for them. If I had to go to court soon I should be in San Francisco jail. When would that happen? I had been told that they had five days to get me over there. Mix all of those thoughts with my still not being clear as to why I was here at all: why was the case re-opened? Had I forgotten to do something really important? Had someone perhaps stolen my identity? I was swimming in a sea in upheaval, pounded by strong blowing wind, waves shifting ice blocks here and there, and me trying to swim between these to a solid shore.

My cell mate moved somewhat leaving me a little space to curl up on the edge of the bench, shut my eyes, and sleep.

Morning

Breakfast in Jail in the US is served at 4am, something to do with military discipline I guess. Cereals and milk was on the menu, and powder orange juice to mix with water from the fountain above the metallic toilet.

My cell mate was in a better mood now, though more anxious about loosing his job. He was caught between hating the police and wanting to join the force. Later he was talking of joining the marines if he lost his job. His moaning repetitive. He called the interphone for information on his release time, they answered "San Mateo police Taxi service. What can we do for you?".

He had a pee in the back toilet, separated from me just by a low wall. I wondered what the officers positioned outside on their elevated pedestal could see.

Around 5am a Eurasian man came to the window and presented himself as an immigration officer. I was hopeful. He opened the door and let me out pointing to a chair. Having taken a seat, I asked him if there was anything that could be done to overturn the ICE hold, so that I could bail out. He said he could look into it. Then he proceeded by asking me a number of boring questions, very similar to all those I had already answered previously. On returning to the cell I could not really work out how asking those questions could have helped him make a case for me. I wondered how long it would take him to get me an answer. I tried to get his attention through the window, but he was already interviewing someone else, and indicated that he would come later. When he did come around, furtively, checking the corridor to see that nobody was there, he indicated that could be a whole day before he knew. Mhh. That would push things to the weekend.

At some point a tall tough rough yet elegant woman officer arrived, clearly with a leadership role, seeing how the male officers followed her closely and seemed to be wanting to outdo each other in appearing even tougher. There seemed to be some urgency somewhere, and there was a lot of marching up and down the corridor.

My cell mate kept trying to invent scenarios of what he should tell his boss to explain his being late. Perhaps he could get away by telling him that his mother died, or had a stroke. I suggested that his boss would then wonder why he had not called to tell him about this earlier. He should call work immediately. Being in jail for Jay Walking and drinking a bit too much sounds like something that could happen to anyone. Why make up a complex story, when the truth is so simple? And it would be a lot more useful for his work to know that he would have trouble coming than to let them wait on his possible arrival... He never followed up on this suggestion though, preferring instead to invent lies one more complex than the other.

Time passed. My mind was going in circles from one possibility to the next. I could not call anyone and did not know how to get any number. If I was going to be out here for the weekend I had to do something. But there was nothing to do. I needed a lawyer and some guidance! A telephone to call people and let them know of my situation. I banged my fist repeatedly against the window shouting in desperation "I need some help!". The tall woman and her officers appeared quickly. I sat down on my hands as quickly as possible. Complete submission was clearly what was required here: I did not want to appear aggressive - I was just lost. I explained that I did not know why I was here, that I had come from Europe for a conference, and that I had no way to contact people from my work. She said that is what O.R. was for - had I not spoken to them? On the verge of crying I said I had no idea what this O.R. was that people kept telling me about, nor what their role was. And that they had told me just that I could not bail. She told me to behave if I did not want to be dropped in the isolation chamber. She would see what she could do. And O.R. stands for Own Recognizance.

Next I knew, an officer came to bring me to San Francisco.

Transfer

I was out of the cell, my thumbprints taken once more, then handcuffed, joined by an older black man, and walked by a friendly officer to a transition cell, where we were to wait for a van to drive us to San Francisco. The officer told me I would probably have a court hearing on Monday morning. Cases have to processed within 72 hours. (Though weekends don't count I was later told) Damn, that was going to be a lot of time to spend staring at the wall. The officer was holding the bag of things that they had found on me at the Airport including the 1400 page collection of essays by Francois Julien, whose title in English would read something like "Philosophy disturbed by Chinese thought" [note: see this french interview in Philosophie magazine] "Could I not have that? It's a book of philosophy, nothing harmful.", I pleaded with the officer. "No!" was the clear and final answer. "We cannot give detainees any belongings." So how could I get a book then? "You need to have friends and family send it to you directly from the publisher". I could not understand the rule at this point, and clearly revealed myself as a greenhorn arguing about this. My potential aura as an international terrorist/mafiosi arrested at the SFO airport had just vanished in a puff of smoke. I could see that in the eyes of my handcuffed partner. Nevertheless, a book like that could have usefully filled up the empty holes of my time in jail. Were there any books at the San Francisco prison perhaps? There must be bibles at least - I'd been looking forward for some spare time to read the bible carefully. Yes, but only for prisoners after they have seen the judge. I suppose they want us to socialize. Why not. After all one can read books anywhere. If I was going to be in Jail, I might as well make the best of it: there are few occasions in life where one can meet so many characters at such turning points in their lives.

The older man was happy that a day in court would be nearing where he could have a chance to get out. He did not want to end up loosing his house for not paying rent. The time he was in jail he had counted as vacation time.

We were given lunch - a small fistful of peanut butter, 4 slices of bread, 3 overly sugary biscuits, some carrot sticks and a small carton of milk. It must have been close to 11am. My cell mate had some spare food that he had amassed over his month in jail, and kindly offered me a few biscuits. All his food had to be eaten before leaving. The cell was a bit of a mess after he ate, as he left everything on the floor, papers, some nut remains, orange peels ... Later, in San Francisco, as someone pointed this out to him, his answered that this created jobs for the inmates who cleaned up afterward. Well, in my view there is infinite amount of work to do, so there is no need to create absurd work. But this was not the right time for such a debate. He had experience in Jail, and he could help me work the ropes.

From his sock he took out a little bundle of papers. Phone numbers, case papers, even a pencil I think. I was surprised he could have anything at all with him. A pencil was like gold in jail for those like me no longer used to remembering phone numbers by heart. Those were his court papers he said, and he was really keen on keeping them with him. I understand. Without documentation things can get very difficult. As we later were to go, and the officer found those in his sock, he had to argue passionately with the officer to be able to keep them. The officer was lenient, and tied the little bundle to the exterior of the box containing the man's possessions, and told him he could get that back in San Francisco. That sounded good. So one could have papers with one...

I was led out of the cell, asked to lean against the wall. The Sheriff took out a huge handcuffs, locked my hands together, asked me to turn around, lift one foot, locked that up, then lift the other, and locked that up too. We were now both ready to walk, slowly, very slowly, limited at each step by the chains tying our feet together, inching our way to the van waiting for us. Then stepping into it with great care. A slight mistake and one would fall straigh on one's face. There were three benches. My companion sat on the middle bench, me on the back one. The door was shut behind us. The van left to SF. Someone switched the air conditioning on, and I was freezing.

Halloween Orange

halloween pumpkin

In San Francisco we followed the same procedure. We were placed into a cell, where we could make phone calls. The policy was a bit more generous here: local calls were free. Then we were taken out for hand prints again, photographed, given a new wrist band, an orange one this time. Then moved back to the cell and made to wait. The procedures for entering and exciting jail are very slow, designed to make sure nobody gets lost in the system. Papers are moved from one desk to another. Information entered into a computer. Physical identity verified.

On the right occasion my cell mate asked if he could have his papers back, as he needed them for court. I used the opportunity to ask if I could get access to my cell phone, and retrieve a few phone numbers, so that I could try to contact some people at Sun. I was told I could do that later. And indeed much later I did succeed in getting 5 more phone numbers from my iPhone. Sadly most of them were for phones that did not permit collect calls, and others were very rarely answered.

We were then transferred to a changing room, where we each received orange underpants, orange trousers, orange socks, an orange t-shirt, orange sandals and an orange pullover. A great pumpkin disguise for Halloween, as I had just been reminded it was.

And yes, it was going to be hot out in San Francisco someone who joined us said. He had heard of gangstas that were going to go on Halloween with real guns disguised as play toys. "-Hand over the money. - No problem. Here have it all." one joked. And indeed quite a lot of the newcomers of the next few days were Halloween related cases.

Calling the consulate

An older white man, in for shoplifting, who turned out to know a lot about ecology, and had been fighting that cause for a long time, but had lost his job a couple of years ago now - too old to work - suggested I call the consulate. Very good idea, and I thanked him for it. I used the first opportunity to get hold of an officer to explain my predicament. He allowed me out, and helped me make a call on one of the external phones, as that number could not be reached from the phones in the cell. The consulate wrote down my details and told me they would send me some information. I felt somewhat relieved.

Monday Nov 09, 2009

7 days in SF Jail - arrival

On October 29 I left London for what was to be a month tour of California. On all previous trips I prepared very little. This time though I spent two weeks organizing a Social Web Camp in order to build up contacts in the Bay. But things took a very different turn.

At Hexagram 64 of the Yi Ching - the oldest book in China - entitled "Before Completion", one can read:

The caution of a fox walking over ice is proverbial in China. His ears are constantly alert to the cracking of the ice, as he carefully and circumspectly searches out the safest spots. A young fox who as yet has not acquired this caution goes ahead boldly, and it may happen that he falls in and gets his tail wet when he is almost across the water. Then of course his effort has been all in vain. Accordingly, in times "before completion," deliberation and caution are the prerequisites of success.

Flight to San Francisco

The British Airways flight left in the late morning from London Heathrow. To keep me busy for the 10 hours trip I had bought the UK and US editions of Wired Magazine at the airport to complement the 1300 pages long collections of essays by Francois Jullien comparing European and Chinese approaches to wisdom which I had bought in Paris a few weeks earlier. ( some of these are available on Google Books in English ).

The plane took off and we were a served a very good and healthy lunch - I was pleasantly surprised. The shades were then pulled down to allow people to sleep or watch films. Even though I woke up at 5am that morning, I was too excited to sleep. So I read the easier Wired magazines from beginning to end to help me get back into the Silicon Valley spirit. One article that caught my attention and that was reprinted in both editions was Neil Christy's "Empty the Prisons" in the "12 Shocking Ideas that Could Change the World" Section. The following diagram makes the point very simply:

prison population comparison across countries

The cost of putting people in prisons is very high. Not just the monetary cost, but also the cost to Liberty. The easier it is for the state to put people in prison, the easier it is for this to be abused by underground operatives to put pressure on people to do things they would not have done otherwise. Perhaps there are crimes that should not be crimes. Not impossible: Alcohol was illegal in the 30ies in the US before being legalised after the complete failure of the program.

Yin and Yang symbol

Having finished those mags I started reading a longer article by Francois Jullien on the different conceptions of Evil and negativity in the East and the West. It is an interesting story that goes all the way back to the earliest conceptions of religion. If God is pure good, how does evil enter the world? Is evil just the lack of Good, as Socrates would have had it? Or is the universe a battle between two equal forces, Good and Evil, as Saint Augustin, had been tempted to think in his earlier days as proponent of the Manichean religion. Or as the Taoists would have it, and as is symbolized so well in the Taoist Tajitu symbol, are these concepts such that they cannot exist without one another? Just as light cannot exist without dark, or high without low, perhaps good cannot exist without bad. And perhaps there is bad in the good and good in the bad? Certainly the Good of One can be the Bad of the other, as this poem - which is part of John Cage's Indeterminacy series - so nicely illustrates:

Kwang-tse
   points         out
               that         a         beautiful
                                                woman


                 who         gives
                           pleasure

                                                 to         men




    serves
 only                                                                                             to
      frighten

                             the         fish


                                                                                when         she
   jumps
                                                                 in         the          water.

Moving away from the desire for purity, may be a very healthy thing to do.

I was tired and would not have had time to finish the 200 page article. Dinner was served. It was then just a short wait till we arrived. The plane dipped. I yawned to relieve the pressure on my ears, and looked out of the window, to what was the only view of the Bay I was going to be allowed to have. The plane landed around 3pm California time, which would have been 11pm London time.

Arrest

I had not filled in the forms for immigration, so I decided to do that comfortably in the plane. Those are the sheets where you are asked questions such as "Have you ever been or are you now involved in espionage or sabotage; or in terrorist activities; or genocide; or between 1933 and 1945 were you involved, in any way, in persecutions associated with Nazi Germany or its allies?" One has to enter 3 or four times the same information. I had to look up the address and phone number of my contacts in the Bay Area. As a result I was the last person to get out of the plane. A huge line awaited me at the passport control check point, and I was upset with myself for not getting out faster. I still wanted to get my bicycle out of the box, and go to Menlo Park to get a few posters for the Social Web Camp and place them around the Bay Area.

I arrived at the control point, gave the officer my passport and cards. But I had forgotten to enter my birth date on the back of one form, so he ordered me to the side to do that, while he dealt with another traveler. I came up, he processed the forms, asked me to put my hand on a fingerprint machine. Something beeped. He did not seem too happy, and told me to go down to the corner of the huge room, to the door I could see in the distance. "Straight down there", he said. I wondered what that was about.

As I entered the room I first saw a row of benches with a little under 10 people sitting there waiting to be processed. I was told to put my passport in a slot and sit down. I thought I could perhaps phone someone, but one was not allowed to make calls there for some reason. I did not want to bother anyone before I knew what the problem was anyway, so I just waited. Slowly people were processed. Some came out of interview rooms. A Woman was asked if she knew someone the Bay Area. She seemed not to understand. An interpreter came around. Her son was called...

I was asked to step to the back office, where they passed my hand through a machine which took the prints of my whole hand and of the side of my hand. They took a few photos. Then they asked me if I knew why I was arrested. No I did not. I thought perhaps I had failed to pay a parking ticket, but I could not imagine that that would warrant my being stopped at the border. So no, I did not understand.

It turns out that a case from 2001, which I was certain had been closed had popped up in their systems. This was from my last year working in the Bay Area, when I had moved to San Francisco to work for E-Translate, at the end of the dot.com boom. So quite some time ago. I had come to the Bay Area three or four times since then, which seemed to shock them, as much as their bringing this issue up shocked me. I told them this was certainly a mistake. Everything had been taken care of. I would be certainly very happy to get this problem cleared up at the courts, and I told them it would very certainly not take much time - Indeed when 6 days later I saw the judge it took him 30 seconds to clear the case. But the officer in front of me did not know that. The information against me on the computer looked bad enough for him, and that was it.

By this time they had taken my telephone, passport and other material, and I was no longer in a position to get advice. I certainly had never been read any rights, and I could not ask anyone for help - I suppose that is just for US citizens. In fact by signing the entry papers I had waived my rights to an immigration court hearing I was told. The interrogating officer, very slowly typed up a report. The first question on the report was: "How are you feeling?" My answer: very tired. It was probably 3am in the morning UK time.

I had pleaded with the officer that I had come just to talk at a conference which I had organized, and to then present talks in different venues. My interest was to have a clear record, and so I would certainly show up in court. Somehow he made me think that I could get bail, and that from there on I could organize the hearings. That seemed like a good enough solution. I felt relieved. Shit happens. At least I'd get a free ride in a cop car.

Ride in a police car

After another long wait, I was asked to remove my shoe laces, empty all my pockets, was handcuffed and walked out to the front of the San Francisco airport. There a couple of policemen were waiting for me. I squeezed into the back seat on the very narrow bench separated by glass and metal from them. They closed the door and drove off, the bag with my cell phone, passport and other bits and bobs with them in the front seat.

They were quite entertaining. One of the officers asked the other if he wanted to go for a pizza, to which the first officer replied that he could no longer eat greasy foods since his appendicitis operation. He went into detail to describe both the cause of appendicitis, the operation, the stones they found in the appendix and the whole trouble that this caused. His colleague did not abandon the pizza idea, and described in detail a famous low cost pizza place where there were only 4 types of pizza available, and where you had better be careful not to ask for anything else. I suggested that I would not be against going for a pizza, to which the pizza loving officer responded jokingly that that clearly showed that I was evil: trying to kill his appendix missing colleague with fatty foods!

We arrived at the San Mateo police station. I had been taken to this station I was told because the San Francisco airport is in fact located in the San Mateo district. They would have to send me over to San Francisco within 5 days. How long that would take would depend on the space available there. I was hoping I could bail out before hand I told them, to which they replied that I would have to talk to the officers in the San Mateo station, they would help me work that out.

San Mateo police station

In San Mateo I was then asked a lot of details all over again. Contact details for people in the Bay, what I was doing here, if I was suicidal, and so on. If you think that the checks at the airport are intrusive - when they ask you to clear everything out of your luggage, and remove your shoes - then you may not want to read the next paragraph.

I was placed into a room and told to strip naked. The officer then frisked my body, then my balls, then asked me to turn against the wall, lean over, spread my cheeks and say "ahh". Not sure what the "Ahh" was for. It did not seem like a good idea not to obey. "Nothing is hidden" as Wittgenstein so well writes in the Philosophical Investigations. I was just happy that the officer did not have to make his blue plastic gloves dirty. As Scott McNeally once quipped: "You have zero privacy anyway. Get over it". So I did.

I could then put my shoes and clothes back on. I was sent to a window where a nurse asked me to fill out a form for diseases I could have, if I practiced safe sex, if I was gay or straight, if I was suicidal, and so on... I then had to go through a hand scan and fingerprint scan once more. Then I was sent to a glass protected cell facing the police office, with a small hard bench and behind a low wall, a metal toilet.

In the room was a telephone attached to the wall for collect calls only, and plastered against the wall was a list of bail agents and their telephone numbers. These could be called to borrow money for bail. They take 10% of the money lent. I called one of them to see if and how they would be able to help. Nope he said. We don't help foreigners. Mhh. Well I could pay for bail myself if I had to.

The Drunk Depressive

As I was doing this, the door opened, and I was joined by a strong, slightly overweight and effeminate man, with a bit of a South American look to him, but unusually well dressed. Not very well dressed, I should add. Just that he had a striped office shirt, and clearly paid attention to his looks.

"Burn, burn. They should all burn in hell", he said, which made me just a little uncomfortable.

"People are bad. They deserve to die.", he continued. "They all deserve to die, each one of them.", and after a pause. "We will all die". This he repeated quite a lot.

I let him go on like this, looking through the window. I wanted to find out how I could get bail, as I was quite keen to leave this place. If I could get out of here then I could find hotel close by, and prepare for my talk on Monday. There was still time.

I knocked on the window, as an officer passed and asked how I could find out about bail. They told me to wait for the O.R. people, and pointed to two women working diagonally across the room. I tried waving to them. Time passed.

I found out that the guy in my cell had been arrested for Jay walking and being somewhat drunk. Though to me he seemed more depressed than drunk. He certainly did not smell heavily of alcohol. I did not know Jay Walking could land you in Jail. I never heard of anyone in France being booked for that. It is also I think quite rare for people to be sent away for being tipsy, unless they make a lot of noise, in which case they would be sent out for being a public nuisance I suppose. He wanted to go home, because he had to work at 5 or 6 in the morning at what I understood to be something like a cafe. He had been unemployed for a while, and this was his first job a lady had helped him get. So he had just been celebrating his new job that evening, and things had turned bad.

No exit

"Look at them, they are like children", he said pointing at the officers. "Playing their little games, so sure of themselves. They don't care. They don't care at all. Playing sheriff. Look at that one..."

And it is true they did not seem to care. It must have been 11pm now, and I had been up for over 26 hours without sleep. I was wondering when I could get bail! I might as well sleep here I thought, that would save me a night at the hotel. I started to get worried, so I called the friends in California, whose number I was had written down on a scrap of paper they had left me - I thought someone at least ought to know where I am.

At some point, one of the women came up to the door, and told me I could not get bail. The immigration officers had put an ICE hold on me, disallowing that. I broke up in tears, as I felt the doors close one by one on me.

Thursday Oct 15, 2009

November 2nd: Join the Social Web Camp in Santa Clara

The W3C Social Web Incubator Group is organizing a free Bar Camp in the Santa Clara Sun Campus on November 2nd to foster a wide ranging discussion on the issues required to build the global Social Web.

Imagine a world where everybody could participate easily in a distributed yet secure social web. In such a world every individual will control their own information, and every business could enter into a conversation with customers, researchers, government agencies and partners as easily as they can now start a conversation with someone on Facebook. What is needed to go in the direction of The Internet of Subjects Manifesto? What existing technologies can we build on? What is missing? What could the W3C contribute? What could others do? To participate in the discussion and meet other people with similar interests, and push the discussion further visit the Santa Clara Social Web Camp wiki and

If you are looking for a reason to be in the Bay Area that week, then here are some other events you can combine with coming to the Bar Camp:

  • The W3C is meeting in Santa Clara for its Technical Plenary that week in Santa Clara.
  • The following day, the Internet Identity Workshop is taking place in Mountain View until the end of the week. Go there to push the discussion further by meeting up with the OpenId, OAuth, Liberty crowd, which are all technologies that can participate in the development of the Social Web.
  • You may also want to check out ApacheCon which is also taking place that week.

If you can't come to the west coast at all due to budget cuts, then not all is lost. :-) If you are on the East coast go and participate in the ISWC Building Semantic Web Applications for Government tutorial, and watch my video on The Social Web which I gave at the Free and Open Source Conference this summer. Think: if the government wants to play with Social Networks, it certainly cannot put all its citizens information on Facebook.

Monday Oct 12, 2009

One month of Social Web talks in Paris

Poster for the Social Web Bar Camp @LaCantine

As I was in Berlin preparing to come to Paris, I wondered if I would be anywhere near as active in France as I had been in Germany. I had lived for 5 years in Fontainebleau, an hour from Paris, close but just too far to be in the swing of things. And from that position, I got very little feel for what was happening in the capital. This is what had made me long to live in Paris. So this was the occasion to test it out: I was going to spend one month in the capital. On my agenda there was just a Social Web Bar Camp and a few good contacts.

The Social Web Bar Camp at La Cantine which I blogged about in detail, was like a powder keg for my stay here. It just launched the whole next month of talks, which I detail below. It led me to make a very wide range of contacts, which led to my giving talks at 2 major conferences, 2 universities, one other Bar Camp, present to a couple of companies, get one implementation of foaf+ssl in Drupal, and meet a lot of great people.

Through other contacts, I also had an interview with a journalist from Le Monde, and met the very interesting European citizen journalism agency Cafe Babel (for more on them see this article).

Here follows a short summary of each event I presented the Social Web at during my short stay in Paris.

Friday, 18 September 2009
Arrived in plane from Berlin, and met the journalists at the Paris offices of Cafe Babel, after reading an article on them in the July/August issue of Internationale Politik, "Europa aus Erster Hand".
Saturday, 19 September 2009
Went to the Social Web Bar Camp at La Cantine which I blogged about in detail. Here I met a many people, who connected me up with the right people in the Paris conference scene, where I was then able to present. A couple of these did not work out due to calendar clashes, such as an attempted meeting with engineers and users of Elgg a distributed Open Source Social Networking Platform popular at Universities here in France and the UK.
Monday, 21 September 2009
Visited the offices of Le Monde, and had lunch with a journalist there. I explain my vision of the Social Web and the functioning of foaf+ssl. He won't be writing about it directly he told me, but will develop these ideas over time in a number of articles. ( I'll post updates here, though it is sadly very difficult to link to articles in Le Monde, as they change the URLs for their articles, make them paying only after a period of time, and then don't even make an abstract available for non paying members).
Friday, 25 September 2009
I visited the new offices of af83.com a startup with a history: they participated in the building of the web site of Ségolène Royal the contender with Nicholas Sarkozi, during the last French Presidential Elections.
There I met up with Damien Tournoud, and expert Drupal Developer, explained the basics of foaf+ssl, pointed him to the Open Source project foaf.me, and let him work on it. With a bit of help from Benjamin Nowack the creator of the ARC2 Semantic Web library for PHP, Damien had a working implementation the next day. We waited a bit, before announcing it the following Wednesday on the foaf-protocols mailing list.
Tuesday 29 September, 2009
La Cantine organised another Bar Camp, on a wide range of topics, which I blogged about in detail. There I met people from Google, Firefox, and reconnected up with others. We also had a more open round table discussion on the Social Web.
Thursday 1st and Friday 2nd October, 2009
I visited the Open World Forum, which started among others with a track on the Semantic Desktop "Envisioning the Open Desktop of the future", headed by Prof Stefan Decker, with examples of implementations in the latest KDE (K Desktop Environment).
I met a lot of people here, including Eric Mahé, previously Technology Advisor at Sun Microsystems France. In fact I met so many people that I missed most of the talks. One really interesting presentation by someone from a major open source code search engine, explained that close to 60% of Open Source software came from Eastern and Western Europe combined. (anyone with a link to the talk?)
Saturday, 3rd October 2009
I presented The Social Web in French at the Open Source Developer Conference France which took place in La Villette.
I was really happily surprised to find that I was part of a 3 hour track dedicated to the Semantic Web. This started with a talk by Oliver Berger "Bugtracking sur le web sémantique. Oliver has been working on the Baetle ontology as part of the 2 year government financed HELIOS project. This is something I talked about a couple of years ago and wrote about here in my presentation Connecting Software and People. It is really nice to see this evolving. I really look forward to seeing the first implementations :-)
Oliver's was followed by a talk by Jean-Marc Vanel, introducing Software and Ontology Development, who introduced many of the key Semantic Web concepts.
Tuesday 6th October, morning
Milan Stankovitch whom I had met at the European Semantic Web Conference, and again at the Social Web Bar Camp, invited me to talk to the developers of hypios.com, a very interesting web platform to help problem seekers find problem solvers. The introductory video is really worth watching. I gave them the talk I keep presenting, but with a special focus on how this could help them in the longer term make it easier for people to join and use their system.
Tuesday 6th September, afternoon
I talked and participated in a couple of round table talks at the 2nd Project Accelerator on Identity at the University of Paris 1, organised by the FING. Perhaps the most interesting talk there was the one by François Hodierne , who works for the Open Source Web Applications & Platforms company h6e.net, and who presented the excellent project La Distribution whose aim it is to make installing the most popular web applications as easy as installing an app on the iPhone. This is the type of software needed to make The Internet of Subjects Manifesto a reality. In a few clicks everyone should be able to get a domain name, install their favorite web software on it - Wordpress, mail, wikis, social network, photo publishing tool - and get on with their life, whilst owning their data, so that if they at a later time find the need to move, they can, and so that nobody can kick them off their network. This will require rewriting a little each of the applications so as to enable them to work with the distributed secure Social Web, made possible by foaf+ssl: an application without a social network no longer being very valuable.
Thurday 9th October, 2009
Pierre Antoine Champin from the CNRS, the National French Research organisation, had invited me to Lyon to present The Social Web. So I took the TGV from Paris at 10:54 and was there 2 hours later, which by car would have been a distance of 464km (288.3 miles) according to Google Maps. The talk was very well attended with close to 50 students showing up, and the session lasted two full hours: 1 hour of talks and by many good questions.
After a chat and a few beers, I took the train back to Paris where the train arrived just after 10pm.
Saturday October 10, 2009
I gave a talk on the Social Web at Paris-Web, on the last day of a 3 day conference. This again went very well.
After lunch I attended two very good talks that complemented mine perfectly:
  • David Larlet had a great presentation on Data Portability, which sparked a very lively and interesting discussion. Issues of Data ownership, security, confidentiality, centralization versus decentralization came up. One of his slides made the point very well: by showing the number of Web 2.0 sites that no longer exist, some of them having disappeared by acquisition, others simply technical meltdown, leaving the data of all their users lost forever. (Also see David's Blog summary of Paris-Web. )
  • Right after coffee we had a great presentation on the Semantic Web by Fabien Gandon, who managed to give in the limited amount of time available to him an overview of the Semantic Web stack from bottom to top, including OWL 1 and 2, Microformats, RDFa, and Linked data, and various very cool applications of it, that even I learned a lot. His slides are available here. He certainly inspired a lot of people.
Tuesday, 13 October 2009
Finally I presented at the hacker space La suite Logique, which takes place in a very well organized very low cost lodging space in Paris. They had presentations on a number of projects happening there:
  • One project is to build a grid by taking pieces from the remains of computers that people have brought them. They have a room stashed full of those.
  • Another projects is to add wifi to the lighting to remotely control the projectors for theatrical events taking place there.
  • There was some discussion on how to add sensors to dancers, as one Daito Manabe a Japanese artist has done, in order to create a high tech butoh dance (see the great online videos).
  • Three engineers presented the robots they are constructing for a well known robot fighting competition
Certainly a very interesting space to hang out in, meet other hackers, and get fun things done in.
All of these talks were of course framed by some great evenings out, meeting people, and much more, which I just don't have time to write down right here. Those were the highlights of my month's stay in Paris. I must admit that I really had no idea it to be so active!

Wednesday Oct 07, 2009

Sketch of a RESTful photo Printing service with foaf+ssl

Let us imagine a future where you own your data. It's all on a server you control, under a domain name you own, hosted at home, in your garage, or on some cloud somewhere. Just as your OS gets updates, so all your server software will be updated, and patched automatically. The user interface for installing applications may be as easy as installing an app on the iPhone ( as La Distribution is doing).

A few years back, with one click, you installed a myPhoto service, a distributed version of fotopedia. You have been uploading all your work, social, and personal photos there. These services have become really popular and all your friends are working the same way too. When your friends visit you, they are automatically and seamlessly recognized using foaf+ssl in one click. They can browse the photos you made with them, share interesting tidbits, and more... When you organize a party, you can put up a wiki where friends of your friends can have write access, leave notes as to what they are going to bring, and whether or not they are coming. Similarly your colleagues have access to your calendar schedule, your work documents and your business related photos. Your extended family, defined through a linked data of family relationship (every member of your family just needs to describe their relation to their close family network) can see photos of your family, see the videos of your new born baby, and organize Christmas reunions, as well as tag photos.

One day you wish to print a few photos. So you go to web site we will provisionally call print.com. Print.com is neither a friend of yours, nor a colleague, nor family. It is just a company, and so it gets minimal access to the content on your web server. It can't see your photos, and all it may know of you is a nickname you like to use, and perhaps an icon you like. So how are you going to allow print.com access to the photos you wish to print? This is what I would like to try to sketch a solution for here. It should be very simple, RESTful, and work in a distributed and decentralized environment, where everyone owns and controls their data, and is security conscious.

Before looking at the details of the interactions detailed in the UML Sequence diagram below, let me describe the user experience at a general level.

  1. You go to print.com site after clicking on a link a friend of your suggested on a blog. On the home web page is a button you can click to add your photos.
  2. You click it, and your browser asks you which WebID you wish to use to Identify yourself. You choose your personal ID, as you wish to print some personal photos of yours. Having done that, your are authenticated, and print.com welcomes you using your nicknames and displays your icon on the resulting page.
  3. When you click a button that says "Give Print.com access to the pictures you wish us to print", a new frame is opened on your web site
  4. This frame displays a page from your server, where you are already logged in. The page recognized you and asks if you want to give print.com access to some of your content. It gives you information about print.com's current stock value on NASDAQ, and recent news stories about the company. There is a link to more information, which you don't bother exploring right now.
  5. You agree to give Print.com access, but only for 1 hour.
  6. When your web site asks you which content you want to give it access to, you select the pictures you would like it to have. Your server knows how to do content negotiation, so even though copying each one of the pictures over is feasible, you'd rather give print.com access to the photos directly, and let the two servers negotiate the best representation to use.
  7. Having done that you drag and drop an icon representing the set of photos you chose from this frame to a printing icon on the print.com frame.
  8. Print.com thanks you, shows you icons of the pictures you wish to print, and tells you that the photos will be on their way to your the address of your choosing within 2 hours.

In more detail then we have the following interactions:

  1. Your browser GETs print.com's home page, which returns a page with a "publish my photos" button.
  2. You click the button, which starts the foaf+ssl handshake. The initial ssl connection requests a client certificate, which leads your browser to ask for your WebID in a nice popup as the iPhone can currently do. Print.com then dereferences your WebId in (2a) to verify that the public key in the certificate is indeed correct. Your WebId (Joe's foaf file) contains information about you, your public keys, and a relation to your contact addition service. Perhaps something like the following:
    :me xxx:contactRegistration </addContact> .
    Print.com uses this information when it creates the resulting html page to point you to your server.
  3. When you click the "Give Print.com access to the pictures you wish us to print" you are sending a POST form to the <addContact> resource on your server, with the WebId of Print.com <https://nasdaq.com/co/PRNT#co> in the body of the POST. The results of this POST are displayed in a new frame.
  4. Your web server dereferences Print.com, where it gets some information about it from the NASDAQ URL. Your server puts this information together (4a) in the html it returns to you, asking what kind of access you want to give this company, and for how long you wish to give it.
  5. You give print.com access for 1 hour by filling in the forms.
  6. You give access rights to Print.com to your individual pictures using the excellent user interface available to you on your server.
  7. When you drag and drop the resulting icon depicting the collection of the photos accessible to Print.com, onto its "Print" icon in the other frame - which is possible with html5 - your browser sends off a request to the printing server with that URL.
  8. Print.com dereferences that URL which is a collection of photos it now has access to, and which it downloads one by one. Print.com had access to the photos on your server after having been authenticated with its WebId using foaf+ssl. (note: your server did not need to GET print.com's foaf file, as it still had a fresh version in its cache). Print.com builds small icons of your photos, which it puts up on its server, and then links to in the resulting html before showing you the result. You can click on those previews to get an idea what you will get printed.

So all the above requires very little in addition to foaf+ssl. Just one relation, to point to a contact-addition POST endpoint. The rest is just good user interface design.

What do you think? Have I forgotten something obvious here? Is there something that won't work? Comment on this here, or on the foaf-protocols mailing list.

Notes

Creative Commons License
print.com sequence diagram by Henry Story is licensed under a Creative Commons Attribution 3.0 United States License.
Based on a work at blogs.sun.com.

About

bblfish

Search

Archives
« April 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today