A Proof Of Concept

I’ve done a fair amount of talking in the last little bit about home servers (or “environment servers”- a name that I think will better reflect their usage in the future), but it’s all been very theoretical down-the-road talk. In this post I talk about how the right devices could make our environment feel like an extension of our own bodies, and in this one I talk about what things would be like if they were given the ability to meet our needs based on the way we are acting- all pretty sci-fi stuff for now.

Now, the posts I make here are about many things- psychology, interaction, technology, architecture and spaces. However, it’s also about practicality. For as much as I’m excited by the down-the-road implications of this stuff, I’m also about realizing where progress can be made today if we look beyond what the technology that surrounds us does to see what it can do when we link it up in more innovate ways.

And so, I wanted to make something that’s a very basic proof of concept of the things I’ve been talking about. It’s a script allows you to schedule events and remote control your computer using events that you set up on Google Calendar. The nitty-gritty details are discussed on the project page, but basically, you create event in Google Calendar and add commands for the computer to execute in the event description. When the time comes around, those commands are executed.

But Why?

There are already many different programs that can be used to schedule events on a computer. Windows has it’s own scheduler, and unix-based systems have cron, which is very powerful (though tough for everyone to administer- and also inspiration for my project’s name). So why is this little hack-together a proof of concept of anything?

I think it’s important for a few reasons:

  • It does some completely new things. No automation program that I know about allows for administration over a browser; nor does any program I know about show scheduled tasks as anything but tabulated lists, as opposed to a nice visual interface where you can click and drag.
  • It get closer to transparency of usability. As a result of things mentioned in the last point, this project shows how automation can become more of a natural process, rather than an artificial one. Tasks can be moved and changed quickly and easily with pointing and clicking, and could perhaps even from anywhere using a handheld device. This possibility puts space manipulation at the fingertips, à la my post about “telekinesis”.
  • It shows how much can be gained simply be rearranging the data you already have. Say you want to keep a light on a period of time- rather than needing two discrete events to turn it on and off, the script allows you set commands to execute at the END of an event- so now your Google Calendar shows a nice little block showing when the light is on. Rather than two unrelated, instantaneous events, you have a coloured block with semantic meaning. Same data, better representation.
  • It shows the strength of open standards. Google apps aren’t open source, but their exposed API does mean that you can separate the data from the program, and thus can intermingle it with other data as you see fit. Who would want to have another dedicated program (for automation) to deal with when you already have another program (a personal scheduler) that is so similar? Seeing how your automated tasks integrate with your personal ones would be also very useful and provide a level of funtionality two independent programs could not provide.

But the most important thing to realize is that this thing is able to do all this stuff when it isn’t even an automation program- it’s just a 5k python script! So, it’s a very good example of the kind of things that can happen when we look at the strengths of the tools around us and then see how those strengths might serve another purpose. I’m still relatively new to architecture proper, but that is what I like about it so far- the chance to look at what the materials, resources, strategies and technologies available to you are truly capable of doing, and then using those things to synthesize a cohesive space that integrates completely with the way humans process information.

Consider something like this another tool in the toolbox.

Comments

  1. No one has made a comment about this post yet; feel free to leave the first one using the section to the right.

Leave a Reply