Designing for Hybrid Spaces

Designing for Hybrid Spaces
Chad Eby
Herron School of Art and Design
Indiana University Purdue University Indianapolis (IUPUI)
 

Abstract

Herron School of Art and Design’s HER-Y 201 Designing for Hybrid Spacesclass introduces sophomore through graduate level art and design students to three key technological practices for integrated environmental computing / smart object development: digital fabrication, physical computing with microcontrollers, and basic electronics. Generally, these students come either from the largely traditional studio art program with little experience with digital technology, or from the visual communication program with limited experience with physical making. Neither type of student is likely to have had any coding experience.

The three technological aspects of the studio are grounded in a people-centered design approach, emphasizing empathy and addressing physical, cultural and cognitive human factors as design constraints. The knowledge gained from creating and programming smart, digitally fabricated objects provides designers and artists (and others interested in human-machine interactivity) with a greatly expanded canvas beyond the mouse/keyboard/screen paradigm. For those interested in service design, these same skills provide a foundation for building practical tools to autonomously measure and validate various aspects of interaction, log data and even report back live from the field.

This paper outlines an historical-theoretical framework, an approach for teaching beginning students “just enough” of these sophisticated processes to make meaningful smart objects, suggests a set of tools and resources to facilitate that approach, and highlights some of the obvious and less-than-obvious pitfalls encountered so far at the conclusion of the second iteration of the class.


Context and Framework

The name of the course, Designing for Hybrid Spaces, was chosen carefully to reflect the notion that the thrust of the course was not designing hybrid spaces, but designing forthem. To expose students to the tools, processes and concepts necessary to create artifacts at home in the ever-closer-to-ubiquitous networked and computationally rich zones that make up so much of many peoples’ everyday lives, but are still grounded in intentional physical form. 

The course itself is also “Hybrid” in at least three dimensions. The most obvious form of hybridity relates to this inherently dual nature of the intended goal to introduce skills to realize projects that straddle digital/physical, virtual/real, software/hardware concerns. 

The second dimension is that of disciplinarity; within the Herron School of Art and Design, the course is situated squarely between Fine Arts and Visual Communication Design programs, where (to put it a little flippantly) half of the students are more focused on solving problems and the other half more focused on creating them. And, zooming out from that internal divide, some of the skills and concepts needed hail as much from computer science and engineering as art and design. 

Finally, there is an academic audience hybridity of expertise and maturity; with no prerequisites, the class draws students from sophomores to second year MFA candidates (and even fellow faculty).

These ranges present the most particular challenges in terms of scope: how broad is too broad? How deep is too deep? How to wrap elements from alien disciplines so that they are not rejected out-of-hand by students’ acquired disciplinary immune systems?


On Integration 

In this context, integration means both at the micro level—bringing together physical form and software function directly into designers’ repertoire of making—and at the macro level by dispensing with the need to include a general-purpose computer (with associated costs, size and failure points) in an installation, potentially making the project more “integrated” within the contextual environment. A further possibility for integration is the inclusion of hybrid making practice in a more traditional studio; more on this last point later.


The Three Pillars

The three areas I see as essential for designing for hybrid spaces are 1) programming/scripting for small, cheap and accessible microcontrollers, 2) additive and subtractive digital fabrication for hardware containers and points for physical interaction and 3) basic electronics to create circuits and support the selection and connection of sensors and actuators to microcontrollers. 

This list will certainly change over time (It is instructive how dated Bruce Sterling’s provocative, and otherwise visionary, 2007 book Shaping Thingsseems now by its emphasis on the coming predominance of RFID technology—which never quite arrived). 

In addition, the emphasis given to one area over another will necessarily vary by the interests, resources, and skill sets of anyone implementing a similar approach. This is the essence of the problem of scope of breadth…how much material to include from what areas, how much territory to cover in sixteen weeks? Still, for 2018, I believe these three areas comprise a reasonable place to start.
 

Microcontrollers

Computers became “personal” in the 1980s by escaping the confines of room-sized refrigerated boxes and taking up residence on our desks and kitchen tables. A subtler escape has been happening ever since, as microcontrollers (those small, extremely simple computers) have been woven, invisibly, deeply into the fabric of our everyday lives. Now, studded with sensors and actuators, they inhabit our toasters and automobiles, our toothbrushes and TV remotes, hosting and executing software to act as a conduit between human intention and effects in the physical world.

Until the 2000s though, these microcontrollers were firmly rooted in the world of hardware experts: either extremely complex to program, extremely limited in functionality, or (as was generally the case) both. In 2005, Massimo Banzi and the Arduino project changed this by producing a small, relatively inexpensive microcontroller on a development board that was designed to be especially easy to connect to personal computers for programming. More importantly, they developed a simple, streamlined software environment that allowed relatively non-technical people to quickly learn to program the tiny computers and see immediate results. Code could be composed and compiled on the standard computer and then quickly uploaded to the microcontroller that could then execute the code autonomously, without the need to be tethered to the larger computer or laptop.

Fast-forward to today, and a variety of networking options and ever-more-sophisticated sensors have been added to the mix, allowing microcontrollers not only to sense and react to the local environment, but also to send and receive information through connections to computers, tablets, smart phones and the legions of emerging IoT (Internet of Things) devices and services.


Digital Fabrication

At about the same time microcontrollers were becoming accessible, rapid prototyping processes—once practical only for large companies—were being transformed into tools within reach of small enterprises, educational institutions and everyday makers. These machines accept a digital model, and, through additive or subtractive processes, produce a physical object. Expiration of key patents in the field, coupled with innovation from the DIY community and driven by the growing accessibility of microcontrollers (often key components of digital fabrication machines) made first sub-$1000 USD “hobbyist” 3D printers possible in the first decade of the 21st century. Now there is a vast and growing array of machines with widely varying capabilities and price points available, including small but capable plastic extrusion type (aka FDM, “Fused Deposition Modeling”) 3d printers for less than $200 USD and laser engraver/cutters for about twice that. 

These devices all require some degree of competency with 2D/3D computer-aided design or modeling software, and different types of machine will all have specific design constraints on form, orientation, maximum size, minimum feature size and other considerations. FDM type 3D printers require a preprocessing step with “slicing” software (which will have its own learning curve) to produce the gCode needed to drive the printer. Similarly, but generally less complex, laser cutters/engravers often require working with a specialized printer driver to specify speed and power settings.    

When the Arduino-style microcontrollers are paired with rapid prototyping / digital fabrication processes, the creation of objects that inhabit and create hybrid spaces are possible: objects which begin as data, are made physical, but continue to partake of both the physical and data worlds.


Basic Electronics

Attaching sensors and actuators to microcontrollers requires at least a smattering of electronics knowledge. Determining power requirements for a project, calculating the proper resistor value to add to avoid destroying an LED, and avoiding inductive loads coming back into a microcontroller from motors or solenoids are all common and important considerations. Safety, though, is the single most important aspect of electronics knowledge—safety first for the students, and anyone who might interact with their work, and, secondarily, for the hardware itself.

Teaching Approach
Lies and Ladders

If you came to this paper hoping for a sophisticated pedagogy, I am afraid you will be disappointed. Because of the scope of depth problem—that any of the three areas of microcontroller development, digital fabrication or electronics could be (and are in other disciplines) multi-semester courses on their own—a great deal of simplification is necessary: hence, my primary approach to instruction is probably best summed up by Terry Pratchett’s concept of useful Lies-to-childrenquoted in (Jeffrey and Corless 5).

In using this particular term, I in no way mean to impugn the intelligence of my students—only their experience. The idea being that you present a mental model of a concept that is actionable, even if not completely (or even partially) true. If you find the phrase problematic, you could conceivably call it a variant of Wittgenstein’s Ladder, but besides that being a strictly vertical metaphor, it may be worth noting that Wittgenstein himself eventually wrote “Anything that can be reached with a ladder does not interest me.” 

I prefer to think of the approach more in line with the 17thcentury inscription on a stone basin at the Ryoan-ji temple in Kyoto, 吾唯足知. Each character forms around and shares the central water-filled square, and the phrase is generally translated as “I know just enough.” Which is to say, I find it most helpful to simultaneously convey enough information to help a student solve a problem / get something done, but also to hint at the enormous complexities that same information glosses over (and quite possibly grossly misrepresents).

This approach is aided by narratives and analogies. When introducing variables in the early part of coding, for example, colored plastic buckets, whiteboard markers and sticky notes make useful stand-ins to introduce variable names, variable types, value assignment, incrementing, decrementing, etc. Likewise, a plumbing analogy for electronic components and terms may represent the exemplar of thread-bare lies-to-children, but works remarkably well as a memorable introduction to circuits, current, resistance, capacitance, etc.


Incremental Complexity

The course is structured as much as possible into small units, such that later units revisit and expand on the earlier ones. As an example, we use Rhino as the primary digital fabrication tool. Early parts of the class focus on creating output with the laser cutter using only the 2D functions of Rhino. An intermediate step is then to introduce the 3D functions of Rhino to virtually assemble and “dry-fit” 2D laser cut components on the screen, components that will then be cut and assembled into physical 3D forms after testing. Finally, the class returns to Rhino later as a full-fledged surface and solid modeler to create 3D STL files for 3D printing. 

Similarly, coding is approached first conceptually, then through visual drag-and-drop Make block programming and finally through traditional line-by-line coding in an Integrated Development Environment (IDE). More about this latter progression below.

At some point, some students may resist the degree of precision required either for coding or for the sort of 3D modeling meant to produce parts to specific dimensions. Others, particularly enthusiastic graduate students, may get in over their heads with their project goals. In both cases, dialogue about outcomes and expectations seems helpful.


Tools and Resources

Microcontrollers

There has been an explosion of form factors, processor types and programming approaches since the Arduino (and before that, BASIC Stamp) first made microcontrollers approachable by artists and designers over a decade ago. Several communities have coalesced around the more popular systems, some of which include extensive educational resources.

For the Designing for Hybrid Spaces course, I settled on the Circuit Playground Express made by Adafruit Industries. I chose this board because of its relatively low cost, inclusion of many sensors on the main board and the added versatility of being programmable in a number of languages/environments with a standard USB cable. 

The built-in sensors mean students can measure light, sound, touch, temperature, orientation and more immediately, without having to deal with attaching external sensors through breadboards or soldering. There are also ten addressable RGB LEDs and a small speaker, although the speaker is closer to a buzzer in terms of sound capability.

Perhaps the most compelling feature of this board is the ability to program it not only with a C-language subset (via the Arduino IDE), but also Circuit Python, Javascript and the visual Make Blocks environment from Microsoft. This last is especially significant, since it provides a visual coding environment that seems much more accessible (if less flexible in the long run) for graphically-oriented learners. Being able to program graphically, in a browser on virtually any machine, without downloads, drivers or other software installations was an enormous confidence-builder for new coders. Students could open a web browser, build their code, test it on the simulator and then upload that code to their microcontroller with no more effort than copying a file to a flash drive. This provided a far better experience this class over last class when we used the non-express version of the Circuit Playground (which only supports the standard Arduino IDE). 

Unfortunately, this capability also turned out to be the biggest flaw with the Circuit Playground Express, and something for potential instructors to consider. The manufacturer’s tweaking of the bootloader (the software that enables programming the microcontroller) to accept several different languages and environments, seems to have compromised the stability and reliability of that bootloader in the standard Arduino environment (at least in our local situation). This instability led to a great deal of frustration after transitioning to the line-by-line Arduino coding when the board’s serial port would suddenly “disappear” from the list of connections, and there was no particular ritual of un-plugging/re-plugging, exiting/restarting and rebooting/getting a snack that would guarantee the port’s reappearance. This frustration also emerged at the unfortunate time when many students’ initial confidence with coding via the Make Blocks was being dashed on the cruel rocks of the precision syntax demanded by the Arduino IDE.

For this and other reasons, many students, after cutting their teeth on the Playground Express, moved on to other microcontrollers for their main projects. These other boards included Arduino UNO boards, Teensy boards, Wemos D1 R2 boards (ESP8266 with baked-in WiFi) and other boards from the Adafruit Feather ecosystem. All of them fared better with the Arduino IDE. This leads me to think that in future iterations of Hybrid Spaces, unless the bootloader situation radically improves (which it may), the transition from Make Blocks to Arduino IDE should also be accompanied by a mandatory transition from the Circuit Playground Express to a different microcontroller board—one with a better track record for stability with the Arduino IDE.


Digital Fabrication

Students, particularly Visual Communication Design students with experience with vector editing software, seem to take quite readily to the laser cutter/engraver. The “dimensional promotion” aspect of making 2D parts that slot or bolt together to make 3D forms is usually only a small stretch. Modelling for 3D printing, however, is significantly more challenging. 

Most of our VCD students have had no significant 3D experience, and our Fine Arts students tend to favor Sculptris/Z-Brush style digital clay software, which has a much different type of interface compared to more geometric 3D modelling tools and is not conducive to modelling precision parts that must engage with real-world physical objects.

Rhino provides a strong 2D to 3D pathway with only a moderate learning curve, and is what we use in the class. The combination of Inkscape and Blender could provide and open-source alternative for departments with fewer resources (with the advantage of Blender also being capable of extremely high quality visualization renderings).

In terms of output, industrial grade laser cutters are still expensive and, worse, the least expensive tabletop “hobbyist” machines may come with a host of health and safety issues, especially in an educational environment. A possible alternative might be a paper/vinyl bladed cutter such as those made by Cricut; students would be much more limited in terms of materials (and won’t be able to engrave), but these devices do accept .SVG files, so all the conceptual aspects of a computer-controlled cutter would be in play. A note about laser engraving in general: it takes a great deal of machine time compared to vector cutting (even with intricate vector designs). I generally discourage laser engraving in the Hybrid Spaces class except for very limited applications.

Lower-end FDM 3D printers can be quite serviceable in a classroom, though they do require a significant amount of time to produce a piece; scheduling bottlenecks ahead of due dates may be an issue. Resin-based printers can be faster (and generally provide better detail in the finished piece), but the resins they use are messy, expensive, toxic and require conscientious clean-up.

Outsourcing to 3D printing service bureaus is also an option, though the cost per piece and long lead times are not conducive to an iterative process. 


Basic Electronics

It is useful to have a small library-in-a-box of electronic components, to be able show students different example of actual resistors, capacitors, diodes, LEDs, switches, buttons, etc. and at a higher functional level, a similar collection of discrete sensors for measuring light levels, light frequency, sound levels, air quality, fluid levels, heart rate, presence, distance or motion, etc. to demonstrate the myriad possibilities for environmental and human sensing is also beneficial.

Even though the Circuit Playground has many sensors and actuators already on-board, and external components can be added easily with alligator clips for testing, soldering will become necessary for most final projects. My experience is that one soldering station (with a few hand tools like “helping hands,” tweezers and flush cutters) is sufficient to serve about ten students. With lead-free solder and adequate ventilation, health and safety concerns are reduced to the possibility of minor burns and skin rashes and rare asthmatic reactions to burning rosin-based flux. 

Sparkfun.com and Adafruit.com each have a significant number of tutorials for both electronics and coding, and Adafruit.com also features projects with 3D printing.


Reflection

Besides a full-blown course covering embedded coding, digital fabrication and electronics, pieces of the curriculum could be peeled off and offered as workshops or integrated into a design studio.

Working with microcontrollers, especially ones with on-board sensors and the ability accept programming via blocks in the browser, could make a great deal of sense as a way to develop product prototypes, mock up and test physical interactions, explore micro lighting design, or monitor and analyze light, sound, occupancy, air quality, usage patterns or other aspects of a space over time.

With a handful of RGB LEDs, a breadboard, resistors, a battery and some wires, work with basic electronics could inform a workshop in additive color theory in an intuitive, hands-on way that could be extremely engaging. 

The purpose of the Designing for Hybrid Spaces is not to produce Internet of Things experts (or even super compelling projects). The goal instead is to expose art and design students to a range of tools, processes and experiences that will expand their expressive palette, their problem-solving toolbox or both. It is too early in our process at Herron to judge how well this goal is being met, but I will be watching our senior capstone projects over the next few iterations closely for signs.


Works Cited

Courtney, D. “Health hazards of soft soldering in the electronics industry.” Reviews on environmental health 5.1 (1985): 1-26.

Gakis, Dimitris. “Throwing away the ladder before climbing it.” From the ALWS archives: A selection of papers from the International Wittgenstein Symposia in Kirchberg am Wechsel. 2014. 

Jeffrey, D. J., and Robert M. Corless. “Teaching Linear Algebra with and to Computers.” (2001).

Pratchett, Terry, Ian Stewart, and Jack Sidney Cohen. The Science of Discworld: The Globe.  Vol. 2. Random House, 2003.

Severance, Charles. “Massimo banzi: Building Arduino.” Computer 47.1 (2014): 11-12.

Sterling, Bruce, et al. Shaping Things. MIT Press, 2005.