The following talks about the signs I’m seeing in the industry regarding technology changes and when it’s time to move to a new one. That time is now, I see the signs and describe them, albeit notÂ necessarilyÂ as black and white as before. There are aÂ multitudeÂ of options, but does the one I want, Corona, have the money to match it’s momentum?
CD to MP3
In 1997, I recognized a trend in websites: mp3’s. I had just gotten out of high school, and thus was no longer angry at the world, and started liking Junkie XL, Sasha & John Digweed instead of my usual alty angst/confusion music. Even the Beastie Boys, briefly, posted a few of their songs online and made a big deal on MTV bitching out the record companies for not embracing the technology. I downloaded every mp3 player I could get my hands on for the next 4 years. Napster was the peak that it had all been leading up to. iTunes was the finale.
You could see the trend, feel the excitement, and visibly watch the momentum of what mp3 did the world.
Director to Flash
In 1998, I noticed another trend. The first was Flash being used on websites. I played with Flash 3Â briefly at nights after my fabrication day job, but fell in love with Director when I went to college. CD-ROM’s were still in high gear. In 1999, Director started having a serious identity crisis. People claimed it was great for games, but it just was too hard to install compared to Flash Player. At my college, all the “cool kids” and designers were all about Flash. I actually fought hard against this trend. I knew it was there, saw the signs, but forged a career using the tool I loved. In 2001, the writing was on the wall there was no future, and Flash was it. You could tell by the community, mailing lists, and industry direction. The Director community was bitter, and frustrated.
The Flash community, on the other hand was the exact opposite. There was energy, excitement, and all you heard about in tech news was Flash related stuff.
Flash to Flex
In 2004, I noticed another trend. Most of the Macromedia people disappeared from the Flashcoders list… like in a 2 week period. They made a weird hoopla about this new thing about Flex, but it wasn’t like a normal Macromedia product. You couldn’t download it, had to pay $8.99 for a demo CD, and you couldn’t get a clue who was the evangelist(s) for the product. When I finally found the Flexcoders list, there were swarms of Adobe people I’d never seen with aÂ renewedÂ interest in a completely different type of developer: Java/J2EE devs mostly with some other Enterprise devs. When I tried to participate, I was actually given the cold shoulder at best, and douche attitude at worst. I knew somethingÂ extremelyÂ strange was up. After paying for my 2nd demo CD (I didn’t get Flex the first time I played with it), I realized this was the future. No more component updates for Flash, no more programmer specific tooling… THIS is where it was going.
The price & general Flash community didn’t agree, but you could see the signs: potential, energy, and momentum. By Flex 2, it was a major “duh”. You started with a few smart Java guys and end up with Bruce Eckel backing Flex.
Flex to Objective C
Tinic Uro, one of the Flash Player engineers (and cool guy to talk to if you get the chance), had spelled out what at the time sounded like a great strategy: Adobe will build extremely low-level capabilities in Flash Player that leverage cross platform ubiquity. Adobe and/or 3rd parties will then build higher level libraries on top of these capabilities to provide the Flash we all came to love: a little code going a long way that works cross platform, cross browser.
I saw a lot of wonderful work being done on this strategy, but I can’t say I really ever felt the fruits of it. By the time inklings of some of the amazing work they were doing in 10.1 and 10.2 and Tamarin, the App Store news started to get out. As did hints of Android from Google start to surface. Flex still had a lot of activity around frameworks, and IoC/DI became the rage, and we were still riding the wave of 2006 enough to survive most of the 1st part of the recession completely unscathed. End of 2009 fixed that for a lot of people, while others went blissfully unaware.
We started losing key people in the community, however. They’ll claim they didn’t leave but the lack of their presence was felt. Like they say inÂ Sociology, “while people’s description of a situation may be incorrect, their reactions to it are real”. Aral Balkan, long the most articulate voice of our community, started doing training pretty hard. Then online conferences. Then a lot of web. Then… Objective C.
Keith Peters also started exploring other languages and platforms and had some wonderful Objective C tutorials on his blog. He also made one of the most popular games in the store, Falling Balls before Angry Birds really solidified game development as a worthy endeavor to make money and fame on.
Then a few traditional Flash only (no Flex) Developers started making the plunge to iOS, some of which wiping their hands of their Silverlight forays. Some justified it as being bored. Others just were ready to move on. Still others were just… confused.
I think a lot of us were confused. Macromedia, and even Adobe a bit in the beginning, tended to lead us. Now… we weren’t being lead. In fact, there was, and still is, some debates on where we should really take Flash and Flex and the tooling. Without a leader, you look around and wonder where the heck you should be going… and then question why the heck your leader isn’t leading you anymore… and you start to question if they really know, or even if they do, can they even get you there?
Everywhere you looked there was energy around iOS/Objective C/UIKit/OpenGL/GPU, excitement about building apps and getting rich quick, and momentum backed by Apple’s insane revenue.
…I just didn’t jump ship this time.
Objective C to Android or HTML5… and Back Again
In 2011, I’m noticing another trend. A series, really, but mostly 2 I want to talk about. The first is all the mobile hype is still getting… hyped. Additionally, there are a ton of companiesÂ targetingÂ it. Even during one of the worst recessions since the great depression, there is a ton of money, competition, and activity around mobile. A lot of confusion as well.
The Flash & Flex devs CAN finally participate in mobile, but it’s no longerÂ ubiquitousÂ as it is on the web, nor spoken with the same “you can’t touch this” confidence. Those with battle scars from the Nokia/Symbain days are quick to point out long upgrade cycles, lack of Froyo 2.2 on some phones, lack of iOS performance, and a lot of design challenges still not solved. The phone hardware differences on Android really throw me for a loop in game specific stuff, applications not so much. I’m only hearing about agency clients getting opportunities to use Flash/Flex’ new mobile capabilities. That said, those same agencies are still racking up more and more mobile work, mostly iOS.
While the consumer data for iOS is depressing, the service work is the complete opposite. If you know Objective C, you suffer the same problem Flex devs “suffered” in 2006: finding work you WANTED to do vs. yet another cliche project in said tech du jour. Apple’s design challenges for devices is way easier than Android, and the SDK differences add only 20% or so to your projected budget.
Andrew Shorten has clearly risen to the challenge and made some wonderful headway, victories, and must-have-features with Flash Builder 4.5. Thibault Imbert is making us all drool over Flash Player 11 promises of 3D and easier GPU support. Mark Anders, formerly of .NET and Flex fame, has made at least an impact with Edge, the HTML5 animation tool, and gotten the industry talking.
It seems, though, that others have risen to take that spot traditionally held by Flash for energy, excitement, and momentum for developers.
Flash and Flex (well, mostly Flash) are all wondering “what the heck is next?”. For Director, it was easy. For Flash, it was easy. For Flex, if you had any pointer experience, or even web tier (Python/Ruby/Scala) experience, that was also easy.
If not, you’re left confused. Looking. Wondering. Reading. Even though tech has weathered the recession well, the recent “tech bubble” comments combined with the USA’s near loan default, and Adobe’s lack of Macromedia evangelist leadership has really left a lot of people frightened, feeling alone, and extremely uncomfortable to talk about it openly.
Now: Mobile Platforms and Ecosystems
What has identified itself as a valid “next” and having the big 3 signs of energy, excitement, andÂ momentum?
The first is iOS, obviously. Apple has more bling than the USA government, insane profits, and a dying CEO. On hardware. While they try to do software and cloud stuff, it’s clear you don’t have to.
The second is HTML5, even with all the reasonable discourse, still gettingÂ ridiculousÂ amounts of press, sometimes widlyÂ inaccurate, full of FUD, and muddying the waters of what’s really getting done in jQuery vs. Flash. While the AJAX one was easier to fight and was totally derailed by Silverlight & JavaFX appearing on the scene, I don’t think we fully ever recovered from Apple’s campaign of blue lego to blank white screen and apple.com/html5 really being HTML 4 2001. I mean, many Flash/Flex devs still own Macs and still love their iPhones and iPads.
Not everyone can participate, just a fact of life. So businesses each solve it in different ways to ensure others can, and thus profit from their efforts. PhoneGap allows the web devs a wonderful way to make apps and participate in both iOS and Android markets. Appcelerator takes the native route with an accessible language that works on both markets as well. There are others, too, like OpenPlug, etc… so many to name.
With all the drama around iOS terms clearly show people want to build things using these toolsets and put them in Apple’s app store market. There is excitement again around write mostly once, and mobile. The momentum is these companies are growing.
…and then there’s Corona. Angry Birds, Zynga, and Unreal getting LuaÂ interpretingÂ to change Apple’s iOS licensing terms really made an impact on the industry. It legitimized Indie game development. If you were a small software shop, sometimes even 1 man, women, or a 14 year old kid, you could make an impact, generate enough revenue en-masse that a company would start hedging their bets on supporting tooling for it… like Adobe’s doing.
I’m seeing the same signs I saw back in Director, Flash, Flex, and the iOS days. I’m seeing excitement from a new lot of newcomers. While you should look at Kindergartners to predict the future, tech is a lot shorter, the kids are using Corona. They grew up with Squaresoft just like my generation did, although, unlike mine, they don’t have to know pointers and C++… just functions and objects for Lua.
I’m also seeing energy. There are a LOT of people validating what Corona is doing. Lua, while it’s diverse usages also being a curse, still is validated as a language in a variety of fields (robotics, Lightwave plugins, Adobe used it to build Edge, etc). The game portals seem revitalized and new ones are popping up all the time with different angles (if you don’t remember Flash Lite, I do, and it’s still going strong, you just won’t ever hear about it). Corona has, like Adobe, made a ton of partnerships. While Adobe has made them with hardware manufacturers for getting Flash Player on a bunch of screens, Ansca has done so to get your content exposed to the world. Every day I’ll read about some new programmer, whether old or new, who has found Corona and struggles not to write in all caps regarding their excitement. I haven’t seen that since ActionScript 3 was being created, or Flash 8 got filters withÂ programaticÂ bitmap capabilities.
Finally, I’m seeing momentum. I got into Corona late… yet even the past 6 months I’ve seen a huge up tick in mobile and Corona. Ansca is either fixing bugs, or adding features… mostly features. You see community tooling and libraries pop up. You suddenly find out friends you THOUGHT YOU KNEW in the community suddenly having a secret life… where others who’ve already made a huge mark on the Flash Community just admit they’re curious and dive right in. With their huge release of LaunchPad today, it’s pretty clear they get it. If you don’t know what I mean, first go read Stephen Elop’s leaked note to Nokia as their CEO… then read (last 4 paragraphs if you’re in a hurry) Carlos response to Walter’s blog post about Corona’s launch today.
Ansca reaches out to their community, figures out what they need, responds, and then changes direction if need be. I’m still a Corona newcomer, but even I thought I had a decent handle on what they were releasing today and I was wrong. It taught me a lesson that if they say those are the top 3 things that their developers are having issues with in a blog post from 6 weeks ago, then that’s what they really ARE in fact working on to solve… not just more features in the SDK, but actually helping the ecosystem and building their platform. That’s a key here and proves the get it… AND can execute on it.
Adobe took extremelyÂ similarÂ steps almost a year ago; maybe too early? They bought Ominture for 1/6th of Adobe’s valuation. Why? For analytics. Why? Understanding your data leads to good decisions. Our world is FULL of it, and making sense of it is power. I’ve yet to see the fruits of that purchase, but clearly Ansca can makeÂ partnershipsÂ that appear to bear fruit… or at least tell you to plant a different tree. Today. On a dashboard I was magically given access to this morning.
Adobe started a Flash Light app portal. For whatever reason Nokia and RIM just didn’t pick it up for the states and it (languished?) in Japan and other places. Corona just uses the ones, like Adobe does now, that work… namely the iOS marketplace. Their Shibuya(sp?) or whatever the AIR marketplace was called just never took off. How can they teach us about marketing our AIR apps when A) many can’t say the name of it B) most in our community don’t even know about it and C) Adobe evangelists aren’t raving about it 24/7? It needs to solve a need. My colleagues and I didn’t need an AIR marketplace. We needed a way to get on the iPhone and matter.
Corona developers don’t need a marketplace; they need a way to recognized in the ones they’re already in… or be in ones they didn’t know about it. Ansca has provided what appears to be a solution for that.
Adobe clearly was solving problems we didn’t have yet, which is great, but the momentum for that is gone. Corona now has momentum on those fronts (as do other mobile platforms). Read what Sun Tzu says about momentum and war.
Another thing, too is Corona’s ability to reduce the barrier of entry. Integrating Facebook into an AIR app requires a lot of ActionScript 3, Flash community, and runtime knowledge. In Corona you use 1 line of code… even if this is the first time you’ve ever coded, it’s hard to screw up. Corona has also embraced scoring, virtual currency, and taken a bold stand behind a InMobi in an official context vs. AdMob for in application advertising. All of this is built in, ready to use.
…our goal is to enable you in every sense of the word from creating great apps to reaching a broad audience to even building a career.
A lot of you have told us that our work on Corona has changed your life. Well, I want to close by saying that the feeling is mutual. We built Corona so that you could build the best apps on the planet – and have fun doing it.
A Career. In building games? This is what Jesse Freeman and I have been talking about for… god, almost over a year now? Maybe 2? There’s no money in games. Or is there? Unless you’re a huge distributor/studio, and even those struggle. Their budgets are movie sized, and their risk is much like product development as opposed to service development. There’s always someone who needs me to build a Flex app for them. A game? For even remotely what I was paid back in 2003 as a Flash Developer?
This is where I struggle. I get Appcelerator. I get PhoneGap. I get iOS. Someday someone will get Android besides the numbers game.
The lack ofÂ appearanceÂ of a career being built around Unity, EVEN WITH C#, oh precious C#… is what stunted my desire to check it out. …but the simplicity of Corona, when beingÂ inundatedÂ with Flex being wrongfully put in some of the overcomplicated consulting jobs for the past 3 years, has only amplified my desire for simplicity again.
I want to believe, Carlos. I struggle to see how I can abandon running my consulting business and start doing Corona full time. I recognize I could justÂ incorporateÂ it into an offering of my services, but it seems more productÂ orientatedÂ than my normal service work… and not sure we could run it the same way as we do our Flex projects, nor hire the same resources, etc.
Anyway, I’ve seen this before folks. I saw the Director people bitch and whine and go away. I saw the Flash guys (ok… like 3) bitch and whine, and Flex exploded on the scene. I saw it with the Java guys and Sun (oh hey Ruby and Scala and Clojure). You see these tipping points where a lot of common signs manifest, and your gut tells you where to go.
I’m seeing the signs. They keep iterating on new features as well as ecosystem ones. They are relevant and timely. They are driven by community feedback. They iterate. You can see the excitement by both new andÂ veteranÂ programmers. You can see the energy around the mobile and gaming industry as a whole, and Corona seems to be surfing it well. There is momentum.
But is there money?
24 Replies to “Corona Has Momentum, but Does it Have Money?”
Great post as ever!
You hit all the points that I have been thinking for a while. My approach to all of this is slightly different. As a 9 -5:30 Flash Dev I am constantly confused as to what I should be spending my limited spare time researching. I would like to make some money (even if just a few Â£Â£Â£) out of something so mobile games and apps are appealing but I also have to think about my career and what would look best on my portfolio in terms of getting a new job.
Like you rightly said, things were clearer when Flex came along. There was a clear path but now its so complex. I mean should I build apps for mobile with AS3 or should I invest time in Corona/Lua. But then there are virtually no jobs (full time) in Corona/Lua yet and if they were they would probably pay less than what I am getting as an enterprise level Flash dev. Should I focus more on Flex but then I find Flash carries a stigma that most Flex devs turn there nose up at, preferring to hire from the Java community?
Its a very confusing times and I am struggling to find some confidence in a technology to invest my future in.
Corona is fun and reminds me of the early days of programming on the Atari, Turbo Pascal on CP/M, Director (not Macromedia’s) & Modular-2 on the Amiga, and ActionScript 1.0… It’s also the simplicity, power and speed of Lua that makes Corona so fun. It’s been a long time since I have so much fun. I’m using it full time now. Did I mention it’s fun?
…well folks, stop reading, Dave Yang has spoken so… that’s all we need to know. Breathe a sigh of releif. (If you dont’ know Dave Yang, just trust me, he’s like a slightly important person in Flash history, lolz!)
Agree about fun in programming, but unfortunately doing some basic graphics operations in Corona still sucks – one must appreciate flash and its vectors after trying dealing with that :)
Yeah, the lack of bitmap/blitting ensures all my RPG ideas that have any form of tiling are done in Flash Player/AIR.
Someone should build a Corona for Flash :). And someone should defragment all the js apis out there. Okay seriously I am so tired of change that I will stick with flash and probably get into Java or something else as a hobby. But after looking into Java/FX flash is doing a great job! Maybe you have a point in that maybe we need rapid development environment or flash kit like corona.
Great points. I’ve been feeling lots of the same lately. I’ll definitely be looking into Corona more now though.
Inspiring. You sound very much passionate about moving in that direction. With a wife and a one-year old myself, I wonder, would the twenty-something year old version of yourself hesitate for even a moment to take the leap here?
Nope, no hesitation. Stupid responsibilities…
You know this article just hits the nail on the head. It’s great to see such a clear articulation of the conundrum of so many of us Flash/Flex developers. Depressing can be an understatement when you’ve spent years developing what you hoped would be the eLearning ultimate app, only to discover that the future of eLearning is tablets; and my beloved SWFs and their Flex housing just may not work for much longer. So I sit here thinking “surely Adobe with all of their resources and intellectual capital will find a solution that will keep my apps relevant…” And I get psyched whenever I read how many Air based apps are having success on the iPad…but sometimes you have to see when things are changing, and not be afraid to do the hard work of converting to a new language.
Corona looks really promising, with all of the tools like the SWF to PNG thing and the overall feel of the language being a bit similar to AS3. The community of devs appears vibrant and generous with their code. But when I think of all the work (and time I just don’t have) it would take to convert my main app, with its GAE backend and all the Flex and Flash stuff, to Corona – I don’t even think everything would convert at this point. No online streaming yet in Corona, right? Among lots of other headaches of course…
So I sit here just praying that Adobe keeps coming up with good tablet solutions, and that the new CS5.5/FB 4.5 can actually let me remain lazy a bit longer!
Hi Stacey, if you mean online video streaming, yes Corona supports it. For other types of data, there is also LuaSocket for doing some interesting things.
I don’t think any knowledge is wasted. And there’s no need to abandon any solution or tool. A good craft(wo)man has many tools to choose from to solve different problems. The nice thing about Corona and Lua is they’re easy to learn, and it’s good to keep (e)learning! :)
Hey Dave thanks for the reply – mp3s actually, but I’m sure Corona will have everything I need soon enough; I ‘ve just got a lot of time & $$ invested in an app whose subscribers cannot access via iPad right now, other than through iSwifter, which has trouble with drag and drop. Moving all to mobile will be a challenge, but I don’t think a browser based Flex app can continue to be my main form for app/content delivery moving forward, as tablets are here to stay, and that means apps and not browsers. I do have an Air version but not with all the GAE stuff hooked in… So I have some serious dev hours ahead of me no matter what route I take, and right now I’m trying to get a feel for where I should head…
In my consulting, the one thing I’ve learned is you can make money with any technology you’re interested in. There are people who built very successful applications with good sized companies behind them in VB. Yes, not .NET, VB.
Fortran & Cobol still run much of the world, as does C/C++. Some of the Flex Enterprise apps I and my colleagues have worked on the past 3 years won’t go away for another 7.
That’s a long time… and a lot technologies. So you’re fine.
As far as moving to mobile, just buy Flash Builder 4.5, and compile your Flex app to iPhone and iPad and Android. It works especially well for applications (and yes, you can use MXML skins and states, I just ignore the documentation).
Had a look at Corona. Geez! Dynamic is in… Strict, she is not so hip any more! Dave Yang you have always been inspiring! Peace Out
I really don’t see the problem here…
You can make great apps for iOS and Android right now in AIR, you can also use Corona or other middleware if you need to get closer to the native API’s.
Use both! It doesn’t matter… there is piles and piles of money to be made out there.
You really could not be in a better position, none of us Flash dev’s could be. There are massive monetization opportunities on iOS and Android, and we have the skillset to produce apps in a fraction of the time that it takes native developers.
It’s never been a better time to be a flash dev… sure maybe the contract work will start to go away, but that is for the birds anyways (I’m over it), make your own projects and reap your own rewards, thats the only way you’ll ever really get ahead.
I launched my first app in Nov, then started on Playbook dev, and launched my first app there in April. I didn’t make any money on the first few, but then things picked up big time in May. I’ve released a few more since then, and am currently pulling about 4x’s my pay-cheque in additional income… it’s awesome! All this in my off hours, spare time. It would’ve been absolutely impossible to pull off if I didn’t have something like AIR or Corona to help me target all the different devices.
I’m excited to check out Corona too, and can’t wait to add it to my toolkit. But I will always have Flash/AIR in my back pocket, and it will be hard to match the efficiency and speed I have when coding in Flash.
Problem 1: Box2D in Flash = slow. Box2D in Corona = fast. This may help, but it’s currently vaporware. Again, this article does nothing to explain my joy of where Flash is going on mobile; it’s great, and I agree AIR for mobile is fun too. Great possibilities.
Problem 2: I like to be the best at a technology. I can’t do that if I’m dividing my time in both. From a business perspective, however, I agree; I can definitely sell my existing services to both… it’s just easier if you pick 1 tech and specialize; easier to run the business that way.
I think there’s no need to jump ship from your bread and butter, AIR has a great future for years to come.
At the same time, the “next big thing” is definitely cross-platform compilers, so something like Corona seems right in line with that, just a matter of picking the best one of the few that are out there I suppose…
For me Corona + AIR is looking like a great combo for the next 5 years or so at least…
Thanks for a thoughtful and thought provoking post as always Jesse. This is definitely a period of rapid change for everyone which has a lot of developers understandably anxious. I’ve been through similar situations in the past as well. However, rapid change is not overnight change, and informed developers, like yourself, will no doubt navigate this uncertainty just fine in the end.
Web Community Manager for Flash Platform
Someday, I too will be able to speak like this. HUGS BRIAN AND SEE YOU ON BOSTON, SUCKA! (…….You ARE going to Boston, right?)
Well, I live in Boston, so I am (almost) always here :) If you mean RIA Unleashed – hell yeah I will be there!
Oh man ! bringing up some old memories after my many years of therapy right when I was about to get over my nightmares :-)
Jesse, you bring up some old wounds I saw at the “mothership” while I was there plowing away at the then MAD mobile and devices unit. (Then when Adobe took over, they didn’t like the MAD moniker so it was renamed MDBU for Mobile Devices Business Unit, first sign….).
How much time do you have?
:-) Great write up – valid points – but remember, Corona is a tool in your arsenal not the panacea. And as young and vibrant as we are, we continue to adapt and figure out with you guys how best to leverage what we can to help you monetize at the end of the day.
We are making inroads into making Corona a viable solution for devs like you. Just a few weeks ago, Doritos (PepsiCo) announced that their iPhone/Android apps were done with Corona while the facebook app was done with Flash. So, I like to think we are moving in the right direction in making Corona a tool of choice in your arsenal. You can still leverage your flash/flex skills for web – Corona for mobile.
And scene. Cut.
Back to schedule programming.
Thanks for the feedback.
Life is short, I demand panacea. #gitrdone
Seriously, though, keep up the great work!
Great post Jesse as usual.
As one of those left scared my the Nokia Symbian / J2ME days I am extremely reluctant to get back into the mobile fray. Having said that alot of the things that still keep me up at night about J2ME are no longer there, so perhaps its time to test the waters again.
I know we have spoken about this on Twitter in the past but why not HaXe, in my eyes it has all the benefits of Corona without any of the negatives. The community is very active and vibrant too with the platform constantly evolving. If there isnt something there you want then the language gives you the freedom to write it yourself.
Dude, mobile is FUN! For the following reasons:
1. the projects are smaller in scope
2. this reduces scope creep
3. the GUI’s are small and force things to be simple (read: simpler than f’ing desktops which can get complicated quick)
Adobe has really made it simple to do now with Flash Builder 4.5 for Android & iOS (still provision hell for iOS). Corona is fun for games because of simple code, and bad ass physics engine.
The ONLY thing that’s hard is the design; multiple resolutions == ugh.
Regarding HaXe, I’m lazy. If it works, I’ll use it. Flash & Corona work. Once they stop working, I’ll look into HaXe.
Comments are closed.