Tagged: flex

Control: AnimatedTileList

Control com.practicalflash.controls.AnimatedTileList
Source Google Code Repository

The Animated Tile List attempts to fill the Visual Component gap left by Adobe in their current TileListRenderer structure. While not as sophisticated (it doesn’t support drag & drop, mouse commands, or data change transitions for instance), it nevertheless provides an invalidating, caching tile list with smooth selection transitions.

Notable differences: The AnimatedTileList does not poll its children for desired row height or widths, but calculates those directly off of the numRows and numColumns properties, setting them explicitly.

A New Approach for Flash Accessibility

My colleague (aka running buddy, aka friend, aka fashionista) Andrea Hill and I had a pow-wow a few months back in anticipation of her Accessibility presentation at Spring </br> . Personally, I thought the conversation was a perfect example of how genius occurs at the intersections of knowledge domains, as we were able to take her expertise on Accessibility standards and my expertise in Flash and Actionscript and come up a back-of-the-napkin approach to Flash Accessibility that might just fix all the headaches caused by interfacing with Assistive Technology. Note that this solution does NOT absolve you from designing for visual impairments, hearing deficiencies and so forth- this is a way of interfacing with screen readers.

Serializing and Deserializing ValueObjects in Flex and AIR

One of the holy grails of the "Build Once, Deploy Anywhere" promise of the Adobe AIR isn’t simply that your application will cross all major operating systems, but also that the same codebase can be deployed via the web as an RIA. Admittedly, there remain some differences in functionality; For instance, a desktop application has to worry about windows or contextual menus. Another challenge altogether is transferring data between a desktop and a web application, which can be a daunting task if you’re trying to share multiple files, yet is perhaps not as difficult as you might think.

Classifying Rich Internet Applications

I had an excellent discussion with my coworker Susan today about refining certain internal processes, and one of the tangents of the conversation went off on what the actual definition of a Rich Internet Application actually was. As we know, anything from a banner ad to a product configurator can be considered an RIA, and the only common element seemed to be that an RIA retains its functionality within the context of what the user is interacting with. In other words, if you click on button in an RIA, the resulting action does not significantly change the page or window the user is interacting with; Clicking to go to a new page loses context, using an animated accordion to display different content does not.

The similarities, though, end there. Implementation varies, technology varies, scope and location and functionality varies, and all in all it ends up being a pretty difficult convoluted mess to describe. At best you can group them via complexity, and after a brief exercise of that nature we realized that a new breed of networked application was emerging. Well, alright, perhaps not emerging, but instead gaining momentum and acceptance in the mainstream. Here’s the scale, see if you agree with our reasoning.

Columbus Ruby Brigade presentation: Ruby, Flex & AIR

I’ve been invited to speak at the Columbus Ruby Brigade on AIR and Ruby integration. Given the expert nature of my audience I’m not going to dwell too much on Ruby and Rails, but will focus instead on how to integrate Flex & Air into a Ruby based service layer. This will be a highly technical presentation- I will be covering the following topics:

  • The internet ecosystem: Ruby, Rails, AIR, Flex, and where do they all fit
  • Cost: What is it going to take?
  • Installing and using RubyAMF
  • Overview of MXML, Actionscript, Eclipse and the SDK
  • Consuming data services with Flex & Air
  • Building a simple call/response architecture

The presentation was on Monday, June 16th. The files are below:

Presentation Demos [RubyBrigade.zip]

Porting Pandora to the Desktop

So there I was, hacking away at AIR, and my iPod runs out of batteries. I was in that rare coding zen where you really need the audio to lock you out from the rest of the world, so I was fairly annoyed that the random conversation here at Apropos suddenly started to interfere with my productivity. No worries though, I could always resort to Pandora, right?

Now, I’m not a big fan of Pandora. Don’t get me wrong, I love what they’re doing and have found some phenomenal music there, but the fact that I always have to keep a browser window open to make use of their service has kindof annoyed me, and now was no different. I could deal with it though for the sake of productivity…. until I realized that AIR came with its own embedded WebKit browser.

Class: StringProxy

One of my many and varied tools from my localization sandbox, the StringsProxy is a generic object proxy container intended to simplify the management of large sets of application strings with little investment from the developer. It’s effectively an implementation of the Proxy object that includes propertyChange event dispatching so that Data Binding works properly.