Wednesday, March 29, 2017

Zooids: Building Blocks for Swarm User Interfaces



 Zooids: Building Blocks for Swarm User Interfaces

Mathieu Le Goc, Lawrence H. Kim, Ali Parsaei, JeanDaniel Fekete, Pierre Dragicevic, Sean Follmer Inria, Stanford University, Université ParisSud, Université ParisSaclay
{mathieu.legoc, pierre.dragicevic, jeandaniel.fekete} @inria.fr
 {lawkim, aparsaei, sfollmer} @stanford.edu

ABSTRACT
This paper introduces swarm user interfaces, a new class of human computer interfaces comprised of many autonomous robots that handle both display and interaction. We describe the design of Zooids, an open source open hardware plat form for developing tabletop swarm interfaces. The platform consists of a collection of custom designed wheeled micro robots each 2.6 cm in diameter, a radio base station, a highspeed DLP structured light projector for optical tracking, and a software framework for application development and control. We illustrate the potential of tabletop swarm user interfaces through a set of application scenarios developed with Zooids, and discuss general design considerations unique to swarm user interfaces.

INTRODUCTION
This article contributes to bringing closer to reality the vision of Ivan Sutherland for the Ultimate Display as “a room within which the computer can control the existence of matter” [70], and Hiroshi Ishii’s vision of Radical Atoms where people can interact with “a new kind of matter capable of changing form dynamically” [26].

Several significant steps have been recently made towards Sutherland’s and Ishii’s visions, particularly through research on actuated tangibles [48, 50, 78] and shape displays [55, 56, 15]. However, current systems suffer from a number of limitations. First, actuated tabletop tangibles generally only support the manipulation and actuation of a few (e.g., 3–4) solid objects, which is not enough to emulate physical matter that can change form. On the other hand, shape displays try to achieve surfaces that can be deformed and actuated, but current implementations do not support arbitrary physical topologies. Furthermore, both types of systems traditionally use physical objects primarily as input, while output is almost always provided through separate pixel based display technology. Although video projected overlays allow input and output to spatially coincide [12], they provide only a limited sense of physicality [5]. Likewise, many such systems require heavy hardware or displays to function, and are thus primarily meant to be operated in sterile environments rather than embedded in our own physical world [24, 77].

Our research work fills this current gap in user interface technologies by introducing Zooids and swarm user interfaces (see figure 1). A Zooid is a hardware and software system: a small wheel propelled robot with position and touch sensing capabilities that can be freely arranged and repositioned on any horizontal surface, both through user manipulation and computer control.
A Zooid is defined in Wikipedia as “a single animal that is part of a colonial animal. Zooids are multicellular; their structure is like that of other solitary animals.” Zooids build on work from swarm robotics [10, 68], adding interaction and speed.  Swarm user interfaces are interfaces built   using collections of self-propelled physical objects (e.g., mini robots) that can move collectively and react to user input. Swarm user interfaces can be seen as a coarse-grained version of Sutherland’s and Ishii’s futuristic visions of user interfaces based on programmable matter.

Due to zooids’ ability to freely and quickly reconfigure themselves spatially, a collection of zooids can act as a display and can provide meaningful user output. Due to their ability to sense user actions, zooids can also support rich input. For example, users can either move zooids one by one, or manipulate many zooids at once using “sweeping” gestures [35]. Sophisticated interactive behaviors can be implemented on the application side, e.g., zooids can act as controls or as handles for manipulating other zooids; they can even move other light objects. At the same time, since all input and output can be mediated through the same physical elements, the system is able to achieve a complete fusion between input and output and provide a full experience of physical manipulation. Finally, the system is relatively lightweight and only requires the use of a compact DLP projector (122 mm 115 mm 48 mm) for optical tracking. Zooids can operate on any horizontal surface (e.g., a sheet of paper, a messy office desk, a dining table, or a game board), making it possible to blend swarm user interfaces with everyday physical environments. To stimulate future research on swarm user interfaces, we distribute our Zooids tabletop swarm user interface platform in opensource and open hardware.

In summary, our contributions are:
  •  A working definition for swarm user interfaces with several implemented examples,
  • The first opensource hardware/software platform for experimenting with tabletop swarm user interfaces,
  • A set of scenarios to illustrate the unprecedented possibilities offered by our system and by tabletop swarm user interfaces in general,
  •  A discussion of some general design principles and design challenges for swarm user interfaces.
Furthermore, as benefits, Zooids:

  •   can coexist in large numbers, in comparison to previous actuated tangible user interfaces,
  •  can act as individual objects, while being small enough to also act as “pixels” of a physical display,
  • can be manipulated either individually or collectively, including with physical tools such as rulers,
  • are lightweight, can operate on any horizontal surface, and relatively cost-effective: about 50 USD each now, down to $20 if mass manufactured.

BACKGROUND
Our work is related to several research areas, namely: tabletop tangible user interfaces, shape displays, swarm robotics and data physicalization.

Tabletop Tangible User Interfaces
Although tangible user interfaces (TUIs) come in many different forms (including modular assemblies of sensors and actuators [19, 40]), tabletop TUIs are particularly   common.

 Tabletop TUIs allow users to interact with digital information by moving physical objects (tangibles) on flat table sur faces [72, 73]. These systems have been used for a range of applications such as systems engineering control [51], musical composition [52], urban planning [74], and education [23]. One limitation with classical tabletop TUIs is the one-way mapping between digital and physical objects — if the former change, the latter can become inconsistent [26]. A number of technologies have been proposed to actuate tangibles, including 2D gantries [6, 38], arrays of electromagnets [48, 50, 78, 76], arrays of ultrasonic transducers [42], electrostatic attraction [80, 4], vibration [57, 81] and mobile robots [60, 30, 58, 47, 43, 53, 49]. These systems also support position tracking through a variety of means such as optical tracking with cameras of LEDs or markers (including those using an optical multitouch table), or projector based tracking. The tangibles range in size from coin sized [48] to 10 cm [53].

A variety of interaction techniques have been explored on actuated tabletop TUIs, primarily based on the direct manipulation of a single tangible per hand [48], or of small groups of tangibles through multitouch input [53]. Patten [50] explored the use of passive tools in conjunction with actuated tangibles for specifying computational constraints. Other researchers have added dimensions such as vertical displacement to actuated tangibles [43]. These active tangibles can provide haptic feedback while interacting, by applying force directly to the user’s hand as they translate along the surface [48, 41]. Actuated TUIs also provide opportunities for remote collaboration, as remote objects can be kept in sync [6, 58].

The design space of tabletop TUIs is vast, and a lot has been explored. However, previous systems have not considered interaction with many (e.g., 10, 30 or more) small actuated tangibles, which we show opens possibilities for novel inter actions and applications. Also, in many previous systems [48, 50, 60, 58, 47, 43, 53, 49, 81], tangibles are used in conjunction with a graphical display, so the tangibles primarily act as handles for digital information. We are interested in user interfaces where the tangibles are used not only as controllers, but also as representations of digital content.

Shape Displays and Programmable Matter
Shape displays are user interfaces involving physical surfaces or volumes that can sense user input and whose geometry can be computer controlled [56, 61]. Many such systems support discretized shape control of 2.5D surfaces using arrays of motorized bars [54, 39, 15], while other systems support continuous shape control using pneumatic or hydraulic actuation [14, 82] or shape memory alloys [61]. Currently, many of these systems require a heavy equipment and only allow limited control over physical geometry and topology. In particular, none of the previous systems can emulate separate, detached physical objects.

These research efforts are partly inspired by visions such as Sutherland’s and Ishii’s discussed before, where computers would be able to reconfigure physical matter to recreate any physical shape. Other fields such as robotics and material science have been interested in realizing this dream of “programmable matter”, but most of the progress so far has been purely theoretical [18, 64]. Working prototypes rely on swarm robotics, that we discuss next.

Swarm Robotics
Swarm robots draw from natural swarms, where social animals such as birds or ants can produce complex collective behavior by moving and interacting with each other according to simple rules. The largest robotic swarm implemented so far involves as many as 1,000 robots although they move slowly (about   1 cm/s vs. ~50 cm/s for Zooids) [63]. Our paper is inspired from past research in swarm robotics [10, 9], but while the area of swarm robotics has been mostly interested in how to emulate swarm behavior using distributed intelligence and fully autonomous agents, we focus on direct physical interaction with small swarm robots, HCI applications, and employ a centralized system to coordinate robots.

Researchers in robotics have started to develop methods for interacting with swarm robots, but most of them have only been tested on mouse operated computer simulations [29, 31]. Alonso Mora and colleagues investigated the use of swarm robots as physical displays [2] and recently extended their system to support interaction through sketching [21], handheld tablet input [20] and midair gestures [3]. Their systems share many features with Zooids, but our paper instead focuses on direct tangible manipulation of swarm robots and explores a wider range of application scenarios.

Recently, Rubens et al [62] described a midair 3D physical display system based on drones, with which users can inter act by directly manipulating drones. Despite their goal of ultimately converging towards a swarm user interface, each drone is rather large (8.9 cm) and the number of drones that can be simultaneously used is limited due to turbulence issues — their prototype currently consists of 3 drones. The Drone 100 [16] project involves a hundred drones called “spaxels”. Each is light equipped and can be positioned in three dimensions, resulting in a choreographed swarm capable of displaying dynamic images. However, the large operating volume prevents direct manipulation.

Data Physicalization
Based on research in cognitive science around embodied and distributed cognition, there has been recent interest in the information visualization field around physical data visualization [28, 25, 84]. Researchers have already shown that there can be benefits to passive physical representations of data to promote engagement [45], to better support data exploration [27], and for the vision impaired [36].
Less work has explored dynamic physical visualizations because they are more complex to build [28], but recent work has investigated the use of 2.5D shape displays for data exploration [71]. However, the range of visualization techniques that can be supported with 2.5D shape displays is limited. Swarm interfaces provide a promising platform to physicalize many traditional 2D information visualizations, as well as newer interactive data visualizations [83, 44].

Swarm User Interfaces
We propose to refer to swarm user interfaces (swarm UIs) as:
“human computer interfaces made of independent self-propelled elements that move collectively and react to user input”.

Independent: the user interface elements need to be physically detached from each other and free to move. Counter examples include graphical elements on a computer display, which are all part of a single physical object. Articulated models, 2.5D shape displays [15] and physical control panels such as mixing consoles also do not qualify, since the moving parts and controls are attached and not free to move.

Self-propelled: the elements need to be able to move without external forces. Counterexamples include passive physical tokens [25, 34].

Move collectively: by definition, swarming behavior involves collective motion. Thus, the elements need to be able to move in a coordinated fashion, either by exchanging information with each other or with a centralized coordinator. In addition, the more elements a user interface contains, the more their motion can be qualified as collective, and thus the more "swarm like" the interface is.

React to user input: the elements need to sense user input and react to this input. Thus, most swarm robotics systems are not swarm user interfaces, because they lack the user interaction element. A swarm display that is interactive but only takes user input from external sources — e.g., a mouse or a keyboard — is not a swarm user interface either according to our definition, because the elements themselves need to be able to react to user input. Systems that use computer vision to detect midair gestures such as Display Swarm [3] are in   a gray area. For smooth interaction, speed of the system is critical: the elements of a swarm UI need to be fast enough for shape change to occur at a usable rate. The ideal transition time is in the order of one second, because this is about the limit where a system is perceived as interactive [46], and it is also the recommended duration for animated transitions on regular graphical displays [22].

The systems that come closest to swarm user interfaces according to our definition are self-propelled tangibles [60, 30, 58, 47, 43, 53, 49] and Bit Drones [62], because they are made of independent self-propelled elements that can move in a coordinated fashion and can be directly manipulated. However, these systems involve few elements (i.e., around 45), and are thus at best low fidelity prototypes of actual swarm user interfaces. While many such systems could have involved more units, a small form factor (e.g., zooids are more than 3 smaller than Rosenfeld’s [60] robots) enables different types of interactions. Users can manipulate many zooids at once, while several dozens of larger robots may not even fit on a regular table. Moreover, previous work does not discuss or demonstrate swarm user interfaces, which are our focus.

In principle, swarm user interfaces could take many forms and could be implemented in many different ways. For example, a swarm UI can consist of free-floating particles [66] or drones [62] that are free to move in 3D space, or can consist of objects that evolve on a 2D surface [48]. In this article, we focus on elements that move on a 2D surface, i.e., tabletop swarm user interfaces. Next, we discuss our implementation of zooids, then illustrate the possibilities offered by tabletop swarm interfaces through examples implemented using zooids.

SWARM UI EXAMPLES WITH ZOOIDS
In this section, we illustrate and discuss possibilities Zooids offer through simple use cases and scenarios, before explaining their hardware and software design. Most examples can also be seen in the accompanying video. as control points. Figure 3 shows the example of a circle tool, where two control points are used to define the circle’s diameter, and idle zooids are automatically positioned to complete the circular shape. Zooids are also automatically added or removed depending on how many of them are necessary to construct the shape. Another zooid at the bottom of the table (not shown) allows users to switch between shapes.

Bézier Curves
In traditional vector drawing editing tools, Bézier curves allow for accurate shaping using discrete control points. We developed a physical curve editing tool where a collection of zooids are positioned to represent a curve. While shaping using the previously introduced drawing tool requires to manipulate many zooids at once, this tool uses specific zooids as control points to adjust the curvature represented by the collection. Each control point consists of two zooids, where one sets the anchor point and the other adjusts the tangent.

It is important to note that although GUIs currently support far higher information resolution, Zooids enable richer physical gestures. We believe that technology advances will allow higher resolution of swarm UIs in the future.

Inspired from vector graphics authoring tools, we have implemented a swarm version of a freehand drawing tool, shown in Figure 2: initially, the freehand drawing zooid stands in the center of the working surface, while unassigned zooids wait at the top, in an idle state (Figure 2 0 1). When the user drags the freehand drawing zooid, the previously idle zooids move to the path of the drawing zooid to form a physical trail (Figure 2 0 2 and 0 3). When the system runs out of idle zooids, the trail follows the freehand drawing tool like a snake. The curve can also be deformed by dragging its constituent zooids individually (Figure 2 0 4), or by moving many of them simultaneously, e.g., by pushing them with the side of the arm.

Shapes
We also experimented with tools for drawing lines, rectangles and circles, based on the standard rubber band technique from desktop applications. Each of these tools employs two zooids

Time Series Navigation
We used zooids to visualize and navigate in time series data. The physical interface illustrated in Figure 4 0 1 shows with a line chart the evolution of CPU usage on a computer. Decorations such as axes and labels are static (e.g., printed on paper), while the data visualization itself is dynamic and continuously updated – the line chart appears to move to the left as new data arrives. At the bottom of the interface, zooids take on the role of widgets to let users customize the display and navigate the data. The two zooids at the bottom right specify the time range to visualize – they act like the two thumbs of a range slider [1]. If the user moves the left thumb to the left (see Figure 4 0 2), the line chart stretches to show a wider time range. Moving both zooids to the left scrolls in the past. Finally, another zooid (see center of Figure 4 0 1) lets users switch the visualization between CPU usage and memory usage.

Multiple Scatterplots
Scatterplots are one of the most common way to visualize data points. Looking more specifically at multivariate data, the ability to represent multiple dimensions at the same time is particularly relevant to better understand the data, identify trends and isolate clusters. Our scatterplot physicalization tool allows for multiple juxtaposed representations of a dataset, each representing a unique couple of dimensions. One representation can help identify a group of points.  The user can then pick up these zooid, and place in another scatterplot. As each zooid embodies a specific data point, moving it into a different chart allows users to probe different dimensions. In addition, the users can place the zooid on an active graphical display, such as a mobile phone or tablet, to find out additional parameters and information about that data point.

Stop Motion Swarm Animation
Inspired by traditional stop motion animation tools, we implemented a tool enabling users to author physical animations. The user positions each zooid to form the desired layout. Moving the timeline zooid, a step forward saves the current layout as a key frame. Once the desired layouts have been recorded, toggling the second control zooid switches the mode to play back and plays consecutively the different keyframes.

IntheWild Scenarios
Although we have not implemented specific applications, we have begun to experiment with inthewild scenarios, in which zooids could be embedded with real-world environments. For example, they could be placed on a user’s working desk to act as ambient displays (e.g., to show progress in downloads), extra controls, or as notification devices (e.g., they could hit a metallic or glass object when an important event starts or to remind you to drink water). Enough zooids can even move objects such as smartphones.

ZOOIDS HARDWARE AND SOFTWARE DESIGN
Elaborating from the examples of uses of zooids just presented, this section explains their hardware and software design.

Hardware
Robot Design,  PCB,  Battery, Motor Holder,  Motors & Wheels, Touch Sensor Enclosure Caster wheels

 Zooids are small custom-made robots as shown in Figure 5; their dimensions are 26 mm in diameter, 21 mm in height and they weight about 12 g. Each robot is powered by a 100 mAh LiPo battery and uses motor driven wheels. The motors are placed non-colinearly to minimize the diameter. Even though the motors do not rotate around the same axis, the robot has the same net force and moment as would a robot with collinear motors. To drive the robot, a motor driver chip (Allegro A3901) and two micro motors (FAGM63V25) are used. With this combination, the robot has a maximum speed of approximately 74 cm/s. However, for controllability and smoothness of the motion, the robots move at a slower average speed of 44 cm/s for our applications.

 A flexible electrode is wrapped inside the 3D printed enclosure to provide capacitive touch sensing capabilities. An integrated capacitive touch sensing circuit is included (Atmel AT42QT1070) to detect user’s touch.

Embedded custom electronics, shown in the PCB layer of Figure 5, allows for robot control. A 48MHz ARM micro controller (STMicroelectronics STM32F051C8) manages the overall logic computation and communicates wirelessly with the main master computer using a 2.4GHz radio chip (Nordic nRF24L01+). As part of the projector based tracking system (explained in the next section), two photodiodes are placed at the top of the robot. Placed between the photodiodes, a color LED is used for robot identification and feedback.

Most of the power in the robots are consumed by (in order) the motors, radio module, microcontroller, and LED. When stationary, each robot consumes approximately 40 mA and 100 mA when moving. Thus, with a 100 mAh battery, robots are capable of moving for one hour, and can work even longer under normal usage.

Radio Communication
Each robot communicates with the radio receiver using the NRF24L01+ chip. Using a teensy 3.1 microcontroller as the master and Arduino Pro mini as the slave, we tested the total communication times for different numbers of slaves per master and packet sizes. From the experiment, we found that the total time is linearly dependent of both packet size and number of slaves, and that we could have up to 18 slaves per master for a packet size of 12 bytes. Zooids uses 10 slaves per master for a safety factor of about 2.

Projector based Tracking System
A projector based tracking system similar to Lee [37] is used for robot position tracking. As opposed to camera based systems, our projector based tracking system does not add any latency from networking for the local feedback control on each robot, making position control more stable. Our system setup is demonstrated in Figure 6. Using a high framerate (3000 Hz) projector (DLP Light Crafter) from Texas Instruments Inc., a sequence of gray coded patterns are projected onto a flat surface. Then, the photodiodes on the robot independently decodes the gray code into a location within the projected area, and sends its position and orientation to the master computer. Due to the number of the patterns, the position refresh rate is approximately 73 Hz (1/ (41 images per pattern 1/3000)). Due to the diamond pixels of the projector, the horizontal and vertical resolutions slightly differ. In the current setup in which the projector is placed 1.25 m above the table producing a 1 m 0.63 m projection area, the horizontal and vertical resolutions are 1.15 mm and 1.12 mm, respectively.

Calibration
Due to the discrepancies of the hardware, all robots do not exactly behave in the same manner and thus calibration for crucial elements is needed.

Minimum Speed Duty Cycle Each robot has a minimum speed or Pulse Width Modulation (PWM) duty cycle that is needed to overcome the static friction between the wheels and the ground surface. While the robots have similar mini mum duty cycle, they do not behave identically. Thus, during a startup phase, each robot goes through an initialization and calibration process to find their own parameters. This is achieved by incrementing the PWM duty cycle until it achieves moving the robot by 5 mm in 100 Ms. Preferred Speed Duty Cycle For most of their active time, robots move at their preferred speed. Similar to the minimum speed, there is a need for calibrating the preferred speed duty cycle. This is achieved again incrementing the PWM duty cycle until it moves at the nominal preferred speed of 44 cm/s.

Gain between Motors As each robot behaves differently, the motors within the robot also behave differently and thus, a calibration between the motors is needed. The calibration process is as follows: record the initial orientation, let the robot move for 0.5 s, compare the final and initial orientation and either increase or decrease the motor gain accordingly. This process is repeated until the initial and final orientations are less than 5 degrees apart.

Software
As shown in Figure 6, the communication structure consists of four main layers from highest to lowest level: Application, Simulation, Server, and Hardware.

At the application level, the desired positions of the robots are computed.  These desired positions are transmitted to   the simulation layer through a network socket. The application programmer can choose between two control strategies: Proportional Integral Derivative (PID) position control or Hybrid Reciprocal Velocity Obstacles (HRVO) combined with PID (these options are explained in the next paragraphs). Based on the chosen control strategy, the simulation layer computes the goal positions of the robots, either final positions for PID or intermediate points for HRVO, and sends them to the server. Finally, the server layer dispatches commands to the individual zooids, while at the same time monitoring their status and position.

The control procedure for our system consists of three steps:
             Hungarian goal assignment (optional)
             HRVO global control strategy (optional)
             PID position control.

 Before any movement, each robot first needs to be assigned its final position. The final positions may be specific for each robot or they can be dynamically assigned to move in a more efficient manner. The Hungarian algorithm [32], a well-known optimization method for one-to-one task agent problems, can be used to assign the goal positions to robots in an optimal fashion. The cost function to be optimized is the summation of the squared distances from the initial to the final positions.
After the goal assignment step, robots need to move toward their goals, while minimizing possible collisions with each other robot. We chose to use the HRVO control strategy [67, 68] due to its fast-real-time path planning capabilities. With HRVO, a robot moves at the user defined preferred speed unless it detects possible collisions. In that case, it uses the notion of velocity obstacle, i.e., the set of all robot velocities that will result in a collision with another robot. While HRVO does not guarantee collision free, oscillation free control, it reduces the number of collisions dramatically compared to other velocity obstacle strategies while providing real-time updates, essential to natural and smooth user interactions. To implement HRVO, we used a slightly modified version of the HRVO library created by Snape et al. [67, 68].

With the HRVO control strategy, we can derive the incremental goal positions along a path for each robot. These positions are sequentially sent to each robot which independently controls its motion through a PID controller based on the state machine shown in Figure 7. Given a final goal, the robot initially turns itself in the right direction and, once aligned, accelerates to its user defined preferred speed. When it reaches the speed, it maintains it with a PID control on the orientation to ensure its direction towards the final goal. When a new incremental goal is given, it will still move at same speed but the PID control on orientation will direct the robot towards the new intermediate goal. When the robot arrives within 5 cm of the final goal, it slows down to its minimum velocity and once within 1 cm of the final goal, it stops and orients itself as commanded by the application programmer. To enable smooth transitions between the incremental goal positions, robots are given their next position at 60 Hz.

Display
Stuff vs. Things
Homogeneous vs. Heterogeneous
Animation
 Interaction
Single (1:1)
Handles (1: many)
Groups (many: many)
Environment
In the Wild
Paper Templates

On Displays resolution (semi graphics from the Sinclair ZX81 and Tandy TRS80 were 64 48 pixels), thus pixels were discernible particles much like the zooids in our previous examples (see Figure 10). Now with ultrahigh resolution displays pixels became practically invisible, i.e., they became atoms. There are however major conceptual differences between pixel based

SWARM UIS: DESIGN PRINCIPLES AND CHALLENGES
Swarm UIs radically change the way we think of user inter faces, not only from an end user’s perspective but also from an application designer’s perspective. We discuss new concepts, and highlight the major differences here.

Figure 8 gives an overview of the design space of Swarm Interfaces. They can be organized into an interaction aspect (interacting with one zooid, controlling many with one zooid, or with groups), a display aspect, and an environment aspect (operating in a neutral area, in a crowded desk populated with external objects, over a static background layer, or over a dynamic display). We expand on some of these aspects below.

Display: Fixed vs. Movable Elements
We are used to program graphics on computer displays where the elements (pixels) are arranged on a regular grid, and only their color is controlled. Although elements of swarm UIs can also have different colors (in our system, each zooid embeds a color LED), a major difference is that they can be positioned freely. Even at equal resolution between the two systems, the way elements can be combined into shapes is very different (see Figure 11). In general, free positioning allows finer shape control than simply turning pixels on and off. At the same time, this extra flexibility comes at the cost of slower response time and higher engineering complexity, with algorithmic problems such as collision avoidance and optimal element objects  particles atoms

Designing swarm UIs requires thinking both in terms of “things” and of “stuff”. In our previous examples, a zooid can stand for an individual object (e.g., a widget) or be part of a larger collection of objects (e.g., a circle). Figure 9 illustrates the continuum between these two paradigms: things are physical entities experienced as individual, solid objects; Stuff consist in physical entities experienced as shapes and material that can be reshaped, divided, merged, or temporarily solidified to emulate things. The elements making up stuff can be large enough to be visible (particles) or too small to be visible (atoms). Typical TUIs are located to the left of the continuum — they are made of things. In contrast, Swarm UIs occupy the right half of the continuum. As a low-resolution swarm UI implementation, zooids stand in the gray area of the continuum and have both the affordance of things and stuff.

The thing stuff continuum also applies to traditional graphical displays. Many computer displays from the 80’s were very low target assignment. In addition, with systems with few elements such as zooids, designers need to think carefully about how to use every zooid optimally, the same way designers from the 80’s had to think carefully about how to best use every pixel. It will become less of a concern as the resolution of swarm UIs increases, but on the other hand, engineering and algorithmic challenges will likely become harder. In addition, as shown in Figure 8, the display elements may be homogeneous, as with zooids, or heterogeneous.

Display: Fixed vs. Variable Numbers of Elements
On regular graphical displays the total number of pixels is generally fixed, and the illusion of having content on the screen is achieved by simply manipulating pixel color (e.g., having dark pixels on a white background). In contrast, many swarm applications (e.g., our drawing application) require the number of elements to actually change over time. Zooids cannot be created or destroyed, but as we saw, unassigned zooids can be placed in a dedicated region and moved to the working area whenever they are needed. This type of object persistence contributes to realism and can help users remain oriented across view changes [7]. As a result, object persistence is often implemented as a metaphor in mod ern GUIs (e.g., [44]). Swarm UIs support these metaphors natively, and they force designers to think about how to animate appearance and disappearance [7]. However, when true appearance and disappearance are needed, swarm UIs may be impractical and the motions produced by elements constantly arriving and departing can be distracting to end users.

Display: Elements with an Identity vs. Interchangeable Elements
One important distinction to be made is between swarm UI elements that have a fixed identity, and elements that are in exchangeable. In general, elements used as “things” have a fixed identity, whereas elements making up “stuff” are inter changeable. For example, in our shape drawing application, the zooids that make up a circle or a line do not have an identity of their own and could be freely swapped. As explained in the implementation section, this makes it possible to optimize the swarm interface so that the motion of zooids remains minimal even during complex transitions. At the same time, swapping a widget (e.g., one of the handles) with another zooid is not desirable, as this might be disorienting to a user, especially if she was about to grasp it. Similarly, in systems where each zooid has a stable meaning (e.g., a visualization system where a zooid represents a data point), swapping zooids can produce confusing or misleading animations. Therefore, the designer of a swarm UI should think carefully about which elements are interchangeable, and which elements should be given a fixed identity. Finally, elements that are manipulated should never be reassigned, which is ensured automatically in our current Zooid implementation.

Interaction: Element Manipulation
Regular graphical displays do not allow pixels to be physically manipulated. Although direct touch displays give a decent illusion of direct manipulation, the subjective experience and the level of expressiveness fall short of true physical object manipulation [75]. In contrast, zooids can be grasped and directly manipulated, allowing to tap into the richness of hu man hands [34]. For example, in our swarm drawing scenario, users can not only manipulate curves using surrogates such as control points, they can also shape the curves directly. Our system explicitly supports such interactions by registering when a zooid is touched and by constantly updating its goal based on its position. Generally, swarm UI designers should not only focus on the design of “synthetic” interactions, but also consider what is possible in terms of purely physical interactions [28]. Due to their form factor, zooids can be manipulated both as collections of objects (stuff), and as individual objects (things). As swarm UI elements get smaller though, affordances will change dramatically. For example, grains of rice can be manipulated individually, but rice better affords being manipulated as “stuff”. While object manipulation is supported natively in systems with large enough elements like ours, future swarm UIs will need to be able to coalesce multiple elements into solid objects to be able to support similar manipulations.

Interaction: Differing Roles of Elements
Different swarm UI elements can be given different roles. For example, in our time series visualization application, the top zooids are used for display purposes only, while the bottom ones are used as controllers. On the drawing application, in contrast, zooids are used both for input and output, although different zooids interpret input differently. For example, in our rectangle drawing tool, moving the two control points re shapes the rectangle, while moving any other zooid translates it. Giving different roles to different swarm UI elements al lows for more design flexibility, but it also poses the problem of how to convey affordances. In our example applications, we assign different LED colors to different functions, but the color mappings are arbitrary and this approach assumes a user who is already familiar with the system. Better affordances could be conveyed by giving different zooids different shapes, consistent with the tradition of TUI design [13]. These different shapes could be clippable, or alternatively, zooids could change their shape dynamically. For a high-resolution swarm UI however, a more natural approach would consist of producing objects of different shapes by assembling many particles or atoms together, as we discussed previously.

Environment: Extra Visual Feedback
Although the drawing application we illustrated is a pure swarm UI, in practice many coarse-grained swarm UIs would need the display of extra visual information (such as text) to be really usable. We illustrated two ways of doing this: one can craft a support surface that contains all the necessary annotations, provided these are stable over time (as in, e.g., board games). When annotations need to change over time, zooids can be placed on a regular graphical display, or alternatively, top projection can be used if optical tracking is in the IR spectrum. Despite the current need for extra display hardware, zooids can convey more visual information on their own than traditional TUIs that only involve a few tangibles as controllers and typically convey most visual information through additional graphical overlays. One can imagine that future swarm UIs will be high resolution enough to be able to act as displays of their own, thereby eliminating the need for virtual information overlays that suffer from many problems such as (for top projection) occlusion, difficulty of calibration, and difficulty of projecting on shiny or dark surfaces [17].

LIMITATIONS AND FUTURE WORK
There are a number of technical limitations with the Zooids system that limit its capabilities and performance as a swarm user interface. These range from the scale and speed of the device to the cost.

One significant limitation is that our robots have a non-holonomic drive, meaning that they cannot move freely in two-dimensional space and instead must turn to a specific heading like a car. Having a holonomic system with an omni direction drive would allow the robots to move more smoothly and more easily respond to user interaction. Unlike the case of using robots as displays, where movement paths can be precomputed [63], our interactive systems may not be able to find a simple or comprehensible path, especially when the movements are over small distances.

 Currently, our sensing of input is limited to capacitive touch input on each robot around its circumference. When inter acting with many zooids at once, not all touch sensors will be activated, only the ones directly touching a user’s hand. Sensor fusion techniques could be used to identify and match the motion between two or more robots that are being moved in unison. This would allow for richer interaction techniques leveraging the direct manipulation of many robots at once.

Another technical limitation of our system is its use of an external projector for tracking. This requirement adds cost and requires additional hardware and set up to use the system, impeding the scalability of zooids. In addition, like all optical tracking systems, our system is limited by occlusions which may often happen when interacting with the system. Finally, our projector and photodiodes operate in the optical light spectrum, making it hard to use with too much ambient light (this could be improved some with the use of an IR projector and Photodiodes). A number of different approaches could improve our tracking. Using rotating IR laser line beacons, similar to Valve’s Vive Lighthouse tracker (http://www.htcvive.com) could significantly reduce the cost, and having multiple beacons could solve some occlusion problems. However, we see enormous potential in wireless tracking, which could reduce setup to adding a small number of fixed beacons (anchors) for localization with received radio sig nal strength. Alternatively, future work on improving dead reckoning location techniques with sensor fusion between wheel encoders and IMUs, coupled with either IR or RSSI anchor free localization between elements, could reduce the need for external tracking completely. We believe that advances in technology will benefit swarm UIs, allowing for more ubiquitous installations.

Power and charging management of many robots presents many challenges. Currently, our system relies on individual chargers in which each robot must be placed manually. An automated system, potentially with integrated wireless charging coils in each robot could allow robots to charge autonomously when needed by returning to a charging base station.

The scale and number of elements in our current system limits the type of interaction and applications that can be created — smaller and more elements may allow for radically different and richer styles of interaction with “stuff” instead of “things”. In order to achieve smaller elements, we will need to move away from geared DC motors with wheels for locomotion to other actuation, such as piezo actuators. Other microrobots have been developed which utilize compliant linkages with piezo actuation to create locomotion similar to that of small insects at much smaller scales [65], however power electronics at this scale remain challenging [69]. Another contributing factor which limits the number of robots is cost. Our current robot design at small scales of production is around $50 USD per robot in cost for parts and assembly. This makes swarms larger than 3040 cost prohibitive outside of research applications. With further design for manufacturing at larger scales, the price per robot could be reduced, but other fabrication techniques such as printable and foldable robots [11] may ultimately enable much cheaper swarm interface systems.

 Another large limitation is the interaction area, as well as the type of surfaces on which the elements can move. Since zooids’ movement relies on a set of small rubber wheels, our system can only work for relatively flat surfaces with a minimal amount of traction. This limits our system to 2D interactions. Obviously, work on swarms of aerial drones [33] present opportunities to make fully 3D interfaces. However, we see great opportunity in further exploration of ground based swarm interfaces that may be able to reconfigure into 2.5D or even 3D displays. Taking inspiration from ants and other insects, they could form complex shapes by interweaving and connecting, or even rolling on top of each other [8, 59]. We also see great potential for different classes of robots which could help construct more 3D shapes, such as a ramp robot, or other passive building blocks that could allow swarm interfaces to form more complex structures similar to recent work in swarm robotics [79].

Finally, we want to explore more application domains; now that we have created a scalable platform we can explore and quickly prototype. We believe information visualization is an exciting area, especially for creating engagement and for educational domains. It is also important to better understand the benefits and drawbacks of swarm user interfaces compared to traditional GUIs. For this purpose, conducting user studies will identify favorable conditions for the use of swarm user interfaces. We hope that our open source platform with also encourage other researchers, designers, and educators to explore a range of applications, and will enable further evaluation and study of tangible interaction principles.

CONCLUSION
We introduced swarm user interfaces, a new class of user interfaces made of “independent self-propelled elements that move collectively and react to user input”.  We described the technical implementation of Zooids, a novel opensource platform for building swarm user interfaces, and illustrated its possibilities through concrete examples. We hope that this article and the Zooids platform will spur more research in swarm user interfaces, and bring us closer to Sutherland and Ishii’s visions of the ultimate user interface that is able to fully combine human capabilities for physical manipulation with the power of computing.

All necessary material and documentation for implementing Zooids can be found at
https://github.com/PhysicalInteractionLab/SwarmUI/.

ACKNOWLEDGMENTS
This work was partially funded by the Région Ile de France, DIM ISCPIF. We would also like to thank Alexa Siu, Shenli Yuan, Ernesto Ramirez and Pham Minh Hieu for investing so much time and efforts.

REFERENCES
1.            Ahlberg, C., Williamson, C., and Shneiderman, B. Dynamic queries for information exploration: An implementation and evaluation. In Proceedings of the SIGCHI conference on Human factors in computing systems, ACM (1992), 619–626.
2.            AlonsoMora, J., Breitenmoser, A., Rufli, M., Siegwart, R., and Beardsley, P. Multirobot system for artistic pattern formation. In Robotics and Automation (ICRA), 2011 IEEE International Conference on, IEEE (2011), 4512–4517.
3.            AlonsoMora, J., Lohaus, S. H., Leemann, P., Siegwart, R., and Beardsley, P. Gesture based human multirobot swarm interaction and its application to an interactive display. In 2015 IEEE International Conference on Robotics and Automation (ICRA), IEEE (2015), 5948–5953.
4.            Amano, K., and Yamamoto, A. Tangible interactions on a flat panel display using actuated paper sheets. In Proceedings of the 2012 ACM international conference on Interactive tabletops and surfaces, ACM (2012), 351–354.
5.            Bennett, E., and Stevens, B. The effect that touching a projection augmented model has on object presence. In Information Visualization, 2005. Proceedings. Ninth International Conference on, IEEE (2005), 790–795.
6.            Brave, S., Ishii, H., and Dahley, A. Tangible interfaces for remote collaboration and communication. In Proceedings of the 1998 ACM conference on Computer supported cooperative work, ACM (1998), 169–178.
7.            Chang, B.W., and Ungar, D. Animation: from cartoons to the user interface.
8.            Cucu, L., Rubenstein, M., and Nagpal, R. Towards
self-assembled structures with mobile climbing robots. In Robotics and Automation (ICRA), 2015 IEEE International Conference on, IEEE (2015), 1955–1961.
9.            Ducatelle, F., Di Caro, G., Pinciroli, C., and Gambardella, L. Self-organized cooperation between robotic swarms. Swarm Intelligence Journal 5, 2 (2011), 73–96.
10.          Dudek, G., Jenkin, M., Milios, E., and Wilkes, D. A taxonomy for swarm robots. In Intelligent Robots and Systems’ 93, IROS’93. Proceedings of the 1993 IEEE/RSJ International Conference on, vol. 1, IEEE (1993), 441–447.
11.          Felton, S. M., Tolley, M. T., Onal, C. D., Rus, D., and Wood, R. J. Robot self-assembly by folding: A printed inchworm robot. In Robotics and Automation (ICRA), 2013 IEEE International Conference on, IEEE (2013), 277–282.
12.          Fishkin, K. P. A taxonomy for and analysis of tangible interfaces. Personal Ubiquitous Comput. 8 (September 2004), 347–358.
13.          Fitzmaurice, G. W., and Buxton, W. An empirical evaluation of graspable user interfaces: towards specialized, space multiplexed input. In Proc. CHI 1997, 43–50.
14.          Follmer, S., Leithinger, D., Olwal, A., Cheng, N., and Ishii, H. Jamming User Interfaces: Programmable Particle Stiffness and Sensing for Malleable and Shape Changing Devices. In ACM Symposium on User Interface Software and Technology (2012), 519–528.
15.          Follmer, S., Leithinger, D., Olwal, A., Hogge, A., and Ishii, H. inform: Dynamic physical affordances and constraints through shape and object actuation. In Proceedings of the 26th Annual ACM Symposium on User Interface Software and Technology, UIST ’13, ACM (New York, NY, USA, 2013), 417–426.
16.          Futurelab, A. E. Drone 100 – the world record for intel 2015. http://tinyurl.com/drone100, 2016.
17.          Gervais, R. Interaction and introspection with tangible augmented objects. Phd dissertation, Université de Bordeaux, Dec. 2015.
18.          Goldstein, S. C., Campbell, J. D., and Mowry, T. C. Programmable matter. Computer 38, 6 (2005), 99–101.
19.          Greenberg, S., and Fitchett, C. Phidgets: easy development of physical interfaces through physical widgets. In Proceedings of the 14th annual ACM symposium on User interface software and technology, ACM (2001), 209–218.
20.          Grieder, R., AlonsoMora, J., Bloechlinger, C., Siegwart, R., and Beardsley, P. Multirobot control and interaction with a handheld tablet. In Workshop Proc. Int. Conf. Robotics and Automation, vol. 131, Citeseer (2014).
21.          Hauri, S., AlonsoMora, J., Breitenmoser, A., Siegwart, R., and Beardsley, P. Multirobot formation control via a real-time drawing interface. In Field and Service Robotics, Springer (2014), 175–189.
22.          Heer, J., and Robertson, G. G. Animated transitions in statistical data graphics. Visualization and Computer Graphics, IEEE Transactions on 13, 6 (2007), 1240–1247.
23.          Horn, M. S., Solovey, E. T., Crouser, R. J., and Jacob,
R. J. Comparing the use of tangible and graphical programming languages for informal science education. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’09, 975–984.
24.          Hornecker, E., and Buur, J. Getting a grip on tangible interaction: a framework on physical space and social interaction. In Proceedings of the SIGCHI conference on Human Factors in computing systems, ACM (2006), 437–446.
25.          Huron, S., Jansen, Y., and Carpendale, S. Constructing visual representations: Investigating the use of tangible tokens. Visualization and Computer Graphics, IEEE Transactions on 20, 12 (2014), 2102–2111.
26.          Ishii, H., Lakatos, D., Bonanni, L., and Labrune, J.B. Radical atoms: beyond tangible bits, toward transformable materials. interactions 19, 1 (Jan. 2012), 38–51.
27.          Jansen, Y., Dragicevic, P., and Fekete, J.D. Evaluating the efficiency of physical visualizations. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ACM (2013), 2593–2602.
28.          Jansen, Y., Dragicevic, P., Isenberg, P., Alexander, J., Karnik, A., Kildal, J., Subramanian, S., and Hornbæk, K. Opportunities and challenges for data physicalization. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, ACM (2015), 3227–3236.
29.          Kira, Z., and Potter, M. A. Exerting human control over decentralized robot swarms. In Autonomous Robots and Agents, 2009. ICARA 2009. 4th International Conference on, IEEE (2009), 566–571.
30.          Kojima, M., Sugimoto, M., Nakaruma, A., Tomita, M., Inami, M., and Nii, H. Augmented coliseum: An augmented game environment with small vehicles. Horizontal Interactive Human Computer Systems, International Workshop on 0 (2006), 3–8.
31.          Kolling, A., Nunnally, S., and Lewis, M. Towards human control of robot swarms. In Proceedings of the seventh annual ACM/IEEE international conference on human robot interaction, ACM (2012), 89–96.
32.          Kuhn, H. W. The Hungarian method for the assignment problem. Naval research logistics quarterly 2, 12 (1955), 83–97.
33.          Kushleyev, A., Mellinger, D., Powers, C., and Kumar, V. Towards a swarm of agile micro quadrotors. Autonomous Robots 35, 4 (2013), 287–300.
34.          Le Goc, M., Dragicevic, P., Huron, S., Boy, J., and Fekete, J.D. Smarttokens: Embedding motion and grip sensing in small tangible objects. In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology, ACM (2015), 357–362.
35.          Le Goc, M., Dragicevic, P., Huron, S., Boy, J., and Fekete, J.D. A better grasp on pictures under glass: Comparing touch and tangible object manipulation using physical proxies. In Proceedings of the International Working Conference on Advanced Visual Interfaces, ACM (2016), 76–83.
36.          Lederman, S. J., and Campbell, J. I. Tangible graphs for the blind. Human Factors: The Journal of the Human Factors and Ergonomics Society 24, 1 (1982), 85–100.
37.          Lee, J. C., Hudson, S. E., Summet, J. W., and Dietz, P. H. Moveable interactive projected displays using projector based tracking. In Proceedings of the 18th annual ACM symposium on User interface software and technology, ACM (2005), 63–72.
38.          Lee, N., Kim, J., Lee, J., Shin, M., and Lee, W. Molebot: mole in a table. In ACM SIGGRAPH 2011 Emerging Technologies, ACM (2011), 9.
39.          Leithinger, D., and Ishii, H. Relief: a scalable actuated shape display. In Proceedings of the fourth international conference on Tangible, embedded, and embodied interaction, ACM (2010), 221–222.
40.          Lifton, J., Broxton, M., and Paradiso, J. A. Experiences and directions in pushpin computing. In IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005., IEEE (2005), 416–421.
41.          Marquardt, N., Nacenta, M. A., Young, J. E., Carpendale, S., Greenberg, S., and Sharlin, E. The haptic tabletop puck: tactile feedback for interactive tabletops. In Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces, ACM (2009), 85–92.
42.          Marshall, M., Carter, T., Alexander, J., and Subramanian,
S. Ultratangibles: creating movable tangible objects on interactive tables. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ACM (2012), 2185–2188.
43.          Mi, H., and Sugimoto, M. Hats: interact using height adjustable tangibles in tabletop interfaces. In Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces, ACM (2011), 71–74.
44.          Microsoft. Sanddance: Visually explore, understand, and present data. Online.
http://research.microsoft.com/enus/projects/sanddance/, 2016.
45.          Moere, A. V. Beyond the tyranny of the pixel: Exploring the physicality of information visualization. In Information Visualization, 2008. IV’08. 12th International Conference, IEEE (2008), 469–474.
46.          Nielsen, J. Usability engineering.
47.          Nowacka, D., Ladha, K., Hammerla, N. Y., Jackson, D., Ladha, C., Rukzio, E., and Olivier, P. Touchbugs: Actuated tangibles on multitouch tables. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ACM (2013), 759–762.
48.          Pangaro, G., MaynesAminzade, D., and Ishii, H. The actuated workbench: Computer controlled actuation in tabletop tangible interfaces. In Proceedings of the 15th Annual ACM Symposium on User Interface Software and Technology, UIST ’02, 181–190.
49.          Patten, J. Thumbles robotic tabletop user interface platform. TED.com (2014).
50.          Patten, J., and Ishii, H. Mechanical constraints as computational constraints in tabletop tangible interfaces. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’07, ACM (New York, NY, USA, 2007), 809–818.
51.          Patten, J., Ishii, H., Hines, J., and Pangaro, G. Sense table: A wireless object tracking platform for tangible user interfaces. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’01, ACM (New York, NY, USA, 2001), 253–260.
52.          Patten, J., Recht, B., and Ishii, H. Audiopad: A tag based interface for musical performance. In Proceedings of the 2002 Conference on New Interfaces for Musical Expression, NIME ’02, National University of Singapore (Singapore, Singapore, 2002), 1–6.
53.          Pedersen, E. W., and Hornbæk, K. Tangible bots: interaction with active tangibles in tabletop interfaces. In Proc. CHI, ACM (2011), 2975–2984.
54.          Poupyrev, I., Nashida, T., Maruyama, S., Rekimoto, J., and Yamaji, Y. Lumen: Interactive visual and shape display for calm computing. In ACM SIGGRAPH 2004 Emerging Technologies, SIGGRAPH ’04, ACM (New York, NY, USA, 2004), 17–.
55.          Poupyrev, I., Nashida, T., and Okabe, M. Actuation and tangible user interfaces: the vaucanson duck, robots, and shape displays. In TEI ’07, 205–212.
56.          Rasmussen, M. K., Pedersen, E. W., Petersen, M. G., and Hornbaek, K. Shape changing interfaces: a review of the design space and open research questions. In CHI ’12, 735–744.
57.          Reznik, D., and Canny, J. A flat rigid plate is a universal planar manipulator. In IEEE ICRA 1998, vol. 2, IEEE (1998), 1471–1477.
58.          Richter, J., Thomas, B. H., Sugimoto, M., and Inami, M. Remote active tangible interactions. In Proceedings of the 1st international conference on Tangible and embedded interaction, ACM (2007), 39–42.
59.          Romanishin, J. W., Gilpin, K., and Rus, D. Mblocks: Momentum driven, magnetic modular robots. In Intelligent Robots and Systems (IROS), 2013 IEEE/RSJ International Conference on, IEEE (2013), 4288–4295.
60.          Rosenfeld, D., Zawadzki, M., Sudol, J., and Perlin, K. Physical objects as bidirectional user interface elements. Computer Graphics and Applications, IEEE 24, 1 (2004), 44–49.
61.          Roudaut, A., Karnik, A., Löchtefeld, M., and Subramanian, S. Morphees: toward high shape resolution in self actuated flexible mobile devices. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ACM (2013), 593–602.
62.          Rubens, C., Braley, S., Gomes, A., Goc, D., Zhang, X., Carrascal, J. P., and Vertegaal, R. Bitdrones: Towards levitating programmable matter using interactive 3d quadcopter displays. In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology, ACM (2015), 57–58.
63.          Rubenstein, M., Ahler, C., and Nagpal, R. Kilobot: A low cost scalable robot system for collective behaviors. In Robotics and Automation (ICRA), 2012 IEEE International Conference on, IEEE (2012), 3293–3298.
64.          Rus, D. Programmable matter with self-reconfiguring robots. In Proceedings of the 7th ACM international conference on Computing frontiers, CF ’10, 51–52.
65.          Sahai, R., Avadhanula, S., Groff, R., Steltz, E., Wood, R., and Fearing, R. S. Towards a 3g crawling robot through the integration of microrobot technologies. In Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEE International Conference on, IEEE (2006), 296–302.
66.          Seah, S. A., Drinkwater, B. W., Carter, T., Malkin, R., and Subramanian, S. Dexterous ultrasonic levitation of millimeter sized objects in air. IEEE transactions on ultrasonic, ferroelectrics, and frequency control 61, 7 (2014), 1233–1236.
67.          Snape, J., van den Berg, J., Guy, S. J., and Manocha, D. The hybrid reciprocal velocity obstacle. Robotics, IEEE Transactions on 27, 4 (2011), 696–706.
68.          Snape, J., van den Berg, J. P., Guy, S. J., and Manocha, D. Independent navigation of multiple mobile robots with hybrid reciprocal velocity obstacles. In IROS (2009), 5917–5922.
69.          Steltz, E., Seeman, M., Avadhanula, S., and Fearing, R. S. Power electronics design choice for piezoelectric microrobots. In Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference on, IEEE (2006), 1322–1328.
70.          Sutherland, I. E. The ultimate display, 1965.
71.          Taher, F., Hardy, J., Karnik, A., Weichel, C., Jansen, Y., Hornbæk, K., and Alexander, J. Exploring interactions with physically dynamic bar charts. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, ACM (2015), 3237–3246.
72.          Ullmer, B., and Ishii, H. The metadesk: Models and prototypes for tangible user interfaces. In Proceedings of the 10th Annual ACM Symposium on User Interface Software and Technology, UIST ’97, ACM (New York, NY, USA, 1997), 223–232.
73.          Ullmer, B., Ishii, H., and Jacob, R. J. K. Token+constraint systems for tangible interaction with digital information. ACM Trans. Comput.Hum. Interact. 12, 1 (Mar. 2005), 81–118.
74.          Underkoffler, J., and Ishii, H. Urp: A luminous tangible workbench for urban planning and design. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’99, 386–393.
75.          Victor, B. A brief rant on the future of interaction design. http://tinyurl.com/bvrant, 2011.
76.          Wakita, A., Nakano, A., and Kobayashi, N. Programmable blobs: a rheologic interface for organic shape design. In Proceedings of the fifth international conference on Tangible, embedded, and embodied interaction, ACM (2011), 273–276.
77.          Weiser, M. Some computer science issues in ubiquitous computing. Communications of the ACM 36, 7 (1993), 75–84.
78.          Weiss, M., Schwarz, F., Jakubowski, S., and Borchers, J. Madgets: Actuating widgets on interactive tabletops. In Proceedings of the 23Nd Annual ACM Symposium on User Interface Software and Technology, UIST ’10, 293–302.
79.          Werfel, J., Petersen, K., and Nagpal, R. Designing collective behavior in a termite inspired robot construction team. Science 343, 6172 (2014), 754–758.
80.          Yamamoto, A., Tsuruta, S., and Higuchi, T. Planar 3dof paper sheet manipulation using electrostatic induction. In Industrial Electronics (ISIE), 2010 IEEE International Symposium on, IEEE (2010), 493–498.
81.          Yamanaka, S., and Miyashita, H. Vibkinesis: notification by direct tap and ‘dying message ‘using vibrionic movement controllable smartphones. In Proceedings of the 27th annual ACM symposium on User interface software and technology, ACM (2014), 535–540.
82.          Yao, L., Niiyama, R., Ou, J., Follmer, S., Della Silva, C., and Ishii, H. Pneui: Pneumatically actuated soft composite materials for shape changing interfaces. In Proceedings of the 26th Annual ACM Symposium on User Interface Software and Technology, UIST ’13, 13–22.
83.          Yi, J. S., Melton, R., Stasko, J., and Jacko, J. A. Dust & magnet: multivariate information visualization using a magnet metaphor. Information Visualization 4, 4 (2005), 239–256.
84.          Zhao, J., and Moere, A. V. Embodiment in data sculpture: a model of the physical visualization of information. In Proceedings of the 3rd international conference on Digital Interactive Media in Entertainment and Arts, ACM (2008), 343–350.


Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org.
UIST 2016, October 1619, 2016, Tokyo, Japan
© 2016 ACM. ISBN 9781450341899/16/10. 
DOI: http://dx.doi.org/10.1145/2984511.2984547


Citation
Mathieu Le Goc, Lawrence H. Kim, Ali Parsaei, JeanDaniel Fekete, Pierre Dragicevic, and Sean Follmer. 2016. Zooids: Building Blocks for Swarm User Interfaces. In Proceedings of the 29th Annual Symposium on User Interface Software and Technology (UIST '16). ACM, New York, NY, USA, 97109. DOI: https://doiorg.prxy4.ursus.maine.edu/10.1145/2984511.2984547



2 comments:

Blogger said...

Did you know you can shorten your links with AdFly and make money for every click on your short urls.

Blogger said...

New Diet Taps into Pioneering Plan to Help Dieters Lose 20 Pounds within Just 21 Days!