| Blog | Yak Theater | Playground | Contact |
Actionscript 3 2 1 Flex, Flash, AIR, Ruby on Rails, RubyAMF, Cairngorm, PureMVC, OOP, XHTML, CSS, SQL, patterns, testing, Flex Builder, Creative Suite, Ant, svn, XMPP, UML
My latest project is Yak Theater, a chat site inspired by improv. Each chat is a scenario with specified roles. Scenarios range from classic improv to political debates to virtual dates. Here is the demo. Building the site involved untying many knots: degrees of sharing among users, multiparty state, server push, game design.
I was technical lead for the new Beanie Babies site. Here are the lessons I learned: Integrate early. Project standards matter less than aligning tasks with each team member's strengths. Don't roll your own framework unless necessary.
My non-theory of software process: it depends. After experiencing the chaos typical of agency coding, and the delays and wasted efforts typical of traditional planning, I have few strong opinions left except that change is inevitable. For this reason I'm curious about agile work flows, especially those guided by user experience.
Random I prefer PureMVC to Cairngorm because it formalizes the Mediator pattern. I'm curious about new Flex frameworks that rely on configuration to automate service creation, but skeptical that configuration can supply app structure or readability... I love Rails but know zilch about ActionView because I use Flex for the front end... I'm comfortable with Adobe CS and can dive into into any non-linear media editor, but I'm not off the mouse
for any of these tools....writing complicated joins is fun, I'd like to dive deeper into SQL...rspec makes unit and sequence testing a joy for Rails and I hope some day Flexers will use a similar tool.
What is your pet theory? And what can I do about it?
Are you mulling an app rich with data, media, or interaction? I can help at every stage: conception, architecture, database, services, layout, look and feel. In fact, I might be able to build the entire application for you.
I specialize in applications using Flex for the front-end and Rails for the back. Rails automates key aspects of web development, and Flex provides a slick, responsive interface. Both of these relatively new technologies specialize in rapid prototyping for complex, data-rich web applications; both are backed by enthusiastic communities.
There are whole shops dedicated to making rich web applications, and the best of them combine world-class programmers and designers. However, these shops are pricey. If your project or budget is too small for these shops, consider me. It might surprise you what a single person working with frameworks like Flex and Rails can do.

Geography Born in San Francisco, I spent my early years in Seattle and New Jersey before going to Reed College in Oregon. Next was Santa Barbara, where I got a Ph.D. in English at UCSB. After proofreading at an LA ad firm for a few years, I discovered the joy that is programming. Now I live outside Portland with my wife Joelle and our toddler Mira.
Random A standing desk keeps me alert...a guy named Sean turned me onto mini whiteboards and I often have one in my hand...years in grad school left me skeptical about jargon, and adept at translating technical concepts into non-technical terms. You can talk to me.
Flash has grown way beyond banner ads. It is now a entire platform for desktop software, web apps, cellphones, interactives, and games.
Flash combines text, video, audio and animation. Supremely useful for media delivery, it really comes alive with interaction.
Flex is a framework in Flash. Flex is a set of building blocks for conveniently retrieving, displaying and manipulating data. Since Flex is just Flash and the Flash plugin is nearly ubiquitous, anyone can use Flex.
AIR is a container for web apps that can live on the desktop. Flash, Flex or HTML can go in an AIR container. AIR is great for sometimes-connected apps because it synchronizes with remote data and stores it locally.
Flex 4 promises to combine the crisp text and easy layout of HTML with the artistic freedom of Flash and the data-driven interactivity of Flex. This next iteration represents a huge opportunity for new interactions.
Flash-platform designers have long struggled to reconcile the user-controlled, click-happy web with one-way media like video, sound and animation. It hasn't really worked. But the more flexible the Flash platform becomes, the more multimedia can morph into a hypermedia resembling hypertext.
Are you interested in exploring new kinds of interaction? Can you make coherent, expressive graphics and analyze the Fed, too? Maybe we should be collaborating.
Random Transition animations are hugely overused...a diet of pure text and interaction would prepare swf-platform designers well for a kung-fu showdown with swarming htmlers...what if we could vote directly on the federal tax schedule and budget? That would require a very, very slick interactive...the child in me loves a clean, bright vector.