Skip to content
An interaction design toolbox
  1. Other 100.0%
Branch: master
Clone or download
This branch is 30 commits ahead of trive:master.

Latest commit

Marco Triverio Marco Triverio
Marco Triverio and Marco Triverio Merge remote-tracking branch 'upstream/master'
Latest commit 7448334 May 28, 2015


Type Name Latest commit message Commit time
Failed to load latest commit information.
Avocado Plug-Ins Bug fixes in Bluetooth patches, new Bluetooth Connection patch, new B… Apr 7, 2015
Avocado Avocado 2 (beta 6) Apr 25, 2015
Examples Avocado 2 (beta 6) Apr 25, 2015
Other Avocado 2 (beta 6) Apr 25, 2015
.gitignore Initial commit. Dec 20, 2013 Update to Origami 1.2, Initial license Apr 16, 2014 Updated links to QC download May 28, 2015

Avocado is an open source interaction design toolbox built by​ IDEO.​ It ​enables designers to make quick interactive prototypes without writing a line of code.​ ​Built on top of Facebook's Origami framework, Avocado provides ready-to-use patches that can be easily combined to create fully-customized prototypes.​

We hope Avocado can be of use to you, and please feel free to share your ideas here on GitHub ​or​ tweet to @AvocadoByIDEO.​

###Getting started To get started with Avocado simply register as an Apple Developer, download Quartz Composer (it's in the Graphics Tools package), and install Avocado.

Here are some examples that show how to use Avocado. If you are new to Quartz Composer, take a look at these tutorials.

###What's in Avocado ####Interactions

  • Draggable Layer, a patch that lets you drag and drop a layer and fully customize the behavior of the drag and drop. The Draggable Layer Animation lets you customize the pick-up animation. Draggable Layer Snap Points lets you define points on the screen the layer will snap to. Draggable Layer Boundaries lets you define boundaries for where the element can be dragged. Finally, Draggable Layer Info provides information on the current state of a Draggable Layer
  • Carousel, creates a swipeable carousel of images. Information on its current state is provided through the Carousel Info patch. You can customize the way a Carousel looks through the Carousel Settings patch. You can also control the state of a Carousel through the Carousel Controls patch
  • Bistable, makes an element snap to two positions. Information on its current state is provided through the Bistable Info patch
  • Card, creates a card that can be flipped back and forth. Information on its current state is provided through the Card Info patch
  • Dial, for scroll wheel-like Interactions. Information on its current state is provided through the Dial Info patch
  • Master Detail, creates a Master-Detail relationship between two views
  • Rolodex, for rolodex-like interaction. Information on its current state is provided through the Rolodex Info patch
  • Hit Grid, creates a grid of Hit Areas. To retrieve which element has been clicked use Hit Grid Info
  • iOS Keyboard, provides an interactive keyboard. To retrieve the text being typed use iOS Keyboard Info

####Bluetooth integration

  • Use Bluetooth Send and Bluetooth Receive to uni-directionally communicate with a BLE device
  • Use Bluetooth Connection to bi-directionally communicate with a BLE device
  • Aggregate Values and Disaggregate Value will help you send 4 values at once or decode one message into 4 values.


  • Nod
  • Pulse
  • Jiggle
  • Jump

####Global Value With Avocado you can save values to be retrieved anywhere in the composition or that can be accessed by another composition running at the same time.

  • Save Global Boolean and Retrieve Global Boolean
  • Save Global String and Retrieve Global String


  • Keyboard 2, meant to replace the standard Keyboard patch. It provides information on which key is being pressed
  • Delay Value, delay any value by the specified amount of time
  • Gate, stops the propagation of a signal
  • Invert, flips a boolean value
  • Map to Range, remaps a value to a new range
  • Absolute Value, returns the absolute value of a number
  • String to Number, turns a string of numbers into a number

###Feedback If you have any thoughts or contributions for how we can continue to evolve this experiment, feel free to share your ideas here on GitHub​ or​ tweet to @AvocadoByIDEO.

You can’t perform that action at this time.