name: Joseph Labrecque
age: 235
employer: University of Denver / Fractured Vision Media, LLC
location: Denver, CO USA
when did you start flash/flex/AIR/AS dev?
I began using Flash here and there in 1999/2000 with Macromedia Flash 4. Previous to that, I was mainly doing straight HTML and a bunch of design work; Photoshop, Illustrator, 35mm photography, and photo compositing. What drew me to Flash was that I could take pieces from all of those areas and use them together in a meaningful way. I think everyone coming to Flash from that angle remembers the first simple animation they created and how outstanding the feeling of publishing your first swf was. It was magical for me.
I actually didn’t get involved in Flex until Flex 2 and ActionScript 3.0. I was doing a lot of work with AS2 before this using Flash Professional, and AS3 was made available in Flex Builder before Flash because it was built into the SDK. I tried out Flex but it didn’t click for me- so I used the Flex SDK to write AS3 using FlashDevelop for a time. This is how I learned AS3. By the time AS3 was available in Flash Pro… I was already set
What eventually “forced” me into Flash Builder and Flex was the ability to write AIR applications and the tooling built into Flex Builder 3. I was using the Apollo alphas and had a few projects at the university where I was pushing the technology. The first AIR project we deployed was actually an Apollo project a day before – so we were really on the bleeding edge! Anyhow- using Flex for AIR apps got me to appreciate the framework for use in other projects… saw the obvious benefits of using Flex Builder over Flash Pro for writing code… Flex framework makes a lot of layout and structural underpinnings so simple – so I stuck with it. I do go to Flash Pro for certain things now and again, but Flash Builder and Flex are primary for me now.
are you practicing TDD? why/why not?
No… I’m not. I understand the benefits and have made numerous attempts to integrate the practice into my workflow, but as it stands now I’m just a total failure with TDD! With most things though, I find that my initial set of attempts are often crash-and-burn exercises. At some point, it will all come into place and I just have to work toward that moment. The problem right now is that much of what I do is systems maintenance and planning – so am not as actively involved in any solid development starters at the moment.
what application development frameworks have you used? what’s your favorite?
The Adobe Flex Framework
Well… I’ve definitely looked at other frameworks and micro-architectures. A lot of people seem to like RobotLegs and I’ve done some beginner exercises with that to get concepts down – but have not attempted anything in a real project yet.
have you done any mobile dev using flash/flex/AIR?
Yes. Mostly experiments for projects like my “Flash Development for Android Cookbook”, but have also written some applications for Android that are available in the Market. These include; Sketch-N-Save, AXNA Feed Reader, My Shit-List!, Transient Recorder, and others. I’m in the middle of writing a mobile Flex application for the university right now which should (eventually) be available across multiple platforms. It taps into the university media management system to provide users with direct access to video, image, and audio materials along with associated metadata records for their mobile devices. It’s in beta for Android, and once we get that solid will look at publishing for iOS and perhaps event BlackBerry Tablet OS. We’ll see what use may dictate.
what code editor/IDE do you use? any plugins?
Primarily Flash Builder – no plugins. I also launch Flash Professional from time to time to work on legacy projects and perform specific functionality that is better suited to that environment. I have used FDT and FlashDevelop on occasion… and as mentioned before, actually learned AS3 on FlashDevelop.
what other tools do you use for flash/flex/AIR dev?
I use the entire Adobe Creative Suite for my work. Well, almost the entire suite. Also tools like Lightroom for my photography. Lightroom is awesome.
With Flex projects, I’ll often use a graphics package like Photoshop or whatnot to create any image assets needed, sometimes will design skinning elements in that or Illustrator/Fireworks depending upon my mood. I do my FXG work within Flash Catalyst and copy/paste into Flash Builder. XML, HTML, and such usually gets edited in Dreamweaver. Audition for audio assets, video stuff is covered by Premier Pro/After Effects… really try and use the full suite if the project allows it.
what blogs or people on twitter do you follow for flash platform info/news/etc.?
I generally don’t follow specific blogs but rely on Twitter for most of my information and news. Too many people to mention, but you can have a look at who I follow and interact with for a good idea! As a general rule, if you are an AEL, ACP, or Adobian who follows me… I will follow you back! Also – if you are doing other interesting non-Adobe-specific stuff (Unity, experimental HTML/CSS/JS, other crazy stuff), that is cool and will probably peak my interest!
I just beg everyone on Twitter to please make it apparent who you are and where your interests lie – makes it much easier to follow back that way. I try my best not to be a Twitter-snob so the best way to get my attention is to ENGAGE
have you attended or are you attending any conferences this year? as a speaker or attendee only?
Yes… *deep breath*.
A lot of conference activity this year… too much! I started off the year doing three different Adobe User Group presentations on BlackBerry PlayBook development (Columbus Digital, LA Flash, and KCDevCore).
In March I took a break from technical presentations and did a spark session for Ignite Denver 8 on personal branding. In case you are unfamiliar with Ignite – many cities around the world host these events. Speakers have 5 minutes and 20 slides to talk about any subject they choose… and the slides auto-advance on a timer
It’s a really interesting way to present and Ignite Denver pulls around 400 people, so you get a pretty big crowd.
I attended 360|Flex in Denver this year and wasn’t going to do any presentations myself, but the local Adobe User Group, RMAUG, had a slot open and I threw together an hour long session on “Getting Down n’ Dirty with Mobile Flex 4.5 Projects” which went really well for being a last minute gig. Since Adobe released Flash Builder 4.5 that morning, the topic was timely and I’d been working on the prerelease versions of the tooling for months (not to mention materials for my book which was still in tech-review at this point). It was a good session. Jun Heider was moderating a panel in the evening one night called “Open Screen Project: Views from the Trenches” and I also contributed to that. They tried to record the panel but I’m not quite sure if the recording was ever released.
In June, I did another Ignite session for Ignite Denver 9 called “Zombies, Vampires, and Babies: What You NEED to Know!”. It basically revolved around comparisons of babies with the undead and was really well received. I enjoy doing the Ignite stuff but will probably have to skip out on Ignite Denver 10 in September because of other obligations. Next year!
In July, I was very fortunate to have been accepted to speak at Dee Sadler’s excellent D2W (Designer/Developer/Workflow) conference in Kansas City. My session “Adapting Expectations to Fit a Mobile Workflow” revolved around mobile once again but with an emphasis on workflow and the considerations that go along with that. The amount of killer speakers at this conference is astounding – all great sessions.
A few weeks later, I attended the Adobe Education Leader Institute at Adobe HQ in San Jose for the 3rd year. This is a week-long conference for AELs and is always a blast. We get to interface with product managers, engineers, and executives… all sorts of interesting people- including other AELs from around the world. During the event; I moderated a panel on Adobe Edge, did a 5-minute presentation on custom context menus in AS3, and presented a hands-on session which covered the basics of developing a mobile AIR application using Flash Builder and mobile Flex. One of the cool things this year is that Adobe opened up many of the sessions to the outside world over Connect – so we were able to have an expanded audience.
The last set of sessions for the Summer were done for the COLTT conference in Boulder, Colorado. I presented a full session called “Mobile computing in a ‘Post-PC’ era… right?” in which the current state of mobile computing in education was discussed, and that evening spoke at the Café Pédagogique event on the necessity (or not) of institutional mobile applications.
Upcoming speaking engagements will all be during the Adobe MAX event in Los Angeles. I’ll be presenting a scheduled MAX session called “From Desktop to Mobile: Application Functionality for Small Screens” on Tuesday at 4:00pm and will be doing a condensed, modified version of this same talk for the Adobe Education pre-conference day. I’m also scheduled to speak on mobile UX during the FITC unconference and have scheduled a session on BlazeDS, Flex, and Java/Spring for the 360|MAX unconference. A full schedule for sure!
do you have any personal projects that you’d like to share?
Sure! I’ll be writing about this further down the question stack though.
are you involved with any open source projects you’d like to talk about?
Not really. I do plan on open sourcing the codebase for my DropFolders application this Summer. This is an application that I built to both showcase the native process functionality in AIR 2.0, and as an application for use by less technically inclined members of the university community who wanted to encode video with no real fuss.
The app is basically a GUI for the HandBrake CLI and includes the ability to set up sets of monitored directories and outputs with custom encoding parameters. Almost no one at the university is using it, but it has gained a pretty large user base in the wider world. Unfortunately, my time is limited and as such cannot continue to support the application… hence my desire to open up the source code for others to build off of.
what are your thoughts on the rebirth of JavaScript (and the HTML spec/family)?
It’s good to see HTML finally evolving to more closely match the needs of modern browser-based projects. JavaScript, unfortunately hasn’t really changed much apart for some new APIs that come along with the HTML5 spec and an increased number of frameworks (like jQuery) to make JS development a little less painful. I was really hoping that JavaScript would adopt the ECMAScript 4 proposal put forth about 5 years ago (the same spec that AS3 was originally based off of) but sadly it never did. So we are stuck with the same old JS that I used when I started doing web development over a decade ago! Unbelievable.
I have to say something about HTML/CSS/JS and Flash here. This is the same thing I’ve been saying for years but it is worth repeating. HTML and Flash have worked hand-in-hand for their entire history and there is no reason that this will change with an evolved HTML spec. No reason at all. The fact that some basic animation can now be done using HTML/CSS/JS in no way renders Flash obsolete as the platform has such reach now that simple animation on the web is not really a concern for really any of the Flash devs I talk to on a regular basis. If you need some simple animation on a website- by all means use HTML/CSS/JS to accomplish that if it is appropriate to do so.
Two things that have really irked me about this whole debate has been the public condemnation of Flash by Apple (this sort of corporate assault is unheard of) and the renewed antagonism toward Flash developers by people using other technologies (though mostly from the JS side of things). Apple has taken an anti-Flash stance and has made it official company policy. There is nothing we can do about that but hope they eventually reverse the policy. Individual developers, however, are a different story entirely. Isn’t the web about freedom? We have a variety of choices when deciding which technologies to employ atop the basic HTML/CSS/JS web stack. The HTML5 spec has the embed tag for a reason – to expand upon this basic set of technologies with other platforms. There is nothing wrong with that. Unity, Flash, Java, Silverlight, Shockwave… whatever is an appropriate use of technology should be accepted. Yes, if you choose to use something outside the “standard” set of browser-based tech, you may not be able to access that content on all devices in the world. This is nothing new. People need to realize this, gain some perspective, and get over their narrow-minded view of the web. It’s big enough for everyone to play
In short; be nice to one another and accepting of other technologies and platforms. And if you disagree with a particular technology… please refrain from being a total smarmy douche about it.
what version of flex are your working with/targeting? 3, 3.5, 4, 4.5?
Aside from legacy projects, I always target the latest version of Flex. We generally don’t have any restrictions at the university level when it comes to this so it is rarely a problem… though we do evaluate such things on a project-to-project basis.
what other programming languages do you know/use?
Flash/Flex/AS3 is my core but I have rarely met a Flash dev who only works within the confines of the platform. This is probably due to the history of Flash Player in the web browser- which necessitates that a developer knows at least some HTML, JavaScript, and ideally a few backend server technologies. As for myself, this includes ColdFusion, PHP, MySQL, HTML, CSS, Zinc, JavaScript, FMS, a little JSP, a bit of ASP, BlazeDS, and a smattering of other languages as the need arises.
Flash is a gateway drug. Once you have a grasp on a few of these things and a willingness to read the docs, nothing is really all that hard to pick up. I really want to pick up C# but haven’t come across a project that necessitates it yet. I may have to just come up with a personal project sometime over the next year or so to experiment. Finding the time to do this while staying abreast of changes and additions to my core toolset is tough- but can be done.
With all of that said though… I absolutely prefer to work in Flash. It’s solid, proven technology that can do just about anything you need. It is an absolute joy to work with where other tech can be a painful experience!
what do you do when you’re not writing code?
I’ve been writing a lot of articles and books lately. My “Flash Development for Android Cookbook” has been out for around six weeks now and is beginning to get some really good reviews. I’m also in the middle of writing some short eBooks for O’Reilly which should be out in October and am in the planning stages of another print book with my primary publisher, Packt, for publication in 2012. There’s also a short, 48-page book that I wrote to accompany the set of mobile Flash development DVDs that I recorded with Peter Elst and video2brain a few months back for Adobe Press and Peachpit. This collection should be available something this month. A smaller workshop of new Flash Builder and Flex stuff with video2brain was actually just published and is available now.
I’m almost always involved in teaching a variety of courses for the University of Denver as adjunct faculty. These courses range from beginning Flash and AS3 to web graphic design with Fireworks and PHP development. A real variety in materials… I actually did a special topics workshop this Summer on mobile Flash and Flex which just concluded. That was interesting! The students built a lot of interesting apps and I received really good feedback about the course.
Apart from my work at the university, I also run a small technical consultancy and production company from my home called Fractured Vision Media, LLC. We do a variety of projects for clients both local to Denver and as far away as Seattle – mostly Flash and AIR work but it varies. With the amount of writing I’ve gotten myself into lately, I’ve been trying to cut down on the amount of active clients we take on. It’s a rough balance.
FVM is also a small record label which I leverage when publishing audio recordings as my experimental darkambient alter-ego – “An Early Morning Letter, Displaced”. I’ve been working in music production through this project for over a decade and have released five different albums of music (2 lp, 3 ep) during that time. FVM has also released a free collection of music collected from the developer community called “Emergent Collective One” which contains a stellar set of varied material. I keep meaning to organize a second volume but time has not been kind to me this year.
I have a wife and two small daughters as well… so always need to find time for them. It’s difficult with all of these other things going on and I may have to cut back on some of this work in 2012 in order to retain some level of sanity.
anything else you’d like to mention? blogs, sites, people, tools?
I’ll list some resources and sites that I’ve mentioned above here, but want to note a few things first; primarily, thanks for giving me the opportunity to do this interview! I love this series of developer interviews- so informative to read others perspectives on these things. Second, I’m writing this on a long airplane session… stuck in a seat for hours… with no one to hear my screams… so to be able to just work through these questions has been quite welcome! This probably accounts for the length of my answers as well – if anyone is able to get through reading the entire interview- good on you!
Links:
- JosephLabrecque.com
http://josephlabrecque.com
- Twitter Profile
http://twitter.com/JosephLabrecque
- In Flagrante Delicto!
http://inflagrantedelicto.memoryspiral.com
- Flash Development for Android Cookbook
https://www.packtpub.com/flash-development-for-android-cookbook/book
- Mobile Development with Flash Professional CS5.5 and Flash Builder 4.5: Learn by Video
http://www.adobepress.com/bookstore/product.asp?isbn=0321788109
- Adobe Flash Builder and Flex 4.5: New Features Workshop
http://www.video2brain.com/en/products-161.htm
- Fractured Vision Media, LLC
http://fracturedvisionmedia.com/
- Emergent Collective One
http://fracturedvisionmedia.com/FVM005/
what’s your favorite animal?
Dragon. I am a dragon.