Book Review - Adobe Flex 3: Training from the Source

Adobe Flex 3: Training from the Source
by Jeff Tapper, Michael Labriola, Matthew Boles, and James Talbot

Publisher: Adobe Press
Length: 656 pages

This book is the perfect option for those curious about Flex and in need of an engaging hand holding session. While completion of this book will not ready the reader for the growing market of high paying flex gigs, it will provide the occasional developer with enough knowledge to start tinkering, and most importantly, feel comfortable in the development environment.

My best advice to the reader completing this course, is to ease through the exercises and realize that with the breadth of flex, there are concepts that you won't understand till later lessons. Simply read, follow instructions, and enjoy the hands on in depth tour of this product.

It would be impossible to cover all of Flex, MXML, and ActionScript in one text, let alone attempt to teach best practices and application design. Given broad subject matter though, it does a great job tapping into many areas. While the book lacks in depth, it gives a good enough overview for doors to open for the curious.

Most of the text is accurate providing clean examples that take the watchful reader from code to compile with no errors. Halfway into the book (starting around Chapter 11), small glitches creep into the material from missing semi-colons to missing starter lesson files. For the apt student, these are overcome with a little active thinking.

I would recommend this book to any entry level RIA developers and would even consider it as a text for intern programs and in-house training.

Juan Sanchez RMAUG Degrafa Notes

On May 8th, 2008, Juan Sanchez joined the Rocky Mountain Adobe User Group to give a presentation on Degrafa. Degrafa, short for Delcrative Graphics Framework, is a Flex framework for tag based drawing and graphics manipulation. Juan Sanchez is part of the Degrafa team, as well as the creator of Scalenine and experience architect for Effective UI.

Here are my notes from the presentation.

The Basics:

  • Degrafa was created for typical things you'd need drawing objects for, but allowing access via mxml. "Programmatic graphics" is the key term to conceptualize the framework.
  • Many geometric objects available (ie circle, polygon, etc), as well as the ability to roll your own.
  • Library objects are classes of shapes available (eg arrows) to maintain consistent look and feel across applications.
  • Fills can be applied as solids, gradients, bitmaps, blends, or, unique to degrafa, complex fill, which allows fills to be stacked (eg linear gradient on top of bitmap fill.)
  • Degrafa will allows you to use 3 number colors instead of the usual 6 hexadecimal notation. Colors can also be specified in an informal notation (eg purple.)

The Exciting Stuff:

  • Allows binding properties of graphics objects to other flex components. Binding is key to data visualization.
  • The end targets can be set as an array, which allows multiple targets.
  • Fills and strokes can be placed in separate component to allow centralized control of display.
  • Degrafa can use SVG path data, which essentially is an xml markup for a graphics. SVG data, because it is text, can be stored in a database.
  • Degrafa offers tools to increase productivity like Repeaters, Derivatives, and Cloning.
  • Advanced CSS Support extends the limits of what is available in flex display. Borders can be created with different rounded corners, background images can be positioned and stacked.

For more info on Degrafa:

Other Cool Resources:

Tonight - Rocky Mountain Adobe Users Group Introduction to Degrafa

Introduction to Degrafa
May 08, 2008
6:30pm - 9:00pm
The Hive - 2401 15th Street, Basement
Denver, CO

More info

Ray Camden on Developing Open Source ColdFusion Applications

Last week I got a chance to have a conversation with coding guru and author Ray Camden on the open source ColdFusion community. Ray Camden has authored many open source ColdFusion applications as well as creating various platforms for developers to share code and information publicly. Here's what he had to say.

Greg: You've done a lot in the promotion of open and shared ColdFusion code. RIAForge in particular has filled a missing gap in the community for open sourcing applications. How did it get started?

Ray: It was entirely Ben Forta's idea. He came to me with the idea and I began development on the platform. What's great from a purely selfish perspective is that the site is tremendously useful to me!

Greg: The ease is not just on the management end, as an end user it's helpful to have a quick way to update applications as well. Coming back to the applications you've created, it seems as you've taken the approach of bringing a wide variety of useful applications over making a single application deep with features. How do you decide which features to include in a new projects?

Ray: Most of the time it is strictly personal. As an example - I'm working with a client who is using my bug tracker, Lighthouse Pro, and they have a large number of bugs and refer to bugs by their ID (ie, bug # 290). I noticed there is no quick way to jump to a bug by ID so I'm going to make the filters support that.

Ray: So it's really a 'I need it, let's built it' type process. A lot of the modifications that come in to me work the same way. A guy says, "I needed the app to do X", it makes sense to me, so I roll in their changes.

Greg: In addition to playing key roles in the inception of community focus sites, you've also done heavy work in creating many useful open source applications like BolgCFC, Galleon, and Lighthouse Pro. With so many active projects what difficulties do you encounter?

Ray: Management - which is where RIAForge comes into play. :) Just having a quick way to upload new builds by itself is great.

Greg: ColdFusion is a closed source commercial product. Why heavily invest time in free and open source applications for an expensive application server?

Ray: I'd argue against saying it is expensive. It isn't free, but there are plenty of low cost hosting options and certainly the amount of time you save using ColdFusion makes up for the cost. But - that is another discussion. :)

Greg: The expense of ColdFusion is definitely a debatable topic, with good argument supporting the ease of rapid development. Still though, it's a closed source application. Why develop free open source applications for a commercial closed source platform?

Ray: Well I don't think that's a fair question. The same could be applied to Windows, and there are many open source Windows application even though the core operating system isn't open.

Greg: I've heard that open source applications can be a great way for entry level developers to get real world experience contributing to active projects. What is the best way for a developer to get involved in an open source RIAforge application?

Ray: They should download the application, of course, and be sure to read any and all documentation. They should then look at the bug tracker and get an idea of what open bugs/enhancement requests are out there. Speaking for myself as a project author, I prefer for people to ping me before they go ahead and fix something. Of course, being OS they can do what they want, but if they want me to include their fix, it makes sense to ask first. I may have the fix done already and just not checked in, so it saves them time from duplicating efforts as well. Plus, the way you may fix something is not necessarily the way I would fix it, so I may want you to modify your solution a bit first.

AIR Windows, Menus, and the System Tray @ RMAUG

4/8/2008
AIR Windows, Menus, and the System Tray
Jun Heider

Last night I sat in on the Rocky Mountain Adobe User Group's packed presentation on AIR. Jun Heider of RealEyes Media shared his presentation on application controls in relaxed, entertaining, and informational format. With Adobes new platform, AIR, applications written in flex and javascript are easily ported over to system applications in Windows, Mac, and soon Linux. Controlling operating system interaction was the focus of the talk.

A few take aways.

Windows

  • Air provides the ability to spawn windows in a variety of formats
  • Once the window is closed, it can't be reopened, new instances must be created when spawning windows

Menus

  • Use and nest the class NativeMenu to create menus
  • Terms to know for menus
    • menu command accelerators: shortcuts
    • customizng mnemonics: the f in file

Taskbar

  • Controls the dock in Mac OS X and the taskbar and system tray in Windows
  • Tell the difference between operating systems with:
    • supportsSystemTrayIcon - true
    • windows supportsDockIcon - true mac

Cool Tips

  • Verify and track bugs at bugs.adobe.com
  • No pub AIR bug repository, try bugs.adobe.com/flex and use the adobe wishlist to submit
  • Only one instance of an air app can be running at a time
  • Mac OS X can't change doc icon
  • Notification bubbles are possible but it takes work
  • Flex Builder 3 Pro profiler rocks

Check Out

Tonight - Rocky Mountain Adobe Users Group

Adobe AIR & Real-World Applications
April 08, 2008
6:30pm - 9:00pm
The Hive - 2401 15th Street, Basement
Denver, CO

More info

Denver RIA Developers Group - Silverlight Intro Review

Last night I had the pleasure of sitting in on a Silverlight introduction by Microsoft MVP, David Yack. Coming into this experience with little exposure of the product, the seminar was aptly suited for the newcomer with enough tech talk to engage the quick minded. While the focus gave an introductory run over Silverlight 1.0, the majority of the presentation was on the new beta 2.0 features.

Silverlight 1.0 exists in the same space as Adobe's Flash and Flex products. While 1.0 was a simple browser object, 2.0 gets into both desktop and server realms moving into the serious RIA and desktop space. While many features are still in development, Microsoft's offering looks promising. With two big players competing for this space, the advantage goes to the web who will enjoy fully developed products from both sides.

The two features I found most interesting were the Ink and Deep Image Zoom components. The Ink component gives Silverlight developers access to tablet users writable surfaces. This empowers RIA developers to take advantage of screen writing processing input either within the silverlight object or off to a deeper layer. The second component, Deep Image Zoom, offers high resolution image zooms within reasonable bandwidths. Operated by dynamically segmenting and stitching large images, only partial images are loaded as the image is viewed. With Adobe's acquisition of scene7, I can only hope this feature is not far behind in Flex.

More Information:

Silverlight Intro Tonight

Denver Ria Developer's Group Meeting

SilverLight - Now and the Future
Tuesday, April 01, 2008
David Yack, .NET MVP
Colorado Technology Consultants, Inc.

More info

BlogCFC was created by Raymond Camden. This blog is running version 5.9.002. Contact Blog Owner