Welcome!

Linux Authors: Michael Sheehan, Lavenya Dilip, Ian Thain, Bruce Armstrong, Ellen Rubin

Related Topics: Adobe Flex, Open Source

Adobe Flex: Article

WebDDJ Feature: Open Source and the Flash Platform

Focusing on solutions

Newly appointed Web Developer's & Designer's Journal Editorial Board Member Jim Phelan writes: OSFlash, MTASC, FlashDevelop, Red5, FlexUnit...This article from WebDDJ vol 3 no 5 looks at a welter of initiatives that testify to the growth of the Flash Platform.

In a major repositioning effort in June of 2005, Macromedia (now, of course Adobe, but then still an independent company) unveiled the "Flash Platform." The conception of Flash, the company had decided, needed to change: Flash had evolved from a tool for designers to an interoperating set of technologies appropriate for Web application development. The time had come to abandon Flash's winsome singularity and start talking in terms of solutions rather than products.

The OSFlash Initiative
Around the same time, a group of developers was working to bolster Flash's support as a platform in a different way. The Flash development community had already produced a significant amount of tools that were open source, and it seemed due time to provide a way to centralize and organize those projects.

Aral Balkan, respected Flash developer, author, and instructor, set out to champion such an initiative. With the assistance and support of like-minded developers (in particular Nicolas Cannasse, author of MTASC, and Sonke Rohde), Aral created OSFlash.org (http://OSFlash.org) as a much-needed home for the Open Source Flash development community.

OSFlash was explosive. At this writing, OSFlash is host to more than 30 open source Flash projects. Aside from providing these projects with a place to call home, OSFlash offers project-based mailing lists, project management tools, and a presence on the OSFlash wiki. OSFlash also provides a general mailing list where developers can commune, brainstorm, and discuss new project ideas.

As the Flash Platform matures, the presence of a dynamic, spirited community of developers could be one of the most important factors in its success. With its Labs site (http://labs.adobe.com), Macromedia (now Adobe) has already made a commitment to involving developers in the retooling of Flash as a platform. Undoubtedly, developers will be a major driving force in the Flash Platform's success.

From Open Format to Open Source
The SWF file format, much like Adobe's PDF format, is open. Its "SWF File Format Specification" is published with each new version of the format. This document and its accompanying license are intended to "aid in the creation of software which creates SWF files."

Although SWF is not an open standard like SVG, Macromedia (Adobe) has been forthright in making SWF accessible to everyone, even competing software vendors (see: Adobe LiveMotion.) The role of SWF as an open format is undoubtedly a large factor in its success as well as the feasibility of many of the open source solutions in discussion. Thus, we can draw the conclusion that an open format enables open source. The question that remains, however, is: Does open source enables the growth of the Flash Platform?

Open source must in some way present itself as a bit of a dichotomy. It's generally accepted that open source solutions foster innovation and adoption. However, with an open file format and a free player, is it possible that some projects could eventually challenge Macromedia's (Adobe's) own role by creating competing tools?

Several projects that provide "alternatives" come to mind. OpenAMF is an open source alternative to Flash Remoting for Java and started as a port of the more innocuous AMF-PHP. OpenLaszlo employs a similar methodology for creating SWF applications as Flex, and the nascent Red5 project aims to provide a server product that provides some of the same functionality as Flash Media Server. John Grden, Red5's project manager, commented: "We'd like to get the community more involved in the types of features offered by Flash Media Server and make them available to third-world countries, non-profits, and others who might not otherwise take a look at Flash. That helps the Flash Platform by getting more developers into the fold of doing these types of applications."

With Macromedia (Adobe) at the helm of the SWF file format and the ActionScript language, it seems unlikely that any of these OS tools could replace their offerings. In fact, the vast majority of the open source projects leaders surveyed regarded their projects as complementary rather than competitive. Edwin can Rijkom, author of Screenweaver, went as far as to call Macromedia (Adobe) his "mothership." Even Grden, whose project could be viewed as competitive with Flash Media Server, doesn't believe that his team is building an FMS replacement: "We're pro Macromedia people; we're not anti Macromedia people by any stretch of the imagination. I don't know that we'll get their blessing so to speak, but we do hope that they'll see the value and the void that I think it's going to fill."

Darron Schall's view of Macromedia's (Adobe's) stance on open source is as follows: "The momentum behind OSFlash right now is a testament to the growth of the Flash Platform and lets businesses feel more comfortable relying on the Flash Platform... Macromedia overall has been very supportive of open source projects since it helps them establish the Flash Platform in the marketplace. The biggest conflict of interest that I see would be if open source developers were competing with Macromedia on a tool level. That is, I doubt Macromedia would support an open source Flash IDE replacement."

Balkan draws an interesting parallel to the success of Java: "As a platform, Flash has to be more than just a single technology that is tightly controlled by one company. Take, for example, an established platform like Java. The Java VM is not open source and yet Java has probably one of the largest and most active open source communities of any platform. A multitude of servers, frameworks, and tools, both open-source and closed-source, co-exists happily in the Java world and there is no reason why they cannot in the Flash world."

Tools like Flashout, ASDT, MTASC, Eclipse, and Swfmill (collectively referred to as FAMES) allow developers to create Flash applications without using any commercial tools. Most developers using these tools see them as an enhancement to workflow rather than a replacement for the Flash IDE. Another benefit of such tools might be that they are a "safety net" - an assurance that non-commercial methods exist to create Flash applications.

When asked if open source had the potential to draw developers to the Flash Platform, Balkan replied: "I know for a fact that the Open Source Flash initiative has attracted non-Flash developers and developers who might not otherwise have considered Flash to the Flash Platform. In fact, at the Open Source Flash Panel at Spark Europe, an engineer from the BBC's Research and Development department told the audience how their department only allowed her to use Flash for a project after she presented them with the projects on OSFlash and how they have now added Flash to their toolset. This is big; it's an example of how Open Source Flash helps bridge the gap between the Flash world and the greater Web development community."

Cannasse also sees open source as an enabler: "I think people need alternatives. Macromedia is very good at focusing on medium and big business, but they can't focus on everything at the same time. When they come up with a solution, it's very difficult to make it financially accessible to everyone. One of our goals is to provide software to those other organizations so they can use Flash where they couldn't before."

Although Macromedia (Adobe) hasn't taken an official stance on many of the Flash-related open source projects, it does seem supportive. OSFlash even hosts the JavaScript Integration Kit, which was authored by none other than Mike Chambers of Macromedia (Adobe). Tim O'Reilly, founder, chairman, and CEO of O'Reilly Media and a strong advocate of open source, sits on the Macromedia (Adobe) board and describes his role as "bringing Macromedia (Adobe) the open systems/open source perspective."

Round-Up of FlashOS Initiatives
Eclipse and Flex Builder 2
In June of 2005, Macromedia (now Adobe) made a commitment to enabling developers to use Eclipse for ActionScript development and joined the Eclipse Foundation. Macromedia's (Adobe's) new commercial IDE, Flex Builder 2, is built on top of the open source Eclipse platform.

MTASC and ASDT
Two projects that have attracted a lot of attention from the Flash development community are MTASC and ASDT.

MTASC (Motion-Twin ActionScript 2 Compiler) is an open source ActionScript 2 compiler that operates independently of the Flash IDE. When it was released, MTASC gained popularity not only because it was open source, but also because it could be integrated seamlessly with existing workflow in a way that the Flash IDE could not.

ASDT (ActionScript Development Tool) is a plug-in for the Eclipse IDE, enabling developers to create and edit ActionScript files in a way they couldn't before. Because Eclipse is a mature and standard editor, tools like ASDT (and the commercial Eclipse ActionScript plugin, FDT) allow developers to maintain their workflow.

Since MTASC is a command-line compiler, it can also be integrated with Eclipse, and proves quite useful when used in conjunction with ASDT.

MTASC won't be upgraded for ActionScript 3 support; instead, Cannasse is working on a new language called haXe (www.haxe.org).

FlashDevelop
For the developer looking for a straightforward editor, FlashDevelop is an open source solution that offers developers a simple, clean IDE with code completion and highlighting. MTASC can also be integrated with FlashDevelop (see Figure 1).

Red5
Since it was conceived of and started in August 2005, Red5 has been one of the most talked-about OSFlash projects. It aims to deliver an open source alternative to Flash Media Server (FMS) - formerly Flash Communication Server.

Red5 is currently in version .2, a prototype release. The Red5 team anticipates a 1.0 release by the second quarter of 2006. Currently, Red5 can stream video to the Flash client and has also been used to push a live stream.

RTMP (Real Time Messaging Protocol) is a proprietary messaging protocol developed by Macromedia (Adobe). RTMP is employed in Flash Media Server and will also be used for messaging services in Flex Enterprise Services 2. In order to make Red5 work, the Red5 team had to reverse-engineer the RTMP protocol, a process that is explained in detail on the Red5 Website.

One thing that's not completely clear to the Red5 team is the legality of creating such a product. Project manager John Grden commented: "As far as the legalities of protecting the actual protocol, we don't have an answer. We've been told that if we're using a protocol for interoperability, then we are fine within U.S. law. However, we've been told by Macromedia that they have a right to protect what they've invested in, which would include FMS and RTMP. That doesn't mean that they're threatening us; I think that they're trying to decide what they're going to do. I think one thing that's clear is that they're unprepared for open source, and Red5 has caught them a little bit off guard."

Grden stressed that Red5 was not a "replacement" for Flash Media Server: "FMS has edge and origin servers and tools for enterprise deployments. We have plans for that, but that's beyond 1.0. Right now we're just trying to come out with a server that does the basic things that FMS does." (see Figure 2).

More Stories By Jim Phelan

Jim Phelan, a member of the Editorial Board of Web developer's & Designer's Journal, is VP of Development and Chief Architect for Stream57, a New York City based firm specializing in communication solution development for the enterprise. Jim's expertise in creating solutions for consolidation and collateralization of business communications has allowed his team to create applications for the management and delivery of live and on demand rich media content. He is a strong proponent of the Adobe Flash Platform.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
n d 08/21/06 11:25:41 AM EDT

Flash has evolved from a tool for designers to an interoperating set of technologies appropriate for Web application development. Newly appointed WedDDJ Editorial Board Member Jim Phelan examines the Flash Platform.

SWFman 08/21/06 04:45:24 AM EDT

> [from the article] Balkan: "I know for a fact that
> the Open Source Flash initiative has attracted
> non-Flash developers and developers who might not
> otherwise have considered Flash to the Flash
> Platform."

So OSFlash plays a role is increasing the user base? I guess then this is the natural consequence of Adobe's "platform play" vis-a-vis Flash.

SYS-CON Italy News Desk 02/14/06 09:41:31 AM EST

In a major repositioning effort in June of 2005, Macromedia (now, of course Adobe, but then still an independent company) unveiled the 'Flash Platform.' The conception of Flash, the company had decided, needed to change: Flash had evolved from a tool for designers to an interoperating set of technologies appropriate for Web application development. The time had come to abandon Flash's winsome singularity and start talking in terms of solutions rather than products.