Making the world a better place, one bit at a time.

6th
OCT

Volunteer Computing

Posted by garyhsieh under volunteer computing

Volunteer computing uses user-donated computing resources to tackle large-scale tasks and problems. Instead of leaving the computer idle, participants can donate their CPU time to good causes. An example of volunteer computing is the Berkeley Open Infrastructure for Network Computing, BOINC, which was developed to support SETI@home. For those who are unfamiliar, SETI@home uses home computers to help detect intelligent life outside of earth. Combined, BOINC boasts about 1.8 million total users, 300,000+ are currently active.

Is volunteer computing a type of prosocial computing? The answer is yes because it enables people to contribute in a way that they were unable to previously. For a project like SETI@home, the only requirement is a computer with internet connection, 20 MB of free disk space and 64 MB of RAM and a quick installing. Then, just by leaving on the computer, like many users typically do, the computing cycles can make a difference.

There are many online resources on volunteer computing (e.g. here, here, and here). But the question I want to focus on is why don’t more people participate? These projects are for interesting causes that most people would care about, such as finding extraterrestrial life. Additionally, the upkeep costs are minimal and require no human effort. But I think there are two main problems with how volunteer computing is currently set up. First, there is an initial startup cost. People need to download and install the software plus they may be skeptical about research software and are worried about “losing” control of their computers. But another problem is that since volunteer computing is used to tackle large scale problems, there may be no immediate, tangible reward that can offset the startup cost.

Here’s a thought. What if we shift the burden of using idle computing cycles for good causes to commercial software companies? Imagine that by default, your operating system will detect if you are using the computer, and if not, it would donate the computing cycles. This would certainly remove the startup cost for volunteer computing. But what would this take? And are there drawbacks?

1st
OCT

What is Prosocial Computing and Why Do We Need It?

Posted by garyhsieh under definition

Prosocial computing is the domain of technology that enables and encourages people to help others. The prosocial in prosocial computing comes from research on prosocial behavior, which is defined as voluntary actions that are intended to help or benefit another individual or group of individuals (Eisenberg and Mussen). The most straightforward examples of prosocial computing are online donation sites, such as Kiva.org. These sites allow people to easily contribute to causes they care about with minimal overhead costs. But prosocial behaviors need not be the only, or the main outcome of prosocial technologies. Prosocial computing also encompasses technologies that indirectly result in prosocial behaviors. reCAPTCHA is a great example. People use the reCAPTCHA service to accomplish their own goals, such as signing up for email addresses, and by doing so, they are also helping to digitize old books and newspapers to make them more accessible. It is important to note that prosocial computing is not about supporting social goals or encouraging people to cooperate, although it can. Rather, its focus is on generating public goods and encouraging philanthropic actions.

Why do we need prosocial technologies? In an age where we are faced with many large scale global problems, prosocial behaviors are no longer moral obligations, but are necessities for survival. We can no longer afford to be focused on making only ourselves better because we cannot be better off unless everyone else are better off. We all experience it with the current economic crisis—one country cannot be successful when other countries’ economies are failing. In the past, we have relied on individual altruism, financial rewards and government policies to encourage people to perform actions that benefit the greater good, but there is no reason why computing cannot help. In fact, computing may be able to help in four ways. We should be able to use computing to (1) decrease the cost of individuals performing prosocial behaviors, (2) increase the impact of individuals’ prosocial behaviors, (3) encourage more prosocial behaviors, and also to (4) channel everyday mundane actions to result in prosocial outcomes. If everyone can directly or indirectly contribute a little bit more, then as a whole, we may be able to overcome many different types of problems such as reducing world poverty and encouraging better online user-contributions.

Why do we need a new domain, prosocial computing? The main reason is that existing domains do not fully encompass the essence of prosocial computing and that having a new domain can help raise awareness for what prosocial computing is trying to accomplish. While examples of prosocial technologies exist, having a concrete definition along with clear examples will hopefully result in more and better prosocial technologies. From a scientific standpoint, prosocial computing is also a natural progression for where computing should be heading. Computing technologies have progressed from focusing on individual users interacting with computers to individuals interacting with each other, through computers. But despite the focus on social relationships, the main beneficiaries of current technologies are still the individual users. Prosocial computing takes the one to the many progression a step further and challenges us to design technologies that benefit not just the single users, but can also help everyone else.