Listen to 7 CF geeks talk about Flex and AIR

The first installment of the ColdFusion Round Table was released today. A ColdFusion Round Table is a collection of Motley ColdFusion geeks talking about the relevant issues of the day. I was a participant along with Sean Corfield, Peter J. Farrell, Brian Meloche, Terrence Ryan, Brian Swartzfager, Matt Woodward. This round table focused mostly on the recent release of Flex and AIR and we covered quite a bit in an hour and fifteen minutes.

Being on a podcast is pretty cool. Matt and Peter made it very comfortable and easy for us all to participate. Once I got over the "Do I really sound like that in real life?" bit, I felt fine.

I'm pretty amped on Flex and AIR. Really, platforms like this will drive the next wave of application development. Web applications that remain HTML+CSS based will begin to look more dated in the next few years and there will be much resources and energy expended to upfit applications with the latest in features and branding. As I mentioned, this is a very exciting time to be an application developer and now, more than previous, it is important to update your skills. There are no hungry Flex developers right now :).

Anyways, the finished podcast product turned out rather well. Give it a listen and tell me what you think.

Meet The Man Who Set Twitter Free Of The Browser

I interviewed Aaron West for DZone.com recently. Aaron is a long time ColdFusion, Flash and Flex developer. Aaron is the author of twitterAIR, the first Twitter/RIA integration based on the Adobe Integrated Runtime platform and he has a host of community contributions and accolades to his credit. In this interview, we get to know Aaron, find out how and why he built twitterAIR and hear his thoughts on the direction of Rich Internet Applications.

Give it a read at the RIA Zone

On CSS, HTML and Boiling Frogs

I've just released an article at the RIA Zone titled CSS3: A solution for applications, or are we the boiling frogs?. The article is about CSS and HTML for applications and begins like this:


I've made countless web pages using HTML + CSS and have no complaints about the technological combination for Internet documents and pages. The rub comes when trying to make an application. Note the distinguishing factors. HTML + CSS is a horrid combination for making applications.

To be true, the HTML + CSS isn't truly the problem, the problem lies in inconsistent rendering by the clients (browsers). However, a large part of my job is making sure an application works, not debating with users which browser renders 'correctly'.

When building an HTML + CSS based application, there will be some unanticipated time required to track down and hack around a strange edge case or rendering bug . The time spent to track down the source of the error, which by the way only happens in IE version 6.0.23234234 and in Firefox 2.098435 and not Firefox 2.102309, is lost time. I've even spent 8 or 9 hours tracking down the source of a CSS related problem, googling around, reading blogs to find a solution and then testing all the various browsers using various user interaction permutations to verify the fix didn't break another client implementation. While spending this time was necessary for the success of the application, I would have preferred to spend that time towards building another useful feature for the users.


The article is a lot longer. Give it a read and let me know if I am off base.

Give your take on "Why Flex?" at 360|Flex

Thanks to Adobe and Ben Forta, I am the proud owner of a fancy Flip video camera. I've been tasked with recording 10 segments from the community answering the questions:

  • Why Flex?
  • Why ColdFusion?
  • Why AIR?
  • Why Flash?

Since I'll be at 360|Flex next week, finding 10 people to share will be easy. Come on over and let's hear your answers to these questions. Support your favorite platform!

360|Flex, be there or be square!

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>

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!

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:

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

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:

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:

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? 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.

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.

insert into [ContactType]([ContactTypeID], [Type]) values(1, 'Friend');


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

[More]

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9.001. Contact Blog Owner