O'Reilly Open Source Convention
Books Safari Bookshelf Conferences O'Reilly Network

Arrow Home
Arrow Registration
Arrow Speakers
Arrow Keynotes
Arrow Tutorials
Arrow Sessions
Arrow At-a-Glance
Arrow Wiki
Arrow BOFs
Arrow Events
Arrow Exhibitors
Arrow Sponsors
Arrow Hotel/Travel
Arrow Venue Map
Arrow See & Do
Arrow Tips for
Arrow Press
Arrow Mail List



Project Alph, a Ruby-to-Flash Bridge
Richard Kilmer, Founder, InfoEther, Inc.

Track: Ruby
Date: Thursday, July 29
Time: 11:35am - 12:20pm
Location: Meadowlark


Project Alph creates a bridge between two language runtimes: the Ruby interpreter with the Flash player. Flash was originally constructed to be an animation runtime and because of this it has attracted a more design-oriented rather then developer-oriented community. The Flash player is actually a stack-based virtual machine, which now supports the ability to write graphical component-based applications in the ActionScript language. Although Flash and ActionScript are powerful, the downside to it is that each application you build is compiled into a binary (swf) movie, and the main development environment (Macromedia Flash) is a commercial product. Although the Flash development tools are commercial, the player runtime is free and cross-platform.

Alph creates a free, open source alternative for constructing dynamic Flash-based interfaces. Alph aims to be a unique, comprehensive user interface framework for Ruby. Alph ships with a single binary (swf) file that when executed connects to the Ruby-based service (which could be in-machine or network-based). This single swf file contains all the Flash 2.0 components compiled in with a network protocol handler, method dispatcher, and event manager which allows Flash-based interfaces to be created at run-time by Ruby over a TCP/IP socket. Ruby programs will have access to the full version 2 GUI component model of Flash without the commercial costs of existing Flash tools.

Kilmer documents the Alph architecture, which utilize some of the best features of Ruby including blocks, threads, networking, and dynamic method dispatching. His presentation also demonstrates several examples of both local and web-based interfaces.

O'Reilly Home | Privacy Policy

© 2004, O'Reilly Media, Inc.