Category Archives: Projects


StepGreen Site Closing

In 2007 an experiment called StepGreen was started to see if the web and social media could help people make more environmentally conscious decisions. Since then, over 1000 people across half a dozen organizations have used StepGreen to help them … Continue reading

Computational Sustainability

I’ve been hearing (and thinking) more and more about the role of machine learning and other data-intensive methods in sustainability.  This is certainly not a new idea — the highly successful expeditions project out of Cornell coined the term (and the website), I believe. Arguably, it’s one of the places in which the case for computer science is easiest to make: These are real problems where systems thinking and computational power, data gathering, and so on is making a difference. Some examples:

  1. Machine learning can find optimal solutions to complex problems that are difficulty for humans alone to model. For example: Golovin et al.  [2011] used machine learning to select patches of land for species conservation that optimize species survival (pdf). There is a nice synergy here as the problem being solved led to advances in machine learning. There must be dozens of similar problems waiting to be tackled.
  2. Big data meets big visualization in a number of projects. provides data about energy use, population, and so on on a map supporting exploration, comparison, and so on. Data is also made available via an API. In a similar vein, Paulos et al. [2008] visualize air quality using data sense from the tops of taxi cabs and buses (pdf). SourceMap visualizes where things come from on a map, using crowdsourced data. While maps are very powerful, especially when it comes to community action, it would be nice to see this data used in other ways as well. For example, one could imagine that air quality sensors and data of this fidelity could have huge political and medical impacts for those asthma.
  3. Modeling and prediction aren’t just for climate change prediction. One of my favorite alternate examples is UrbanSim, an interdisciplinary project led by Waddell, Borning, and others. As an example of the importance of computation in this project, they have a TOG publication on the use of geometric and behavioral modeling in the “interactive design of urban spaces” [2009].

If you’re looking have ideas along these lines, post a comment or better yet submit to one of the up and coming sustainability conferences (e.g. If you’re looking for ideas, there’s a number of past or about to be held conferences you can read up on or attend (e.g., or the list at


Daniel Golovin, Andreas Krause, Beth GardnerSarah J. ConverseSteve Morey: Dynamic Resource Allocation in Conservation Planning. AAAI 2011

Eric Paulos, R.J. Honicky, and Ben Hooker, Citizen Science: Enabling Participatory Urbanismin Handbook of Research on Urban Informatics: The Practice and Promise of the Real-Time City. Edited by Marcus Foth, Hershey, PA: Information Science Reference, IGI Global, 2008

Vanegas, Carlos, Daniel Aliaga, Bedrich Beneš, Paul Waddell (2009) Interactive Design of Urban Spaces using Geometrical and Behavioral Modeling. ACM Transactions on Graphics (TOG), also ACM SIGGRAPH Asia, 28(5): 10 pages, 2009. This is accompanied by a video.

A Tale of Two Motivations

I’ve been feeling for some time now an inkling of discomfort with the standard motivation for some of the work we do on the StepGreen project (and as members of the sustainable CHI research area in general). I’ve seen the same concern in various forms crop up in reviews and on thesis committees I’ve been privy to — the question of how much impact a project really has, what the costs of the project are, and so on. Sort of like privacy in the oldest Ubicomp work, the issue is often avoided or handled in a cursory fashion. But I want to investigate this issue in more depth today.

The standard motivation for much of the work in sustainability in the HCI community (and I’ve used this myself) goes something like this: “Using too much energy is bad (list of reasons). But look, energy is used by people for everyday activities (percentage given), and daily activities are a big percentage of this (more percentages). These things are within our control, and because they involve human choice, they are an area that human computer interaction has something to say about. Not only that, but technology has advanced and … ” I’ll stop here  because of course there’s some divergence (are we looking and individuals? businesses? campuses? what technology has advanced in what way? what study did we do? these things vary from project to project).

On the positive side, this motivation is exciting, encouraging, and easy to connect to human computer interaction work such as technologies for behavior change. On the negative side, as others before me have argued (e.g., Dourish, 2010it is utopian, ungrounded, and difficult to measure.

Global emissions, broken down

Global emissions, broken down

As an alternate, let us require that we work from raw facts down to specific potential impact number. Such a motivation might go something like this [starting from the same place]: “Using too much energy is bad (list of reasons). Globally, we used 16 Terawatts (TW) of energy in 2005, 90% non-renewable (gas, coal, oil, nuclear) (Griffith, 2008). About 7.8 GtCO2 emissions can be removed by information technology advances (Climate Group). This is about 2.7 TW by my calculations1, assuming that the source  is coal (about 17% of of 2005 emissions). Of the categories of IT work proposed in Smart2020, the largest impact category is the smart grid category (2.03 GtCO2). More than half of the energy generated each year is wasted in the grid (“directly”) or is wasted because it is unnecessary to spend (“indirectly”). The indirect component adds up to about .28 GtCO2 (Climate Group). This is a vanishingly small portion of global energy emissions (.6%), as shown in the graph at right. Human behavior change to reduce energy use (such as home heating and cooling) falls into this category. By this reasoning, the maximum impact we can have is .6% of global energy emissions, assuming that we had a systemic impact on all energy wasted post grid (not just home heating and cooling in a few U.S. households).

Projected global emissions vs Smart2020 decreases

Projected global emissions vs Smart2020 decreases

On the positive side, this motivation is measurable, can be used to set real goals, and is based on real data. On the negative side, it is discouraging. Worse, it highlights how much we don’t know. Over what time period is Smart2020 technology expected to have its effect? What are the current global emissions, and how much are they likely to rise? The 7.8 GtCO2 saved by Smart2020 projects pales in comparison to possible projections of global increases, as shown at right. Would such work actually replace or reduce coal plant emissions, or just enable increased energy use globally? As a side note, projecting impact requires projecting future trends, something I would argue requires more formal methods, as humans are notoriously bad at doing this intuitively in the face of exponentially increasing change (Mankoff, et al., In Submission). What percentage, really, would even global adoption of any of our projects create? Is any of the work we do appropriately designed for a global context? And on and on…

In other words, neither of the two most obvious motivations for doing sustainable HCI work seems to justify the time we are putting in. Is there an alternative? I would argue that yes, there is. But it requires putting our work in a new context, viewing it in a new way, and that may affect how we must proceed. Before describing that motivation, we need to explore a broader theory of how we might reduce global emissions. If we combine the recommendations of Pacala & Socolow (2004) and Gore (1992), we can see that the list of ways to reduce carbon emissions is both broader than either of the previous motivations can conceive, and amenable to research at the intersection of technology and people.

Here is a partial list. At left are direct ways of reducing carbon emissions, at right are indirect ways of reducing carbon emissions.

  • Efficiency (new technologies, new patterns of use, better buildings, etc.)
  • Carbon capture & storage
  • Alternate sources of energy
  • Carbon sinks (e.g., reforestation)
  • Population control
  • Economic controls (e.g., taxes)
  • Cross-cultural solutions (expanding solutions in either category to work in multiple global contexts)
  • Improved energy grid
  • Education
  • Governmental buy in (local laws, world treaties, etc.)
  • Advances in science

The category “alternate sources of energy” requires special attention as most people underestimate exactly what is involved in making a significant change in how we produce energy. According to Griffith, to replace 14 (of 16) TW of global energy use with alternative sources (which be sufficient to reduce CO2 emissions to a manageable level), we would need, for the next 25 years, to build: 1 1250 m^2 pool of algae per second; 1 100 m^2 solar cell per second; 1 50 m^2 thermal mirror per second; 12 wind turbines per hour; 3 geothermal turbines per day; and 1 nuclear plant per week. This paints a daunting picture of how big the effort required is to truly solve the problems we face.

Projects about individual behavior also fit within the list above (under efficiency), but I would argue that the list of indirect ways of reducing emissions are potentially much more impactful. In fact, we must engage with this broader list, or we risk, as Dourish states (2010) that “framing sustainability solely in terms of personal moral choice in a marketplace of consumption options may obscure the broader political and regulatory questions that attend significant change.”

So where do we go from here? What is the “right” motivation for sustainable human computer interaction work? I would like to argue for a new checklist for impact. Projects must be explicit about the potential for both direct and indirect impact, measurable, and (ideally) scalable. They should consider major growth trends, multiple cultural contexts, and address energy production as well as use. Here is a partial checklist of issues to consider.

  • Production of energy (how much, if any, is produced)
  • Direct reductions of energy (which type is supported by the project, and how much is reduced?)
  • Indirect reductions of energy
    • How will it be implemented within or across nations?
    • How will it influence national trend (e.g., growth)
    • How will it integrate with national trends/cultural context?
  • Scale (and scalability) of impact
    • At what scale must this be deployed to have impact?
      • One person at a time?
      • Institutional?
      • Cultural/National? (social movements; governments; science)
      • International?
    • How could that be achieved?
  • Metrics & Measures
    • How much energy could one unit save?
    • How much energy does one unit use?
    • How much impact / cost does it have at scale?
    • What are the uncertainties here?

This is just a partial list of things that we might consider when choosing a project. When we accept the importance of things like scale, internationalization, and indirect options for reducing energy use, then a new focus for sustainable CHI emerges. I wil nickname it Local-e, because it requires locally grounded, socially focused solutions. Local-e attempts to decentralize power production, increase sharing of resources, and encourage environmentality (Agarwal, 2004). We must measure waste (of all sorts) so that it can be regulated and taxed, monitor resource use, model it, and inform governments as well as individuals about what we discover. And all of this must be made relevant across sectors and scale up to cities, nations, or more.

Feel-good motivations are no longer enough. The crisis we face is too big for that. Luckily, it turns out that indirect influences on energy use are as important as direct. If we think about IT for sustainability more broadly, perhaps we can begin to have the impact that is needed. IT has changed so much in the world. It’s worth believing (and trying) to do this as well.

Agarwal, A. (2004). Environmentality: Community, intimate government, and the making of environmental subjects. Current Anthropology, 46(2).

Dourish, P. (2010). HCI and Environmental Sustainability: The Politics of Design and the Design of Politics. Proc. DIS 2010, pp. 1-10.

Gore, A. (1992). Earth in the Balance: Ecology and the Human Spirit, Houghton Mifflin

Griffith, S. (2008). GamePlan 1.0. Available at:

The Climate Group (2008). Smart2020: Enabling the low carbon economy in the information age.

Pacala, S. & Socolow, R. (2004). Stabilization wedges: Solving the climate problem for the next 50 years with current technologiesScience 305(5686):968-972.

Mankoff, J., Rode, J. & Kinnaird, P. (In submission). Looking past yesterday’s tomorrow: Using Future Studies methods to extend the research horizon. CHI 2011, In Submission.

1I will not repeat the entire calculation here, but calculated a conversion factor of .036 I using the following data sources to help;;

Exploring Expanded Validation: Including Externalities such as Energy

Validation is an ongoing area of discussion with regard to systems work and applications work, e.g. [1,2,3,4]. I argue here that we need to reconsider the range of issues to be included in validation.  Validation should incorporate costs and benefits that are normally consider “side issues” or non-issues such as waste, energy, economic impact, socio-political impact, and privacy of information. From an economic perspective, one might name these externalities [5]. Like all externalities, some issues (such as waste) may never be directly tied back to the work we do. However, in the end, even that may become relevant, should user values come to encompass it. Additionally, one could argue for a moral imperative to consider such externalities in validating what we do.

Why am I arguing that this broader view is important for HCI? Because many issues that are currently outside our approaches to validation can affect usability (e.g., energy use affects battery life), lead to harm (e.g. privacy problems leading to security violations) or affect viability (e.g. is an innovation likely to be affordable to the population it’s intended for). Why is this important to research? Because just as we have to innovate to develop systems that are efficient and scalable and usable, we may have to innovate to develop systems that are energy efficient, secure, low-waste, and so on.

As an example, consider the issue of energy use. The relative energy use of two solutions to a systems (or applications) problem can vary significantly. It is important to consider not only the energy use of the code being run, but the overall impact on the number of devices a person may own, and the expected lifetime of a device. One can go further and use techniques such as lifecycle assessment [6]. If we expand from energy to sustainability, it makes sense to report ecological impacts, such as projected waste or production-based waste.  Energy use and sustainability also spill over into other issues as illustrated in the table below – the needs of multiple stakeholders need to be balanced against resources consumed, the needs of other species & etc. Indirect benefits (such as increased civic engagement, or the opportunity for re-appropriation) may also be important. A full validation might be expected to include metrics for scalability, efficiency, energy use, memory use, physical space use (in the case of mobile and ubiquitous devices), and so on.

Environmental Questions: Societal Questions: Economic Questions: Computer Science Questions: Other Questions:
How much waste is generated/ saved? How does it address the needs and values of different stakeholders?
Who are they?
What are the costs over the lifecycle of the product? Can we characterize the efficiency of the solution? How about the energy use?  And the space use? How relevant will this be in 10 years? 20 years?
How many resources are consumed? Does it engage citizens in learning about energy/sustainability
(e.g., through citizen science)
What other externalities are need to be  considered? Does it scale? How
flexible is the solution?
What predictions about the future need to be considered in answering these questions?
How are the needs of other species affected? Does it support civic engagement? Does it support re-appropriation

Some of these things are relatively easy to consider in validation, but many of them require us to draw from techniques that we have not previously been familiar with. Within the field of HCI, there is a history of introducing methods that help to address specific issues such as these. An example is the development of value-sensitive design [7], which can be used to explore the effect of an interactive product across stakeholders. There is a need for further innovation in terms of the methods and metrics that ought to be a component of validating our work.


1.   Olsen, D. R. Evaluating user interface systems research. In Proc. UIST ’07, 251-258.

2.  Gray, W. D., & Salzman, M. C. (1998). Damaged merchandise? A review of experiments that compare usability evaluation methods. Human-Computer Interaction, 13(3), 203-261.

3.  Carter, S., Mankoff, J., Klemmer, S. R. & Matthews, T. (2008). Exiting the cleanroom: On ecological validity and ubiquitous computing. Human-Computer Interaction, 23(1), 47-99.

4.  Greenberg, S. & Buxton, B. (2008). Usability evaluation considered harmful (some of the time). CHI’08, 111-120.


6.  Hendrickson, C. T., Lave, L. & Matthews, S. H. (2006). Environmental life cycle assessment of goods and services: An input-output approach. Resources for the Future, Washington, DC.

7.  Friedman, B., Kahn, P. H., Jr., & Borning, A. (2006). Value Sensitive Design and information systems. In P. Zhang & D. Galletta (eds.), Human-computer interaction in management information systems: Foundations (pp. 348-372). Armonk, New York; London, England: M.E. Sharpe.


Ubicomp (Spring 2010)

Sensor Andrew Google Android (SAGA) Project overview:

This project was completed for HCI 05-837, Ubiquitous Computing. Stephanie and I, Tawanna  built the infrastructure needed to utilize the Sensor Andrew Network and the Android development platform. We decided to detect one of the actions listed on – turning lights off when not in the office.

By combining Sensor Andrew Network data and location-specific information available from the Android phone, new applications are able to take advantage of the user’s own activity while also using location-specific data to augment the activity recognizer. For example, if a user does not remember whether they turned off the lights in their office, while the phone could sense whether the lights were on in the user’s current location, Sensor Andrew’s light sensors would also indicate light in other places where people might not be present. Additionally, the Sensor Andrew network currently requires access to a computer or internet source to look at the data, the phone could be used for interruptibility to determine when to tell the user they have left the lights on. Neither of these technologies could be used alone to do this task.

Our final deliverables included:

  • a flexible and robust system that provide applications with a central access point for obtaining a variety of sensor data
  • the design of an application that showcases our system and provides service that could not be implemented on one technology alone (e.g., a novel way of utilizing sensor data to show environment-friendly behavior)

Our application can detect when a user turns off their light while out of the office and posts this action to We provide a description of our project and the steps we took to implement it. The class write up for the project is attached as well as our submission to the Ubicomp conference.

Project Design


  • Sensor Andrew Firefly Sensor (detects light, acceleration, temperature, audio, voltage).
  • 1 ASUS WL-500 Router for each network. You will need to install software called the ASUS Setup/Sensor Andrew Gateway Agent (SAGA) Sensor Network Dashboard on the router.  We obtained our image from the Sensor Andrew team. This image changed frequently so you may need to contact the team for the latest version.
  • Google Android phone (developer platform – enable GPS satellites, use wireless networks)
  • We obtained approximately 21 Sensor Andrew Firefly sensor nodes to deploy in offices located in the Gates-Hillman building and Newell Simon Hall. We got our sensors from the Sensor Andrew team.
  • A server to host your database
    • Our database resides on the kettle server.  The kettle server contains the a mySQL database called “saga” (sensor andrew google android) that stores all sensor information.  Saga’s responsibilities are to store the Sensor Andrew sensor data and user location (latitude and longitude coordinates) data (this is the sensor table within the saga database located on our kettle server). Below is a screenshot image of the saga sensor table (the last column is the voltage column)
    • Device_ID: A unique identifier (user name in the case of the the mobile phone and the sensor ID in the case the data originated from the sensor)
    • Device_Type: The source of the data being recorded (sensor or mobile)
    • Time: The date and time the data was obtained (2009-10-20T15:03:46)
    • Latitude: A user’s location x coordinate
    • Longitude: A user’s location y coordinate
    • Altitude: Not used due to GPS instability but is available
    • Light: The raw value representing light intensity from the Firefly sensor
    • Acceleration: The raw value representing the acceleration value from the Firefly sensor
    • Heading: Not used
    • Temperature: The raw temperature value from the Firefly sensor
    • Audio: The raw noise value from the Firefly sensor
    • Voltage: The raw voltage from the Firefly sensor
    • The other table in the saga database is the “Users” table. The Users table holds static values for the user id, the officeID, or each user’s office location (gps coordinates), a calibration value and a delta value. This table helped us to identify whether or not a user was in the office (we kept calibration values to help us adjust for changes in the sensor – voltage and to help us calibrate for our location – gps).
    • Software

    • Scripts
      • PHP Filter – applications interface with this script to get the different analyses. This filter serves as the primary interface between the Android application and all underlying detection scripts (light, audio, etc…). See diagram.
      • insert_table.php – inserts data into proper db column for associated user
      • test_table.php – gives back current db table
      • lightsOn.php – determines whether a particular user is in their particular office and whether the lights are on/off
      • audio – not implemented
    • A client/subscriber to read Sensor Andrew data code obtained from the Sensor Andrew team.
    • To subscribe to sensor data accessed the code from the Sensor Trac page (contact the team for password information. The username is guest). Here’s an overview of our steps:
      • Check the code out of SVN and install loudmouth and the sox library. Be sure to install the pre-req libraries (get sox only).
      • Install instructions are located here
      • To subscribe to your sensors (this is so you can retrieve their values), go to this directory: sensor-andrew/sox/tools/subscribe_sample
    • Our android application. Below are screen shots from the final application. We created an Android widget so that we could see the information in the application desktop. Our application populates our database with the user’s current location data. Our application retrieves the current light status from the filter.php file.

    • lights, or lightsOn.php: our Google Android code to log location and retrieve light status our client/subscriber to read Sensor Andrew data. To detect audio or vibration, one could create another php file.
    • With help from the Sensor Andrew team, we set up a saga account to show our sensor output. Unfortunately, the sensors are not regularly being monitored so it is possible that the sensor batteries are dead or they have been relocated.

  • Papers