Category: Flex, Flash and Air

What does Google Chrome do for Mac based Flex Developers?

Do you know every detail in the Flex framework by heart? Do you also know all the other libraries that you use by heart? Well I don't and I often have to reference some online resource while developing.

For instance, I always have Action Script Language Reference, Wikipedia, some library API site(s), Gmail and a dozen other ones open + the debug version of the app at hand.

So what used to happen when you but a breakpoint in Flex Builder with all these tabs? They would be unavailable and any process happening inside of them could not be relied on. Since not all code runs well on first attempt, if the app crashed while testing ( think 3D, data intensive apps, etc.) the browser and all the tabs went down with it.

My solution so far was to use Firefox as a development browser and Safari ( since I'm Mac based ) as a browser for references and everything else. For crashing resolution, Firefox has a nice "Restore" option but it's not fun waiting for 15 tabs to reload.

So Google Chrome recently came out for Mac. It didn't impress me on Vista so I didn't care much. I guess I was in between of curious and bored so I decided to give it a spin.

What a pleasant surprise to see every tab running in a different process. My workflow feels so much better now that I'm not afraid that a bad line of code is going to take down my whole browser.

I've heard that IE8 also runs tabs as different processes but I'm not crazy about returning to development on Windows. I did try out Chrome on Windows 7 as a result of the Mac test and all the issues I've seen the first time around have been addressed. Kudos to Chrome development team.

Let's not forget to mention all the features that are missing on Google Chrome for Mac, primarily the lack of Bookmark Management, but Google Bookmarks or any online bookmarking service will do for now.

I can not wait to see more development being done on Google Chrome for Mac and it getting out of beta. I will not uninstall Firefox anytime soon but as a Flex developer I give Google Chrome for Mac high scores for beta.

Flex Widget for Graphing Elections and Debt

This movie requires Flash Player 9


We've been building a lot of mapping/GIS data visualization applications over the last few months, mostly using flex with various back end services (ArcGIS, google and yahoo maps, open source mapping frameworks.) One of the more fun little projects was putting together this flex widget for displaying maps and graphical data together on a timeline. It's meant to be distributable so that anyone with a blog can display it. We put it together using presidential election data and national debt, not because we thought the correlation was particularly significant, but because the data was available going back a long time. The widget is pretty flexible; it can go against a local data source or a web service, and we can easily modify it to show different kinds of data. We'll be coming out with a few more of these over the next few months, hopefully with some more 3D maps, drill down on geographic level, as well as more charting and other visualizations. If you'd like to use this one, or have ideas for other data sets and visualizations you'd like to see, let us know.


3D Data Visualization in Adobe Air

This movie requires Flash Player 9


As part of our ongoing development in the air traffic logistics and weather forecasting space, we developed a three-dimensional prototype for tracking flight path data and meteorological readings using Flex, Papervision 3D and PureMVC.

The framework is configured for using multiple APIs for mapping services from Yahoo and Google, as well as receiving live data streams from different sources. A number of custom controls were developed and integrated into the application, including altitude and rotation controls. The application can be re-used for any three dimensional map-based visualization such as weather patterns, demographic, political or economic data.

Accessing the Icon for a Button Programmatically in Flex 3

flex_logo

The other day, I was trying to get the icon for a button in flex programmatically for a FlexUnit test. The code I was testing set the icon of a button using setStyle('icon', ICON). I attempted the obvious button.getStyle('icon') in the test, but was surprised that this always returned null.

A little bit of digging revealed that the I needed to go through the style declaration for the button. When changing my test to assert on button.styleDeclaration.getStyle('icon'), I was able to successfully access the icon.

I found this a bit non-intuitive, but fortunately it only involved some investigation and minimal code changes.

Topics:

A First Impression of Flash Catalyst

Flash CatalystSpent some time playing around with Flash Catalyst, which was released by Adobe as a public Beta yesterday. I downloaded it today and got started on some of the tutorials Adobe labs has put up.
My impressions:
It's pretty neat stuff. I could see myself prototyping with it, although Keynote and Acrobat are my tools of choice at the moment.
From my limited time working with it, Catalyst's main function is to make it very easy to take Photoshop or Illustrator compositions and turn them into fully (front end) functional interfaces, complete with animations, transitions, fades, buttons states etc. One of the tutorials had me import artwork of a scrollbar, in 4 layers. Creating an actual scrollbar and hooking it up to a canvas was as easy as selecting the individual layers and telling catalyst which part of the scroll bar it was (up button, down button, track and thumb). It;s also super easy to connect user actions to specific screens (or states, as Catalyst calls them).
Continue reading »

Hedge Fund Analytics in Flex

Please install Flash to see this video player!

We just published a case study on a Hedge Fund Analytics application developed in Flex. It's an extensible Flex based platform for real time analysis of hedge fund performance data, with dynamically updating charts, graphs and sophisticated filters for cumulative performance, return distribution, alpha, beta and correlations, commissions and fees, credit and sector exposure.

The system is designed as a modular platform which can consume data services from multiple sources, and can integrate multiple custom components. Custom components were designed to conform to a standard API. Components expose standard flex component properties and events so that properties and method references could be passed. This allowed individual dashboard applications to be built, fed data and customized at run time. Take a look at a video demo or read the longer case study on the Pathfinder site.

Hedge Fund Analytics

Flare vs. Axiis

flare-vs-axissAfter a long time of searching for the right data visualization framework for Flash Platform, some time ago I've put my money on Flare which is based on a Java framework called Prefuse. I have been very happy with it and haven't looked back until a new framework of same purpose crossed my way - Axiis.

Before anything else said, Axiis is a brand new framework so I have to give it some credit if all the bells and whistles are not there. What intrigued me about it in the first place is that Axiis is heavily relying on Degrafa, a well proven declarative graphics framework that I have a lot of good experience with.

After looking at Axiis examples, here are my first impressions of how it stands against Flare.

Continue reading »

Pathfinder Launches Beer Hunter, A New Flex + Ruby RIA

Beer Hunter Flex RIAWe just launched a new rich internet application for Destinationbeer.com, called Beer Hunter.  It was written in Flex and Ruby on Rails and features mapping and 150 beers from around the world.  We think it's pretty cool, so check it out, and let us know what you think.  One of the things I really like about it is that the design pattern can be applied anywhere you're filtering products geographically and on attributes.  Coffee? Wine? Jewelry? Chocolate? Travel Books? I particularly like the way the beer list visually sorts when you change a filter and the zoom interactions on the map.

There's more information in the case study on the Pathfinder web site, Sasha has written a related post on RubyAMF and Flex from the Flex perspective , and Justin has written one on Rails, AMF and Flex from the Rails perspective.

Touch Screen Kiosk in Adobe Air

kioskscreensmall1

We recently launched a new Touch Screen Kiosk deployed in both Adobe Air and Flex. Touch Screen Kiosks pose some interesting usability challenges, some of which overlap with those for the iPhone. Take a look at a video demo or read the longer case study on the Pathfinder site.

Touch Screen Kiosk Demo

Can your Selenium do that? Testing flash/flex and silverlight in web apps with iMacros

imacros-logo

Having learned a long time ago the value of automated testing tools like Selenium, jMeter, and soapUI, I'm always on the lookout for new improvements in these tools. While I love Selenium and other frameworks like it, it has the limitation of not being able to test Flash/Flex/Silverlight or Java Applets. But if you need to test flash and silverlight components of your web app, in an automated way, the  iMacros testing tool might be worth checking out.

No Free Ride

While the free version of the iMacros plugins for InternetExplorer and Firefox allow powerful web scripting similar to Selenium, to be able to do the flash/flex and silverlight, you have to get the paid version or the 30-day trial. I downloaded the trial version to see how it compares to Selenium and what kind of damage I could to.

Going through some of the online demos, Continue reading »

Notification Testing with PureMVC and FlexUnit

flex-puremvc

One of the nice extensions available for FlexUnit is the ability to easily unit test event behavior using EventfulTestCase.

This library has support for testing Cairngorm, but unfortunately support is lacking for PureMVC. I searched for existing solutions which added PureMVC notification support, but was not satisfied with their APIs. Luckily, it was not difficult to write some code to support PureMVC which mirrored the API of EventfulTestCase.

Continue reading »

Performance Optimization for Flash Player

Time and again the same scenario arises. An app is being built and it's all going fine until the very end when performance issues start to appear.

Optimizing Flash performance is certainly the most boring part of Flash Platform development but it's a cornerstone without which you, the Flex developer, can not do without.

An app is worth nothing unless you provide that effortless flow of interaction at all times.

There is not too much information on this topic as it is not the most interesting one but here are some simple guidelines that have helped me tremendously over the time, as well as a few great papers.

Continue reading »

ZendAMF vs. AMFPHP

So far, of all the AMF frameworks I have been a proponent of AMFPHP and RailsAMF. I still don’t know RoR very well (working on it), but I’ve been using PHP for a long time and have grown to love it so AMFPHP was always my natural choice.

Now we have a new player in Flash Remoting arena - ZendAMF. Why should anybody care when AMFPHP was just fine?

A few reasons.
Continue reading »

How much Excel can we get in Flex?

...and why would we go around doing that when there are perfectly good solutions out there for online spreadsheets? For instance Google Docs in which I still haven't found a bug or a feature I'm missing.

Spreadsheets are necessary because people use them because they know how to use them. It is a straight forward interface that can yield good in high complexity situations.

Now most people want to use them online. And luckily there are plenty to go around.

Continue reading »

Launch: Pathfinder Newsletter

    Get a monthly update on best practices for delivering successful software.

    Subscribe via email


    Subscribe via RSS      RSS icon

Topics

Search

WordPress

Comments about this site: info@pathf.com