• apps for artists

    creating tools for creative people

    creations of:

    brenton simpson
    bsimpson@appsforartists.com

    Hello!

    I'm Brenton. I make things.

    Welcome to my portfolio.

    Professionally, I'm the lead developer for ad products and campaigns at NetShelter. In my spare time, I've been known to build the sorts of projects you see below.

    Use the links at the bottom, or the left and right arrows, to move between projects. Scroll up and down to learn more about a particular project.

    Feel free to contact me for more information about any of my creations, or just to say hello.

    Enjoy!

    -Brenton

  • story stash

    collaborative storyboarding system

    helps artists create enchanting stories

    Awarded Top Undergraduate Business Plan, 2008 by the University of Southern California Business plan available by request

    Summary

    All artists care about is telling entertaining stories. To create a cartoon, they are currently stuck with clumsy paper-based storyboards, which are not only difficult to organize, share, and store, but are also vulnerable to accidental destruction. Story Stash frees them from paper clutter, enabling them to do what they do best - create enchanting stories.

    Demo

    I created a prototype of the service during my senior year at USC. To demonstrate its potential, I've prepared the following samples using artwork other artists have shared online. Neither artist has used or endorsed Story Stash. (sources: Heroes, Venture Bros)

    Heroes demo • Venture Brothers demo

    Design Overview

    Story Stash was designed from the beginning to be used on a pen tablet. Multitouch was also explored (see eyePoke), but was not mature enough in 2007 to be included in the initial prototype.

    I worked very closely with Dan Povenmire and Swampy Marsh, creators of the Disney Channel's Phineas and Ferb, to ensure that Story Stash's interface and feature set both enabled professional artists to be more productive.

    Sketchpad Layout and Tools

    The sketch panel in Story Stash is the same size as one on a traditional storyboard, while the note area is as wide as a Post-It note. The tools in-between them are digital representations of the most popular tools in the field: a pencil, marker, eraser, and sticky note. Paper storyboards are littered with sticky notes, which like layers in the digital world, enable artists to quickly try something new without having to erase the underlying artwork.

    Color Well

    With one seamless motion, the artist can select any desired color without fiddling with sliders. Simply tap the well, slide over the desired tone, and release. It's like having the entire color wheel built into your pen.

    Sequences

    To group a set of cards into a sequence, click the first card in the group, hold shift, and click the last. In a multitouch environment, this would be accomplished with the pinch gesture. Though not implemented in this prototype, sequences should be able to collapse into a single card in the card drawer. Not only would this make it easier to skim a storyboard, but it would also enables multiple authors to work contemporaneously on different acts without one's changes distracting the other.

    Cloud Marking Menu

    To avoid cluttering the workspace, file management tasks are consolidated into a marking menu, represented by the cloud icon. The menu is disabled in this demo.

    Backwards Compatible with the Paper Workflow

    These text fields represent dialogue, locale, action, and miscellaneous, the four standard text areas on a paper storyboard. Story Stash is designed to adapt to the user's context. Story Stash can be shared across the network, presented with a projector, or hung on the wall with sheets of paper.

  • eyepoke

    multitouch computer vision for Flash

    enables applications to support mice, pens, and multitouch with a single API

    Summary

    eyePoke is an open-source multitouch event dispatcher for the Flash platform. It uses a webcam to watch an FTIR table for lit fingers, which are mapped to TouchEvents in Flash. Because TouchEvents extend MouseEvents; taps, clicks, and drags can all be handled by the same code regardless of which input method the user prefers.

    Overview

    In the summer of 2007, I was interested in adding multitouch interaction to Story Stash, but was unable to find a straight-forward way to do so. There was not yet a standard way to implement multitouch in Mac OS, Windows, or Flash; a few open-source libraries existed, but they all required running a separate application in the background and were wholly incompatible with the MouseEvent API already present in ActionScript.

    Inspired by Jeff Han's TED Talk and the experimentation of the homebrew multitouch community, I read patents voraciously, learned about different methods that had been previously used to enable multitouch, and studied the physics behind them. I built a multitouch table using the FTIR phenomenon and set to work taking advantage of the device in Flash.

    During my research, I discovered NUI Group, a community of other enthusiasts investigating natural user interfaces. Like many of my peers, at the time I had a limited background in computer programming but was fascinated by the potential of this new paradigm. I spent many hours in forums and chat rooms learning object-oriented programming from more experienced community members. Ultimately, I became a NUI Group administrator, guiding others on their journeys into touchscreen tables, FTIR, and ActionScript 3 programming.

    eyePoke was praised for both its speed and its simplicity. Before eyePoke, other NUI Group developers doubted that a performant computer vision library could be written in a scripting language; they were excited and impressed to be shown otherwise.

    I was drawn to the multitouch community not only because I was fond of the concept of tangible information, but because the researchers were able to create such amazing things through clever applications of otherwise simple technology. They gave people superpowers using a camera, a sheet of acrylic, and a handful of LEDs. I continue to be inspired by their work, but quickly realized that I simply didn't have the resources to create both a digital storyboarding system and a multitouch framework in my spare time. Furthermore, I expected technology vendors like Apple and Adobe to create more generic frameworks to enable multitouch that would make eyePoke obsolete. eyePoke was put on hiatus just a few months after it started, but its source code is still available for others to study:

    eyePoke project on RIA Forge

    Note: eyePoke served as my introduction to both ActionScript 3 and object-oriented programming in general. I've learned a lot in the years since. Please don't view this as a code sample.

  • 360video

    live panoramic video remapping with shaders

    Summary

    360video uses a pixel shader to remap any video recorded with the 0-360 Panoramic Optic into an equirectangular viewport in real time. It is comprised of two pieces. The 360video Unwrapper Studio allows anyone to easily create a 360° video that can be embedded into a web page with the 360video Player. Because the desktop application uses AIR and the embeddable player uses Flash, both can share the PixelBender shader.

    Demo

    360video Sample

    Overview

    The 360video Unwrapper Studio is designed to create 360° videos as quickly as possible. Creating a 360video is as simple as dragging a video into the Unwrapper Studio. The tool automatically creates a Street-View-style video virtual tour ready to be embedded online. Videographers can crop, color correct, and sharpen the video by applying additional real-time filters without leaving the Unwrapper.

    Automatic Calibration

    The Unwrapper Studio algorithmically detects the edges of a wrapped 360video donut and crops the video accordingly. With no user intervention, a source file is unwrapped the instant it is added to a 360video scene.

    Drag-In, Drag-Out

    Well-integrated with the surrounding system, the 360video Unwrapper Studio plays nicely with other applications. To add a new shot to a scene, the user simply drags the source media from the camera into the Studio. When the scene is completed, it's dragged from the Unwrapper Studio into an HTML file. An embed tag will be generated and inserted into the page's markup.

    Easy Uploading

    The files making up a 360scene are bundled into a package, which appears as a single file on the user's computer but as its constituent parts on a web server. To post a 360video online, all the user has to do is drag the 360scene package into an FTP client.

  • sketch-an-etch

    microcontroller-driven Etch-a-Sketch drawing bot

    Summary

    Sketch-an-Etch uses stepper motors and a Make Controller Kit microcontroller to draw images on an Etch-a-Sketch. The immediate goal is to combine the techniques of hand-drawn and stop-motion animation by plotting hand-drawn cells on an Etch-a-Sketch and photographing them as it hangs on a wall. A future revision will add wheels and pair the creation with a mobile phone. It will roam public spaces, take snapshots of passers-by, and draw their reflections before their eyes.

    Accomplishments

    Off-the-shelf, external applications can only communicate with the Make Controller Kit via a daemon that runs on the host computer. To create Sketch-an-Etch, I implemented the SLIP protocol directly in ActionScript and made extensive enhancements to the open-source TUIO-OSC library. These enable the Sketch-an-Etch software to communicate directly with its hardware, eliminating the dependency, and allowing it to run on mobile phones or any other AIR-capable device.

    Project Status

    The manufacturer of the Make Controller Kit is currently finishing firmware version 2, which overhauls the microcontroller's OSC implementation. Version 1 does not correctly handle multiple messages sent in succession. I have been in communication with Making Things, and will publicly present a demonstration of Sketch-an-Etch as soon as a beta of firmware version 2 with stepper motor support is available.

  • cognicube

    Rubik's Cube-style 2D puzzle for Android

    It's like a Rubik's Cube, but flat. . .

    Summary

    Cognicube is a puzzle game for mobile phones. It uses the same play mechanics as a Rubik's Cube, but presents the faces in two dimensions.

    Download

    Download from the Android Market

    Overview

    Cognicube is frequently lauded for both its aesthetic polish and mental challenge. It was developed as a part of the AIR for Android prerelease program and was posted to the Android Market alongside AIR for Android. In the three months following its release, the game was downloaded over 1500 times.

    I developed Cognicube to explore mobile application development. The game is completely free to play, but rewards donors with a harder shuffle. It uses Android's built-in (Java-based) License Verification Library to check for a donation from ActionScript.

  • i'm a regular

    patron feedback system for restaurants in html 5

    Client: Partnership

    Problem: Restaurants spend thousands of dollars on advertising to bring new customers in the door, while a single diner's disappointing experience can haunt them for years as an online review.

    Solution: An HTML 5 web app that helps restaurants to find out who their regular customers are and how to get them to come back more frequently. We entice diners to review their experiences online and join a restaurant's newsletter through incentives and promotions. Diners have the ability to notify restaurant managers immediately about any problems, giving them a productive way to channel their feedback before the resort to grumbling on Yelp.

  • marking menu

    open source mouse gestures extension for Google Chrome™ and Apple Safari™

    Download

    Fork on Google Code
    Install from the Chrome Web Store

    Client: Personal project

    Problem: Google Chrome doesn't include an easy way to browse the web quickly and easily with a tablet.

    Solution: A 5-star extension that provides pen flick/mouse gesture support for Chrome. It also includes an API that enables third-party authors to easily extend the Menu's functionality.

  • hello

  • story stash

    collaborative
    storyboarding
    system

  • eyepoke

    multitouch
    computer-vision
    for flash

  • 360video

    live panoramic
    video remapping
    with shaders

  • sketch-an-etch

    microcontroller-
    driven etch-a-sketch
    drawing bot

  • cognicube

    rubik's cube-style
    2D puzzle game
    for mobile devices

  • i'm a regular

    patron feedback
    system for restaurants
    in html 5

  • marking menu

    open source gestures
    extension for chrome
    and safari