Its been a while since my last blog entry. Of course all the Apple / Adobe Flash Furore in late 2011 caused me massive problems career wise - Although I'm still in a job, my colleagues have been drinking the kool-aid and believing the strategic business lies Apple has peddled over the last year.
Unfortunately Apple's stance on allowing Flash content on their iOS devices caused a major loss of confidence across the industry, mainly because management types didn't understand the reality of what was going on, and why Apple did it (to make money for themselves) and why Flash platform development still makes sense, and it IS POSSIBLE STILL - and makes sense (its cheaper!).
Twice I found myself explaining to the owner of our business why you shouldn't rebuild the wheel several times, this coupled with the availability of cheap labour overseas has made my work very difficult, as everyone seems to now think that HTML5 is the answer to everything.
Experience has told me that it is fraugt with issues, and a browser based technology just can't do what most applications need to do, e.g. save content locally, work when their is no connection etc, and of course access to other hardware on the machine. Our team has learnt this the hard way after not listening to me, both on a technical/workflow level, but also in terms of the additional financial costs of dropping my approach, which was cross platform for "native" apps.
Despite all the firefighting on a personal level - its now clear that this was productive on a career level, as Flex/Air Developers are still demanding a high salary compared to Flash Designers and Developers.
On a personal level, I decided that it was finally time to start working with Actionscript 3.0. Many legacy products and systems I had developed had stopped me doing this, as time constraints stopped me from learning so the last few new projects were a good opportunity to start working with the newer (now mature) technology.
Of course inevitably, a new project requirements force you to use AS3 - As a lot of features are either a) impossible to do with AS2 or too slow to be practical with the older technology, e.g. bitmap encoding, which was always very sluggish during uploads to a webserver.
AS3 is an odd beast, In some respects things are a lot easier - but in others, you end up writing a whole paragraph of code where it used to be a single line. But I said that about AS2 when migrating from AS2!
AS3 of course requires different tools. With Flash compiling is the usual simplistic approach, hit publish movie, the Flex development environment however is another matter, its a complicated jumble of configuration options. Even installing and setting up a project is not simple.
After 3 months of Flex/Air development - Its still not plain sailing. The configuration options cause tremendous issues when re-installing on another development machine, which if you're used to working in two locations makes work hard to setup.
I found FlashDevelop to be pretty tough to use, as it had no "WYSIWG" layout editor, which of course I'm familliar with from years of using Flash.
You still need Flash, as Flex/Flash Develop/Flash Builder has no ability to make complex layered assets - well apart from programattically using basic elements.
I've settled on using Flash Builder 4.6, although I do have access to 4.7 via a subscription to their Creative Cloud service, unfortunately it only gives access now to the "very latest editions" and after starting to use 4.6 and then rebuilding a Windows installation and setting up Creative Cloud again, which takes a whole day due to ridiculously long download times using the Adobe Application Manager, I suddenly realised the version I was used to had been replaced. This isn't an option for me. Unfortunately Adobe deprecated the useful "Design View" feature that helped to build a "State" view using drag and drop functionality and WSYWIG positioning using the mouse in Flash Builder 4.7.
Its strengths of course are the ease in which you can build an application using seperate components - of course you can build on 3rd party code, but as usual this itself is a nightmare as often examples of code don't work, they require a specific version of components / compiler languages etc - its not as simple as something just being "AS3"
I do like working with Flex, but to be honest despite its obvious advantages, for the beginner and experienced Flash Developer, its like going from being a bricklayer to an architect in terms of complexity.
This of course leads to other commercial considerations - I've found it pretty difficult to justify the timescales involved of course, during development - which is not suprising when the company you work for has blocked your learning time due to workload. Not only that, things that used to take me a couple of hours can take days now with Flex/Air.
Mind you, the projects I'm working on involve video, screengrabs, jpeg processing and Facebook integration - as I said to our project manager - this latest project is the most complicated thing I've ever worked on.
But as usual I'm up against non-technical office bods thinking that its easy to do chromakey effects and upload to facebook (doesn't it just take a few clicks?) I hear them wonder...
But I have to be philosophical about all this. History will show that cross-platform is the way to go - and after all the term "No-Pain-No-Gain" applies to this situation.