Ben Forta, AIR and Flex: So Popular, Atlanta Had to Move Their Event

Ben Forta, AIR and Flex: So Popular, Atlanta Had to Move Their Event

As an update to my previous post, the Flex and AIR Pre-release Tour's Atlanta stop received so many RSVPs that the meeting site needed to be changed to accomidate the audience.

If you are planning to attend, please use this page for directions to the event.

I look forward to seeing everyone there.

 

Comments (0) | Print | Send | del.icio.us | Digg It! | Linking Blogs
1052 Views

Atanta Stop for the Flex and AIR Pre-release Tour with Adobe's Ben Forta

UPDATED: 2008 - 01 - 18

Flex 3 and AIR are getting close to launch and in preparation, Ben Forta from the Adobe Flex/AIR product team is traveling to select cities to show off the great new features and help prepare us for this exciting launch.

Flex 3 is a feature-packed release, adding new UI components like the advanced datagrid and improved CSS capabilities; powerful tooling additions like refactoring; and extensive testing tools including memory and performance profiling, plus the addition of the automated testing framework to Flex Builder.

Adobe AIR is game-changing in so many ways, extending rich applications to the desktop, enabling access to the local file system, system tray, notifications and much more. Now you can write desktop applications using the same skills that you've been already using to create great web apps including both Flex and AJAX.

Don't miss out on the opportunity to see and hear about this highly anticipated release of Flex 3 and AIR during this special pre-release tour. Plus, in addition to giving away some one of a kind Flex/AIR branded schwag, we will also be raffling off a copy of Flex Builder 3 Professional (pending availability) and a full commercial copy of CS3 Web Premium at this event!

Event Information:

This event is on January 22, 2008 from 6:30 PM - 9:00 PM

Official Event Web Site

IMPORTANT: THE LOCATION HAS BEEN CHANGED!

South Terrace at Perimeter
115 Perimeter Center Pl NE
Atlanta, GA 30346
Driving Directions
RSVP

 

Comments (0) | Print | Send | del.icio.us | Digg It! | Linking Blogs
890 Views

FlexUnit News: FlexUnit for Ant on OS X and John Mason's TDD Presentation

I wanted to keep people informed about FlexUnit so as I saw these two items of news I thought that I would share.

First off, the guys at Adobe Consulting have been at it again. They have released FlexUnit for Ant on OS X. Since most of Adobe's Flex and Flash staff have converted to Intel-based Macintosh systems, mostly Mac Book Pro machines, I am sure that they heard a lot of complaints internally. Take a look. There is even an example application to try it out. It is really great that the Adobe Consulting team takes the time to give us things like FlexUnit, FlexUnit for Ant and Cairngorm — where would we be without them?

Also FlexUnit related, John Mason's AFFUG talk Unit Testing and Test Driven Development (TDD) for Flex & ActionScript 3.0 presentation slides, example code and recording have been published on John's Lab site. Special thanks to him for his presentation and inspiration.

 

Comments (3) | Print | Send | del.icio.us | Digg It! | Linking Blogs
1235 Views

10 Questions About FlexUnit and Cairngorm

Since I have been struggling with FlexUnit in my "free time" over the past few weeks I was anticipating Wednesday night's AFFUG meeting featuring John Mason presenting Unit Testing and Test Driven Development (TDD) for Flex & ActionScript 3.0. John gave us a good overview of where unit testing came from and how it is applied to Flex and Actionscript. He also showed an example application that worked, created a couple of tests for it which promptly failed and then fixed the code.

[Leif's Note: If you want to skip the introduction to this entry, feel free to skip down to "1. Who is using FlexUnit?"]

What is FlexUnit, Anyway?

FlexUnit, which is based upon JUnit, is a framework that allows for unit testing with Flex applications. Wikipedia says that unit testing is "a procedure used to validate that individual units of source code are working properly." Ideally, a developer would create a unit test that tests a feature before beginning to program the feature. This process empowers the developer to fully understand the feature they have been assigned to create and to plan for all the potential problems that could occur with the feature. The end result is that the project would have a unit test to verify the feature is working and that all the unit tests could be run every time a build is created to verify that all features work. Unit testing is a fundamental part of test-driven development and continuous integration, concepts that I will not be discussing today but needed to mention.

So, What is Your Beef with FlexUnit?

The way John Mason presented it, FlexUnit seems very cut-and-dried simple until you consider two things: 1) Actionscript is/can be asynchronous and 2) we use the Cairngorm framework at Roundbox Global when we create applications in Flex. Also consider that it is likely that these two factors would be considered too advanced to be covered at any user group meeting that I could attend, may be too complex for a 55 minute session at MAX, and not many people are even talking about FlexUnit much less Cairngorm. Is there some vast conspiracy to keep this kind of information away from me?

Why is FlexUnit so Important?

FlexUnit is important because rich Internet applications (RIA) are complex. As a developer, I believe that it is my responsibility whenever possible to make certain that my code works well — not only should functions meet their requirements, but I should investigate that feature so that my code has as few bugs as possible, and that my code does not break other parts of the application. With the complexity of a modern RIA and the the larger teams needed to create these applications, this ideal is difficult to achieve. Developers need to utilize any tools available to reduce the stress of quality assurance (QA) departments (as well as the stress between development departments and QA departments) by eliminating defects in development. Unit testing is one of those tools.

With the size of the applications being built and the teams required to build them today, no company can afford to have seemingly endless cycles of our QA department finding things that developers should have thought of or found before committing their code. Developers must take responsibility for their work! They can not give excuses like "it wasn't in the wireframes", "I didn't think about that", "it's not my fault my code broke their code", or the classic "it works great on my machine" without impacting harshly on the whole team's deliverables, deadlines and work schedules. Ultimately, we all want to have a 40 hour work week.

What we are trying to do at Roundbox Global is establish a best practice of creating unit tests to establish a build's viability before handing the build off to QA for testing. Passing these unit tests should reduce the chance of QA receiving a build that, after hours of testing, is found to be invalid because of some flaw. We are also hoping to add some automated testing to our process in the near future as well.

So here are my questions to anyone who wishes to answer. Yes, there are more than ten questions. Consider them as ten groups of questions. Jump into the comments to let me know any facts or opinions that may help me and any readers out there. Hopefully I will be able to update this post with more details before the end of the month.

1. Who is using FlexUnit?

At Wednesday's event I got the impression that there were not that many developers already using FlexUnit. Are developers out in the wild using FlexUnit? Or are developers not doing any unit testing at all for Flex projects? I've heard that the folks at Universal Mind are using FlexUnit. Who else? And are they using FlexUnit with their over-all unit testing plan or just with Flex? And are they using continuous integration?

2. Who is Using FlexUnit with Cairngorm?

John asked the audience at Wednesday's event if they used the Cairngorm framework. Only a tiny minority raised their hands. You may already know how I feel about Cairngorm — it blows my mind when I hear about large projects that were not created using the Cairngorm framework. So, if a minority of people use Cairngorm and a minority of Cairngorm users use FlexUnit, where does that leave us? Considering that sites like FlexExamples have one or two entries daily, I'd call it a communication void.

3. Must I Change FlexUnit to Use Cairngorm with FlexUnit?

In my searches for FlexUnit information online I ran into several blog posts about using FlexUnit and Cairngorm. Each of the entries seem sincere, although somewhat incomplete, these post seem to say one thing: FlexUnit is not ready for Cairngorm. Must we make changes to the FlexUnit to get the asynchronous functionality necessary with Actionscript and Cairngorm? Could there be a good way to get the changes needed committed to the repository? Or are there issues with adding these modifications to FlexUnit?

4. Where are the example applications (using Cairngorm or not)?

Using FlexUnit is probably "no big duh" to a seasoned Java developer. But as John showed us Wednesday night, FlexUnit makes a lot of assumptions of users. For instance, did you know that test method names need to start with the word "test"? It's not just a naming convention, as we were shown last night, it's a requirement. So, for those of us who aren't seasoned Java developers with years of unit testing experience, where the heck are our FlexUnit examples? It would be nice to have some easy and complex examples of unit testing applied to something like the Flex Store (or the Flex Cairngorm Store, or the Flex Cairngorm ColdFusion Store). I'd do it myself (and may yet) but I am still getting my head around using FlexUnit.

Leif's note: I posted a few locations of FlexUnit examples in another blog post here.

5. What do we test with FlexUnit?

So what exactly do developers test with FlexUnit? I believe that we can completely test our connections to the back-end fairly well with FlexUnit — we can test that proper data is returned from the server using different types of data. But, without getting into an automated testing discussion, isn't there something more we can test? For instance, with Cairngorm, we can test Delegates. But shouldn't we take it a step further and test the Event, Command, and Delegate sequence? (I like to call that the ECD chain, by the way) Sure, making certain that the Delegate is working is important, but if you are using Cairngorm correctly you would never call a Delegate without invoking an entire ECD chain. And are developers testing for results of Delegates, or are they testing

6. What is the best way to use setUp and tearDown with Cairngorm?

As you may know, it is common best practice to use the setUp and tearDown methods for every test. When I use Cairngorm and I want to test a specific Delegate or ECD chain, often there are items that need to be set in the model for the Command to call the Delegate properly. Would it be all right for me to directly set things in my ModelLocator, i.e. without using an Event like these items would normally be set in the application? Same question goes for the tearDown.

7. What else are other developers using with FlexUnit?

Are there other "gotcha's" with FlexUnit that I don't know about? Seriously, no one is talking much about FlexUnit and the docs are minimal. Are developers modifying FlexUnit to work around problems or bugs? Are developers successfully using FlexUnit with Cruise Control?

8. Why is FlexUnit stuck at version .85?

Besides the changes to allow for the use of the Cairngorm framework, what functionality is missing from FlexUnit that has it stuck on version .85? What kind of effort will it take to get FlexUnit to a rock-solid 1.0 version? I realize that most of the owners of FlexUnit are either busy working on Flex 3, AIR or consulting for Adobe. But since I do not see a road map, I have no idea what is missing and how developers may assist them to reach this necessary goal. And while we are at it, when the heck is Cairngorm going to get the same open source treatment as FlexUnit? I love what you did to simplify Cairngorm in version 2.2!

9. What is next for FlexUnit?

Could there be more modifications necessary in FlexUnit to make it more compatible with the asynchronous nature of Actionscript? Are there new features in JUnit that need to be added to FlexUnit? Again, what is our roadmap?

10. Does Flex 3 take advantage of FlexUnit or Cairngorm?

With the upcoming release of Flex 3, will there be any new features around creating projects using Cairngorm or creating unit tests with FlexUnit? Flex Builder Wizards like Cairngen? Wouldn't it be great to point a Flex Builder Wizard at a folder of Delegates and have simple unit tests created for you? Mmmmm, goodness.

 

Comments (6) | Print | Send | del.icio.us | Digg It! | Linking Blogs
2981 Views

Flex Stuff: AFFUG Meeting Tonight, Free Training, and the Cookbook

One post, three good subjects!

Tonight's AFFUG Meeting

I am honestly very excited about tonight's Atlanta Flash and Flex User Group meeting featuring John Mason presenting Unit Testing and Test Driven Development (TDD) for Flex & ActionScript 3.0. It happens to be coinciding with my frustrating efforts of getting some unit testing implemented at Roundbox Global. I hope that John is ready for all my crazy questions, 'cause I have quite a few.

Free Flex Training

Yeah, that's what I said it! Thirty days of free access to 17 hours of online Flex training from Total Training. Click the link, fill out the form, enter the code (it is on that page). It's that simple. Just remember, your first one is free...

Add Content to the Flex Cookbook

O'Reilly is calling you out!

Are you doing any development work (including skinning and UI design)
with Adobe Flex? Here's your chance to be a contributor to an Adobe
Developer Library book to be published in 2008, Flex 3 Cookbook.
Adobe's got a terrific site for Flex developers of any stripe to show
their best stuff, and O'Reilly and Adobe are partnering on a book that
will include some of the best contributions from the site. Each
contribution uses the classic O'Reilly cookbook
"Problem/Solution/Explanation" format; if you've got strong material to
show the rest of the world, it couldn't be easier to write up your
material in the online fields, and join the cookbook party. Flex
developers are in very short supply in an exploding market, so here's
your chance to show your stuff to the rest of the community!

What?!? You mean you didn't know about the Flex Cookbook Beta?!? Just remember that this is a problem and solution site — you have to have both to post.

Comments (0) | Print | Send | del.icio.us | Digg It! | Linking Blogs
772 Views

September 2007 Adobe Events for Atlanta

We love getting everyone motivated for the Fall. Here's what is on tap for you in September and October! We're not saying that you have to go to all of these events. We just want you to know what is coming up so you can plan to attend an event or two and reconnect with your community after a long, hot Summer.


Adobe MAX 2007
October 1 -3, 2007
Chicago
site

They have turned the asylum over to the crazy people! Or, as the speaker list suggests, the Adobe MAX 2007 conference has been turned over to the designers and developers. This year's MAX is shaping up to be a must attend event. Mark October 1 - 3 on your calendar and get your ticket soon! And if you use Ted Patrick's magic $400 discount code, BFF755, you can save some bucks! Register now before the discount ends on September 10. Don't forget to list your favorite user group manager when you register — Michael Hagel, John Mason, Paul Olmeda, Teddy Payne or Leif Wells!


Adobe Flash Platform User Group of Atlanta
Tueday, September 11, 2007 - 7:00 PM
site | event | rsvp

Ever wish you were in the Rich Media advertising game? Ever think it might be easy to get there? The folks at EyeWonder have arranged for Toolbox No. 9's Jason Rhoades to show us how Rich Media Advertising with Flash CS3— ads containing animation and video — are in the reach of Flash designers and developers everywhere.


Adobe eXperience Design User Group of Atlanta
Thursday, September 13, 2007 - 7:00 PM
site | event | rsvp

Design Patterns! Designers have heard about them and read about them. See what Roundbox Global's Brian Hochhalter says about what you can do with them.


Atlanta Flash and Flex User Group
Wednesday, September 19, 2007 - 6:30 PM
site | event | rsvp

Ever build an application that needed to be rapidly developed and wish there were ways to test builds just as rapidly? John Mason is going to show us the way by using Unit Testing and Test Driven Development (TDD) for Flex & ActionScript 3.0.


Adobe User Group of Atlanta
Thursday, September 27 - 7:00 PM
site
| event | rsvp

We've felt guilty about not providing proper Illustrator meetings for quite some time. This month we make up for it by having Dee Sadler present the New Features of Illustrator CS3. Want to see what you are missing since CS2? Want to see the new features working? Want to see new work flows? Here's your chance!


Also Upcoming:

Atlanta ColdFusion User Group
Wednesday, October 3 - 6:30 PM
site

Atlanta ColdFusion User Group
no meeting currently scheduled
site

 

Comments (0) | Print | Send | del.icio.us | Digg It! | Linking Blogs
1099 Views

AIR Tip: Using showFlexChrome to Properly Skin the Employee Directory Example Application

AIR Tip: Using showFlexChrome to Properly Skin the Employee Directory Example Application

While I was preparing to present an overview of AIR at last week's Adobe Flash Platform User Group I started looking at the example application Employee Directory. After downloading the source code one of the first things I noticed was that the application had an application skin (which looked to me a lot like a Mac OS X skin) and I could not figure out why it was there. It didn't make a lot of sense to me that an application that looked like it did should have no "systemChrome" at all.

Today, while working on a different application I ran across the same problem and discovered a new feature in the beta (I believe) that didn't get placed into the source code for the example. I found the attribute showFlexChrome by looking at the WindowedApplication entry in the livedocs. Please note, although this is considered to be a style attribute, there is no CSS inheritance so you can't just place it into your CSS file.

Here's where I found the clue that made me check the language reference:

"systemChrome If you set this attribute to standard, system chrome is displayed, and the application has no transparency. If you set it to none, no system chrome is displayed. When using the Flex WindowedApplication component, the component applies its custom chrome."

I would suggest that something like this be added to that paragraph:

"When using the Flex WindowedApplication component, the showFlexChrome attribute can be used to control the Flex custom chrome. Setting showFlexChrome to false in conjunction with setting your root context's systemChrome attribute to false and transparent to true will display no system chrome at all.

Inside the Employee Directory example application's WindowedApplication I added the attribute showFlexChrome and set it to false. After adding this option the application looked and worked great.

If you are in Atlanta and would like to learn more about AIR, John Mason will be presenting "New Features in Flex 3 and AIR" on Wednesday, July 18.

By the way, I really like the look and feel for the livedocs for AIR.

 

Comments (1) | Print | Send | del.icio.us | Digg It! | Linking Blogs
1608 Views

Atlanta April and May Upcoming Events

There are a lot of great events coming up in Atlanta for the months of April and May! Here's the rundown:

April 10

Adobe Flash Platform User Group April 2007 Meeting

Kenny Bunch presents Time Shifting Entertainment

 

Atlanta InDesign User Group

InDesign CS3

April 12

Atlanta Adobe Experience Design (XD) User Group April 2007 Meeting

Ness Higson

April 18

Atlanta Flash & Flex User Group

Migrating Existing (simple) Applications from HTML to Flex

April 19 - 20

Atlanta Java User Group Special Event

The Practice of Java in Atlanta - an Open Space Event

$75.00 for this two-day event

April 26

Adobe User Group of Atlanta April 2007 Meeting

Greg Rewis and Stephanie Sullivan present CS3 Web Workflow and CSS with Dreamweaver CS3

(this is a special event, so please send an RSVP)

May 17

Atlanta ColdFusion User Group Special Meeting

Ben Forta/Scorpio Tour (this is a special event, so pay attention to the instructions)

Comments (0) | Print | Send | del.icio.us | Digg It! | Linking Blogs
1756 Views

Atlanta Flash and Flex User Group Meeting Tonight, Wednesday, January 17

Just a reminder that the Atlanta Flash and Flex User Group has their January meeting tonight.

Tonight's Topics:

You can find directions on their site. Hope to see you there.

Comments (0) | Print | Send | del.icio.us | Digg It! | Linking Blogs
1510 Views