Todd Siegel

Product Design and Prototyping for iOS · San Francisco








I craft prototypes with interactive animation for mobile apps (iOS/web) - driven by 12+ years experience in user centered design. I'm the product evangelist here at - giving live webinars, and presentations at places such at Xerox PARC, Copenhagen Institute of Interaction Design (CIID) and Product School - spreading the value and process of creating and testing prototypes that feel real early in the product design process.

A few links for now...

Check out the article and product concept tutorial I wrote for the February issue of Net Magazine,
"Design Prototypes That Feel Real - with"

I gave a presentation on Interaction First Design at The Copenhagen Institute of Interaction Design (CIID)

The New Yorker interviewed me along with other members of the 10x management network about the future of work

If you'd like to see my work portfolio, please DM me on

On the side, every side, I'm a wordsmith - performing product concept satire and producing


auto-complete search

Type the first character of topics from to see the auto-complete. (a-z, 2,3). Use ESC to hide the dropdown. Uses a variable to capture the content of the search field then uses the javascript method "{search}".charAt(0) to capture the first character of the search string to then change the container state property of the auto-complete dropdown to match the first character typed. Thanks to Costas Thoma for the model.

Parallax - Yahoo Weather

Re-creation of the horizontal swipe parallax effect in Yahoo Weather. See how it was created step-by-step in this webinar:

Common onboarding pattern

This prototype shows a common onboarding pattern with a series of 3 panels, each with a different background media (photo, looping video, and a GIF).

Storyboard Animatic - Low Fidelity

Animated storyboard using low fidelity assets created in, and icons found within the library and Noun Project. The "On Screen Show" screen interaction is used to animate the content through a sequence of callbacks. See how this was made step-by-step in this webinar video on Low Fidelity prototyping:

Net Magazine Prototype - Juxtacaption

This is prototype was created for the Net magazine article "Design Prototypes That Reel Real - with It includes a step-by-step written tutorial with screenshots here: It's a product concept for juxtaposing two photos and typing a caption about the connection between them. It should look like this. The tutorial starts with bringing in a range of external assets. Then it'll show how to design assets and customize native components within the tool. Interactions will be triggered by gestures, keyboard input, and automatically as the prototype loads, then choreographed along an animation timeline. Enjoy...

Menu Overlay Animation - Google Calendar for iOS

Prototype of the Material Design menu animation of Google Calendar for iOS. See how it was created step-by-step in the video of the webinar "Adaptive Prototypes & Material Design UI Library" Skip to minute 35:14 of the webinar to specifically see this prototype being made. Enjoy.

Pro Tips & Tricks

Here is the set of prototypes from the Pro Tips and Tricks webinar: 1) Propagate Events to Items Below 2) Containers as Symbols 3) Conditional Animation 4) Screen Interaction 5) Sketches into Prototype Here is the video of the webinar: The video is broken down with time-codes on Vimeo here: (under read more) They are also below. Enjoy... > Create popover menu with click through to icon below 4:08 > Propagate all events to the item below 4:08 > Using containers as symbols for efficiency (navigation assets etc.) 11:59 > Customizing a navbar component 14:55 > Customize a tabbar component 16:48 > Convert navbar to a container to repeat (as symbol) 19:10 > Convert tabbar to a container to repeat (as symbol) 19:43 > Convert text box to a container to repeat (as symbol) 19:49 > Using a container to create change font style for repeated Titles and labels. 21:55 > Conditional animations triggered by drag gesture using variables (mailbox swipe). 23:04 > Adding containers to canvas 24:44 > Using the draggable gesture 25:25 > Variable Manager 26:00 > Using onDrag variable to change an objects opacity 26:38 > Range of property values that can be changed based on a drag gesture 27:45 > Capturing the X position from dragging an object using a variable 27:57 > Creating a new value if/then argument using shorthand javascript to change opacity using a variable. 29:00 > Creating a callback to the change a property that reads from a variable. 29:52 > Using the onDragEnd gesture 30:33 > Change the Left property using a variable triggered by onDragEnd 30:49 > See range of properties that can be changed from onDragEnd gesture. 31:04 > Using On Screen Show Interaction for creating an automatically cycling carousel. 35:25 > Importing paper sketches (photos of them) to use as background for layering assets and interactions. 40:28 > Toggling between a sketch and your higher fidelity mockup using states. 44:25 > Duplicating interactions between states 45:18

Form examples

3 prototypes showing different uses of the form components for iOS 1) Activate / de-activate button when checking / un-checking Terms of Service 2) Capture text input to change property 3) Change number of tickets - limit 8 See how they were created step-by-step in the Using Forms webinar video: This version on Vimeo includes time-codes so you can jump to particular sub-sections (repeated below as a preview): > Range of iOS form input controls 2:02 > Labels 2:17 > Text fields 2:32 > Setting placeholder text 3:04 > 5 Input Types that display the appropriate iOS keyboard (Text, Numeric, Email, Password, Telephone) 3:30 > Using the Telephone keyboard for credit card number input (large # keys) 4:08 > Need to view prototype on device in order to see the range of keyboards 5:59 > Multi-line text area input field 6:24 > Search Bar 6:40 > Checkbox control customization 7:22 > On/Off Switch control customization 7:52 > Slider control customization 9:27 > Increasing size of slider handle 9:47 > Picker Wheel Customization 10:00 > Prototype example: Activate button when checking terms of service 10:42 > Create a button with two states (using convert to container) 12:55 > Adding interactions to a checkbox control (on change activation/deactivation) 14:45 > Definition of variable and range of uses 17:04 > Using variables with text field interactions 18:25 > Prototype Example: Using a variable to capture text input and show it in a different text box using change property. 23:27 > Prototype: Use variables to increment and decrement counter showing number of tickets being purchased. 28:40 > Searching full range of icons built into 29:10 > Using a variable to limit the range of tickets (0 to 8) 32:46 > Copying and pasting interactions with Variables 40:08

Twitter Intro Animation

This prototype show how to re-create the intro animation of the Twitter iOS app where the bird flings out and the feed flings in. See how it was re-created step-by-step in this webinar video: Assets also available to use.

onboarding of Service App

Re-creation of the onboarding sequence of the app "Service" See how it was done step-by-step in the on-boarding webinar: The app itself:

Get the position of a scrolling container

If you need to get the Y position of a vertically scrolling container, create a text box. Then on the container scroll trigger, set a variable that evaluates the numerical callback value from the event (Y position). Then add a callback that changes the text property of the text box by reading from the variable.

Faces flying out of bar chart

A data visualization where a bar chart of faces flies out showing the details of individual faces.

Avatar fly-in subtle animation

This prototype shows a subtle animation of avatars flying in, and subtle background tint changes. See how it was created step-by-step: >starting at time: 28:40 Enjoy...

Map Data Visualization with Slider using Variables

Use a slider component to see the how a map of the US changes every month over a year based on the concentration of a fanbase. Uses a basic variable to change the container state of the map, with map assets created in Sketch. See how a version of it was created step-by-step within the Dashboard & Data Visualization webinar: tags: variable | variables | data visualization | data viz | map | slider | states | months | USA

Menu Flyout Subtle Animation

Re-creation of the mobile site flyout menu with subtle animations. See how it was re-created step-by-step: Enjoy.

Color Picker

Here's a demo showing a basic color picker using a container with 4 states for both the colored star and the color swatches.

Expand container that moves adjacent content in sync

This simple prototype demonstrates how have a container expand and collapse while moving adjacent content in sync.

Keezy App Animation

Tap/Hold the black circle to see the 2 state animation of the Keezy sound looping app. A circle of circular buttons spins out onto the expanded black circle that becomes the screen background. Once you're on this 2nd state, tap anywhere to return to the initial state. I recorded a webinar showing how to create this interactive animation: You can also find the assets here used for the prototype. Enjoy!

Google Inbox - compose animation

The recently released Google Inbox app is a re-thinking of the email inbox experience that beautifully demonstrates Google's material design interactive animation language. This prototype focuses on the compose button's animation. Click the + to reveal a new state where a wave of buttons and labels float up, and the + becomes a pencil icon. It uses two states, with staggered animations.