Do It At Home RoomWare / AnyWhere flow

Posted on June 30, 2009



Last week the RoomWare team (James Burke, Tijs Teulings and Tom Burger, J.T.T. for short) and I had a meeting regarding the next steps. One of the outcomes was (in my words) “Help James’ sister to set up a RoomWare Party”.


  1. Anyone should be able to run an RoomWare installation
  2. Runs out of the box
  3. Simple installation (standard Windows / Mac setup scheme)
  4. No expertise needed
  5. Expandable set of services
  6. No local webserver required
  7. Neither the RoomWare- nor the AnyWhere Server / Identity Broker makes any call to any Web2.0 service. That is done by the Local or Remote Web Applications

AnyWhere Server: link between DevideID and people

The database on the AnyWhere Server consists of:


  • [PK] personID
  • First name
  • Last name


  • [PK] ID
  • [FK] personID
  • DeviceType
  • deviceID (string)


  • [PK] ID
  • [FK] personID
  • [FK] serviceID (pointig to list: Flicker, Twitter, …)
  • identity


<XML source=”roomware server” target=”identity broker”><ping><id>01234</id><type>rfid</type></ping></XML>

<XML source=”anywhere server” target=”caller”><ping><id>01234</id><type>rfid</type><identities><id type=”flickr” alias=”peterkaptein”><id type=”lastfm” alias=”djpkap”><id type=”twitter” alias=”peterbird”></identities></ping></XML>

<XML source=”roomware server” target=”roomware web service” roomwareserverID=”{serverID}”><ping><id>01234</id><type>rfid</type><identities><id type=”flickr” alias=”peterkaptein”><id type=”lastfm” alias=”djpkap”><id type=”twitter” alias=”peterbird”></identities></ping></XML>

The result XML from pinging the AnyWhere Server is sent to any online RoomWare Web Application.

This Web-application expects a specific format XML and will use that internally to call web 2.0 services.

RoomWare + AnyWhere = Local Reader + Remote Identity Broker

Where RoomWare reads reasonably abstract data (an numeric ID from RFID, an MAC-address / Bluetooth name that could be enyone), the AnyWhere server contains a list of users and the names of their social accounts.

Schema / sample setup

Picture 156

A: RFID card or any means of Object ID is offered to corresponding reader

B: Reader registers Object ID and sends event to RoomWare Server (or event is registered by RoomWare server)

C: RoomWare server registers the Object ID’s, creates an XML list of currently registered ID’s and sends this to an Identity Broker (Whic can be defined in the RoomWare Server settings)

D: The Identity Broker matches the abstract Object ID’s with what is in the database. WHEN a use has connected this ID to his or her account, the Identity Broker will Query for any social Identity the user has arrached to his or her profile. The result is sent back to the caller

E: The RoomWare server sends the result list form the Identity Broker to one or more RoomWare Web Applications via a HTTP POST. (part of this post is the session ID unique for the user / linked to that RoomWare Server.)

F: The RoomWare Web Application (built by anyone) retrieves the user specific information from any web2.0 service and presents the results in the web browser.

Things to think about: Privacy and breach of privacy

As the remote RoomWare Web Application can be written by anyone and draws in social data, we need to think about how to protect the individual data.

Perhaps the RoomWare server pings the remote Web Application first, asking what data it required, then lets the user selects explicitly wich data they will unveil via the RoomWare Server, thus preventing that the remote service will recieve all socially connected data neatly presented to read and possibly abuse.

Posted in: RoomWare