Mike Potter

June 29, 2006

Why open source developers can be excited about Flex

The goal of open source software has always been to create software that can be free, not in price but in terms of restrictions for use. The availability of source code and the the ability to modify that source code, are important parts in the free / open source software movement.

There is lots of good news with respect to today's Flex launch for open source developers. First of all, the free Flex SDK includes the source code for the Flex components, and allows anyone to compile a Flex application at no cost. You are free to modify the Flex components as you need to. As a developer, you can now build a Flash application in VIM, run it through the compiler in the SDK, which works on Linux and Mac OS X, and build a .swf file. (In fact, if you're using VIM, you might want to check out actionscript.vim by Manish Jethani to highlight your ActionScript source code in VIM).  For debugging, you can use fdb, part of the Flex SDK.

The Flex Builder tool is built on top of Eclipse, and we have published the source code for Flex Builder that is derived from Eclipse.

You can create open source Flex applications, and host them over at osflash.org.  As a Flex developer, you can enable users to see your source code when they right click on your application ("View Source").  (To enable this, in Flex Builder, choose Project -> Publish Application Source...).

You Flex application will work well with a Java backend system or PHP backend system.  For PHP integration, you'll want to download and use the open soure project AMFPHP.  You can read my tutorials on how to integrate Flex and PHP on the Flex Developer Center.

Once you've built your application, you can then deploy the file as you would any other web application (likely to an Apache web server), and end users can interact with that application using the free Flash player. Now, the story would be much better if that Flash player was available on Linux (and if it were open source), but its not, at least not yet (available on Linux that is). However, there is a team of talented engineers working on Flash Player for Linux, and you can follow their progress on their blog.  Apparently a beta version of Flash Player 9 for MacTel machines should be out soon, with a beta for Linux sometime later this year.

One of the benefits to web applications for Linux enthousiasts has always been the fact that web applications are not tied to a specific operating system - they simply need a web browser to work. The main problem to this model has been the the client: web applications today cannot replace desktop applications, there are too many limitations: local file access, no vector drawing APIs native in the browser, rich media integration isn't supported, JavaScript execution speed isn't the same as compiled code... Flex applications solve most of these problems (a drawing API is available in the Flash player, it can integrate rich media content easily, and it now has a JIT compiler for better performance), and we hope to have a better solution for local file access when we release Apollo (a beta version is expected later this year).

The development of more advanced web applications will continue to help adoption of operating sytems where the Flash Player is available, including Linux.  And yes, some developers are working on an open source Flash player.

No, the story isn't perfect, but I think its pretty good.  The Flex SDK includes the source code to Flex components, you can build and debug Flex applications on Linux, those applications can interact with an open source backend system (PHP), and end users can interact with those applications at no cost (and in a little while on a free operating system).

BTW: I'm always interested in your feedback on how Adobe can contribute to the open source community.

technorati tags:, , , , , , , ,

Blogged with Flock

10:04 AM | Permalink | Comments [3]

June 28, 2006

Flex 2 and Future Web Application Development

Flex 2 has been released (CNET coverage here, TechCrunch coverage, Digg the story).  You can buy it from the Adobe online store for $499, or $749 with the charting components included.  The SDK for Flex is free, as in beer, and there's a free version for Flex Data Services included as well.

This release marks an important milestone for Adobe, as my colleague Bill McCoy has discussed in his blog.  Some great web applications have been built with Ajax, but increasingly a number of them are using Flash in areas that the browser cannot handle: rich media integration (You Tube, Google Video and others use Flash to stream video), saving data locally (using the Flash Shared Object), applications that demand higher performance from the client (Flash code is compiled as opposed to Ajax / HTML code).  Google Finance is a great example of using Flex and Ajax together, and using Flash where it makes sense (rich graphics drawn on the client).

Yes, you can do some very cool things with Flex right now.  However, future development looks even brighter from an Adobe perspective.  Apollo will provide additional APIs to web applications that will allow them to integrate into the operating system - users will launch web applications just as they would a regular desktop application (with icons on the desktop / dock / taskbar), the ability to save large amounts of data on the local machine (not limited to the 100K default for the shared object), and perhaps most importantly the ability to develop an application once and then have it run on multiple operating systems (we've committed to making Apollo cross platform).  Watch a developer week session about Apollo.

Take that view of the future along with the ability to create mobile applications that run on FlashLite using the same set of technologies.  Plus, unlike other languages, building a mobile application for FlashLite will work across a variety of devices - anywhere that the FlashLite player is installed.  (Did you miss the announcement of the FlashLite deal with Verizon?)  Can you see why JD was so excited about this deal earlier this year?

Here are a few other links about the release:

The source code derived from the Eclipse code is available for download.

A version of Flash Player 9 for Linux is underway.  Follow the Penguin.swf blog for more information.

Flex.org is a new site that launched today as well, with resources for the community related to Flex.

FlexCoders.net has a list of Flex developers, if you're interested in building out a Flex project and need some help.  If you need work, register there.

For historical Flash designers / developers, Adobe Labs now has a preview of Flash Professional 9 with ActionScript 3.

technorati tags:, , , , , , ,

Blogged with Flock

08:58 AM | Permalink | Comments [2]

June 23, 2006

Adobe MAX - More Information

Here is some more information from an FAQ that we will be launching next month for Adobe MAX 2006.

First of all, the location.  its being hosted at the Venetian Hotel in Las Vegas, from October 22nd to the 26th.  The Venetian hotel is located at 3355 S. Las Vegas Blvd in Las Vegas, NV.

The cost will be: Early bird (before September 25th) will be $1095.  The regular price will be $1295 and the onsite price will be $1495.  Note that all day hands on training sessions are priced in addition to your registration fee and are not mandatory for MAX 2006.

Attendance will be limited to current and prospective Adobe customers, 21 years of age and older.  Competitor registration at this event will not be accepted.  Children are not permitted to attend MAX 2006. 

Attire is casual for the entire week, but bring a sweater or sweat shirt.  Session rooms in the hotel can be cool (Mike's note: What is the point of going to Las Vegas in October if I still need to wear a sweat shirt!  I'm supposed to be leaving the cold weather in Canada at that time!)

There will be a limited number of rooms available at a special rate that you can book when you complete your registration for MAX 2006.

If you have other questions about MAX 2006, please email info@adobemax06.com.

technorati tags:, ,

Blogged with Flock

01:39 PM | Permalink | Comments [2]

Sys-Con Announces Real-World Flex Seminar in August

Sys-Con will be hosting and producing a day-long event about Adobe Flex.  The event will take place in New York on August 14th.  If you're interested in Flex or building applications with Flex, this is definitely something that you'll want to attend.

From the webpage, "The list of topics at the Real-World Flex Seminar includes:

  • The Flex Approach to RIA Development
  • Bridging Flex and AJAX
  • Integrating The SPRY Framework
  • Using Flex Builder 2
  • Flex for Java Developers
  • ActionScript 3.0 Tips and Tricks
  • How To Use ColdFusion with Flex
  • Leveraging Flash
  • Preparing for Adobe Apollo
  • MXML Master Class"

  • Registration for the event is only $395, and includes breakfast, lunch, a 12 hour DVD of the seminar, a t-shirt, a laptop back-pack and future access to on-demand video presentations of the seminar.

    technorati tags:, , , , , , ,

    Blogged with Flock

    12:56 PM | Permalink | No Comments

    June 22, 2006

    Install Flash Player 9 Beta in Flock

    For those of you interested in viewing Flash 9 content in Flock, you'll need to copy over a single file from a Mozilla installation... Currently the Flash 9 beta installer doesn't install the plugin into the Flock browser. To get it working, simply copy C:\Program Files\Mozilla Firefox\plugins\NPSWF32.dll to C:\Program Files\Flock\flock\plugins\NPSWF32.dll.

    Digg This!

    Note: This is obviously not supported from Adobe. I urge you to back up your C:\Program Files\Flock\flock\plugins\NPSWF32.dll before copying over the new version, so you can revert back to it if this doesn't work for you.

    technorati tags:, ,

    Blogged with Flock

    07:34 PM | Permalink | Comments [8]

    June 21, 2006

    Download a Flex / PHP Framework, with Source Code

    Digg This!

    When we were at the New York PHP Conference last week, one of the things that struck me was how hard it was to get started with Flex and PHP. You have to go to one site to download Flex Builder, then to another site to download AMFPHP, then build out your application, deploy it etc...

    I thought I could help out, so I built a small framework that includes AMFPHP along with some sample files. The Flex application simply displays information from a MySQL database in a Flex application. Very simple. Here's how you, as a PHP developer, get started:

    1. Download the Flex / PHP Framework .zip file.

    2. Extract the .zip file in your website. The files must be put in a directory called flex_project in your web server's root directory (ie. /flex_project) (the .zip file should create the flex_project automatically, so you should just extract to the root dir.).

    3. Create a database called sample, and populate it with the data from sample.mysql in the flex_project directory.

    4. Modify the line $mysql = mysql_connect(...); in the file flex_project/amfphp/services/sample.php to be able to connect to your database.

    5. Visit http://localhost/flex_project/amfphp/services/sample.php. (Change localhost if you haven't installed on a local machine). You should see some output.

    6. Visit http://localhost/flex_project/bin/flex_project.html to see the Flex application in action. You will need Flash Player 9 for this to work properly.

    To modify the backend PHP code, you'll want to change the file in flex_project/amfphp/services/sample.php

    To modify the front end Flex code, you'll want to download Flex Builder, create a new Flex project with the source of it as the flex_project directory. Then, modify the flex_project/flex_project.mxml file. When you save that file, it will update the .swf file in the bin/ directory, so reloading http://localhost/flex_project/bin/flex_project.html should show you an updated application.

    One thing to note that I've changed in this compared to other uses of Flex and AMFPHP. In AMFPHP, I commented out the following lines in amfphp/app/Filters.php:
    $outHeader = new AMFHeader("AppendToGatewayUrl", false, "?" . ini_get('session.name') . "=" . $session_id);
    $amf->addOutgoingHeader($outHeader);

    I'm not too sure what that was doing, but it was calling an ActionScript function AppendToGatewayURL that was blank in my previous tutorials. Doing this removed the need to create a RemotingConnection.as file in your Flex Project. You'll notice this because the connection to gateway.php now looks like this:

    gateway = new NetConnection();
    gateway.objectEncoding = flash.net.ObjectEncoding.AMF0;
    gateway.connect( "/flex_project/amfphp/gateway.php");
    gateway.call( "sample.queryDatabase", new Responder( onResultQueryDatabase, onFault ) );

    Hopefully this .zip file is helpful for PHP developers. It shouuld be relatively easy to extend this sample to include the ability to create, update and delete elements from the database. If you do that, please send me an updated .zip file to post on this site.

    technorati tags:, , , , ,

    Blogged with Flock

    04:57 PM | Permalink | Comments [6]

    June 19, 2006

    PHP Conference in New York - Wrap Up

    Allen Seirafi and I attended the New York PHP conference last week, and had a great reception to Adobe Flex.  We showed off demos of Flex front ends to Gallery, a new admin screen for Drupal and other cool looking components from Ely Greenfield.

    Here are a few reminders for PHP developers:

    1.  The Flex SDK will be available for no charge.  So, if you want to develop cool applications using ActionScript and code in VI or Notepad as opposed to Flex Builder, you can do so at no charge.

    2.  The graphing components will be not be bundled with Flex Builder, but will instead be sold seperately.

    3.  You can download Flex Builder, Flex Data Services, the SDK and the charting components right now from labs.adobe.com.

    4.  If you want to connect to a PHP backend, you'll want AMFPHP.  Once you've got that, you'll want to read the tutorials that I wrote on how to integrate that with Flex.

    There are already some companies doing cool things with PHP and Flex.  Keep me posted on anything that you're developing.

    technorati tags:, , , , ,

    Blogged with Flock

    12:05 PM | Permalink | Comments [2]

    June 13, 2006

    LiveCycle Developer Week Recorded Session

    I presented an introduction to Adobe LiveCycle yesterday as the third event in our week long, online Developer Week event. It was really nerve racking presenting online to over 250 people... I would much prefer to present to that many people in person... At least then you can see people's faces, and see if they understand what you're talking about: are they nodding their heads or falling asleep? You can't see anything in Breeze, except a bunch of questions flying by all the time.

    If you missed it, then you're welcome to take a look at the recorded session. I went through an overview of all the LiveCycle products, including a demo of Designer. Unfortunately, my demo of LiveCycle Workflow and the server products didn't work out as I had problems starting up the LiveCycle server software, but I hope to have a Captivate movie on getting started with LiveCycle up on my blog later this week.

    If you're interested in LiveCycle, then I suggest you check out the other LiveCycle sessions this week: an Introduction to Adobe LiveCycle Workflow and QPAC Development, and Building Applications Using Adobe LiveCycle and Flex. Register online here.

    12:57 PM | Permalink | Comments [1]

    June 09, 2006

    Record Video From Webcam and Post To Drupal (With Source Code)

    For my talk to the Boston PHP user group last week, I built on Chritophe's sample that showed recording video from a webcam, and then publishing that to a Drupal based blog. Here is the code (MXML Format). To get this running, you'll need a copy of Flash Media Server (free developer version available) and a working webcam (I'm not really into error checking :) ). Once you download and install Flash Media Server, in C:\Program Files\Macromedia\Flash Media Server 2\applications\, create a directory called flex_videoconference. A few things to note:
    In the source, you'll see:

    nc = new NetConnection();
    nc.objectEncoding = flash.net.ObjectEncoding.AMF0;
    nc.connect( "rtmp:/flex_videoconference");

    You need the line ...=flash.net.ObjectEncoding.AMF0 because FMS doesn't do AMF3. The line nc.connect("rtmp:/flex_videoconference"); is equivalent to nc.connect("rtmp://localhost/flex_videoconference"); so if you're connecting to a remote server, you'll want to change localhost, obviously.
    The line nsPublish.publish("christophe", "record"); tells FMS to record the stream so you can play it back. Valid values are "record", "append", and "live". The default value is "live". (Lookup NetStream in the Flex help for more information).

    Nearly everything works in the publishing method, but I can't figure out how to properly encode the HTML string being sent to Drupal so that it will display the movie properly. I have also created a MediaPlayer.swf video player and put that in my Drupal theme directory, but because I can't get the encoding working properly, then it doesn't matter. If you have knowledge of the BlogAPI for Drupal, please help!

    Regardless, even if you don't use it, you've got a way to record video to Flash Media Server and then to play it back in a simple example.

    05:29 PM | Permalink | Comments [1]

    MAX information creeping out...

    Adobe has posted a webpage for Adobe MAX, our developer conference set for October 23rd to the 26th at the Venetian Hotel in Las Vegas. Not much up now, but you can subscribe to email updates. Questions can be sent to info@adobemax06.com.
    Technorati Profile

    08:39 AM | Permalink | No Comments

    June 06, 2006

    PHP Gallery Integration with Flex - With Source Code

    Update: I've fixed the links in this to the Flex front end, sorry about that.

    I have (finally!) got around to publishing the source code for my PHP Gallery / Flex integration. You can see it in action on WickedDemo.com. The PHP Gallery site is online, and the Flex / Flash front end to Gallery is here. The PHP code is here. When you visit the Flex front end to Gallery, right click on the Flex application and select "View Source" to see the code. Or, just click here to view the source. This is an example of using AMFPHP for integrating Flex and PHP.

    09:51 AM | Permalink | Comments [3]