May/June issue of acmqueue

The May/June issue of acmqueue is out now

Research for Practice


  Download PDF version of this article PDF

Research for Practice:
- Technology for UnderservedCommunities
- Personal Fabrication

Expert-curated Guides to the Best of CS Research

This installment of Research for Practice provides curated reading guides to technology for underserved communities and to new developments in personal fabrication. First, Tawanna Dillahunt describes design considerations and technology for underserved and impoverished communities. Designing for the more than 1.6 billion impoverished individuals worldwide requires special consideration of community needs, constraints, and context. Tawanna's selections span protocols for poor-quality communication networks, community-driven content generation, and resource and public service discovery. Second, Stefanie Mueller and Patrick Baudisch provide an overview of recent advances in personal fabrication (e.g., 3D printers). Their selection covers new techniques for fabricating (and emulating) complex materials (e.g., by manipulating the internal structure of an object), for more easily specifying object shape and behavior, and for human-in-the-loop rapid prototyping. Combined, these two guides provide a fascinating deep dive into some of the latest human-centric computer science research results.

As always, our goal in this column is to allow our readers to become experts in the latest topics in computer science research in a weekend afternoon's worth of reading. To facilitate this process, we have provided open access to the ACM Digital Library for the relevant citations from these selections so you can enjoy these research results in full. Please enjoy! —Peter Bailis

Technology for Underserved Communities

By Tawanna Dillahunt

According to the Global Multidimensional Poverty Index 2013, 1.6 billion people—or more than 30 percent of the combined populations of the 104 countries analyzed—were impoverished in terms of health, education, and living conditions.1 Here these individuals and those facing similar conditions are referred to as underserved.

Designing and building technology to support people in these underserved communities has several complexities. Overcoming these complexities requires the following:

• Understanding the needs of a specific underserved population and empowering or enabling individuals from that population to produce information and develop their own solutions.

• Understanding the context and constraints that underserved individuals often face, such as limited or nonexistent reading skills, digital literacy, Internet and technology access, and, in many cases, infrastructure (e.g., no electricity or water). Individuals from underserved populations often face social barriers such as limited social networks, social isolation, and systemic issues that exist beyond our control such as social or income inequality. In addition, these issues and limitations vary from region to region, and platforms that might appear successful in one situation may not apply in another situation.

• Developing technologies that are sustainable or have the ability to maintain themselves in limited-resource environments.

• Considering that technology alone may not meet the needs of certain underserved communities, given the unique factors these communities face. The benefits of technology are often limited to populations that are relatively affluent, educated, and socially connected.

The recently published papers presented here are broadly centered around technology and aim to support the needs of underserved communities. The selection represents a diversity of ACM venues, including the Symposium on Computing and Development, the Conference on Human Factors in Computing Systems, and Designing for Interactive Systems. The selection also represents a diversity of regions—including research from the Global South and Global North—and a diversity of technological artifacts, including one designed to optimize mobile application communication for challenged network environments and both long- and short-term application deployments. The selection also includes efforts and approaches to reach the needs of traditionally underserved groups (e.g., low-resource, blind, and unemployed people).

Finally, at least one of the selected works exemplifies technological solutions that: (1) address issues resulting from poor infrastructures such as unstable network connectivity and electricity (Brunette et al.); (2) enable individuals to produce information, not simply consume information, as suggested by Dell and Kumar2 (Vashistha et al.); and (3) support the connection among individuals within a community, or support the connection between low-resource communities and high-resource communities, for information and resource sharing, as suggested by Heeks and Bhatnagar3 (Vashistha et al. and Dillahunt et al.).

Technology designed to address poor network environments

Brunette, W., Vigil, M., Pervaiz, F., Levari, S., Borriello, G., Anderson, R. 2015. Optimizing mobile application communication for challenged network environments. In Proceedings of the Sixth Annual ACM Symposium on Computing for Development: 167-175.

This paper describes a configurable data-transmission framework designed to minimize network connectivity issues for mobile applications in special contexts. For example, the ODK (Open Data Kit) is a free and open-source set of tools that helps organizations in low-resource areas write, field, and manage mobile data collection solutions. ODK is used in mobile-application deployments to collect health and socioeconomic surveys using global positioning system locations and images. Quickly notifying others of important health issues such as an Ebola or polio outbreak in such contexts necessitates reliable data transfer despite challenging network environments.

The authors of this paper contribute ODK Submit, an Android service that coordinates data communication by providing channel-monitoring and transmission-scheduling mechanisms to Android apps. ODK Submit improves deployments by enabling application-level optimization of sparse heterogeneous networks, sends appropriate data over available channels, and identifies available connectivity in challenging network environments. It also enables deployment architects (i.e., nondevelopers who customize off-the-shelf software packages) to customize mobile-application software to improve data transfer reliability in such challenging environments. This paper contributes a framework for optimizing mobile-application performance for limited-resource settings.

Technology supporting the connection among individuals within communities by enabling the production of information

Vashistha, A., Cutrell, E., Borriello, G., Thies, W. 2015. Sangeet Swara: a community-moderated voice forum in rural India. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems: 417-426.

Sangeet Swara is a social media Hindi-based voice forum for songs and cultural content that was built using an IVR (interactive voice response) system. Vashistha et al. wanted to understand how such a system might become financially sustainable. To achieve financial sustainability for Sangeet Swara, the authors worked to reduce the cost of a community moderator by having the community moderate the content.

Those calling into Sangeet Swara recorded voice messages, listened to recorded messages, voted on them, and shared them without access to the Internet. Callers helped curate the content by voting on the voice forums as a way of prioritizing playback for others and at the same time eliminating the need for a moderator.

The use of the system was successful, with significant adoption by low-income communities as well as low-income individuals who were visually impaired; the system received more than 25,000 calls and 5,000 voice messages from more than 1,500 people in an 11-week deployment. It did not turn out to be financially sustainable after the toll-free number was replaced with a paid number; however, the opportunity remains to address this issue going forward.

In summary, the authors contributed a system, Sangeet Swara, that empowered low-income community members to produce information and build social capital, which is vital for connecting and strengthening communities. The community moderated the forums by categorizing and rating posts, thus eliminating the need for a single moderator—a step toward creating a self-sustaining system.

Technology connecting low-resource communities to high-resource communities for information sharing

Dillahunt, T. R., Bose, N., Diwan, S., and Chen-Phang, A. 2016. Designing for disadvantaged job seekers: insights from early investigations. In Proceedings of the ACM Conference on Designing Interactive Systems: 905-910.

This article focuses on unemployed job seekers from low-income communities in the United States. The authors conducted a user-centered design process to create and deploy Review-Me, a web-based application that sourced resumé feedback for individuals who were unemployed from local individuals who were employed. While the application deployment successfully connected job seekers who were currently students, it uncovered limitations and constraints among underserved job seekers. For example, underserved job seekers did not always have access to digital resumés or understand how to recreate physical resumés in digital form. Job seekers rarely had access to an email address, and those with email access often forgot their passwords. Finally, low literacy levels made it very difficult for these job seekers to sign up to use the application.

The results of this work suggested three fundamental design principles to address these shortcomings: (1) compatibility (e.g., systems should accept photographed images of resumés); (2) practicality (e.g., systems should provide ways to submit resumés offline, such as through kiosks or offline networking devices); and (3) familiarity (e.g., systems should allow registration via SMS or familiar mobile accounts such as Instagram or Facebook).

The research findings raise concerns as employers increasingly require job seekers to apply online; government services, such as unemployment benefits, must be applied for online (in some cases, this can be done via phone); and other services, such as health care and even housing, are researched and obtained online. Connecting underserved job seekers with individuals who are employed is commendable. Without making these technologies more inclusive, however, many individuals will continue to be left behind.


For a computer scientist who cares about designing, implementing, and deploying inclusive tools, it is vital to build software and software techniques that aim to:

• Improve poor infrastructures such as unstable network connectivity and electricity or provide solutions that do not require these infrastructures to be stable.

• Empower individuals to produce information, not only to consume it (Dell and Kumar, 2016).

• Connect individuals to others with more resources and help support development within and across communities.

When creating software, computer scientists and practitioners should consider issues that persist in limited-resource areas, such as unstable access to electricity and water and overall poor infrastructure. Designing for other constraints such as limited reading and digital literacy and limited Internet access is often beneficial to populations beyond underserved groups. Empowering individuals to produce information and strengthen bonds within and across communities is critical to reducing systemic issues that exist beyond our control, such as social or income inequality.


1. Alkire, S., Roche, J. M., Seth, S. 2013. Multidimensional Poverty Index 2013. Oxford Poverty and Human Development Initiative;

2. Dell, N., Kumar, N. 2016. The ins and outs of HCI for development. In Proceedings of the CHI Conference on Human Factors in Computing Systems: 2220-2232.

3. Heeks, R., Bhatnagar, S. C. 1999. Understanding success and failure in Information Age reform. In R. Heeks (ed.), Reinventing Government in the Information Age: International Practice in IT-enabled Public-sector Reform: 49-74. London: Routledge.

Personal Fabrication

By Stefanie Mueller and Patrick Baudisch

Personal fabrication tools such as 3D printers are paving the way to a future in which nontechnical users will be able to create custom objects. With the recent decrease in price for 3D-printing hardware, these tools are about to enter the mass market. The cost of the average consumer 3D printer has dropped from about $14,000 in 2007 to $500 today. Given the decreasing price, it is not surprising that the number of consumer 3D printers sold has doubled every year—from 6,000 in 2010 to more than 270,000 in 2015.

While the hardware is now more affordable and the number of people who own a 3D printer is increasing, only a few people use the printers to create 3D models. Most users download models from a platform such as Thingiverse, and after downloading, fabricate them on their 3D printers. At most, users adjust a few parameters of the model, such as changing its color or browsing among predetermined shape options.

Personal fabrication has the potential for more: instead of only consuming existing content, nontechnical users in the future could use 3D printers to create objects that only trained experts can create today. In the past few years, HCI (human-computer interaction) and graphics researchers have worked on a number of challenges to move us toward such a future.

In our paper, "Personal Fabrication" (Foundations and Trends in Human-Computer Interaction, volume 10, issue 3-4, 2017), we provide a comprehensive overview of these challenges and include a survey of more than 200 recent papers. Here we summarize three of those papers, which are representative of the larger field.

Multimaterial fabrication

Vidimce, K., Kaspar, A., Wang, Y., Matusik, W. 2016. Foundry: hierarchical material design for multi-material fabrication. In Proceedings of the 29th Annual Symposium on User Interface Software and Technology: 563-574;

With 3D printing, users can design every aspect of an object: they can create a specific appearance (e.g., a desired shape, color, and reflectance), a specific feel (e.g., by printing tactile textures or by using soft materials), and they can make an object perform a desired function (e.g., using conductive materials for printed electronics or optical clear materials for printing light pipes). Functional properties can also be achieved by designing the internal structure of an object—for example, making an object stand by redistributing its infill to shift its center of mass. Finally, by using microstructures with structurally varying cells, researchers have shown how to emulate different material behaviors using a single material (so-called metamaterials).

This paper provides an editing environment for designing such multimaterial composite objects. The material definitions are created by composing a set of operators into an operator graph. The operators are implemented using a domain-specific language for multimaterial fabrication, and users can easily extend the library by writing their own operators.

Domain Knowledge

Umetani, N., Koyama, Y., Schmidt, R., Igarashi, T. 2014. Pteromys: interactive design and optimization of free-formed free-flight model airplanes. ACM Transactions on Graphics 33(4), Article 65;

Professional CAD tools require years of engineering training to gain the necessary expertise as they provide fine control over every parameter in the design. HCI and graphics researchers have looked at how to create design tools that abstract away the necessary domain knowledge by letting users specify the shape and motion of the desired object; the system then simulates the mechanical behavior and either critiques the user's design or automatically adjusts the design to make it comply with respect to forces.

Consider even the simple example of designing a paper glider as presented in this paper. Depending on the orientation of the glider, it will be subject to drag forces that make the glider resist the airflow and lift forces that move the glider upward. All forces depend not only on the shape of the glider, but also on its velocity and orientation at a certain moment in time; thus, they are constantly changing as the glider moves through the air. This creates a large parameter space that is infeasible for the user to tackle manually. The design tool described in this paper lets users design the shape of the glider, and as they design, provides realtime feedback on the flight performance.

From batch-processing, to turn-taking, to direct manipulation for physical "data"

Willis, K. D. D., Xu, C., Wu, K.-J., Levin, G., Gross, M. D. 2010. Interactive fabrication: new interfaces for digital fabrication. In Proceedings of the Fifth International Conference on Tangible, Embedded, and Embodied Interaction: 69-72;

When simulation is not possible, such as when testing the aesthetics and ergonomics of a design, users have to fabricate the object to evaluate it. Since 3D printing is so slow, users have to think carefully before printing, as every mistake may imply another hour-long or even overnight print.

Planning every step, however, is not feasible for nontechnical users as they lack the experience to reason about the consequences of their design decisions. To solve the problem, researchers proposed repeating the evolution of the user interface from personal computing for personal fabrication. Computing also started with machines that ran a program in one go overnight. Then turn-taking systems such as the command line evolved, which provided users with feedback after every input; finally, direct-manipulation interfaces (such as today's multitouch devices) provided users with continuous feedback during editing. Applying the same interaction concept to fabrication results in a workflow that looks quite different from what is seen today.

In the new "interactive fabrication" workflow presented in this paper, users work hands-on on the physical workpiece using physical tools (much like in crafting), and see the physical workpiece change immediately as they edit. The fast feedback loop allows users to evaluate every intermediate step, allowing them to adjust their decisions along the way. This potentially makes editing of physical data as easy as editing digital data on a multitouch device today.


When will personal fabrication reach consumers? The journey has only just begun. If the starting point is deemed to be 2009 (i.e., when the first patents ran out and the first low-cost 3D printer, the MakerBot Cupcake CNC, appeared on the market), then we are clearly still at the very beginning of putting personal fabrication into the hands of consumers.

If personal fabrication today feels like a niche technology for hobbyists, it's most likely because there are still decades to go. We should look at the in-between progress with patience. The success of other technologies such as personal computing could certainly not have been predicted until decades after their inception (consider the words of Thomas Watson, president of IBM, in 1943: "I think there is a world market for maybe five computers").

If personal fabrication should turn out anything like personal computing in its adoption, we still have an amazing journey ahead of us.

Tawanna Dillahunt is an assistant professor at the University of Michigan's School of Information and holds a courtesy appointment with the electrical engineering and computer science department. She leads the Social Innovations Group (, an interdisciplinary group of individuals specializing in the research and development of ubiquitous and social computing technologies whose vision is to design, build, and enhance innovative technologies to solve real-world problems. In collaboration with colleagues, Dillahunt uses human-centered design approaches and research from multiple disciplines (e.g., psychology, ubiquitous computing, law, sociology, economics, design, and health) to explore the ways in which technology can be used to solve key problems faced primarily by people in underserved communities. She received her Ph.D. in human-computer interaction from Carnegie Mellon University.

Peter Bailis is an assistant professor of computer science at Stanford University. His research in the Future Data Systems group ( focuses on the design and implementation of next-generation data-intensive systems. He received a Ph.D. from UC Berkeley in 2015 and an A.B. from Harvard in 2011, both in computer science.

Stefanie Mueller is an assistant professor in MIT's electrical engineering and computer science department, joint with mechanical engineering, and is a member of MIT CSAIL (Computer Science and Artificial Intelligence Lab). In her research, she develops novel hardware and software systems that advance personal fabrication technologies. Her work has been published at the premier venues for human-computer interaction (ACM CHI and ACM UIST) and has received several best paper and honorable mention awards. Mueller also serves on the ACM CHI and UIST program committees as an associate chair. In addition, she has been an invited speaker at universities and research labs such as MIT, Stanford, Berkeley, Harvard, CMU, Cornell, UW, ETH, Microsoft Research, Disney Research, and Adobe Research.

Patrick Baudisch is a professor of computer science at Hasso Plattner Institute at Potsdam University and chair of the Human Computer Interaction Lab. His research focuses on physical computing, in particular personal fabrication and haptics. Previously, Baudisch worked as a research scientist in the Adaptive Systems and Interaction Research Group at Microsoft Research and at Xerox PARC. He holds a Ph.D. in Computer Science from Darmstadt University of Technology, Germany. He was inducted into the CHI Academy in 2013 and has been an ACM Distinguished Scientist since 2014.

Copyright © 2017 held by owner/author. Publication rights licensed to ACM.


Originally published in Queue vol. 15, no. 2
see this item in the ACM Digital Library



Ivar Jacobson, Ian Spence, Ed Seidewitz - Industrial Scale Agile - from Craft to Engineering
Essence is instrumental in moving software development toward a true engineering discipline.

Andre Medeiros - Dynamics of Change: Why Reactivity Matters
Tame the dynamics of change by centralizing each concern in its own module.

Brendan Gregg - The Flame Graph
This visualization of software execution is a new necessity for performance profiling and debugging.

Ivar Jacobson, Ian Spence, Brian Kerr - Use-Case 2.0
The Hub of Software Development


(newest first)

Leave this field empty

Post a Comment:

© 2017 ACM, Inc. All Rights Reserved.