Technical Skills

  • Expert in Flash, Flex and AIR
  • Over 15 years of web development experience
  • Solid foundation in OOP, frameworks and design patterns
  • Proficient in building custom components and modules
  • Proficient in integrating open source components and code libraries
  • Experienced in PHP/MySQL and Client/Server integration
  • Strong understanding of Flash Player memory management
  • Strong grasp of UI, usability, and user experience
  • Experienced with LAMP toolset and source control systems
  • Proficient in PhotoShop, Illustrator, Quicktime
  • Additional experience with BlazeDS and Flash Remoting

Professional Skills

  • Self-motivated and dedicated to highest quality of execution
  • Open to being challenged by Creative Directors, Clients and other team members
  • Passionate about Flash development and interactive design
  • Excellent verbal and written communication skills
  • Ability to perform code reviews and manage development teams
  • Team leadership and cross-functional collaboration experience
  • Value knowledge sharing and can actively mentor team members

Partial Client List

  • American Express
  • Coldwell Banker
  • Universal / Island / DefJam Records
  • IBM
  • Lightbox Networks
  • MGM Studios
  • RE/MAX
  • Sun
  • Xilinx
  • SkyComp

Representative Project: Live Media Desk

Live Media Desk

Client: Lightbox Network

Role: Lead Flex Developer

Technologies:

  • Flex
  • PHP
  • MySQL
  • AMFPHP
  • BlazeDS
  • ImageMagick

Need:

Lightbox Network is an industry leader for professional digital photography workflow, with clients such as NBC Universal, New York Daily News, MillerCoors, Getty Images, Hallmark Channel, Time, and Nickelodeon. They needed a web-based application to allow professional photographers and editors to collaborate remotely.

Summary:

The Live Media Desk application (see overview video) enables real-time collaboration of photo shoots between photographers and editors. As photographers upload images, they become immediately available to editors working remotely to filter, adjust, rank, edit metadata, and forward images. With Live Media Desk, images can go from a photographer’s camera at an event to the desk of an editor, then published to a public web site within minutes.

I was the lead Flex architect and developer for this multi-year project, The biggest challenge was to make the web-based program perform like a desktop application.

To accomplish this, I designed and implemented the following strategies:

  • Image and data caching to minimize server round trips
  • Priority-based request queuing to manage all HTTP/HTTPS calls, including images and AMFPHP function calls
  • Heuristic-based image preloading to anticipate user needs and produce a seamless user experience
  • Real-time image filtering in the Flash run-time to match server-side image filtering done with ImageMagick
  • Breaking the application into modules with run-time configuration and dependency management
  • Real-time updating system using custom messaging delivered through BlazeDS connecting to PHP through STOMP, JMS and ActiveMQ

Representative Project: Sky Counter

Sky Comp

Client: Skycomp

Role: Developer

Technologies: Flash, Zinc, JSON

Need:

Skycomp wanted to replace the need to print out 1000′s of traffic survey pictures so that “counters” could scan through the pictures and count vehicles, marking each picture with a grease pencil.

Deliverable

Sky Counter loads the images in a viewer area with marking tools to replace the grease pencil. Different types of vehicles can be marked with different symbols. The view area positions images end to end to present a filmstrip style display. All annotations are stored in a file that can be emailed back to Skycomp, enabling them to outsource the counting effort.

In building this application, I implemented the following techniques:

  • File system access for loading folders of images
  • Image caching for performance
  • Custom zooming and panning algorithms to allow seamless functioning at a variety of zoom levels
  • Annotation storage through a custom data format which allowed employees to email their tags for review and editing by supervisors

Representative Project: QPrint E-Photobook

QPrint Pro

Client: Quarterhouse Software

Role: FlexDeveloper

Technologies: Flex, Mate

Need:

Quarterhouse Software is a successful provider of custom software for the printing profession. They wanted to expand their existing offerings to include a web-based book creation tool.

Summary

For this project, I worked with an in-house designer and to create a new book design tool featuring a Flex-based GUI connecting to a .Net back end, using the following strategies:

  • Mate open-source inversion-of-control framework library
  • Custom Flex components and item renderers
  • XML-serialization of value object classes
  • Image caching

Representative Project: Envelope, Please

Page International Screenwriting Awards

Client: Page International Screenwriting Awards

Roles: Developer

Technology: Flash

Summary:

Every year this international screenwriting contest awards a $25,000 Grand Prize, plus Gold, Silver, and Bronze Prizes in each of ten genre categories. The producers wanted to make the announcement process special, so I created a Flash-based award animation for them. The day of the announcements, the contestants log on from around the world and learn if their entry is the winner.

Representative Project: Alien Animal Abduction

Alien Animal Abduction

Client: Designo

Roles: Project Developer

Technology: Flash

Summary:

A boutique print and web design firm wanted a small Flash game to make their website stickier. I took the client’s existing logo, converted it into a space ship and allowed the user to play a fun game.

Representative Project: Divine Vacation

Divine Vacation

Client: Healing Rhythms

Roles: Project Manager, Developer

Technology: Flash, Director

Summary:

Interfacing with specialized biofeedback hardware, I built an application that pops-up at selected intervals and guides the user through a relaxation exercise using custom hardware. The project features a Flash application wrapped in a Director executable.

Representative Project: VXA vs DLT

VXA vs DLT

Client: Exabyte

Roles: Project Manager, Developer

Technology: Flash

Summary:

An interactive demo showing the benefits of VXA tape technology.

Representative Project: Beat Mixing Lab

Beat Mixing Lab

Client: Universal/Island/DefJam

Role: Developer

Technology: Director/Shockwave

Summary:

Universal/Island/DefJam wanted an online audio mixer to allow users to create their own custom remixes of DefJam releases and save them on DefJam’s site. I created the DefJam Beat Mixing Lab.

Representative Project: Mario Game

Mario Game

Client: IBM

Role: Developer

Technology: Director

Summary:

As part of a tie-in campaign with Nintendo, IBM wanted to entice prospective customers to their matching web site. Working as part of a team with Think New Ideas, I programmed an online game featuring Nintendo’s Mario character.

Representative Project: Triv-Tac-Toe Game

Triv-Tac-Toe Game

Client: Sun’s Learning Network

Role: Developer

Technology: Flash

Summary:

Working closely with an in-house designer, I programmed a playful educational game. Because of the number of Flash 4 (and even Flash 3) plug-ins installed in Sun’s employee’s computers at the time, I coded all the ActionScript to work with these legacy plug-ins

Representative Project: Chitty Chitty Bang Bang Game

Chitty Chitty Bang Bang Game

Client: MGM Studios

Role: Developer

Technology: Director/Shockwave

Summary:

I worked with the Integer Group on this original game created for the 20th anniversary of the movie. In addition to doing all the coding, I consulted on the design and structure of the game.