Flash / Actionscript

With expert-level programming skills in Actionscript 2 & 3, I have built or worked on several Flash modules which serve as self-contained online applications. These include:

Image Zoom Module

Image Zoom Module

This tool, which I built for classroom instruction at Harvard University, allows students to explore in detail annotated, high-resolution images — maps, artwork, and even graphic novels. Teachers add clickable “hotspots” which pop up labels and bring up more information in a slide-out tray or link to external web pages. Multiple images may be presented together in a single module, which is configured by external XML files to allow the same SWF to be used in many different ways.

Written in Actionscript 2, the application as a whole consists of several interrelated pieces. At its core is the Zoomifyer for Flash suite of components, which I modified substantially to provide custom functionality. To this I added interface elements, including a Flash form to create and edit hotspots, tools to navigate within and among images, and the tray to display detailed information. The system is completed by a separate AJAX-driven HTML form that teachers use to compose the annotations, and Perl CGIs to save hotspot and annotation data.

Among the most impressive instantiations of the module are:

Tokyo Time Machine
This instance displays maps of Tokyo going back through time to the 18th century. Custom transitions keep users at the same spot when they change between maps. The maps from before 1900 preserve the orientation of west rather than north at the top.

Playboy à la Edo – 18th-century Japanese comic book
See also Volume Two and Volume Three
Special navigation allows users to switch between Japanese and English versions. Use the left arrow, not the right, to advance to the next page.

Historical Maps of the Middle East

The Qingming Scroll

 

Reify Corporation: Visible™ Online Demo

Visible Demo screenshot

Refiy Corporation’s Visible™ desktop app offers multiple modes of video analysis to the biotechnology and pharmaceutical industries. The online demo, which I programmed from scratch using Actionscript 3, Perl, and PHP, accepts uploaded movies from users, passes them to the Visible app running on the server for analysis, and presents the results to the user. It also reproduces the functionality of the desktop app's interface, allowing users to advance through the movie frame by frame, zoom in and out, and select only portions of the frame for analysis. A login system requires that users register with Reify in order to use the demo.

Live demo
(No registration required)

The live demo available here comes with a pre-loaded movie and seven data sets. It does not offer the possibility of running additional analyses, but otherwise presents the full functionality of the interface. See the instructions (presented with a Javascript scroll-down reveal/hide) for details on the controls available.

 

Kinship Editor Module

Kinship Editor screenshot

The Kinship Editor Flash module, developed for an anthropology course at Harvard University, allows students to enter genealogical data and graphs their family trees. The interface includes contextual pop-up menus and a slide-out tray with multiple tabs for data entry, sophisticated options for highlighting different kinship lines within the family tree, and the capacity to save, load, print, and submit trees to the course instructor.

Working as part of a team, I contributed the “Classic Mode” graphing and highlighting algorithms, the save, load, and print functionality, portions of the data entry system, and the integration between “Classic Mode” and “Experimental Mode.” The code for the system is written in Actionscript 2 and Perl.

This module received a Presidential Instructional Technology Fellows Award from Harvard University in 2006.

Live demo

 

Other Projects

My other Flash work has included slideshows with optional captions — see examples at the Pluralism Project, Sensicast Systems, and of course the Farther Horizon homepage — and critical debugging help on the “Physics in a Flash” module at Harvard University.