Flex 3 Release World Tour Hit Raleigh/Durham

Last night, Ben Forta came to Cary, North Carolina to showcase the soon to be released Flex 3 and AIR products from Adobe.

Flex Builder 3 is a compelling upgrade for the product. The IDE offering has actually gone down in price even while adding nice new features like Improved Designer/Developer workflow, a memory profiler, advanced components, and support for the AIR platform.

For more complete information on Flex 3 Features see the labs.adobe.com page.

Also soon to be released is the long awaited Abode Integrated Runtime product. AIR, as it is known for short, offers a cross-operating system runtime that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop.

This means your application can now access the local file system, accept drag and drop assets from the desktop, run outside of the browser and actually run completely offline. The product even contains the SQLite database to help handle offline data.

Many people have not fully grasped one of the most interesting features of AIR. You can write a desktop application using the AIR platform, HTML and Javascript. This will level the playing field by allowing existing web developers and designers to use their current skilling to create functionally relevant desktop applications.

Honors of the night go to the Anthropologie demonstration. The premise of the application is to show how the Anthropologie catalog of apparel can be displayed in an offline mode. The user can search for an article of clothing based on standardized parameters. The user can also drag an image onto the application and use a color dropper to select a color and use that color as search criteria using very intuitive workflow. When Ben actually drug a picture onto the application, selected a color and the search results automatically filtered, the collective breath left the room. See for yourself at this video of the Anthropologie Catalog AIR application.


Are you prepared for the upcoming RIA arms race? It promises to be interesting!

Note: I've been keeping up to date with the blog chatter on the meeting. A local TV station even interviewed Ben Forta! See my article on ria.dzone.com for more content./p>

4785 Views Print Print Comments (1) Flex, AIR

ColdFusion style List Functions In ActionScript

Shannon Hicks just released an ActionScript library that makes working with delimited lists in ActionScript as easy as working with delimited lists in ColdFusion.

Now you can operate on delimited data with such familiar and handy functions as:

  • listAppend
  • listContains
  • listFirst
  • listLast
  • listLen
  • listToArray
  • and More!

Thanks Shannon!

5088 Views Print Print Comments (1) Flex, AIR

Flash Security with Off-Root CrossDomain.xml files

Bruce Phillips (You should check out his interesting Flex posts) let me know that my Surfing Stats data didn't load when the swf was located off my http://www.nodans.com domain. I want others to take the code and do with it as they please so I need to make the data available across domains. This is done through the use of a crossdomain.xml file. The file I used looks like this:

view plain print about
1<?xml version="1.0"?>
3 <allow-access-from domain="*" />

This is a very promiscuous file. It allows anyone anywhere to load any data in the containing directory and all subdirectories. Such a promiscuous file also opens up security vectors. In the words of Lucas Adamski on DevNet:

As an example, a user is logged in to an e-commerce site that uses cookies for authentication. On the site is a user account settings page where you can see information such as your mailing address and other personally identifiable information. If this site has an overly permissive cross-domain policy file like *, a SWF file that is hosted on another domain could silently load the account settings data and send it elsewhere. This is because the browser appends the cookies for the e-commerce site to the request from Flash Player.

By default, the SWF looks for the crossdomain.xml file in the root of the website but with a little code, you can put it anywhere you please. I used this command to tell the SWF where to find the crossdomain.xml file:

view plain print about

Now, only the directory containing SurfingStats is enabled, reducing the surface area of attack. If you want to read more on the security issues with crossdomain.xml files, check out these links:
Poking new holes with Flash Crossdomain Policy Files
Cross-domain policy file usage recommendations for Flash Player
The Dangers of Cross-Domain Ajax with Flash

Fix for annoying Where is the Debugger or Profiler running? popup

Shannon Hicks, who is a wealth of Flex Knowledge, gave me the solution for this problem. Apparently, an earlier version of the Flash Debug player incorrectly assumed debugging mode.

The solution is to use an updated Flash Debug player. You can find a suitable version inside the installation for Flex Builder 3. Mine was located here:

view plain print about
1C:\Program Files\Adobe\Flex Builder 3\Player\win

I am using Flex Builder 3 Beta 2 and it works. Later beta versions of Flex Builder include the correct version of Flash Player as well.

Thanks Shannon for helping me with this. It was DRIVING ME NUTS!

9804 Views Print Print Comments (2) Flex, AIR

Where is the Debugger or Profiler running? Flex Builder Debugger

Where is the Debugger or Profiler running? Why, localhost, I presume.....

Recently I installed Flex Builder 3 on a new machine and experienced an error when running/debugging Flex applications. What would happen is:

  • I run a Flex application
  • A popup loads asking "Where is the debugger or profiler running?"
  • I select localhost
  • The popup briefly disappears
  • The popup returns asking "Where is the debugger or profiler running?"

Another message that showed up is "A connection to the debugger or profiler could not be established by Adobe Flash Player 9"

Clicking the cancel button removed the popup and continued running the Flex application. The debugger was not working properly.

After some searching and some trial and error, I found the Flex Debugger runs on port 3434. Unblocking this port in the firewall allowed the debugger to connect on localhost.

Surprisingly, this wasn't documented very well. I hope this helps someone else. Programming in Flex without the debugger makes Homer something something...

Update The popup has come back! Oddly enough, the debugger runs now. I am very glad for that. However running any compiled Flex/AIR code brings up this silly "Where is the debugger?" popup. If anyone has an idea how to supress this, please let me know.

Update: This has been solved. Details are located here. Thank You to Shannon Hicks for giving me the solution.

13994 Views Print Print Comments (7) Flex, AIR

Fixed error in SQLLite Administration tool

Christophe Coenrates, a man I deeply admire (and whose job I covet) released a sweet SQLite Administration tool. I downloaded it last night and was playing with it. It is a very nice example of an AIR application.

When using the tool, I attempted to execute several sql statements and received an error. The error was caused by single quotes in my sql statement.

view plain print about
1insert into [ContactType]([ContactTypeID], [Type]) values(1, 'Friend');

Thankfully Mr. Coenrates included the source code for the application so I fixed the error.


Download Download

8104 Views Print Print Comments (1) Flex, AIR

SQLLite Administration Made Easy

I am working on some AIR projects now. AIR has SQLLite embedded into it. While looking around for a good way to manage SQLLite databases, I came across a post by Critter Gewlas titled Easy Administration of an SQLLite Database.

There is a freeware version with a very solid feature set. The professional version adds a trigger management UI, a Query Builder and some other enterprise level features. View the features for both editions on the SQLite Expert website Here are some screenshots:

A data transfer wizard

Index Manager

Trigger Interface

An Image Editor for columns containing images

In short, this is a no-joke program for managing SQLLite Databases. I plan on evaluating this program in the near future and will post my findings.

8038 Views Print Print Comments (1) Flex, AIR