AIR Window Explorer: I Owe Daniel Rinehart A Beer

Daniel R., if you are listening, I know that you don't know me, but I owe you a beer.

This afternoon as I was working on my 360Flex presentation and example code I became very, very frustrated with NativeWindow and Window and all the various similarities and differences in the options for creating and manipulating this much-used feature in AIR. So I thought, "Let's Google this bugger and see if there is a chart out there that can help."

No charts, but I was intrigued by a link to Daniel's site: AIR Window Explorer. You've seen the Flex Component Explorer and the Flex Style Explorer, well, Daniel's app is in the same vein. Decide on your Window options, create and open the window. Click on the "Show Code" button, and you will see the code used to create the Window. Nice! This application isn't perfect, mind you, but it does give you a a good idea of what you can do with the Window and NativeWindow classes in AIR.

So, for saving me an hour (and a lot of frustration) today, I owe Daniel R. a beer. Not a crappy beer. A really great beer.

Hopefully Daniel will be attending 360Flex in August so I can repay him properly.

 

 

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

User Group Overload Ends with Tonight's XD Atlanta User Group Gathering

This week has been totally user group overload for me.

Tuesday we had Ryan Taylor present "Intro to Flash Player 10 and Pixel Bender" at the Adobe Flash Platform User Group of Atlanta. Ryan always wows us with his giant brain full of math. The part of his presentation that I thought was most interesting was his examples of Pixel Bender, the tool kit that lets you (yes, you. It looks like it's that simple) script filters and effects for Flash. Ryan has posted his presentation and demo files on his blog if you want to take a look.

Wednesday had me visiting the Atlanta ColdFusion User Group where I was pummeled by comments "Where the heck have you been?" and "You didn't RSVP!" Mea Culpa, my CF friends, I have been neglecting you badly. But tonight's meeting was a must-see event; John Mason gave us an overview of "BlazeDS for ColdFusion Developers" and he did so without showing a chat example (thanks for taking the high road, John). He replaced the unfortunately stereotypical chat messaging example with the much more pertinent ColdFusion error message widget example. John's presentation will be posted on his labs site.

Tonight should also be fun as Michael Hagel has arranged for the XD Atlanta User Group to have a "Summer Social Gathering" at STATS Atlanta, you know, the place where all the 360Flex parties were held (and the only place you could have seen me during 360Flex because I was too busy at work to attend sessions :-( ). It should be great. By the way, Michael, the site is looking great!

See you there!

 

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

Kerner wants "One Brush to Rule Them All" and you should, too!

Matt Kerner popped up on my IM client with a long, expletive-laden rant (and he's actively religious, so I started paying attention immediately) about brushes in Fireworks CS3. It seems that he has a workflow issue with Fireworks that involves him moving from Photoshop and back to Fireworks all because he needed to use a specific brush that isn't available to him in Fireworks.

Wow. Who knew that is so simple as a *.abr file could effect someone's sanity. So much so, Kerner made a logo. So much so, he made t-shirts available.

If this was Flex or the Flash Player, I'd be suggesting that you go vote on the issue. Since we don't have that available, if you would find it useful for brush files be easily transferred between Photoshop, Illustrator, Fireworks, Flash, In Design, and After Effect, leave a comment here and I will make sure that Adobe hears you.

One Brush to Rule Them All

 

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

Vote for Flex Builder Source Formatting (or Pedro)

I was reading a blog entry on Flex Builder Enhancements at InsideRIA last night and thought that I would bump the entry and my comment up to the surface for more exposure. RJ Owen's article laments features that are available from the Java Developer Kit and not a part of the Eclipse project itself, thus not immediately available for Flex Builder users. He cites useful features like "TODO", Snippets, Mylyn integration, and a fix to the Open Resource menu bug (something I had never run into). The article also links to where you can acquire these enhancements. All of these features are worthy of mentioning to my team here at Roundbox Global.

Snippets was one of t ne features that I was used to using in Flash Development Tool (FDT) back when I was doing Flash development on a regular basis. This feature allows developers to use templates to help speed up common coding tasks. If you want to be able to have code created for you via Snippets, you first create the template, then in your code type the string associated with the template and "bam" the code is there. All you need to do then is tab through the template variables you set up and enter the data you need. OK, so, it isn't that simple, but once you set it up and get it into your workflow it's powerful.

The comments for the article featured a few people fired up about the lack of source formatting. I mention the lack of this feature privately a while back and could never raise anyone's temperature. But someone else had thought enough about the feature to have entered a bug into the Flex Bug and Issue Management System over at Adobe. The issue, FB-8297, deserves the attention of anyone who wants source formatting in Flex Builder. At this time, the issue has 22 votes but I now feel certain that more people are interested than that.

Although FB-8297 is listed as a "Minor Enhancement", I am certain that Adobe's engineers will look at this issue as more than minor because it isn't just formatting ActionScript code similar to how Java code is structured; this task will require ActionScript, MXML and ActionScript+MXML all to be formatted by Flex Builder, something that is more than what the JDK is able to do. In the issue's comments, I've added some further enhancements to the issue — like making sure the "x" comes before "y" in the MXML which is something that drives me nuts during code reviews.

If you want this feature, vote for it.

 

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

Adobe Tells Me That My Code Sucks!

Adobe Tells Me That My Code Sucks!

Ah, bad habits. We all have them. In our lives and in our code. We let things slide. We don't clean up after ourselves. We assume that things are correct just because they work.

Well, not any more. Thanks to the heads up from Adrian Parr (I hate you for this, Adrian! I could have remained ignorantly blissful), Adobe has put us all on notice; Adobe has finally published Flex SDK coding conventions and best practices as part of their Open Source Flex initiative. I say "finally" because I believe that this is the very first time the mothership has begun setting some standards and coding Flex. Sure, there have been conference sessions and blog posts about this subject, but not this in-depth nor as specific.

Reading through the first few screens of this unfinished document I am already seeing things that I am doing incorrectly, according to this guide. Although I am quite certain that this guide is intended to standardize coding expectations for developers contributing to the Flex SDK, I am planning to begin following Adobe's advice more ridgedly in my own code in the future. In fact, I am recommending that this document be part of a guide for standard practices at my workplace. It makes a lot sense for me to make this recommendation because, ultimately, this guide is geared towards making it possible for large groups to code by one standard.

My worst habit? See the section labeled "Miscellaneous nomenclature." Ugh.

Which bad habits do you hate seeing from your team's code?

 

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

Flex LiveDocs: Two Minor Annoyances

Generally speaking, when I am working in Flex I have LiveDocs open. There is, quite honestly, no way I can store the depth of information that the Flex SDK or LiveDocs contain. Life is much easier when you have a reference.

Today, I am looking at I18N, or Internationalization. There is a whole section of content in the LiveDocs located here. The content is concise and informative. But I have two easily remedied complaints about the system.

1) Navigation at Page Bottoms: The I18N section has several pages. Some pages are fairly short. The second page is very long. If you navigate to the bottom of the page and wish to continue to the next page (a natural inclination), you must scroll all the way back to the top of the page to find the next page button. Sure, you could use the left-side navigation, if it has opened up properly — often if you navigate to the page from a search engine link the left-side navigation does not open up to reveal the section you are viewing. I don't mind long pages, but if I am navigating between several pages trying to understand what the LiveDocs are trying to tell me, this navigational omission irks me to the point of opening each page in separate tabs.

2) View Source and Examples: Uh, hello? Sure, having the code in-line on the page is helpful, but ultimately when there are several files involved, being able to right-click and select "View Source" is mighty handy. In the I18N example, there is an example at the bottom of the second page (yes, the bottom... see annoyance #1) that basically shows me how to change languages at run-time. But since the example requires several files, it is a little difficult to see if I am setting it up correctly. If I could view the source for the example, which would include the resource files that are required, I would have fewer questions. People learn in different ways. Some people learn by reading the descriptive and instructive language in the LiveDocs pages. I tend to learn more by reading code.

 

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

360Flex Atlanta + Adobe = Special Event

Yeah, if you live here in Atlanta you should already be attending this event because you're attending 360Flex Atlanta right? It's a great conference focused on your favorite RIA platform? All for only $480.00 (and you get to sleep in your own bed and miss out on those tiny airline seats with no leg room).

Well, if you can't gnaw off the business-hours ankle chain your employer welded to your desk, then here's your chance to mingle with people just like you! 360Flex has invited members of the Atlanta design and development community to a little get-together being held at Stats Sports Bar not far from where 360Flex Atlanta is being held. Yeah, that does mean adult beverages. Yummy.

So come out and see what's up. But you need to RSVP. Get your details here, here or here, but RSVP.

 

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

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

360Flex is Coming to Atlanta! February 25 - 27, 2008

Phew. Finally, I can officially report that 360Flex is coming to Atlanta!

Hold on to your hats, because I will have a couple of announcements about events in Atlanta that are related to 360Flex!

Stay tuned!

 

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

ColdFusion to Flex Remoting: UPPERCASE Rage!

How are developers handling the passing of Value Objects from ColdFusion to Flex using AMF?

Here is my situation: I am using ColdFusion as I believe that it was originally intended --- for rapid application development. The difference here being that the application is actually being built in Flex and ColdFusion is being used to manage the data coming from the server. I don't know Java and when I have to get work done without a Java developer available, I turn to my good friend ColdFusion to help me out. ColdFusion makes it easy for me to get my entire Flex application completed (well, as completed as possible) before the Java developers have touched their keyboards. Other than the specific problem I am about to describe, it appears to be working out for me.

I am quite certain that I am not the first person to run into this, and it seems like there should be a better solution than the ones that I have seen. On the ColdFusion side, I have a Employee.cfc that extends Person.cfc that extends User.cfc. I would like to make a call to my main CFC file passing a UUID and have that method return an Employee Value Object.

When I create the Value Object in a CFC and pass it to Flex all of the properties in the value object are in UPPERCASE. I could make all of my property names in my ActionScript Value Object UPPERCASE, but why the heck would I want to do that?!? I am baffled at why if I set something in a CFC to "id" I get it returned to me in Flex as "ID". For that matter, I should be able to make my property appear as "firstName" and have it return to me that way. I am pretty sure that there is a very technical reason for this, but damn... just damn.

So, I do have alternatives.

Since the query in the controlling CFC returns to Flex a perfectly formed Struct inside an ArrayCollection, I could just loop through the ArrayCollection and cast each Struct into a Value Object. The problem here is that 1) when I ask for one object, I should expect to get one object and not one object inside and array, and 2) when/if this project's back-end is converted to Java (which in this case is a certainty) I'll have to go in and change everything (and this is a problem, too, with the CFC solution. I am never going to get a Java developer to create a Value Object file that has properties in UPPERCASE. It's like screaming!)

Then, there is the option of creating a Struct from the Query and passing that along to Flex. I get what I want on the Flex side, but it totally ruins the object-oriented goodness on the ColdFusion side of things.

This is probably only bothering the Flex developers out there like me, but it's an problem I would like for Adobe to solve. Right now, since I know that this project's back-end will be created in Java eventually, I think I will be going with the last option of converting the Query item to a Struct. That is, unless someone comments here with an option I have not seen. Is there a better option? Is there a setting in ColdFusion 8 that will change this?

 

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

More Entries