Technology Garden
Interaction Designer, Software Engineer, Evaluator
2007 — 2008
Description
The Technology Garden is a novel interactive environment that promotes human-plant interaction. The garden is equipped with temperature, humidity, and soil moisture sensors. These sensors are supplemented by a software system that visualizes sensor data and encourages social interaction. Because of its location, the Technology Garden is always available to gardeners during working hours.
Soil moisture sensors are connected to each of the plants.
The web application supports gardeners in a variety of ways. First, it is a tool that gardeners can use to check on their plants remotely if they are unable to visit the garden. The gardeners can view the soil moisture level of the plant as well as the temperature and humidity of the room. Second, it acts as a mini social networking website. Plants can befriend other plants in the garden. Third, it serves as a communication tool between gardeners. Using the blog, gardeners can post their thoughts on experiences they've had in the garden or issues related to the environment. More features are being added to the web application to support further collaboration between gardeners.
An initial pilot study was conducted in the summer of 2007. 10 participants were brought in to adopt and care for a plant over the course of a week. The results of the study showed a strong demand for the garden and the services provided by the web application. Future iterations on the garden will focus on building a community of gardeners and experimenting with the role of technology in a garden.
Gardeners are always looking out for a spot next to the window.
Roles and Responsibilities
My responsibilities extended across 3 key areas: interaction design, software engineering, and user evaluation. A critical aspect of development was deciding upon what interactions users would have with the plants and technology. Working alongside my research advisor, Dr. Charlotte Lee, we decided to create opportunities for remote plant observation, social networking, and blogging. My first task was to flesh out these ideas into a coherent design, focusing on usability, rapid transactions (i.e., it shouldn't take the user more than 1 minute to complete a task), and ubiquity within the space.
I was also responsible for the majority of the technology in the first iteration of the project. Our team of 2 lacked a programmer, so I focused a great deal of my effort on finding and integrating open source solutions to my technological problems. The first task involved wiring up the soil moisture sensors and building a lightweight application to interface with them and read the data. Using a LabJack DAQ and a supporting C/C++ library, I built a Java application that pinged the sensors for data and uploaded the data to a database every few seconds. I then constructed a Ruby on Rails web application to display the data in a user friendly way. After the visualization was in place, I added a small set of social networking features to foster online social interaction.
Once the system was built, I helped conduct the initial week-long user study. I did approximately 40 hours of observations and interviews over the course of the study. The results of the study led to a series of design recommendations that will inform future iterations of the Technology Garden. I will serve as an advisor to the future developers as the Technology Garden expands.
What will the future of the Technology Garden bring? Stay tuned.
Technologies
The soil moisture sensors are comprised of 2 metal probes and a simple custom-designed circuit. Every sensor is connected to an off-the-shelf DAQ manufactured by LabJack. LabJack provides a C/C++ library to interface with the DAQ. This library was used to write a custom Java application that reads data from the sensors and uploads it to a MySQL database through HTTP GET requests. A separate Ruby on Rails application reads the data in the database and presents users with a simple visualization of the plants. The web application makes asynchronous calls to the database at set intervals so the visualization is updated without needing to refresh the page manually.
