Megan HofmannKelly MackJessica BirchfieldJerry CaoAutumn G. HughesShriya KurpadKathryn J. LumEmily WarnockAnat CaspiScott E. Hudson, Jennifer Mankoff:
Maptimizer: Using Optimization to Tailor Tactile Maps to Users Needs. CHI 2022: 592:1-592:15 [pdf]

Tactile maps can help people who are blind or have low vision navigate and familiarize themselves with unfamiliar locations. Ideally, tactile maps are created by considering an individual’s unique needs and abilities because of their limited space for representation. However, significant customization is not supported by existing tools for generating tactile maps. We present the Maptimizer system which generates tactile maps that are customized to a user’s preferences and requirements, while making simplified and easy to read tactile maps. Maptimizer uses a two stage optimization process to pair representations with geographic information and tune those representations to present that information more clearly. In a user study with six blind/low-vision participants, Maptimizer helped participants more successfully and efficiently identify locations of interest in unknown areas. These results demonstrate the utility of optimization techniques and generative design in complex accessibility domains that require significant customization by the end user.

A system diagram showing the maptimizer data flow setup. The inputs are geography sets, representations options, and user preferences. Geography types and representation options are paired and tuned using an optimizer. The output is a tactile map.

Use 3D printing to make something Accessible (Due 10/16)

The goal of this assignment is for you to develop basic familiarity with OpenSCAD. Your goal is to create a model of something that makes something more accessible for you or someone else. To keep this problem within reason for a first assignment, you should focus on things that are fairly simple to model. You should work in pairs on this assignment.

Examples would be a tactile label for something (such as a luggage tag), a guide (to make moving something along a path easier) or a lever (to make rotating something easier.

  • Your solution should be correctly sized (i.e. try to measure the thing you are modifying and to make sure that your printed object is appropriately sized).
  • You should use a simple method to attach things such as a zip-tie (simply requires small holes), or glue.
  • Your object should be small (be printable in 20 minutes to 2 hours)

You should create a Thingiverse “thing” which represents your object with a picture of your final object in use, your OpenSCAD file, and a picture of your model, along with a brief explanation of what problem it solves, how to correctly size it, how it attaches to or interacts with the real world. If you remixed something else on Thingiverse be sure to correctly attribute it (by creating a remix).

You should submit the link to your Thingiverse “thing” on Canvas.

You should also print it out to demo in class. Here is a page with information about using the Ultimaker printers. This slide deck about 3D printing also has lots of in.

The grading rubric for this assignment is as follows. When points are 1 or 0, this is pass fail (no nuance). When points are 0-3, use the following scale: 0 – Not done; 1 – Short shallow solution; 2 – Good solution; 3 – Outstanding solution.

Points Description Comments (by grader)
0-3 Create a 3D model that solves a problem
1 or 0Learn how to correctly size a model
1 or 0Apply an appropriate attachment method
1 or 0Learn the pipeline: Create a 3D printed object from your model
0-3Describe how a model should be used

“Occupational Therapy is Making”

3D Printed Wireless Analytics

Wireless Analytics for 3D Printed Objects: Vikram Iyer, Justin Chan, Ian Culhane, Jennifer Mankoff, Shyam Gollakota UIST, Oct. 2018 [PDF]

We created a wireless physical analytics system works with commonly available conductive plastic filaments. Our design can enable various data capture and wireless physical analytics capabilities for 3D printed objects, without the need for electronics.

We make three key contributions:

(1) We demonstrate room scale backscatter communication and sensing using conductive plastic filaments.

(2) We introduce the first backscatter designs that detect a variety of bi-directional motions and support linear and rotational movements. An example is shown below

(3) As shown in the image below, we enable data capture and storage for later retrieval when outside the range of the wireless coverage, using a ratchet and gear system.

We validate our approach by wirelessly detecting the opening and closing of a pill bottle, capturing the joint angles of a 3D printed e-NABLE prosthetic hand, and an insulin pen that can store information to track its use outside the range of a wireless receiver.

Selected Media

6 of the most amazing things that were 3D-printed in 2018 (Erin Winick, MIT Technology Review, 12/24/2018)

Researchers develop 3D printed objects that can track and store how they are used (Sarah McQuate), UW Press release. 10/9/2018

Assistive Objects Can Track Their Own Use (Elizabeth Montalbano), Design News. 11/14/2018



Vikram Iyer
Justin Chan
Ian Culhane


Jennifer Mankoff
Shyam Gollakota



The absence of tactile cues such as keys and buttons makes touchscreens difficult to navigate for people with visual impairments. Increasing tactile feedback and tangible interaction on touchscreens can improve their accessibility. However, prior solutions have either required hardware customization or provided limited functionality with static overlays. In addition, the investigation of tactile solutions for large touchscreens may not address the challenges on mobile devices. We therefore present Interactiles, a low-cost, portable, and unpowered system that enhances tactile interaction on Android touchscreen phones. Interactiles consists of 3D-printed hardware interfaces and software that maps interaction with that hardware to manipulation of a mobile app. The system is compatible with the built-in screen reader without requiring modification of existing mobile apps. We describe the design and implementation of Interactiles, and we evaluate its improvement in task performance and the user experience it enables with people who are blind or have low vision.

XiaoyiZhang, TracyTran, YuqianSun, IanCulhane, ShobhitJain, JamesFogarty, JenniferMankoff: Interactiles: 3D Printed Tactile Interfaces to Enhance Mobile Touchscreen Accessibility. ASSETS 2018: To Appear [PDF]

Figure 2. Floating windows created for number pad (left), scrollbar (right) and control button (right bottom). The windows can be transparent; we use colors for demonstration.

Figure 4. Average task completion times of all tasks in the study.

Expressing and Reusing Design Intent in 3D Models

Megan K Hofmann, Gabriella Han, Scott E Hudson, Jennifer Mankoff. Greater Than the Sum of Its PARTs: Expressing and Reusing Design Intent in 3D Models CHI 2018, To Appear.

With the increasing popularity of consumer-grade 3D printing, many people are creating, and even more using, objects shared on sites such as Thingiverse. However, our formative study of 962 Thingiverse models shows a lack of re-use of models, perhaps due to the advanced skills needed for 3D modeling. An end user program perspective on 3D modeling is needed. Our framework (PARTs) empowers amateur modelers to graphically specify design intent through geometry. PARTs includes a GUI, scripting API and exemplar library of assertions which test design expectations and integrators which act on intent to create geometry. PARTs lets modelers integrate advanced, model specific functionality into designs, so that they can be re-used and extended, without programming. In two workshops, we show that PARTs helps to create 3D printable models, and modify existing models more easily than with a standard tool.

Picture of 3D models and a printout

Volunteer AT Fabricators

Perry-Hill, J., Shi, P., Mankoff, J. & Ashbrook, D. Understanding Volunteer AT Fabricators: Opportunities and Challenges in DIY-AT for Others in e-NABLE. Accepted to CHI 2017

We present the results of a study of e-NABLE, a distributed, collaborative volunteer effort to design and fabricate upper-limb assistive technology devices for limb-different users. Informed by interviews with 14 stakeholders in e-NABLE, including volunteers and clinicians, we discuss differences and synergies among each group with respect to motivations, skills, and perceptions of risks inherent in the project. We found that both groups are motivated to be involved in e-NABLE by the ability to use their skills to help others, and that their skill sets are complementary, but that their different perceptions of risk may result in uneven outcomes or missed expectations for end users. We offer four opportunities for design and technology to enhance the stakeholders’ abilities to work together.

Screen Shot 2017-03-14 at 1.09.13 PMA variety of 3D-printed upper-limb assistive technology devices designed and produced by volunteers in the e-NABLE community. Photos were taken by the fourth author in the e-NABLE lab on RIT’s campus.

3D Printing with Embedded Textiles


Stretching the Bounds of 3D Printing with Embedded Textiles

Textiles are an old and well developed technology that have many desirable characteristics. They can be easily folded, twisted, deformed, or cut; some can be stretched; many are soft. Textiles can maintain their shape when placed under tension and can even be engineered with variable stretching ability.

When combined, textiles and 3D printing open up new opportunities for rapidly creating rigid objects with embedded flexibility as well as soft materials imbued with additional functionality. We introduce a suite of techniques for integrating the two and demonstrate how the malleability, stretchability and aesthetic qualities of textiles can enhance rigid printed objects, and how textiles can be augmented with functional properties enabled by 3D printing.

Click images below to see more detail:


Rivera, M.L., Moukperian, M., Ashbrook, D., Mankoff, J., Hudson, S.E. 2017. Stretching the Bounds of 3D Printing with Embedded Textiles. To appear in to the annual ACM conference on Human Factors in Computing Systems. CHI ‘17. [Paper]

Printable Adaptations

Reprise: A Design Tool for Specifying, Generating, and Customizing 3D Printable Adaptations on Everyday Objects

Reprise is a tool for creating custom adaptive 3D printable designs for making it easier to manipulate everything from tools to zipper pulls. Reprise’s library is based on a survey of about 3,000 assistive technology and life hacks drawn from textbooks on the topic as well as Thingiverse. Using Reprise, it is possible to specify a type of action (such as grasp or pull), indicate the direction of action on a 3D model of the object being adapted, parameterize the action in a simple GUI, specify an attachment method, and produce a 3D model that is ready to print.

Xiang ‘Anthony’ Chen, Jeeeun Kim, Jennifer Mankoff, Tovi Grossman, Stelian Coros, Scott Hudson (2016). Reprise: A Design Tool for Specifying, Generating, and Customizing 3D Printable Adaptations on Everyday Objects. Proceedings of the 29th Annual ACM Symposium on User Interface Software and Technology (UIST 2016) (pdf)

This slideshow requires JavaScript.

3D printed attachments

Encore: 3D printed attachments

What happens when you want to 3D print something that must interact with the real world? The Encore project makes it possible to 3D print objects that must attach to things in the real world. Encore provides an interface that, given an imported object and a chosen attachment method, visualizes metrics relating the goodness of the attachment. In addition, once an attachment type and location is chosen, Encore helps to produce the necessary support structure for attachment. Encore supports three main types of attachment: print-over, print-to-affix, and print-through.


Print-over attachments are printed directly on the existing object. This works well if the object is flat enough that the print head won’t encounter obstacles as it moves, and the object is made of a material that the printed material will easily adhere to. Encore helps by finding a rotation of the existing object that minimizes obstacles, and generating support material to hold the existing object in place.

Printing a magnet holder over a Teddy bear toy.
Left: printing an LED casing on a battery to make a simple torch; right: printing a handle to an espresso cup.


An alternative that is useful when the existing object does not fit on the print bed is print-to-affix. In this approach, the attachment is designed to fit snugly against the existing object. It may be glued in place, or can include holes for a strap, such as a zip tie.

Left: printing a structure to make a glue gun stand; right: printing a reusable four-pack holder.


Finally, sometimes the attachment should be interlocked more loosely with the existing object. In this case, the process is to begin printing and stop the print partway through so that the existing object can be inserted. Encore can compute when this stopping point should be (and
whether it is possible)

A name tag printed through a pair of scissors
A bracelet printed through a charm

Encore the Design Tool

Encore is implemented in WebGL. It supports importation of an existing object, selection of an attachment, and then lets the user click to indicate where the attachment will go. Given this information, it uses geometric analysis to compute metrics for goodness of attachment, such as attachability and strength. Encore visualizes them using a heat map so that the user can adjust the attachment point.

Encore visualizes which parts of a wrench are more attachable when printing over a handle.

More Examples

Using print-to-affix to make a trophy from an egg holder

Using print-over to make a minion keychain

Using print-over to add a hanger to a screwdriver handle

Using print-through to make a key ring.

Using print-to-affix to make a battery case
Xiang ‘Anthony’ Chen, Stelian Coros, Jennifer Mankoff, Scott Hudson (2015). Encore: 3D Printed Augmentation of Everyday Objects with Printed-Over, Affixed and Interlocked Attachments. Proceedings of the 28th Annual ACM Symposium on User Interface Software and Technology (UIST 2015)