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?