local URIs … mashing up the desktop

I’ve worried for a while about desktop URLs.

Within the web it is easy to link things together. If I want to refer to my home page I just add a link like this. However, on the desktop things are not so simple and I end up copying chunks of mail messages into the notes field in iCal rather than simply being able to link to the mail message where I arranged the meeting.

Links from the desktop to the web are easy … just use the URL … many desktop applications including mail clients and word processors will allow you to embed clickable links. Indeed it is often easier to link to a web page than to another object on the desktop! However, things get more difficult if you want to link the other way round, from a web page to a local file or resource. In my browser’s favourites I have several links to local files, but you cannot easily do the same if your bookmarks are in a web service like del.icio.us or even my own Snip!t. It is hard to seamlessly weave your desktop into the global web.

A couple of events brought this issue to a head for me.

First at the CHI workshop on PIM entitled the Disappearing Desktop, I asked if anyone knew of work in the area and I heard from Leo Sauermann that they had made some progress on this as part of the Gnowsis project. Their proposal for a Desktop URI Scheme (edited by Leo) is targeted principally at the first of the scenarios above, being able to link between things within the desktop.

The second event was at the AVI workshop on designing multi-touch interaction techniques for coupled public and private displays. During discussions abut touch-based interactions such as the Microsoft Surface or Apple iPhone, we considered scenarios where peole got together for a meeting (as we were) in a hotel bar (where we split for small group discussion) and had screens on table tops and walls, laptops, tablets, phones … and wanted to seamlessly move material between devices. Clearly an essential requirement for which is some way to identify resources across ad hoc collections of devices.

Finally I was in Athens working with George Lepouras, Akrivi Katifori and others. George had developed a Thunderbird extension to allow Snip!t to snip from mail messages … but while we could snip the text there was no way for the Snip!t page to link back to the mail message. We need full round trip URIs that link desktop and web with no distinction – URIs that can be embedded in a web page and (assuming you have the right permissions and are in an appropriate place) can be clicked and the appropriate mail message, calendar entry or whatever is opened.

Based on this and discussions we had, I drafted a discussion document on globally accessible local URIs. Any feedback very welcome.

Over the summer we hope to put together a demonstrator / reference implementation – if anyone is interested let me know.

Tags and Tagging: from semiology to scatology

I’ve just been at a two-day workshop on “Tags and Tagging” organised by the “Branded Meeting Places” project.

Tags are of course becoming ubiquitous in the digital world: Flickr photos, del.icio.us bookmarks; at the digital/physical boundary: RFID and barcodes; and in the physical world: supermarket price stickers, luggage labels and images of Paddington Bear or wartime evacuees each with a brown paper label round their necks. Indeed we started off the day being given just such brown paper tags to design labels for ourselves.

Alan's tag

As well as being labels so we know each other, they were also used as digital identifiers using a mobile-phone-based image-recognition system, which has been used in a number of projects by the project team at Edinburgh (see some student projects here). We could photograph each others tags with our own phones, MMS the picture to a special phone number, then a few moments later an SMS message would arrive with the other person’s profile.

Being focused on a single topic and even single word ‘tag’ soon everything begins to be seen through the lens of “tagging”, so that when we left the building and saw a traffic warden at work outside the building, instantly the thought came “tagging the car”!

Vocal Thumbs logoThe workshop covered loads of ground and included the design and then construction of a real application – part of the project’s methodology of research through design. However, two things that I want to write about. The first is the way the workshop made me think about the ontology or maybe semiology of tags and tagging, and the second is a particular tag (or maybe label, notice?) … on a toilet door … yes the good old British scatological obsession.

Continue reading

when virtual becomes real

Just read Adam Greenfield’s blog entry “Reality bites“. He describes how a design he produced for a friend’s new restaurant became a solid metal sign within days. Despite knowing about recent rapid fabrication techniques, actually seeing these processes in action for his own design was still shocking.

I too am still amazed at the relative ease that ideas can be turned into reality. In a presentation “As we may print” at the 2003 Interaction Design for Children, Michael Eisenberg described how he and his co-workers at University Colorado were using laser cutters to enable children to design their own 3D designs in card or even thin plywood. More recently at the National Centre for Product Design and Development Research in Cardiff, I saw 3D metal printers. I was aware of 3D printers working in various gels and foams, but did not realise it was possible to create parts in titanium and steel, simply printed from 3D CAD designs. Chasing one of Adam’s links I found instructions to make your own 3D printer on the MIT site … however, this constructs your designs in pasta paste not metal!

One of the arguments we are making about our FireFly technology is that it will change lighting from being a matter of engineering and electronics, to a digital medium where the focus moves form hardware to software. While FireFly allows more flexible 2D and 3D arrangements than other technologies we are aware of, it is certainly not alone in making this transformation in lighting. Last week I was talking to Art Lights London and they are planning some large installations using Barco’s LED lighting arrays. Soon anything that you can point on your computer screen you will also be able to paint in light from your own Christmas tree to London Bridge.

Although it sometimes seems that technology is simply fuelling war and environmental catastrophe, it is a joy to still glimpse these occasional moments of magic.

mobile design workshop

A couple of weeks ago I attended a mobile design workshop at microsoft labs in Cambridge. Great 2 days … people from academia and industry (and no not just MS, also Google, Yahoo, Sony, Nokia, …!)
Alan in Helmet

Most of the time was spent splitting into small working groups then coming back together for plenaries. I took part in groups discussing:

(1) tools to make it easier for those in developing countries to design mobile phone applications that suit their needs [session notes], rather than simply passing on applications and designs fitted for very different needs and infrastructure. During the discussion various applications of phone technology were cited that were completely different form those we would expect in the UK, US or Europe, but fitted the situations of people. These included using the address book as a ‘who owes what’ list for a trader … the ‘telephone numbers’ were in act amounts of money! This use of ‘ancillary’ parts of the phone rather than simply being a glorified communication device. Although he context of this was Africa, it also echoes studies of domestic phone use by Malay women in the UK by Fariza (who has just had her PhD viva :-)). She found alarm, calculator and things like that, at least as important as phone & text for the people she studied.

(2) ‘mindfulness’ and mobile phones … and of course the fact that normally they do the opposite interupting etc. … but just to not make us all agree too much, I said that mindfulness sounded like we should all become like rabbits; it is the looking forward and back, with all its stress, that is one of the things that make us human.

(3) task/data oriented interaction … escaping from the ‘application’. This was particularly relevant to me given onCue at aQtive was in this space as are Snip!t and work on TIM project with colleagues at Rome, Athens and recently new collaborators Madrid … with whom I had a short but lovely visit after CHI.

Task session

It-ness and identity: FOAF, RDF and RDMS

Issues of ‘sameness’ are the underpinnings of any common understanding; if I talk about America, bananas or Caruso, we need to know we are talking about the ‘same’ thing.

Codd’s relational calculus was unashamedly phenomenological – if two things have the same attributes they are the same. Of course in practice, we often have things which look the same and yet we know are different: two cans of beans, two employees called David Jones. So many practical SQL database designs use unique ids as the key field of a table effectively making sure that otherwise identical rows are distinct1.

The id gives a database record identity – it is a something independent of its attributes.

I usually call this quality ‘it-ness’ and struggled to find appropriate (probably German) philosophical term to refer to it. Before we can point at something and say ‘it is a chair’, it must be an ‘it’ something we can refer to. This it-ness must be there before we consider the proeprties of ‘ot’ (legs, seat, etc.). It-ness is related to the substance/accident distinction important in medieval scholastic debate on transubstantiation, but different as the bread needs to be an ‘it’ before we can say that its real nature (substance) is different from its apparent nature (accidents).

In contrast RDF takes identity, as embodied in a URI, as its starting point. The origins of RDF are in web meta-data – talking about web pages … that is RDF is about talking about something else, and that something else has some form of (unique) identity. Although the word ‘ontology’ seems to be misused almost beyond recognition in computer science, here we are talking about true ontology. RDF assumes as a starting point it is discussing things that are, that exist, that have being. Given this of course several distinct things may have similar attributes2.

Whilst RDMS have problems talking about identity, and we often have to add artifices (like the id), to establish identity, in RDF the opposite problem arises. Often we do not have unique names even for web entities, and even less when we have RDF descriptions of people, places … or books. Nad discusses some of the problems of cleaning up book data (MARC, RDF and FRMR), part of which is establishing unique names … and really books are ‘easy’ as librarians have soent a long time thinking about idetifying them already.

FOAF (friend of a friend) is now widely used to represent personal relationships. In this WordPress blog, when I add blogroll entries it prompts for FOAF information: is this a work colleague, family, friend (but not foe or competitor … FOAF is definitely about being friendly!).

FOAF has an RDF format, but examples, both in practice … and in the XMLNS RDF specification, are not full of “rdf:about” links as are typical RDF documents. This is because, while people clearly do have unique identity, there is thankfully no URI scheme that uniquely and universally defies us3.

In practice FOAF says things like “there is a person whose name is John Doe”, or “the blog VirtualChaos is by a person who is a friend and colleague of the author of this blog”.

In terms of identity this is a blank node “the person who …”. The computational representation of the person is a placeholder, or a variable waiting to be associated with other placeholders.

In terms of phenomenological attributes, the values either do not uniquely identify an individual (here may be many John Doe’s) and the individual may have several potential values for a given attribute (John Doe may not be the body’s only name,and a person may have several email addresses).

In order to match individuals in FOAF, we typically need to make assumption: while I may have several email addresses, they are all personal, so if two people have the same email address they are the same person. Of course such reasoning is defeasible: some families share an email address, but serves as a way of performing partial and approximate matching.

I think to the semantic web purist the goal would be to have the unique personal URI. However, to my mind the incomplete, often vague and personally defined FOAF is closer to the way the real world works even when ontologically there is a unique entity in the world that is the subject. FOAF challenges simplistic assumptions and representations of both a phenomenological and ontological nature.

  1. Furthermore if you do not specify a key, RDMS are likely to treat a relation as bag rather than a set of tuples! Try inserting the same record twice.[back]
  2. For those who know their quantum mechanics RDMS records are like Fermions and obey Pauli exclusion principle, whilst RDF entities are like Bosons and several entities can exist with identical attributes.[back]
  3. As it says in The Prisoner “I am not a number” … although maybe one day soon we will all be biometrically identified and have a global URI :-/[back]

modelling entities and the history of ideas

A few weeks ago I was watching my friend Nad and some of his colleagues map out the key semantic entities for a domain ready for creating an open repository on the Talis Platform. Then this morning, by chance, I just came across an entry in the Portland Pattern Repository on “Stars: A Pattern Language for Query Optimized Schema1. This described a form of entity relationship modelling where one identifies “while business entities” (key business things like transactions) and then ‘dimensions’ that relate to them looking specifically for “people, places and things” … and time as a special case. The idea is that information about, say, a product, a customer or a salesperson tends to be scattered in different tables, linked at best implicitly by shared values (e.g. , a product code.) which may not actually be the key to any specifoc table. By giving these key entities their own tables, the linkage between them becomes obvious and queries are easy to form.

This sounded just like the focus in Semantic Web ontologies on having a shared set of classes and a unique identifier for entities in those classes to enable “linked data”. In SemWeb we have a class and the entity URI, but serving the same goal as the table and row key did in the “Stars” pattern, more than a decade ago.

However, this then reminded me again of the similarities between current ontologies and Extended Entity Relationship Models which were popular at least 20 years ago (I recall colleagues at York using this in the Aspect IPSE project2 in the Alvey programme). There were variants of EERM, but key concepts were (like standard ER) to have relationships explicitly defined – usually in tables containing ONLY foreign keys, and (unlike standard ER) to allow sub-typing/sub-classes (e.g. person > employee > academic). Like Semantic Web ontologies, the relationships were reified into tables and became first class, unlike SemWeb, ternary and higher order relationships were allowed, not just binary ones.

I was half way through writing Nad a mail with the Stars link, and was referring to the EERM and did a Google to find the correct acronym … and then that mail turned into this blog, partly because it was getting long and partly because it was so hard to find good references to EERM. There was no Wikipedia page, minimal entries in a few online dictionaries and even hard to find good paper references. The best link seems to be a 1994 book by Martin Gogolla3, but that was at least 8 years after I knew it was popular, but I guess when it had become stable. A bit more Googling unearthed a 1986 Computer Surveys article4 (whch I could NOT find using “extended entity-relationship model” in ACM DL’s own search) and eventually a 1981 paper5, although I’m not sure the latter uses the term in the same way as later EERM.

It was interesting and alarming to find, yet again, how difficult it is to find certain things in the web even in computing… like anything that happened more than 10 years ago! Some of this is to do with effective searching (like the ACM DL search), some because it is not there. However, as we rely more and more on online search, the recency effects produced by combinations of search ranking and availability can only get worse. This feels more like the attributes of pre-literate culture … the new digital stone age?

  1. also reported in: Peterson, S. 1995. Stars: a pattern language for query-optimized schemas. In Pattern Languages of Program Design, J. O. Coplien and D. C. Schmidt, Eds. ACM Press/Addison-Wesley Publishing Co., New York, NY, 163-177. [entry@ACM DL][back]
  2. Hitchcock, P. 1989. The process model of the aspect IPSE. SIGSOFT Softw. Eng. Notes 14, 4 (May. 1989), 76-78. DOI= http://doi.acm.org/10.1145/75111.75120[back]
  3. M. Gogolla. An Extended Entity Relationship Model. Fundamentals and Pragmatics. Springer, Berlin, LNCS 767, 1994[back]
  4. Teorey, T. J., Yang, D., and Fry, J. P. 1986. A logical design methodology for relational databases using the extended entity-relationship model. ACM Comput. Surv. 18, 2 (Jun. 1986), 197-222. DOI= http://doi.acm.org/10.1145/7474.7475[back]
  5. P. De, A. Sen and E. Gudes, An Extended Entity-Relationship Model with Multi Level External Views, in Proceedings of ER’81, North-Holland, 1981, pp. 455-472.[back]

the electronic village shop – update and kit

I forgot last week when I wrote my post “the electronic village shop – enhancing local community through global network” that Fiona had mentioned a blog, Silversprite, from the Outer Hebrides that mentioned the flip side of this; in a post “Tesco comes to the Outer Hebrides“, he mentions the potential conflicts between Tesco online and village shops. It is interesting that Tesco does not itself deliver direct, but you can give a local delivery firm as your drop off point and they do the last leg of the delivery … of course this delivery point could be the local shop!

I also remembered after that some years ago (2002) I had an email enquiry from someone who had found a reference to the electronic village shop in one of my talks. He was wondering how to revitalise his own village shop which was about to close and asked if I had any advice. The following is edited version of my reply where I pondered on what was possible as a single shop without buy-in from one of the big franchise chains:

Continue reading

tales from/for Berlin – appropriation, adoption and physicality

A few weeks ago I had a short visit to Berlin as a guest of Prometei, a PhD training program at the University of Technology of Berlin focused on “prospective engineering of human-technology-interaction”. While there I gave an evening talk on “Designing for adoption and designing for appropriation” and spent a very pleasant afternoon seminar with the students on “Physicality and Interaction”.

I said I would send some links, so this is both a short report on the visit and also a few links to appropriation and adoption and a big long list of links to physicality!

Continue reading

the electronic village shop – enhancing local community through global network

The internet seems to be about remote connections, international communities and globalisation. We may surf the web, scan blogs or talk to friends across the globe, but may not know the person next door. Indeed in Channel 4’s recent documentary “My Street“, Sue Bourne, who produces TV documentaries seen by millions, gets to meet her neighbours for the first time.

But there is another side, where global networks could help local communities to grow and reconnect with one another. Some things are happening grass roots up, some need changes in public policy or intervention, and some may never happen.

The electronic village shop is a dream I’ve had for now well over 15 years, and may happen, or may not … and maybe definitely will not if I don’t do something myself! However, there are other signs of local connections growing.

I have talked about these issues and the electronic village shop at different times over the years1, but have never previouslly written about them, so eventually …
Continue reading

  1. Talks mentioning the electronic village shop: Understanding the e-Market and Designing Products to Fit, London, Jan. 2000, Cyber-economies and the Real World, Pretoria, Sept. 2001. and Toys for the Boys or Jobs for the Girls, Cheltenham, Nov. 2001[back]

practical RDF

I just came across D2RQ, a notation (plus implementation) for mapping relational databases to RDF, developed over the last four years by Chris Bizer, Richard Cyganiak and others at Freie Universität Berlin. In a previous post, “digging ourselves back from the Semantic Web mire“, I worried about the ghetto-like nature of RDF and the need for “abstractions that make non-triple structures more like the Semantic Web”, D2RQ is exactly the sort of thing, allowing existing relational databases to be accessed (but not updated) as if they were and RDF triple stores, including full SPARQL queries.

As D2RQ has clearly been around for years, I tried to do a bit of a web search to find things the other way around – more programmer-friendly layers on top of RDF (or XML) allowing it to be manipulated with IDL-like or other abstractions closer to ‘normal’ programming. ECMAScript for XML (E4X) seems to be just this allowing reasonably easy access to XML (but I guess RDF would be ‘flat’ in this). E4X has been around a few years (standard since 2005), but as far as I can see not yet in IE (surprise!). I guess for really practical XML it would be JSON, and there’s a nice discussion of different RDF in JSON representation issues on the n2 wiki “RDF JSON Brainstorming“. However, both E4X and RDF in JSON still are just accessing RDF nicely not adding higher level structure.

Going back to the beginning I was wondering about any tools that represent RDF as SQL / RDMS in order to make it available to ‘old technology’ … but then remembered that SPARQL creates tuples not triples so, I guess, one could say that is exactly what it does :-/