When it comes to ubiquitous computing systems, connectivity is key. And in the center, I see web services. Extended to multiple platforms in various scale of course, but ultimately it's the internet that connects services. Ubi infrastructure is beyond the scope of my research but its application is not. At the moment most of the stuff is happening on the mobile device level. Tangible interfaces are still mostly in the lab. Computing has not yet escaped into the open world, sticking to our walls and desks. However, taking advantage of the ubiquity of smart phones and other devices capable of reading RFID or NFC tags, that future could be here any moment.
These technologies will be an important first step as they are inexpensive. The installation cost is minimal: just slap some tags into the environment. All done, and no walls were torn down. These tags can activate services over the web or simply contain information. The interesting part? Tags are tied to location and a specific task. Put another way, it's much easier to understand the context when these variables are fixed. This is a significant aid if we compare it to unaided mobile applications. There is no need to worry about locationing because the tag knows its own location. There is no need for the user to browse the mobile phone's crammed menus to find the application they're looking for, because the correct application is launched when they touch the tag.
Finally, when talking about web services, there's the choice of a backend. Because of my background and general preferences, I'm determined to stick with Python. One of the primary reasonable reasons is the availability of high quality web development frameworks. I have chosen Pyramid. Well, actually I chose Pylons initially, but as it went into legacy state, I decided to pick up Pyramid instead. Fortunately I had not done too much programming with Pylons. While I don't have any particularly good reason for choosing Pyramid over, say, Django, its way of doing things feels better to me. I will also be using Python to program the core server facilities which will communicate with mobile phones reading RFID or NFC tags.