Dealing with Developer Anxiety
Posted on Aug 04, 2011
I was reading a post by Jesse Warden this morning which was, as is typical of Jesse, very thoughtful and thought provoking. While the title made it seem like it was all about Corona, it really, in my mind, was as much about the past, present and future of Flash and Flex. Rapid changes in technology and outside pressures (which I won't get into) have Flash and Flex developers understandably anxious. This post isn't really about the future of Flash or Flex but rather about that sense of anxiousness. It is something I am very familiar with throughout my career as a developer (heck, ColdFusion developers seemed to deal with it on a daily basis for years). Instead, this post is about three things:
- How can we, at Adobe, mitigate some of this anxiety?
- How can I, as an Adobe employee with a focus on the Flash and Flex community, help address some of the issues leading to that anxiety?
- My own strategies that have worked in navigating times of high-anxiety.
Keep in mind that while I am an Adobe employee, this post is my own opinion and ideas and not expressing an officially endorsed by my employer. Let me start with the last item first though. These strategies may seem obvious but they have helped me in the past.
Strategy 1: Keep Informed
As I said to Jesse, while these types of industry shifts do seem to happen fast they don't happen overnight. It is difficult, in an age where the "tech media" play up every move for the most clicks using sensationalistic headlines and poorly researched but quickly released "articles," to keep a sense of how fast things really move on the ground. For instance, while mobile is driving a lot of the talk lately, most companies have not abandoned their existing applications and technologies. In fact, I suspect that most are still simply in the planning or investigation stages on how mobile affects them.
I also suspect that the readers of blogs like Jesse's are generally extremely well informed and aren't going to be caught off guard by these changes. That is the first key in my mind. If you are keeping up with industry trends, learning new technologies and keeping an open mind, then you are very likely going to be fine regardless of what the future brings. In my experience, this is an industry that rewards those who go beyond their day-to-day coding requirements regardless of what language they may program for their day job.
Strategy 2: Keep Perspective
I think that sometimes keeping informed can also lead to a natural loss of perspective. Beyond just the tech media bias and hype, we can get caught up in comparing ourselves to a very small group of developers who, while very smart, tend to live on the bleeding edge. In my own personal experience, I recall thinking many years ago I was the last person to use X framework (or a framework at all) when in fact most people were still, and many are still, not using one. This isn't to say you shouldn't be persuaded by those on the bleeding edge to broaden your horizons or expand your skill-set but it is to remind you that this group isn't necessarily representative of the population of developers as a whole.
There's a big difference between being on the bleeding edge and being ahead of the curve. Some people on the the bleeding edge are also ahead of the curve, but sometimes they also run the risk of making the wrong choice. As you well know, the technology and software industry is littered with "next big things" that never were. Some people have agendas in being bleeding edge, constantly looking to either make their name or hope to cash in by being one of the first in the next hot thing. Being ahead of the curve, to me, means you are informed enough to know where the bleeding edge is, but cautious enough to stay safely behind it.
Questions: What can Adobe do? What can I do?
Those strategies I mentioned have nothing to do with Flash or Flex developers specifically but any developer who is facing a time of high anxiety due to shifting industry trends. The question I have for Flash and Flex developers is, what do you think that Adobe should do that would help mitigate some of that anxiety? While that could be something around features of a product, it could also be around messaging or opening lines of communication. The point is, I don't think the answer is a simple "implement feature X and everything will be good."
The second question is, what can I do? Obviously, Adobe is a big company and I am just one individual - but I am one individual willing to be a voice to convey a message that I think needs to be heard (even if it may sometimes be politically difficult to say). Nonetheless, with an understanding that their are limitations to my own individual influence, what can I do to help?
Comments
Brian, I agree with you 100% that Jesse's article was, as typical, excellent. Your synopsis as well was right on point. Regarding what Adobe can do, I think being able to bridge technologies will be extremely useful. I'm thinking something along the lines of a compiler flag for the Flex SDK to allow you to compile to AJAX and HTML5, for example. Google essentially does this with Java and GWT... write Java code, get AJAX once compiled. Also, work like you are doing with Edge, once it reaches parity with the Flash IDE, will also be tremendously useful.
Posted By Nick Collins / Posted on 08/04/2011 at 2:48 PM
Adobe is behind the 8-ball here, and I feel for you guys. The Flash Player and resulting technologies were never going to be a huge money maker, at least not big enough to provide the resources to compete with the absolute deluge of work/ideas/intellectual capital that has been unleashed by the simple act of Google overpowering their javascript engine. Before that, flash was the only real game in town for doing interesting things on the client, and now, you're stuck inside a plugin screaming to get out while all the browsers tweak their js engines to get that extra bit of screaming speed.
I've been making video players for the last 8 years and just 2-3 years ago, a well-made Flash app was going to be superior to js in most ways. Now the opposite is true. We're ripping flash out of our app as quickly as we can and getting dramatic quality improvements.
Not saying that you guys should just give up, Edge sounds like a neat project, but as far as I can tell, it seems to be more focused on the graphical side of things. You need a product that will play well with a wide variety of application frameworks. If Edge (or any other of your products) can become indespensible to people using GWT or EXT or whatever, then people will use it. Or, if you can retool Flex to compile into a super-svelte GWT-style cross-compiled js, then you'll be more relevant. What can you give that open source can't provide?
Good luck.
Posted By Daniel Niland / Posted on 08/04/2011 at 4:46 PM
@Nick thanks much for the feedback. I'll be sure to share your suggestions.
@Daniel while I appreciate your taking the time to share your thoughts, I wholeheartedly disagree with you. I won't get into a point for point here because, to be honest, I don't see your comment being very helpful towards the type discussion and actionable feedback I'd hoped to have here.
Posted By Brian Rinaldi / Posted on 08/04/2011 at 5:59 PM
It's an interesting problem. I'm being pushed into Javascript and iOS myself at work. And its no big deal, I like new challenges.
Jesse's point was that there's no clear path of what to do next. It's interesting to think about this as the UI's version of the server-side tech wars of the past decade.
There was a time when to do server side dev you'd only ever really consider ASP or PHP. I was never passionate about server-side dev, so it might be simpler in my mind than it actually was at the time. But those were the only 2. Then all of a sudden you had to seriously consider Coldfusion, Python, Ruby, and a multitude of other languages and environments.
It's still a pissing contest - nobody ever worked it out. X language is laughed out of the room by developer who used Y technology.
We'll probably see history repeat, and Node.js devs will laugh all the Ruby devs out of the room.
There was a time when I said - "Sure am glad I do UI and I don't have to put up with this crap". Now it appears I'm not safe.
I do think that Flash needs another killer feature. And by feature, I mean something that Flash can already do, and implemented well en masse. Web video was a great example. Could VOIP be another example? I know it's possible, but who's shoving it in everyone's faces? 3D is VERY cool, but we've just been seeing demos, nothing a non-developer would see and say I need this in my daily life.
I guess I'm saying, that basically we've seen lots of stuff come out of Adobe lately that's very awesome - but I'm not sure I can think of any good examples that have been properly dropped on the world and made every business think "We need to have X feature in our product, and only Flash can do this"
Posted By Ben Farrell / Posted on 08/04/2011 at 6:10 PM
@Ben - yeah, times surely have changed. It is very hard to focus on just one thing as a developer - employers want everything rolled into one (at least if you read many job postings, that seems to be the message).
I do think that the Player and Flex teams have been focusing not on a particular "killer feature" (though 3D definitely does look impressive) but rather areas that they feel build upon the areas of strength for the platform. Gaming is one of those and thus the 3D. However, perhaps one of the takeaways from your comment is more about messaging and ensuring we have a message that helps you sell this at work as well as looks awesome in MAX demos. I think we do that but maybe we can do better.
Posted By Brian Rinaldi / Posted on 08/04/2011 at 6:37 PM
Oh and making sure that vision is clear and shared.
Posted By Brian Rinaldi / Posted on 08/04/2011 at 6:44 PM
You make a comparison to ColdFusion when discussing the current "Flash is dead" arguments. I think it's an interesting comparison, but not exactly apples vs. apples (no pun intended). ColdFusion is a language that anybody can use on their web server, and the public will never know the difference. It's just a website that runs in any browser on any device. Flash, on the other hand is a browser plugin that needs to be installed by the public. And this plugin is under attack by many big companies (with Apple at the forefront.)
Flash/Flex developers face a battle with Apple, the open source community, many hardware makers, etc. You can write a Flash app that potentially will just be a Blue Lego on many modern devices. ColdFusion does not suffer this weakness.
I think Adobe is being VERY smart right now, by focusing so heavily on HTML5 tools. Is Flash dead? Absolutely not. Is it dying? That is debatable. If Flash IS dying, will it die anytime soon? Absolutely not. It would cost the IT industry billions (maybe trillions) of dollars to replace all the existing mission critical Flash apps out there today. Most don't want to do this, and even if they did, it would take years.
Posted By Jake Munson / Posted on 08/04/2011 at 9:48 PM
What are the trends at the moment regarding languages? Dynamic languages are in and strict languages are not as cool. Java VM runs multiple languages can the flash player do the same? Corona is meeting the need of people who want to get creative without the red tape.
My suggestions:
a. Multiple language support in flash player.
b. Resurrect actionscript 1 in AVM2, so it uses the display list bitmapdata etc like as3.
c. Let all the languages including as1 have molehill support (OGL DX).
d. Rename as1 javascript :)
e. Allow people to package air with their apps. This is a HUGE no-no for all our clients to have to let their users install air first. They usually go for some other technology.
f. You could just move as3 to java and use java as the main language. Or adjust the syntax to suite java peeps.
g. A framework like Corona/Processing/blah that allows rapid development in flash. AIR should be the guts but there should something much lighter for the Hip Folkses!
Would really appreciate anyone's feedback.
Posted By Brendan Goosen / Posted on 08/05/2011 at 12:43 AM
Flash is becoming more and more optimized and a lot of low level APIs are becoming available which is awesome. But to let those APIs (and some betas like Alchemy) be used to a big developer crowd (to really become adopted) its important that its documentation and best practices are being shared.
What I have seen the last years is that Adobe is focusing on the easy steps (Flash IDE) to let your application run on multiple devices. A lot of more experienced developers (non-Adobe) have been (for many years) the ones that show (blogs, videos, etc..) what a new API or approach can offer Flash developers and there's my problem. I don't understand that the engineers of certain features (Alchemy, RTMFP, Stage3D, computeSpectrum, etc..) haven't shared their ideas/approaches/best practices/spinoffs about their work. What I see mostly is that they are being asked at conferences to explain their new "baby", how it can be used... Great! and the last few years you can mostly see those online but when I see a nice slide with a nice practice I cannot get more information or tips from others now.
Yes, you have Adobe fora and many others places on the internet, but my experience is that its becoming more and more difficult to get the intermediate/advanced information through Google. Sometimes because of rants about Flash, introduction-courses with keywords that are not discussed in-depth, but sometimes you find the exact problem described at an Adobe forum, but there is no answer or dates back 2 years.
I am not suggesting Adobe engineers need to have more time to do Q&A, but I would like that. ;) I am suggesting that Adobe shares more (advanced) information/best practices on their technologies so more (intermediate/advanced) developers can skip the info-harvesting steps when prototyping with new APIs.
I like the setup of the new learn.adobe.com and their wiki and I cannot stress the importancy of maintaining articles...because I found there the tip that AIR for TV had to be compiled with AIR2.6 / Flex SDK 4.1 and not AIR2.5 whats being suggested on Adobe DevNet.
I do understand that documentation and maintaining is really time (=money) consuming, but I would appreciate that Adobe maintains a few quality documentation sources and define a vision about sharing best practices on for example Adobe Wiki, gotoandlearn.com (for many years already the best introduction courses), ...?
So, I hope I made it clear that I share the thought of keeping properly (!) informed so that developers can adapt new technologies faster to have more demo's / services using Actionscript. And of course to show why we like to keep using Actionscript/Flash to bring experience/services to a wide audience at multiple screens worldwide... ;)
Posted By Joey van Dijk / Posted on 08/05/2011 at 1:30 AM
In my experience the whole ecosystem has been rocked by ios devices. The job market is currently much rosier for ipad/iphone developers at the moment, take the BBC site for example, they have been through a process of removing flash and replacing it with javascript for lots of the interactive elements. The mantra is clearly it must work on an ipad. It may only be 1% of the market but for media people it seems much bigger.
This will keep the HTML/CSS/JS market buoyant for some time, but not indefinitely.
What's sad is that the "replacements" usually have poorer UX than the flash originals.
Of course Silverlight and JavaFX are in the same boat.
What's good for the web is that fewer are going to build a flash site if it can be done in HTML/CSS/JS. First the skip intro splash pages disappeared, next up, graphs and simple widgets, we won't miss those.
The web is becoming a collection of documents, HTML5, the canvas tag etc is a red herring, it will never replace what flash can do, its just that the consumer is happy to have a cut down but universal experience.
Its not what i'd have liked but proprietary hardware manufactures are earning too much revenue from App stores for this to change. And this will continue for as long as consumers want it to. What caught me out was that so many would be prepared to pay for stuff that was until recently free, but that's what happened.
All that i can live with.
Why.
Adobe Air. Much the same as Jakes comments about Coldfusion, the technology is hidden (nearly). Apps are the future for the more interesting projects, where the power of flash/flex coupled with the large developer base, fast efficient cross platform development will win out.
I have no real interest in developing, simple widgets, i want to continue using my OOP skills and publishing to a world where my content is monetized.
What should adobe do. Do for Android what it did for ios and allow Android apps to install without a separate Air runtime. Yes making the runtime standalone, makes it easier to update, and keeps filesizes low, but consumers don't care, they don't get it and many hate it.
And then shout about it, even more loudly, once business really get the idea that they can develop once and target ios, android, blackberry and desktops, with one code base and one dev team, the flash/flex devs who stayed with the technology won't be able to keep up with demand.
I see my future as a App developer who doesn't even need to mention the technology, my business customers only care if i can deliver to their platform and that it works.
in summary - allow developers to compile natively to all devices or at least hide the player within the app. It's not sensible to do this technically but the consumer wants it, that should remove the anxiety for any flash/flex developer.
IMHO
Posted By mark horsell / Posted on 08/05/2011 at 2:28 AM
Just to underline my point.
There are 100 million android devices out there.
http://en.wikipedia.org/wiki/Android_(operating_system)#Market_share
but adobe Air have only been installed on 45,000 of these!
It's a difficult sell if i can only reach 2% of the market.
https://market.android.com/details?id=com.adobe.air&feature=search_result
Posted By mark horsell / Posted on 08/05/2011 at 3:49 AM
@mark That is the quantity of comments/reviews on Adobe AIR, not the install base. In the bottom right of the page you will see the install base is between 5-10 MILLION.
Sorry to have to throw you under the bus, just making sure to point out the facts.
Posted By Jonathan Campos / Posted on 08/05/2011 at 6:02 AM
Thanks for the interesting article Brian (and for Jesse's).
I'm a Flex developer after being forced into it by the bosses several years ago when they decided they didn't want desktop applications any more (I was a long term Windows / Delphi programmer).
Over those past two years I've learned as much as I could about Flex, Flash Player and AIR. I'm constantly catching up. I only just now think I've got to the point of being proficient (don't start me off on frameworks ;)).
So to hear "architect" types (usually driven by media hype) talking about the death of Flash etc. does cause me to be anxious.
Of course, the architects will all say "HTML5 is the way to go". But of course, right now it isn't. I do hope the HTML5 standard(s) move forwards to give us a rich toolset similar in power to the current Flash/Flex combo. But I will not hold my breath.
What can Adobe do? Keep working on Edge. I've used it now for several days and can quickly put together some useful banner ads. Reminds me of Flash 10-12 years ago. What I cannot do is build an RIA like I can in Flex.
If Edge morphs into a Flash Builder type tool but outputs to HTML/JS/CSS then I think Adobe will have cracked it. In fact, I think it is a great opportunity for Adobe to produce something really special. Keep the complexity down but the functionality up. Make it easy for *anyone* (not just hard core coders) to produce something useful.
What can you do personally Brian? Just push for the "right thing" here. If that is only voicing concerns, then so be it. Every little helps.
Cheers
Ian
Posted By Ian Watkins / Posted on 08/05/2011 at 6:20 AM
I think looking at these other technologies like lua/corona helps to remind me how I got here. And somehow I miss the early days of the flash wild west. The down side being the limitations that were placed on flash in the early years. I am seeing the same trend with corona, its tooling and organizing of code etc. The same exists in html 5 now. My take home here is that I need to get some fun back in my flash and use some of the approaches by corona / html 5 etc. Sometimes change is as good as a holiday and I get bored thinking in the same patterns in my work flow. This can be rectified. I also think Adobe needs to bundle air with apps for android and other oss. This is becoming more apparent and critical as a start.
Posted By Brendan Goosen / Posted on 08/05/2011 at 6:39 AM
I've been a CF developer since the days when CF was the beez neez of serverside for web. I've seen PHP move from 'Personal Home Page' to it's current status, .NETs supposed 'revolution' of web dev, and now RoR as the next big thing. I've played with all of them, but stuck with what I believed was going to give me (the best, most reliable web apps) + (minimal amount of effort) = BIG PROFIT MARGINS .. and it has paid off in spades.
Many of my colleagues followed the 'trends' and moved to PHP because that's where the "Jobs" were.. many are now moving to RoR because they find some relief from the frustrations of PHP and because it is where the "jobs" are.
It can be safely said that there are more 'jobs' out there for these colleagues that followed 'trends' than myself, but I don't need a job because I have run successful web dev business for the past 10 years, spend more time with my kids than they do, and have managed to buy a house that my friends with a 'job' can only dream of. This can be attributed to many things, but largely to CF being a damn good, profitable platform to build web apps on.
If the 'trend' was to build web apps on CF, then I would not have developed the reputation I have which has helped me make good money (that being that I build more reliable web apps at a lower price than my competitors). I'm glad that the 'trend' became PHP and not CF, and that I didn't follow the 'trend'.
Like everyone, I am now looking at expanding into mobile development. Have been playing with jQuery mobile, and like it a lot.. have played with Corona and was impressed, but Flex is the tool that I am thinking is going to give me biggest "profits".
The trends can go where they go, and most will 'follow' the trends. I will continue to look for what is going to give me biggest profit margins.
A great comment I read on one of the many 'is CF dead' discussions was something along the lines of "if you look on the road, you will see many more Fords than Ferrari's, but which would you rather be driving".
Posted By Jason / Posted on 08/05/2011 at 7:00 AM
First, thanks to everyone for all the awesome comments. I am definitely going to make sure your feedback is passed along.
I want to point out since it appears to have come up in most comments about AIR, if you look at the AIR 3 features listed in this post (http://blogs.adobe.com/flashplayer/2011/07/adobe-air-3-and-flash-player-11-desktop-beta-for-developers-now-available.html) you will see "Captive Runtime for AIR" which is a way of embedding the runtime the same as in AIR for iOS.
If you are curious about trying this upcoming feature and giving feedback, be sure to sign up for the prerelease https://prerelease.adobe.com/callout/?callid=D5B9AEF3B7024EE2BCD91685B660620B
@Jake - Thanks for the feedback. To be clear, my comparison to ColdFusion was merely about a community dealing with a barrage of agenda-driven criticism.
@Brendan - what would be the primary benefit you see for adding other language support within the Flash Player? Not being critical, just curious.
@Joey - I actually am part of the documentation team so I am very interested in what we can do to make things better. I will share your feedback with the team and may have some follow up questions if you don't mind.
@Mark - thanks for the feedback - see the above about "captive runtime" - would this feature address your primary concern there?
@Ian - thanks for your comment. Edge is cool, but it is not a Flash replacement as much of the tech media has tried to position it as. I think this week has been tough on developers due to the level of Edge misinformation being pushed this week. Nonetheless, I think it represents an awesome start with huge potential.
@Jason - yes, as someone in the CF community, I always pointed out that despite all the naysayers, my CF developer friends were all gainfully employed and the biggest complaint I heard from companies was that it was hard to find CF developers.
Posted By Brian Rinaldi / Posted on 08/05/2011 at 7:15 AM
Hi Brian
If you were able to code in your native language and run swf bytecode it would attract many developers. I could code a project in javascript or java or stick to actionscript 3. Java has this with scala, clojure etc. It is very cool. The Flash Player and apis remain the same.
Posted By Brendan / Posted on 08/05/2011 at 7:22 AM
Also completely missed this!!!! Thanks Brian!
http://blogs.adobe.com/flashplayer/2011/07/adobe-air-3-and-flash-player-11-desktop-beta-for-developers-now-available.html
Posted By Brendan / Posted on 08/05/2011 at 7:27 AM
Maybe I should convey my experience in the browser moving our app from Flash to HTML. I was very skeptical at first at the conversion, and frankly, a lot of the HTML5 tags, especially the video tag, aren't all there yet (we'll be shimming in Flash for it's video capabilities for a while to come). Our video application needs to start up as quickly as possible, and the first thing I noticed after converting our multiple Flash components to HTML/js was that they literally loaded in as close to instantly as you can possibly get, while our Flash components on the page would often take up to 2-3 seconds, as each of the virtual machines spun up, etc. On all counts, the experience is smoother and more snappy for the user.
From our point of view as developers making the app, however, the transition, as you can imagine, has not been easy. Some things are a pleasure to do in HTML: for example text is handled effortlessly by the browser while we had several weeks of pain moving to the FTE just last year. CSS provides a great way to allow our users to style their video players. Working with javascript and patching some sort of architecture together while maintaining backwards compatibility with Flash, on the other hand, has been challenging.
So, more to the point of your article; I would have loved to stay in the Flash/Flex ecosystem, but I couldn't. I've had to learn a raft-load of new technologies. I actually have found this to be exhilarating if a bit scary. I've found that out there in the wide world outside Flash, people are doing some pretty kick-ass stuff that is super robust, scalable, flexible, etc. I sort of feel like I've taken the training wheels off. That's not so good for you guys unless you can answer with a product that addresses the needs of people like me.
Posted By Daniel Niland / Posted on 08/05/2011 at 8:28 AM
" learning new technologies and keeping an open mind, then you are very likely going to be fine regardless of what the future brings."
Extremely well said Holly.
What can you do? Keep on teaching me! I've learned a great deal from you personally. So, you are doing great things to reduce my anxiety already!
What can Adobe do?
It is a given that I need to always learn. But, I don't like throwing away experience either. I need to know what existing skills, AS3 for example, will adapt, be leveraged, or go away?
posted a simple recommendation on the Edge Facebook wall earlier this week.
1) When designing Edge, consider leveraging existing Actionscript/Flex skills. I'm open to learning new things, but a leverage strategy is a good thing too.
2) Consider the future of Edge in Enterprise RIA development, not just animation. How can we leverage the Flex Framework and have a option to deploy to HTML5. Flash started out like Edge focusing on animation, then had to be retrofitted for data-centric apps later with Flex. Don't repeat the same process with Edge.
3) Communicate Clear Vision and Strategy. In my experience, Adobe creates anxiety by not giving us a insight into its overall roadmap/strategy... the vision of how the pieces fit. You make great products! ... but what I'm missing is the white space between them. Too many products that appear to overlap and create confusion/anxiety. I've seen this with the role of ColdFusion, then with Flex Builder/Flash Builder transition, and now with Edge/Flash/Flex. Often the overlapping positioning disclaimers don't work. "Grouping" products into "Platforms" doesn't help much either.
Practically speaking now: Is there a vision of a merger of Flash Builder and Edge? How will Edge move from just animation to RIA development? Not a big fan of import/export workflows between products. :( It is logical to think it will or should. But, the point is: I'm left wondering and waiting.
A clear vision, even if it changes, would really help reduce my anxiety. If the longer term vision is actionscript going away, then it makes sense to start a long term learning strategy to extend my Javascript skills. However, if we can leverage existing actionscript skills to do Flash/Flex/Edge RIAs, then I'll spend more time extending my AS3 skills.
I personally think Adobe's HTML5 "apps" can still be called Flash. No need for yet another product. Just give Flash Builder the option to compile or export to HTML5 or whatever else comes along. Flash is a powerful "idea" that will live on forever ... no matter what is under the hood or what it spits out.
Don Kerr
Posted By Don Kerr / Posted on 08/05/2011 at 8:29 AM
If you talking about Flash in the browser then ok.
But how can you say some of this about what can Adobe do? Just ~2 months ago they released Flash Builder and Flex 4.5.1 for building Air apps for iOS, Android, and Blackberry. What more do you want to show that they are committed to the platform? I think that is a pretty big sign that they are at least committed to Air and the Flex framework.
Again if this article and Jesse's is more focused on Flash and Flash Player then I could see the anxiety that devs may have. I am an Air developer and have never built anything for the browser. Not sure about Flash but long live Air.
Posted By Mike / Posted on 08/05/2011 at 9:08 AM
Bring back AS2!
You alienated a lot of users when you switched to AS3. Coming from the visual side, I just could not understand AS3, never cared for garbage collection, memory management, why do I have to worry about this stuff? AS2 just worked.
It has taken me YEARS to make sense of AS3. During those years, I had to read several Java books. Suddenly I was learning about Interfaces, Composition over Inheritance, Design Patterns, Event driven programming, Unit Testing, Ant, build tools.
Now I do appreciate AS3 and can see why you created it, after a lot of years nonetheless.
Yes, I became a better programmer. But the funny thing is that all the stuff I learned, I applied back to AS2. Meanwhile, a lot of competitors emerged out of nowhere. Android, IOS, freaking Javascript.
After skipping AS3 for years, my knowledge of OOP and considering the current state of the market, what's the pragmatic thing to do? Learn As3, now? Does it make sense? Or should I just move on to Android?
As for AS2, look at TweenLite. The guy keeps maintaining an AS2 version. Why hasn't he deprecated it? The downloads stats must be telling him clearly that the number of AS2 users is still HUGE.
Just keep support for the As2 sintax! Lower the entry barrier for javascript developers. Give them a DOM adapter layer to the display list, and soon you'll see jQuery ported to As2. Freaking. J. Query.
Posted By Ivan / Posted on 08/05/2011 at 11:49 AM
@johnathan Thanks for pointing that out. Also got my maths very wrong too! Doh. But still stands that its only 10%.
@Brian. Missed that, thankyou, but are you saying "Captive Runtime for AIR" will be available for Android? After all we've had Zinc and others on the desktop for quite a while now.
Confirmation or denial of that would really help communication. If yes then i see no reason for anxiety at all. Or do i need to hope for some future announcement? Others mention a roadmap, i can't see any sense in keeping us guessing here.
Posted By mark_horsell / Posted on 08/05/2011 at 12:18 PM
@Brian Ah ha. Now i see. Think i read an earlier post which didnt mention "Captive runtime" for android and got lazy. Too much speed reading!
Great, great news. I'm now officially a smart phone developer for any platform. All i can say is keep this up and i never have to fear being out of work.
Posted By mark horsell / Posted on 08/05/2011 at 1:10 PM
@Daniel - thanks for the clarification and I think your feedback here is definitely useful. I personally don't think anyone at Adobe is looking to say you shouldn't learn HTML5/CSS3/JavaScript. I have always been in favor of having a lot of tools and using them wherever appropriate (if you look in my archives you'll find tons of CSS and jQuery/JavaScript tutorials). However, even as you note, there are things that Flash simply does better (video to use your example - especially where DRM is required) and there are places where it is more suitable. This may mean that Flash is less relevant to your specific position at the moment but not that it isn't relevant in general.
@Don - I assume you meant Holly Schinsky when you said Holly? If so, I'll take it as a compliment as I too have learned a lot from her. To your point, I don't see the overlap existing with Edge and Flash Builder at the moment - except in the eyes of some in the media who either didn't do their homework or have an agenda. Will there be overlap in the future? Perhaps - don't know. Still, your point in that regard on making sure the long term vision is clear to our customers is a good one.
@Mike - I am glad you think 4.5.1 is awesome - I agree! Still, the future of the runtimes is extremely relevant to the future of Flex.
@Ivan - yes, I have heard that before. I didn't feel the struggle myself as I was working in Flex anyway but I did feel it when I tried going back into Flash Pro (as it had been years since I'd done so). While I doubt that we'll see anyone turning back the clock, perhaps the takeaway here is that the tooling needs to make it as easy to do those things as you felt it was back in the AS2 days.
@Mark - yeah, I am not sure how much I can say about "captive runtimes" without breaking NDA (thus why I linked to the post). Since you sound very interested, I highly suggest you try to sign up for the prerelease. :)
Posted By Brian Rinaldi / Posted on 08/05/2011 at 2:10 PM
sorry ... mixed up my bloggers. I thought I got your link from a tweet from Holly or something. :) Social media overload. :) My bad.
My point exactly. We don't know if there will be overlap or even if there should be. Anxiety would be reduced if we did.
I can definitely envision a future where Flash Builder can produce a .air app for the desktop and an HTML5 for mobile app for iOS from a single code base (AS3/MXML) ... and it all would still be a Flash app.
Sorry for the mix up. :)
Don
Posted By Don Kerr / Posted on 08/05/2011 at 2:49 PM
Hi Brian,
i use flash from version 4 and flex from version 2.
My point of vue is that adobe is slowing this dev.
- There is no more nightly build for flex.
- I began last summer a spark dev, and stop it because of no spark datagrid
-This summer i have to restart the dev, but there no advanceddatagrid, no way to lock columns, what can i do, where are the new killing components ?...
-There is no multithread support, and i think that the key against freeze (it is present in all other languages)
-The 3D support is coming, but so slow...
-You need to add some big features : OPENGL and multithread.
We are now developping on ipad and : Force to say that the natives apps are very very smooth compare to the flash one. OPENGL give us the ability to provide a kicking professional apps.
-I love flash, but if you follow fullasagoog.com, you will see that there is no more kicking news, or cool code, or help on flex compare to last year.
->You want help us :
-begin by opening the full connect app, then we can make killer professional apps with screen sharing.
-Give us a flash media server at an accessible price 500€ with no restriction of conccurent users to do real video conferencing, chats live applications / remoting, i understand that FMS is now good for video broadcast, but not very good for remoting (they is no more tutorials as it use to).
-make the flex IDE 64bits and make it faster, it's so slow to show
-go on opensource.Adobe.com : look at the news, nothing is happening ...
-Give us a word processing component (buzzword was a good start, but now its not open), and what, is that a new standart ? no. just acrobat.com, but we can't use in
-Give us a way to insert html table in textfield, then we will be abble to integrad other contents
another sign : look at mike chambers blog, he stop speaking flash, i use to read all his post and was always impressed, but now its like he stops loving flash, that a big sign !
and you know what that began when we couldn't develop flash apps for iphone, that was the beginning of the anxiety.
Am i anxious ? hm
BR, Gr1m
Posted By Gr1m / Posted on 08/05/2011 at 2:52 PM
Great article and many great comments. I will try to add something new to the conversation in regards to what Adobe can do.
I think Adobe really needs to educate the general public on the strengths of the Flash Platform. You have heavy hitters like Motorola, RIM and other tablet creator's using the term "flash enabled" or similar in their print and tv advertising. They are using Flash as a major distinction to separate them from iOS, yet the general public has no idea what this means.
You guys have some great videos scattered on adobeTV and individual evangelists' blogs showing great flash apps and games running on android, blackberry and even iOS devices, but the average consumer isn't going to dig these up.
I think it would be great if you had a site (with a catchy domain) dedicated to making it very easy to showcase the advantages of having a flash-enabled device.
make it extremely consumer focused. highlight the existing games and websites that a "flash-enabled" device can experience.
with a flash-enabled device:
-watch homestarrunner.com movies
-play videos on these top sites
-play these games in the browser
-experience the web like you do on the desktop
-etc etc
Keep the content current and update it constantly with best of class mobile AND desktop flash content.
something like this would be a great opportunity to:
-get consumers thinking twice about iPad/iPhone
-convince them that a flash-enabled device truly does enhance their experience
-promote your partners like google and rim that have been going the distance to support you
-excite developers about the potential of the platform
it doesn't even have to be completely mobile-specific. When a new stage3D demo comes out with 1,000 orcs shooting flaming arrows... show it off. let the world know what Flash can do!
Posted By carl / Posted on 08/05/2011 at 10:10 PM
Adobe has an awesome product in both Coldfusion and Flash/Flex. I think what they lack is developers. If only your IDE was priced differently,you'd bring on a lot more developers on board.
Flex is neither a cult like Ruby nor is it the heavy lifter like J2EE/.Net frameworks.
Choose your side. I thought Adobe wanted to be the Java of mobile devices (develop once, run/debug everywhere)
Posted By aphtk / Posted on 08/06/2011 at 5:06 PM
What I want from a platform:
- Good tech: The technology should be modern, comprehensible and expressive.
- Good company: The company behind it should not be too creepy.
- No royalties: I want the upside if my app is a success.
- Minimal strings/Low risk: I want to be able to do anything I want with my app, I don’t want to be subject to the anti-competitive terms and conditions that someone might impose on a whim.
- Cross platform/Low risk: Platforms come and go and with mobile we are in a world where there will be many viable platforms before HTML etc. reasserts itself. I’d rather bet on a portable virtual machine with good access to native api’s.
- Good community: A healthy platform attracts talented, inspired and generous people.
- Good docs: Whoever is behind the tech should properly document it.
- Low cost: self-explanatory.
I would like to see Adobe (my current bet is Flex/CF):
- Add a good way to access native api’s on mobile Air. Flash will never be able to keep up with all of the platforms it runs on and all of the unique needs devs might have.
- Move faster. This will address the buzz issue.
- Would like the option to compile to HTML/CSS/Javascript.
- Support better integration of Flash embedded in a web page with the page.
You can make a good case that Flash was built for this world. An expressive platform that runs on many different technologies, devices, form factors and at any resolution. Hopefully Adobe can aggressively keep moving it forward. Steve Jobs didn’t try to kill Flash because he doesn’t like Adobe or any of the other reasons mentioned in his letter. He wants to kill Flash because it is a competitive threat.
Posted By Art / Posted on 08/07/2011 at 11:27 AM
Flash video cannot vanish because of one simple thing... DRM... HTML5 is not suited to provide DRM or any other means of locking just because it is an open source code. Whilst this is true no major website will adopt html5 for video.
The other perspective is for mobile Air to adopt and allow more low level access such as to access phone calling list, or be able to create widgets... thats my 2 cents on this.
Posted By Michael / Posted on 08/20/2011 at 2:06 AM
Hi,
Simpli add multi thread support, that will chnage everything.
Now!
When you compare an app made on ios in c and a flash app; you see a difference, that comes from multithreaded capability.
Anyway to do it now ?
Posted By Gr1m / Posted on 08/20/2011 at 4:37 PM
I have seen a lot of guides and tips about dealing with anxiety, but the tips you gave are very different and yet very effective. I have done some of the tips and its good to know someone knows <a href="http://www.safetyxchange.org/health-safety/employees-anxiety-hand-3">what is anxiety</a>. Cheers!
Posted By Clarence / Posted on 10/26/2011 at 1:07 AM