March 06, 2007

FlexBuilder (Eclipse) Plugin for Cairngorm Code Generation (and more)

As Flex continues to be adopted by more and more RIA developers, it's great to see efforts that support developing with the Cairngorm framework (Steven W. has a roundup). For many developers, it makes for an easier transition toward structured MVC architecture and a 'pattern mindset' in general. This new eclipse plugin is another one to add to the list.

For a few months now, Luis Lejter has been working on a cool plugin for Eclipse (Flex Builder), and finally I can spread the good word! It's more than a Cairngorm wizard, and has nice features like ASDoc documentation generators, end-to-end class generators for REST / WSDL / Remoting, and an e4x editor expression builder, to name a few.

Check out the full feature list on his new blog, and the screenshot gallery (running on OSX).

Great stuff, Luis!


Posted by Ikezi Kamanu at 12:28 PM | Comments (3)

May 31, 2006

Continuous Integration in Flex

On a recent client engagement, my colleagues and I were challenged with implementing continuous integration on a Flex project. For those unaware or uncertain, continuous integration, as defined by Martin Fowler, is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.

With well written unit tests and automated building (on code check-ins), we were able to produce reliable builds with reduced risk; bugs were spotted sooner and were considerably easier to remove. In addition, continual deployment allowed for QA to get to new features faster, and receiving their feedback earlier in the process made for a very collaborative development cycle.

Paul Barnes-Hoggett has a thorough write up of the process that we followed; it's a good read, and easy to follow should you decide to implement the same.

Here's to best practices, stress free development, and quality deployment!

Read the article at eyefodder.com

Posted by Ikezi Kamanu at 10:25 PM | Comments (1)

July 29, 2005

Gestural Navigation in Flex

One of the great things about Flex is the "mouseOver" event that pretty much any component, including containers, has available. What this means is that we can trigger almost any event without requiring a mouse click. Why and when would you want to do such a thing? Imagine, for example, a list with details, as shown in the flex application below.







In this example, we've got hypothetically limited real estate, where when our focus is on the list, we'd like to see as much of the options as possible, but while our focus is on the details, we'd like to read and view all the details as possible. The different mouse interactions in a user interface that could be used, in order of level of increasing level of effort are:

1. mouseover (rollover button, highlight)
2. click (button)
3. click and hold (scroll arrows)
4. click and drag (scrollbar thumbs, dividers)

Given that this is a list of items, these interactions would be repetitive as the user reads details for each action. We, therefore, would want to minimize the level of effort, and this mouseover example would be an appropriate way to do that.

Why wouldn't you want to use a gestural approach to events? There are a couple of reasons you wouldn't want to use a gestural approach. First, if everything is gestural, there's the risk of many things bouncing around the screen, possibly becoming distracting. The second, larger issue, is one of intention and user expectation. A user click usually signals the users intent to an action or an event. You certainly would not want to trigger an event on rollover that the user did not intend to do. The types of changes that might be appropriate on rollover are subtle state changes. The user should not loose anything from the view without their intent. So, for example, a change of visibility in a viewstack would be less appropriate on rollover.

Finally, a consideration. The size of the target area for a mouseOver action should be larger that the typical target for a click, as it requires more precision. Hover requires a full stop and wait, while click can be a "drive-by" so to speak. So to make hover more accurate, it helps to make the target area larger. If a user simply wants to drive through a list and view details. Using the arrow keys is also very powerful.

To see the source code for the above example, right click and select "view source code".

Posted by Peter Baird at 07:34 AM | Comments (10)

May 16, 2005

Flex Application Starter Toolkit Article in DevNet

John Bennett, a Macromedia Consulting Architect, recently published an article covering MC's Flex Application Starter ToolKit (FAST). Here is an excerpt from the article...

"FAST addresses two fundamental aspects of Flex application development: event logging and data communications. To support event logging, FAST provides an API modeled after Java’s log4j and a Flex-based event display console. For data communications, FAST exposes a simplified programming interface that provides robust error handling, client-side data caching, diagnostic and performance information, and an underlying architecture that supports large applications and facilitates team development."

Posted by jbennett at 05:36 PM | Comments (1)

 
Powered by Movable Type