RobotLegs AS3 Framework Presentations

I’ll be presenting at the Denver Flex User’s Group on July 15th on RobotLegs. In addition I should also be presenting via Adobe Connect for the Nashville Flash Platform User Group in May. Here is some additional information about the presentation.

RobotLegs is an IoC framework that’s been rising on the Flex framework scene. It’s a pure AS3 microarchitecture so it can be used in non-Flex projects as well. One thing that I like about the framework is that it does a pretty good job of telling you what’s wrong when you’re building your app. For example it’ll let you know if you’ve missed adding a class to the context. In this presentation I’ll show you how to set up a Flex app from the ground up using RobotLegs. In addition I’ll show you how to set up Flex Unit with RobotLets so that you can write unit tests or do test driven development for your project. I’ve worked with several Flex frameworks and RobotLegs is one of my favorites so far. This will be more of a live coding session than a theoretical talk about IoC. In this session you’ll learn how to set up your package structure, create a context, create a central data model, map events to commands, create and communicate with services, set up your views and use mediators as backing classes that will contain the ActionScript for them. I’ll also share a technique that I’ve been using that splits the context up so there isn’t one giant class to manage.

More information about the July preso can be found here:

http://ria5280.org/calendar/event/2010/7/15/178056

seantheflexguy DJing at 360 Flex!

I’d like to thank Tom at 360 Flex for the opportunity to open up this morning at 360 Flex by providing some early morning tunes for the crowd. I was spinning a live set from my office across the web. The set was shown for the crowd on the big screens, you can see the action in the photo in this post. Per request I played old school Hip Hop, mostly from the 80s. Tracks like: The Message, Rappers Delight, Peter Piper, La-Di-Da-Di, The Show, Boyz n the Hood, etc. It was a huge honor and I really can’t thank the crew at 360 enough for the opportunity. I should be spinning another live set on Wednesday morning, via the web for the 360 Flex attendees. In addition there is a rumor that I may be spinning at Flash and the City, still working out the details on that…

OT: seantheflexguy live webcast DJ shows!

In the three years I’ve had my blog there haven’t been any off topic posts. They’ve all been related to development, most related to Flex or the Flash Platform and a few Java posts. There is a first time for everything and this marks the first non Flex/Flash/dev blog entry.

Some of you may have already checked out the live DJ shows I’ve been broadcasting over the last couple of weeks. They haven’t been on at a regular time and there isn’t really a set length or format to them yet. I’ve just posted the link to my livestream on twitter and thankfully received a lot of interest and support. It really means a lot to me personally to have this level of interest and I’d like to thank everyone who’s tuned in!

I wanted to spread the word a little further with this blog post to anyone who isn’t on twitter or doesn’t follow my updates. I’m still working out a regular time and day for a show but suspect I’ll be broadcasting as much as possible.

For now you can most likely catch me on Saturday afternoons and evenings. I do broadcast the show during the week as time permits. Some of the shows have been during the day and many devs seem to like the tunes for coding to. The service I’ve been using so far is called Livestream. It’s really awesome and is a Flash based application. You should take a minute to check it out if you haven’t before. My channel/show can be found here:

http://www.livestream.com/seantheflexguy

I’ll continue to post twitter updates for random shows but check on Saturday if you are interested, have time and are around a computer. The show is a live video and audio feed. Right now  you can really just see the turntables and mixer and my hands but I’m looking into another camera that can show a little more of the action.

I’ve been asked a couple times about the DJ’ing so a quick word on that. I actually started DJ’ing when I was 16. I was a DJ for a Hip Hop group for a while and also DJ’d regularly around Denver (Snake Pit for example) and Seattle. I also produce music and many of my songs and older mixes can be found on my music site here:

http://www.thotskee.com

Well that’s it for now. Be sure to check out the show. There are good tunes on the regular! I spin everything from underground hip hop to ragga jungle to reggae/dancehall/dub to jazz and punk sometimes.

Thanks again to all of the listeners for your interest and support!!!! I really, really appreciate it!!!!

seantheflexguyTV – episode 02: Flash and the City conference, AIR 2.0, Flex 3 with Java book review

Here’s the second episode of seantheflexguyTV! In this episode I talk about the upcoming Flash and the City conference in NYC. I also cover some of the new features and capabilities of AIR 2.0 and do a quick review of the Flex 3 with Java book. This episode should be a little more organized and focused. I put together some show notes this time, which you can download here. In addition I’ve collected up some links for you to check out that relate to the topics covered in the show. Thanks a ton for your suggestions last week and thanks for tuning in. The next episode will focus on Flex “Gotchas.” I’m looking to you, the viewer, to send any gotchas that you’ve encountered in your Flex development adventures. Please send them to: info@seantheflexguy.com I’m looking for problems with solutions if you have them. Nothing crazy just any weird issues you’ve found solutions for that others might benefit from. Thanks again for checking out the show, I appreciate your time and feedback. I have to send a HUGE shout out to Jens at Flash Magazine for the Vimeo Plus account for the shows going forward. Flash Magazine is now an official sponsor of seantheflexguyTV. Stay tuned for some exciting stuff moving forward. Well, until next time, take it easy…

Flash and the City Conference Blog

http://blog.flashandthecity.com/

Flash and the City Speakers

http://blog.flashandthecity.com/speakers/

Elad Elrom’s AIR 2.0 Cookbook recipes (thanks again dude!)

http://elromdesign.com/blog/2010/02/01/10-recipes-on-adc-cookbooks-covering-air-20-new-apis/

AIR 2.0 info on the Adobe Labs site

http://labs.adobe.com/technologies/air2/

Exploring the new file capabilities in Adobe AIR 2

http://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html

StorageVolume class info

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/filesystem/StorageVolume.html

StorageVolumeInfo class info

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/filesystem/StorageVolumeInfo.html

StorageVolumeChangeEvent class info

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/StorageVolumeChangeEvent.html

Interacting with Native Processes in AIR 2.0

http://www.adobe.com/devnet/air/flex/quickstart/interacting_with_native_process.html

AIR 2.0 New Features Overview

http://www.infoq.com/articles/air-20-new-features

AIR 2.0 FAQ on Adobe Labs

http://labs.adobe.com/wiki/index.php/AIR_2:Developer_FAQ

New Features in AIR 2.0 on Adobe Labs

http://labs.adobe.com/wiki/index.php/AIR_2:Release_Notes#New_Features_in_AIR_2__beta_2

AIR 2 Enhancements Complete Overview

http://www.insideria.com/2009/10/air-2-enhancements-complete-ov.html

Using the Microphone capabilities in Adobe AIR 2 beta

http://www.adobe.com/devnet/air/flex/articles/using_mic_api.html

TouchEvent class info

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/TouchEvent.html

TouchscreenType

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/system/TouchscreenType.html

MultitouchInputMode

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/ui/MultitouchInputMode.html

Multitouch

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/ui/Multitouch.html

TransformGestureEvent

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/events/TransformGestureEvent.html


SeanTheFlexGuy interviewed by FlashScope

Just a quick post to share this interview I had the opportunity to do for FlashScope. Here’s a snipped from the interview: Sean ‘the flex guy’ Moore is a highly visible blogger in the Flash Platform Community. He has been developing web applications for 12 years now and it’s no surprise that he was chosen to be a Flex Developer Community Champion by Adobe for his hard work and dedication to the Community. FlashScope decided to interview this prominent Flash Developer, and luckily Sean agreed to answer some of our questions.”

Continue reading the full interview here:

http://www.flashscope.com/blog/sean-theflexguy-inerviewed/

seantheflexguyTV – episode 01: RobotLegs, Flex Unit 4, FlexPMD, FDT, RIATest and more!

Here’s the first episode of seantheflexguyTV! I’ll talk about several new Flex related tools and some software development books. I’d like to thank Jesse Warden for the inspiration and the nudge to get seantheflexguyTV started. More specifically in this episode I talk a little about: RobotLegs, Parsley, FlexPMD, RIATest, Hello Flex 4, Clean Code, 97 Things Every Software Architect Should Know, Flex Unit 4 and FDT. Please let me know if you love/hate the series and if you have any feedback. You can reach me by email at: info@seantheflexguy.com. Thanks for checking it out. If you have a tool, book, magazine or anything else that you’d like reviewed or any news stories please get in touch!!

SeanTheFlexGuy: 2009 Accomplishments and Review

Taking a look at everyone’s “2009 In Review” blog posts is really great inspiration. Looking back over the last year is always worth taking a minute to do. It’s great to reflect on personal growth over the course of a year and take note of our accomplishments. I decided to recall the last year for myself and put together a quick blog post. It was a pretty good year and I’ve learned a lot and continued refining my skills in my mission to become a “great” Flex developer. Here’s a rundown of what 2009 looked like for me:

San Diego Flash Users Group: Flex Best Practices Presentation

To start 2009 off I gave my first presentation to an awesome group of Flash and Flex developers in San Diego. The presentation was created from the two articles I wrote in 2008 for the Adobe Developer Connection on Best Practices for Flex development. I’ve kept the Powerpoint presentation offline until now. Some of the content is a little dated but it’s probably still worth checking out. I may update this presentation with everything I’ve learned over the last year and for the upcoming changes coming in Flex 4, if time permits.

Download the Flex Best Practices Powerpoint Presentation here.

Java Programming II at UCSD

After wanting to learn more about Java for many years I decided to go back to school and take a structured class. This was the first time I’d set foot in a classroom since about 1998. It was through the UCSD Extension program but classes were held on the UCSD campus. It was pretty cool to walk around the campus and see the “college” life again after so long. In addition this was the first time I’d ever taken a class at a University, my previous college experience was at a community college. The instructor Kent Yang was really awesome and the class was killer! I learned a lot more about Java, OOP, Unit Testing and Design Patterns. This knowledge was all transferable into AS3/Flex so the experience was well worth the time and investment.

Check out the class details here.

The Flex Show Episode 71: OOP w/ Sean Moore

The Flex Show is awesome, simply stated. Jeffry Houser has done an excellent job with the podcast and I’ve been a fan for a few years now. One of my goals was to be a guest on The Flex Show and in 2009 in became a reality. I was able to put together a talk about OOP in regards to Flex and ActionScript development. The Java class helped solidify my knowledge of OOP so hopefully the talk will help others grasp some of the fundamental OO concepts. It was an honor to be on the show and I really appreciate the opportunity. Hopefully I can do another show sometime in the future. Maybe on the Mindset BCI work I’ve been doing lately.

You can listen to my talk on The Flex Show here.

Orange County Flex Users Group: Flex Best Practices Presentation

Laura Arguello was kind enough to invite me to give my Flex Best Practices preso at the OCFlex Users Group in March. This gave me a chance to visit the ASFusion office before the preso and hang out with Jeremy Saenz (aka The Flex Gangster) a bit as well. The crowd at OCFlex was really great and very patient as I got set up and had some trouble finding a room at the venue big enough for everyone. Thanks again to ASFusion and the OCFlex Users Group for inviting me to present. It was a great experience!

Technical Authoring for O’Reilly InsideRIA

2008 was a big year for me and authoring. I wrote articles for Adobe, Flash Magazine and O’Reilly’s InsideRIA. I continued the trend in 2009 by writing three featured articles for InsideRIA. Rich Tretola is one of the coolest guys I know and such a pleasure to work with. He helped me a ton with the articles I wrote this year through the good and the bad. Another person I really have to thank is Matt Chotin. His feedback on my Flex 4 article was a huge help and I really appreciate his time and input! You can check out the articles I wrote for InsideRIA below:

Round up of ActionScript 3.0 and Flex optimization techniques and practices

Overview of Flex 4 (Gumbo)

Decorator Design Pattern

Technical Reviews for Manning Publications

Reviewing books is great for a lot of reasons, it helps your writing skills, you get a preview of the books before they’re published and you get to contribute to the quality of the books being published. I do the reviews on a volunteer basis and really enjoy and appreciate the opportunity to do so. In 2009 I had the privilege of reviewing three books for Manning. They are all great titles and I encourage you to check them out.

Hello! Flex 4

Flex On Java

Flex 4 In Action

Present.ly AIR Client Development

This is one of the larger apps that I worked on completely by myself. Dave at Intridea got in touch with a request to help them refactor an existing AIR application to best practices. This project was one of the best projects I’ve ever had the pleasure of working on. The app was cool, the concept was cool and the client was cool. The Present.ly service is a private Twitter like service for businesses, if you haven’t already taken a minute to check it out I encourage you to do so. Another really awesome aspect of this project is that the codebase for the AIR app is totally open source and available for download on GIT Hub. I was able to use Cairngorm and Flex Unit on this project which I feel really helped the codebase and application’s stability and scalability. You can check out the codebase and the finished app by following the links below:

Present.ly AIR source code at GIT Hub

Present.ly AIR Client

Game Consulting and Development

A game development company contacted me for some assistence with consulting and development for a Flex and Flash based game. This was my first experience doing any game dev and it was really great. This was another awesome client. They are not public yet so there aren’t any links to share. I did want to note that game development is something that I’d like to do more of and hopefully 2010 will present more opportunities to do so.

Parsley

Learning Parsley was been on my radar for quite some time. I’ve been able to work with the framework quite a bit over the last few months and really like it so far. It’s quite a bit different than Cairngorm development but it offers more flexibility and is the preferred direction by many developers. IoC frameworks are all the rage and I am glad to be learning how to use them.

Presentation Model

This design pattern is great. It enables better unit testing for your applications and helps to decouple logic from views. Using the Presentation Model wasn’t totally clear at first but after working with it for a while I’m really beginning to like it. Having a bunch of code in MXML files wasn’t really ever all that appealing to me and using the Presentation Model really helps to separate this code out into pure AS3 classes.

ThinkGear Brain Computer Interface API

In an effort to end 2009 with a bang I released my ThinkGear API. This API enables the Neurosky Mindset Brain Computer Interface to communicate with AS3 based applications. So far I’ve been able to build a rough dashboard that uses my brainwaves as its data source. In addition I was able to tie my brainwaves into some AS3 based particle visualizations. You can see my demo video and learn more here. Control ActionScript with your mind!!!

Well here’s looking to 2010. I can’t believe it’s already been a decade since Y2K. It’s been a great decade for the Flash Platform we’ve all come a long way.

Neurosky MindSet Brain Computer Interface ActionScript 3.0 API

Sean wearing the Mindset

Read and process data from your brain in ActionScript 3.0 with this open source API that I’ve created. You’ll need the Mindset hardware to utilize the full power of the API but you can run the ThinkGear Connector in “demo” mode and it will send simulated brain data to your app.

I’ve been interested in Brain Computer Interfaces for a few years now and was pleasantly surprised to find that Neurosky is now selling an affordable headset that reads brainwave data. The development tools are available for download from the Neurosky website for free. They provide a small piece of AS3 that shows how to read data from the ThinkGear Connector through a socket using ActionScript 3.0. I’ve abstracted the raw socket code into an easy to use API with documentation. Events are generated as the connector captures brainwave data from the BCI headset. You can register to listen for these events and get notifications as the brainwave data is read in one second intervals.

I’m currently working on a dashboard that displays the data my brain is generating using this API. It’s still a little rough but you can see the beginning in the video below. I’m also working on another project that feeds the brainwave data to some particle based visualizations in Flex. I think combining the brainwave data with Flash/Flex based visualizations could produce some very interesting results!

I’m planning on making this API open source and encourage developers to get involved. I can’t think of anything more exciting than reading your brain with ActionScript 3.0, Flex, AIR, etc. I truly think BCIs are the future of computing and we’ve hardly even seen the full potential yet. I currently need more examples to add to the project so if you’re interested in contributing those or anything else to the project please get in touch.

The game market is a great area where a BCI can be utilized. There is currently a demo game included with the Mindset when you purchase one. It’s pretty cool and if you are as interested in BCIs I encourage  you to take a look.

You can use the links below to find additional information about Neurosky and the Mindset BCI. You can also download the ThinkGearAPI SWC, browse the API documentation and download the source for the API and the Flex example using Subversion.


ThinkGearAPI SWC

http://kannopy.com/thinkgear/ThinkGearAPI.swc

ThinkGearAPI ASDoc Documentation

http://kannopy.com/thinkgear/thinkgear-api-asdocs/

ThinkGearAPI Flex Example (Flex Archive)

http://kannopy.com/thinkgear/ThinkGearAPIFlexExample.zip

Neurosky MindSet BCI API (Subversion):

http://kannopy.com/thinkgearapi/

Neurosky MindSet BCI API Flex Example (Subversion):

http://kannopy.com/thinkgearflex

Neurosky MindSet Development Tools

http://store.neurosky.com/products/mindset-development-tools

Neurosky Homepage

http://www.neurosky.com/

Neurosky Brainwave Visualizer

http://www.neurosky.com/mindset/visualizer.html


List of 34 More ActionScript 3.0 APIs


Using an API can save time during the development process. The wonderful thing about the Flash Platform Community has always been the willingness to share. Here’s 34 more ActionScript 3.0 APIs that can be used for Flex, Flash and AIR development. Hopefully one of the APIs listed here or in one of my previous API listing posts can help you and your team save time. Happy Holidays!! :)

ArcGIS API for Flex
The ArcGIS API for Flex allows the creation of Rich Internet applications on top of ArcGIS Server. It is based on the free Adobe Flex framework. The Flex framework is a client-side technology that is rendered by Flash Player 9 and above, or by Adobe AIR. All Flex 3.x SDK versions are now supported.
http://resources.esri.com/arcgisserver/apis/flex/

asaudio
ASaudio is a small AS3 library dedicated to simple and efficient sound handling.
http://code.google.com/p/asaudio/

as3ansi
Library for parsing and viewing extended ASCII (IBM code page 437) into AS3 for use in Flash and Flex applications.
http://code.google.com/p/as3ansi/

ActionScript 3.0 Client Library for Facebook Platform API
The new ActionScript 3.0 Client Library for Facebook Platform API, fully supported by Facebook and Adobe, makes it easy to build applications that combine the strengths of the Flash Platform and Facebook Platform.
http://code.google.com/p/facebook-actionscript-api/

ascolourlovers
ColourLovers API for ActionScript 3. This library provides all the tools needed to bring palettes, colors, patterns and more from the ColourLovers API in your AS3 projects.
http://code.google.com/p/ascolourlovers/

AS3DAC
AS3DAC parses an AS3.0 class or instance file and adds asdoc documentation stubs. Follows the Flex SDK Coding Conventions where applicable.
http://code.google.com/p/as3dac/

as3flexdb
AS3FlexDB project is a open source lib that allows Adobe Flex applications to connect to a MySQL server.
http://code.google.com/p/as3flexdb/

as3growl
An ActionScript 3 API for working with the Growl notification service.
http://code.google.com/p/as3growl/

AS3 Http Client Library
An http library written on top of flash.net.Socket (and as3crypto) to be used with AIR or flash runtimes.
http://github.com/gabriel/as3httpclient

as3midilib
MIDI for ActionScript 3.0
http://code.google.com/p/as3midilib/

as3openxmlformats
ActionScript 3 lib for MS Office Open XML Formats
http://code.google.com/p/as3openxmlformats/

as3-scaffold
as3-scaffold is a lightweight as3 framework with an accompanying set of scaffolding scripts to automate the tedium of setting up new as3 projects, with support for PureMVC.
http://code.google.com/p/as3-scaffold/

as3scriptinglib
This library aims to provide an API for compiling and executing runtime ActionScript/JavaScript within the Flash client (no server required) via Adobe’s ECMAScript 4 compiler (from the Tamarin project).
http://code.google.com/p/as3scriptinglib/

as3zlib
as3 port of zlib
This is a port of JZlib to as3. Was created because as3 in Flash9 does not support deflate in ByteArray. AIR does support deflate and doesn’t need this code.
http://code.google.com/p/as3zlib/

bitly as3 api
Simple as3 implementation for bit.ly API.
http://code.google.com/p/bitly-as3-api/

Diggbe
Diggbe is a general purpose DI engine. It is first conceived for unit testing purposes (to avoid xxxSet/GetForTest). But it can also be use for runtime code to allow service dependencies to be injected.
http://code.google.com/p/diggbe/

echo-nest-flash-api
An ActionScript 3 interface for the the Echo Nest API.
http://github.com/also/echo-nest-flash-api

Etsy API Wrapper for Actionscript 3
An Actionscript 3 class that wraps the Etsy.com API.
http://thunderfarm.com/etsy/

feedmeas3
FeedMe is a low level class for sharing data between objects.
http://code.google.com/p/feedmeas3/

fuelas3svn
This is the SVN protocol implemented in AS3. This library gives you the ability to write your own SVN client completely in Flash.
http://code.google.com/p/fuelas3svn/

Gigya AS3 API
http://wiki.gigya.com/030_Gigya_Socialize_API_2.0/030_API_reference/010_Client_API_%28JavaScript%29

googleas3api
AS3 library on Googles API’s, integrate the power of Google in your Flash/Flex/AIR application (searches, translation, suggest, weather, feeds).
http://code.google.com/p/googleas3api/

Kongregate’s AS3 API
The Kongregate AS3 API allows you to extend your game to communicate with the Kongregate back-end.
http://www.kongregate.com/developer_center/docs/as3-api

KoolMoves AS3 API
http://koolexchange.com/docs/km/

lastfm as3
Actionscript 3.0 API to access the Last.fm web services.
http://code.google.com/p/lastfm-as3/

Mappy AS3 API
Thanks to Mappy AS3 API, show your users advanced visual effects (zooming with transition effects, video integrations, animations, etc.)and render maps quickly on browsers with a Flash plug-in instaled (the vast majority of Internet users).
http://api.mappy.com/en/as3

MP3tunes Music AS3/Flex/AIR API
API to implements the MP3tunes Music API. The api consists of REST interface which gives you access to all data for a user within the MP3tunes Locker service. It gives you the foundation for using the service in a AS3/Flex/AIR project.
http://code.google.com/p/mp3tunes-as3-api/

nd3d
ND3D is a simple to use AS3 3D Engine. Aimed for speed and simplicity. Target use are small 3D effects and rapid 3D testing / prototyping. The compiled size of the engine is about 10k.
http://code.google.com/p/nd3d/

netflex-as3-api
An Actionscript 3 utility library to simplify the Netflix API for Actionscript 3 based applications.
http://code.google.com/p/netflex-as3-api/

Sekati API
Sekati API is a Pure Actionscript 3.0 framework designed to bootstrap the development of flash/flex projects & applications with an emphasis on high-level functionality encapsulation. The framework provides a flexible, feature-rich xml configurable application architecture through the implementation of it’s collection of behavior-specific core display objects, controllers, managers & utilities.
http://code.google.com/p/sekati/

Soundcloud AS3 API
Universal Soundcloud API wrapper for Flash, Flex and AIR projects, written in ActionScript 3.0.
http://github.com/dasflash/Soundcloud-AS3-API/blame/1aa2d25c072309a1e931b08e88f6c7218a135be0/README

tweensy
Tweensy is an extremely efficient Actionscript 3 property tweener. Contained within Tweensy is an expansion package called Tweensy FX which allows for motion effects to be applied onto DisplayObjects.
http://code.google.com/p/tweensy/

vyana
Light-weight Cairngorm-PureMVC like framework with care about modular applications
http://code.google.com/p/vyana/

wiiflash
Communication between the Wiimote and Flash
http://code.google.com/p/wiiflash/

The Decorator Design Pattern and Open Closed Principle

Interested in Design Patterns? Check out this article on InsideRIA that explains the Decorator Design Pattern. This article explains the Open Closed Principal and discusses favoring composition over inheritance. These are very powerful OOP concepts that can be leveraged to produce more flexible and robust code. The Decorator is a great pattern to learn after gaining an understanding of the Strategy pattern. InsideRIA also has a great article exploring the Strategy Design Pattern if you’d like to learn more about it. If things go as planned we’ll take a look at the Factory Pattern next. Design Patterns are great and I hope these articles help developers understand them. Remember that a thorough understanding of these patterns should be gained before using them in production code.