Interview with Josh McDonald aka @sophistifunk
name: Josh McDonald
age: 31
location: Brisbane, Australia
when did you start flash/flex/AIR/AS dev?
My first serious Flash scripting project was back in 2000/2001 using Flash 5. It was a bit too ambitious, and we really should’ve gone with Java at the time, because the drawing API didn’t exist yet. Hindsight, right?
are you practicing TDD? why/why not?
Where I can. A lot of my work doesn’t make much sense to unit test, simply because it’s UI stuff and getting useful test systems up would take an enormous amount of time. Not helping is Adobe with the general flakiness of Builder’s test support combined with paid .5 updates.
what application development frameworks have you used? what’s your favorite?
We use an app framework developed in-house (mostly by me) at my current employer, it shares some ideas with Robot Legs, but it’s heavier and runs on SmartyPants-IOC instead of SwiftSuspenders. It was miles ahead of anything else publicly available at the time, and it’s a shame I never convinced the powers that be to let me open-source it. But it’s a very different landscape now, and if I were to start it again I’d build it as a layer atop RobotLegs.
have you done any mobile dev using flash/flex/AIR?
No, I’m not really interested in AIR mobile at the moment. It’s a shame, because I’m sure the performance issues that remain will be sorted out, but the inability to escape to native APIs when iOS moves faster than AIR is a real deal-killer for me.
what code editor/IDE do you use? any plugins?
Builder and Flex-Formatter most of the time; but I hate Eclipse with the fire of a thousand suns, so I’m trying to work with IntelliJ Idea whenever possible.
what other tools do you use for flash/flex/AIR dev?
Some Ruby scripts for a little bit of boilerplate generation, and of course Photoshop / Illustrator for GUI assets. Nothing too complicated or out of the ordinary.
what blogs or people on twitter do you follow for flash platform info/news/etc.?
Too many to list on Twitter, but not a boatload of blogs these days. My Twitter strategy is to just go about my business, and add anybody with whom a conversation naturally arises, or if they seem to be chatting with my friends about topics that interest me.
have you attended or are you attending any conferences this year? as a speaker or attendee only?
Nope :-/ Even with the US dollar as it is, travelling from Australia for conferences is stupid expensive without support from your employers.
what are your thoughts on the rebirth of JavaScript (and the HTML spec/family)?
Mostly positive. JavaScript is so close to a great language that I find it mostly liberating to use, although the lack of good central documentation for non-Mozilla browsers is a real pain. Another down side is that there’s a lot of really bad JavaScript out there, so I often find myself wondering if I really know what I’m about, or if I’m just making a terrible mess like some of the code I see in my travels. “HTML5″ is a wonderful example of hype and BS being slapped on top of some useful features, but I’m definitely happy to see Canvas taking hold. WebGL will be great eventually, but you really shouldn’t need to know how to code a shader in bytecode just to draw a circle in tutorials. Unfortunately I’m only slightly exaggerating, too :-/
what version of flex are your working with/targeting? 3, 3.5, 4, 4.5?
At the moment I’m actually working on support for some older, sta(b)le products, so I’ve been dealing with Flex 2 lately. I can tell you that’s no picnic
There’s no IDE support for 2.x from anybody, and Adobe never bothered to recompile Builder 3 for Intel- so now that Rosetta has been killed us Mac users are stuck with text editors and fdb, running Builder 3 in VMWare, or simply developing against 3.x and hoping none of the nasty bugs in Flex 2 trip you up when things get built by ant for production.
Normally though we’re on the latest version of 3, currently 3.6.something. Switching to 4.5 would be nice, but in Australia most large clients happen to be government departments mired in the stone age, where anything more advanced than Explorer 6 is a pleasant surprise, and Flash 10 is a pipe dream.
what other programming languages do you know/use?
Mostly Java, with some Obj-C from time to time. I tend to lean on Ruby for scripting tasks, and I follow a lot of Smalltalk blogs, although that’s mainly just depressing to see how close they came to making it
what do you do when you’re not writing code?
Same as most coders really – cooking, enjoying good food, hanging out with my wife, good cigars and the occasional XBox session
what is your favorite animal?
Dogs, definitely. I can’t wait for the time I have enough space for a few dogs- nothing brightens your day like a wagging tail.