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.
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.
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>
Now you can operate on delimited data with such familiar and handy functions as:
- and More!
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:
<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:
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:
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
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:
C:\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!
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...
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.
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.
insert into [ContactType]([ContactTypeID], [Type]) values(1, 'Friend');
Thankfully Mr. Coenrates included the source code for the application so I fixed the error.
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
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.