Shift Space: a developing idea
Thursday, February 2nd, 2006Mushon, a frequent collaborator at ITP, and I are working on an independent study project this semester called Shift Space. We’ve only begun to discover where our idea is headed, but I believe we have a good starting trajectory. The motivating factors, for me at least, are the following:
- Web applications, while easier for the end-user initially, place too much long-term responsibility and control in the hands of service providers. Privacy and data security are factors not currently not being adequately addressed by service providers or regulatory bodies.
- The process of repurposing web services (e.g. creating “mash-ups”) need not be constrained by the imagination of the service provider. That is to say official APIs are great things, but they need not constrain how developers make use of web services.
What Mushon and I hope to create over the course of this semester is a platform that serves as a meta-web, allowing hackers to more easily reconfigure the web, and users to more easily benefit from these modifications. There are a number of existing projects attempting this kind of general-purpose platform such as Greasemonkey and hoodwink.d. There are also many instances of independently developed specific-case applications such as Yakalike, an in-page chat environment, and Annozilla, a web annotation service.
One thing that connects all of these examples are that they are all based on Firefox extensions. This is a desirable platform choice for many reasons, however it makes these services unavailable to users who are unwilling or unable to use Firefox as their only browser. The internet should aspire to being platform agnostic, in my view, and perhaps approaching this idea from the other end of the browser might be beneficial. Rather than modifying the web from within the web browser, why not approach it from the connection with the outside world?
Placing an arbitrator between web clients, such as Firefox or Internet Explorer or Safari, and the internet allows one to achieve similar results without having to select a specific platforms. The only example I’ve found of something like this is Mousehole, a Ruby-based proxy with a similar design as Greasemonkey. I’ve done some rudimentary client-side proxy experiments in Apache+PHP, which have been somewhat successful, but it’s too early to say this is the best path to go forward on.
Today we’ll meet with Clay, our advisor, and hopefully get some good feedback on our ideas so far. I’ll be posting links related to this project under the del.icio.us tag shiftspace.