Imminent Death of Adobe Flash

My fellow Flash developers, this post’s title and the post is not to start a new flaming war on the subject, it’s just an opinion which you may or may not agree with.

I posted some of the following ideas in a private forum, so I thought I’d just save some typing and add some more thoughts in original forum post(s) and publish here on my blog. This post is also long overdue, so here it goes.

I think Flash is really a strong brand and awesome technology. There are certain things Adobe have done wrong in terms of strategy and vision for this technology.

Macromedia and later Adobe pushed Flash Player too hard on mobile devices. Back in 2005 when I won a t-shirt from Flash Lite competition, all the developers sent a clear message to Flash team, that on mobile, Flash apps are the future, as all the apps submitted were installable apps on Symbian OS, not mobile browser based.

Flash’s experience in mobile browser was too bad, there were no contents optimized for mobile, and Adobe tried to run existing content in mobile browser, which failed miserably. So we saw Steve Jobs’s thoughts on Flash. Which I agree to, also for lazy engineers part. The focus should’ve been on installable mobile apps from the start. For same reason Adobe had to pull the Android version. I do not see why Flash team failed to see it early.

I also noticed that Flash product team tried hard to sell the Flash Player / AIR to ODMs to embed / pre-install in devices. They did for some, like Nokia / Blackberry. Idea was a clear fail from start, as there was no way to update Flash Player / AIR until ODMs releases an OS update. Also the failed idea to get share of revenue from Flash Player based games/apps if a developer makes more than a million in a year. That was just crazy.

Pretty late, Adobe recognized and thought, oh! we should package the runtime with the app, so it will run correctly with its required version of runtime, and not depend on ODMs (we made a product SWF2Go in 2007 which did this). I can’t believe what sort of people were in Flash team who did not recognized this from the very start where I personally sent emails to Flash team, managers with same idea, am sure many other developers may have asked them the same.

Now in current situation, the only bad name Flash gets is from its Flash Player in the browser. What Flash team can do now is to split the player, one only with AS2 support, which I believe is the root cause of most security issues, and one with only AS3 runtime. This should’ve been the strategy from the start. But Adobe kept two runtimes in same player. Continuously improving on AS3 version, and deprecating the AS2 version.

We need tons of new language features in AS3, not just renamed APIs. Look at C# for example, evolution from v1 to latest. And this is really important moving forward. I do not see any new language features since AS3 was introduced with Flash Pro CS3. Here I’d like to share a post from Dave Yang’s FB feed, which summarizes exactly my point about why I and many other Flash developers held on to AS2 for too long.

DaveYang-FB-Post-Programing

For installable apps, AIR needs to drop HTML (webkit) and just keep AS3. I have not seen a single AIR app which is done with HTML, it’s a useless feature which wastes bytes with every deployment. All I see is AS3 apps and games in stores, so I always think why there’s this HTML thing in AIR, when Adobe also promotes another product PhoneGap, which does the same thing, makes mobile apps with HTML. Can anyone from Adobe tell me why AIR needs HTML support?

Also, AIR needs to support more platforms if it needs to gain some ground in future, i.e. Windows Phone / Mobile support which is top requested feature, but it seems that no one at Adobe cares anymore.

flash-cs3

Now Flash Pro, this tool was awesome until CS3. Even before that there were versions which didn’t come with new features but just re-write of the Panels system. I’ve seen so many versions of Flash Pro which just did that. The team wasted time in re-writing Panels system, instead if improving on or adding new useful features. For example, the Info Panel did not show real-time X, Y and other details when mouse was held down (fields just froze until mouse is released), until I filed a feature in CS4 (I was first time in beta), and it was implemented in CS5.5. Two versions later, because team were re-writing the Panels (lazy engineers as Jobs pointed out). Unbelievable.

There are tons of things which Flash Pro team can bring, return to the core idea which made Flash popular, Design, Timeline, Animation and Scripting them. Each of these features Flash Pro can borrow ideas from other tools. And even they can come up with a new version in one iteration which can be so new and feature rich, many designers and developers will appreciate and will upgrade for sure.

I see why Flash is dead as there’s no revenue coming from this investment for Adobe. I.e. Flash Pro CC, most are holding back on CS6 or older versions like myself. AIR is free and a developer can use AIR SDK with free FlashDevelop or other tools to make apps, so Adobe do not get anything for their investment going forward with AIR. Flash Player team also gets a bad name when we see some security issues now and then, again there’s not much revenue from Flash Player (other than the Flash Player install page which keeps trying to install some useless software along).

Update 1:

Another reason, that all my Flash developer contacts from 2004 onwards have moved on to something else around 2010-ish. Some switched technology, some even on different directions doing amazing 3D printing, embedded hardware stuff.

What Adobe needs to do is to make Flash Pro, the tool so feature rich, so awesome that developer buys a copy, like the old days of Flash 5. Make the app store prominent and attractive to developers, to buy and sell pre-built assets ready to use in projects or to extend the editor.

unity3d

Unity is a perfect example Flash team can follow. Look how they’ve not wasted time in re-writing panels, but they made Unity Editor so open that there’s a whole ecosystem for extensions. And brilliant idea of selling pre-built assets. They are making tons of money from this idea. They were able to give away free version of Unity, along with a perpetual or subscription version and cloud build. I see great strategy to make revenue from tool, and the assets store for developers. I am using free version, but I have bought extensions, from which they got something. Maybe in future I might go for Pro version as well.

There’s still time, and if Adobe can make and follow good strategy, which I currently don’t see (hence the post’s title), they can come back in game again.

BTW, about me, I am developing with Flash since 1998 (ver 3/4). Done great stuff with Flash, contributed to Flash Player (no credits) and Flash Pro (top beta tester, CS4 to first CC), and developer of SWF2Go.com, Flash Lite to Symbian app maker.

Would love to hear what you think about Flash and its future.

// chall3ng3r //

I’m Back, Again!

It’s exactly one year and 9 days since I last posted on this blog. I had some issues with my MySQL DB for this blog which was wrongly set to some other encoding, than UTF8.

After exporting my blog data, then re-installing latest WordPress, then importing data back in, fixing, tweaking settings. Now this is the first post after the overhaul.

I have some cool topics to discuss on this blog in coming weeks. I’ll give you some hints for whats coming:

  • Flash on Mobile and its future
  • Unity3D, why I’m going for it
  • State of Windows Phone as a platform for developers
  • And some more random thoughts around these, stay tuned!

// chall3ng3r //

Slides and Code From Mobile Game Development with Adobe Flash Workshop

Recently I did couple of workshop for Mobile Game Development with Adobe Flash at Jinnah University for Women. In first one we covered basics and getting used to the Flash Pro IDE, and basics of ActionScript 3, Timeline, MovieClips and other concepts in Flash.

Mobile Game Development using Adobe Flash- chall3ng3r - final

In 2nd follow-up workshop, we did some intermediate experiments, and completed a game, Popcornia, with real graphics, Timeline and AS3.

[slideshare id=15617758&doc=mobilegamedevelopmentusingadobeflash-chall3ng3r-final-121213025833-phpapp02]

Download Source: mobile-game-development-with-flash-chall3ng3r.zip

The download contains full source of the game Popcornia, I did some more tweaks when I got home from workshop, so I recommend participants to download this updated version.

Ported to BlackBerry 10 OS

I ported this game for BlackBerry 10 based Z10 with very small modifications. Download full source code and batch files which use BB10 SDK command-line tools to package and signing.

// chall3ng3r //

Highway Racer is #1 on Ovi Store

I would like to share our success so far on Nokia’s Ovi Store with our Flash Lite based game Highway Racer. You can read my previous post for our initial experience of publishing.

We are really happy with our experience so far. Highway Racer reached #1 spot in Sports category, and #3 spot in overall Games category on Ovi Store in just four days after published on Ovi Store for Pakistan region.

Now it’s 29th day on Ovi Store, it’s been jumping up ‘n down in top 30 games. Highway Racer have been downloaded 175000+ times and counting, on it’s way to million downloads. It’s current rating is 4 stars with 149 reviews.

Highway Racer is also reviewed by two popular mobile technology blogs, SenseApplied and TechProlonged.

This is quite a big achievement for our team at Orison Technologies.

Highway Racer - Promo 3

As of yesterday, Highway Racer is one of the featured applications on Ovi Store, and also it’s on #1 spot for Games and Sports sections. Thanks to Nokia team for the help on this :)

We have decided to keep Highway Racer free for more time as we work on an updated version. So, if you haven’t downloaded Highway Racer yet, just visit Ovi Store now!

// chall3ng3r //

Updated SVG2Go and PlayBook Icon Maker now live!

Finally I got some time to do the most requested updates to our online icon makers, SVG2Go for Symbian devices and PlayBook Icon Maker.

They are really helping a lot of developers and we have been receiving many suggestions and appreciation from around the world. And we thank you all.

We have so far 1800+ SVG-Tiny icons created for Symbian apps, and they include icon for games like Angry Birds Free version as well. And 2700+ icon for the PlayBook apps.

There are two major new things in this update.

  1. Option to enable a background fill color. This is also useful when you are dealing with a transparent icon which is hard to see on that checker-box in the preview area.
  2. Icon selection box and loaded image is opened centered by default. We have noticed many users confused that the selection box doesn’t move from the top-right corner. Well, it does and user can use Arrow Keys to fine tune the selection.

Click the screenshots below to start SVG2Go for Symbian or Icon Maker for PlayBook.

iconmaker-svg2go

iconmaker-playbook

Do let us know what you think about these new updates and any more suggestion you may have for future updates. Also, we’d be glad to hear for which of your apps you used our icon makers.

// chall3ng3r //

Highway Racer – Now On Nokia Ovi Store

I am excited to announce our first entry into Nokia Ovi Store with our first Adobe Flash Lite based game, Highway Racer. It’s a simple arcade style racing game, to take a fun break in your busy life.

Click the banner below to head over to Ovi Store and get it FREE now. It’s a limited time offer ;)

Here are some screenshots before I get to details and our experience so far in publishing to Ovi Store.

1-Splashscreen 2-MainMenu

5-InGame 3-About 

Game Development Experience

Highway Racer is a Flash Lite 3 based game developed using Adobe Flash CS5.5. The development experience is best you can get. We used traditional timeline for animations and scripts on frames for interactivity. Most of the resources are small components and reused to keep the runtime memory footprint small.

flash-cs55-highway-racer

Highway Racer runs on all Symbian 5th Edition (Nokia 5800XM, N97, etc.) devices as well, but the performance is not as good because these devices have slower processor.

For best experience, we recommend playing Highway Racer on any latest Symbian ^3 device like Nokia N8, E7, C7, X7 etc.

Packaging and Distribution

For Highway Racer, we used SWF2Go Pro 2.6 to compile a SIS file to post on Ovi Store for QA. SWF2Go is our most popular development toolkit used by tons of developers in more than 50 countries around the world.

Since SWF2Go allowed us to get past the SIS making process in less than 10 minutes, we were then quickly on the phase to make graphics for Ovi Store submission.

Ovi Publisher portal is now really easy to use, I must say. The submission wizard is easy follow, and it was like just 4 steps. And you are done.

The QA process took 2 days only, which was quite a surprise for us, we were not even quite ready :D

There’s one small complaint/ issue, which I like to point out. On the Distribution “€œ> Language tab, there should clear note, if content is in English, select Works With All Languages / Publish To All Languages. We selected English (US) on first QA round, and later discovered that our game was only visible in US / Latin America. Ovi Store team, please add this note.

The After Shocks

It’s a complete surprise to us that Highway Racer is on #1 position in Sports category and #3 position in overall Games category for Pakistan region, just in 4 days!

We are very proud, and excited, as we have just stepped into Ovi Store, and finding such success in few days. It’s a big milestone for us.

We have already plans for follow up versions of Highway Racer as well as couple of cool new game ideas we are working on to publish on Ovi Store in coming months.

Download Highway Racer now from Ovi Store, and let us know your feedback and suggestions. And keep visiting Ovi Store for more of our exclusive games and apps to come ;)

BTW, Highway Racer is also our entry for Nokia and P@SHA MakeMyApp 2011 Challenge. Wish us luck!

// chall3ng3r //

Icon Maker for BlackBerry PlayBook is now live!

If you are following my recent tweets, you might have noticed that I am working on some applications for upcoming BlackBerry PlayBook tablet. So far, I am having fun developing for PlayBook using AIR SDK.

I noticed that the icon requirement for BlackBerry PlayBook AIR SDK are a little complicated. Developer have to make an icon of 86×86 pixels PNG, but he must not fill the entire area with graphics. Developer have to keep his graphical contents inside 77×77 rectangle so it could look similar in size to other application icons on PlayBook.

BTW, 77×77 is an odd size for 86×86 icon. As on the two sides (top-left) the transparent buffer is 5 pixels, and on remaining two sides (right-bottom) it becomes 4 pixels. Out of center by one pixel.

So, I thought we tweak our SVG Icon Maker tool for Symbian applications, to make icons for BlackBerry PlayBook as well. And of course, we did take care of that odd 77×77 size by using 76×76 selection rectangle.

Now you can create great looking icons for your BlackBerry PlayBook tablet games and applications right from your web browser!

Start using Icon Maker at: http://www.orison.biz/apps/playbook-icon-maker/

And as usual, below are couple of screenshots of the Icon Maker in action.

icon-maker-screenshot

icon-maker-screenshot2

Do let us know you feedback or suggestions so we can keep improving it in future.

// chall3ng3r //

Quick Workaround: AS3 gotoAndStop Nasty Bug

Okay, I admit it. I am old-school. I use Flash Pro CS5 as my only Flash development tool. I do all my coding on timelines and I like it that way.

I have been working with AS3 for few months now, and I have to say, I have to write twice the code to actually do what I was able to do using AS2. I miss those good old days.

Anyway, I’ve been developing an AIR Mobile application and hit by this nasty gotoAndStop bug. If you are feeling lazy to click the link and see detailed explanation, here’s a excerpt from the post:

myMC.gotoAndStop('FINISHED_SCREEN');
myMC.result_txt.text = "You won!";


Leading to following error:

TypeError: Error #1009: Cannot access a property or method of a null object reference.

To clarify: in this context, result_txt is the name of a TextField that exists on the stage, and only exists on the frame with the label "FINISHED_SCREEN". If you haven’t previously displayed this frame, and you run the code above, then sometimes you will find that the result_txt TextField object hasn’t been properly instantiated by Flash yet when the second line is run – therefore myMC.result_txt will resolve to null, and you’ll get the error above.

I tried and found many kind of solutions, but they were more like adding a lot more code and changing the way my jumping from frame to frame works.

So, experimented a little, and ended up with my own solution. It’s kind of dirty one ;)

First you need to Export for ActionScript your problematic MovieClip from Library. Make sure you add text Class at the end of export ID/class name. i.e. my original Library item was named "mcCircle", so I Export it as "mcCircleClass".

Now, on the keyframe where you are getting that null reference error. Initialize your MovieClip as follows:

var mcCircle:mcCircleClass;
if(this.getChildByName("mcCircle") == null)
{
    mcCircle = new mcCircleClass();
addChild(mcCircle); }

After this you can access mcCircle as before. You might have to set it’s properties (x/y etc.) again, as we just created a new instance which doesn’t have values from previous instance. In my case, I just had to set it’s X and Y to position it back where it belonged.

It’s not as optimistic as other solutions, but it does the job when you need to quickly get through it.

I am quite disappointed by Adobe since Timelines are the basics of Flash from the very core. This bug is around since Flash 9 days, and Adobe still haven’t fixed it. Come on Adobe, you can do better!

Update: Some other references to the problem:

// chall3ng3r //

Thoughts on Nokia + Microsoft

I believe this is the biggest mobile technology news since announcement of Apple iPhone back in 2007. And to be honest, I am all excited as one Apple fanboy would have, on such big news!

nokia-microsoft-valentine

There are reasons why I am so much excited, but first let me start with the fact that many developers showing concern that Nokia made a mistake for selecting Microsoft Windows Phone 7 as it’s primary mobile OS.

I have been reading lots of news, reviews, analysis and comments around this partnership, positive and negative. I gone through official Forum Nokia’s blog post "Letter to Developers about Today’s News" and in comments I see many developers not so happy.

I would like share some of the facts and personal experience about Symbian OS.

Symbian for End-Users

This is the base fact that everyone, including Nokia also admits that Symbian’s UX is ugly. I have been using Nokia smartphones since 2004, and my first one was second-hand Nokia 7650, and I have witnessed that Symbian was doing great in terms of UI until iPhone. After that, I haven’t heard anyone praising Symbian’s UI.

Symbian for touch enabled devices, proved to be complete nightmare for Nokia. Since it’s introduction to date, they are still trying to tweak it to work better for touch input, sadly without any luck.

Honestly, tell me any 10 great looking native Symbian applications, which provide smooth, beautiful, and animated user experience. Oh, I know one, Gravity and my big applause to the guys who did it. Other than this, I have not seen any Symbian application which impressed me with such great UX compared to iPhone, Android or WP7 apps.

Other than this, I was quite disappointed from Nokia from the end-users’ perspective, as they’ve been selling Symbian devices by showing cool animated UI transitions, but in reality, the actual device, when rotated from portrait orientation, taking more than 7 seconds to show up the UI in landscape (personal experience). Yes, I’m talking about Nokia N97 and other Symbian 5th Edition devices. Lets take a look at this video.

Cool, isn’t it. But if anyone who have used one of these devices must know what I’m talking about.

All this Symbian ^3 hype is waste of money and resources. I have a Nokia N8, and I was not able to compose new or reply to an email until I upgraded to firmware PR1.1, which was released few days ago after months of delay, using my primary account of Mail for Exchange (I use Google Apps). And there were also many other users who were have same issue.

I was making jokes on this”¦ "Nokia – Connecting People NOT", and imagine Borat saying it, you’re gonna laugh "automagically" :D

Nokia N8 is really a fast device as compared to Nokia 5800XM I own. But the UI still lacks all the richness, smooth transitions, and usability I find on iPhone, somewhat on Android and now on WP7 devices. Even Nokia wasn’t able to deliver what they showed in an imaginative video demoed back in 2007. Lets take a look, and pay close attention to animations and transitions.

Symbian was the main reason of Nokia’s failing all this time. They have tried to tweak its UI to make it work on touch enabled devices, but unfortunately it didn’t worked out until now.

Last thing to add here is, Nokia’s official end-user support forums are filled with so many complaints, most of them are related to Symbian OS.

Symbian for Developers

I started learning Symbian back in 2006. My aim was to develop a compiler, which would allow Adobe Flash Lite developers to easily package and distribute their games and application on Symbian platform. I successfully delivered SWF2Go in March 2007 after 8 months of R’nD, and it’s been quite a success so far.

During my journey on Symbian OS, I learned how hard and time consuming it is to develop. Setting up it’s SDKs was quite big task for anyone new to Symbian, but who have worked on other mobile platforms. Other than my work on SWF2Go, I never developed any native Symbian C++ application.

Just in 2010, Nokia’s investments in Qt started to show up. Even though Qt it easy and fun to develop with and its been here for so long and already gone through embedded platforms, but still not ready for real mobile applications. When developer needs to do some real work, he ends up with same old dirty Symbian C++.

Qt Mobility 1.0 is released but it has some quirks. For example, there’s no native Qt APIs of dealing with device orientation. The new Qt Creator project wizard now adds that dirty Symbian C++ code for you.

Nokia could have at least replaced the UI shell of the Symbian ^3 using Qt with all it’s cool transitions and effects. Like HTC replaced Windows Mobile’s UI (almost same as Symbian) with HTC Sense UX. And they actually did a pretty good job on that.

So, Symbian is an outdated legacy OS, which have completed its life long ago. Its making Nokia, developers and the whole ecosystem around it completely slow.

Now stop being angry and join, celebrate with me ;)

Why I Am So Excited?

Microsoft really knows software. They also make mistakes, like everyone does, but they are pretty good. For example .Net, Xbox, Windows 7, Silverlight.

Microsoft Windows Phone 7 is developed from experiences of Windows Mobile. It is targeted specifically for next generation hardware and touch input. It is user friendly, stable and it works. Go checkout some cool reviews to find out for yourself.

Microsoft is the king of developer tools, specifically Visual Studio 2010. If you have never used it before, this tool will teach you, help you and make you expert within weeks. It’s code editing features are one of the best available today.

With tons of online resources already available, so you will never get stuck with any issue. There’s a vibrant developer community as well, from where we can learn more and share back expertise.

Microsoft offers a complete set of tools for development of Windows Phone 7 games and applications. And best thing about them is, all of these tools including VS2010, Expression Blend and XNA Game Studio are completely free. Installation experience is really smooth as well.

Once you are aboard, you’re gonna love it. You can take my word on that ;)

I also found some users and developers asking Nokia, why they didn’t selected Android? Well, other than what Mr. Elop already said about it, I would like to add, haven’t you guys already seen enough Android devices?

Everyone is making them, HTC, Samsung, Motorola, LG just to name a few. Now even those Chinese companies also started making them in masses. You will be getting a lot of them in coming days.

Don’t you guys want to see something new, something different, a competition, using new technology, developing for it, innovating with it, having a choice? I mean come on”¦ Guys!

Nokia + Microsoft = A Wining Combination

I believe that this partnership is a great opportunity for developers on Nokia platform to get back into fast lane, and rapidly develop and compete against other platforms. Provide best of the best games, applications and user experiences to the end-users. A winning combination for everyone.

/// chall3ng3r //

Download latest Flash Player 10.2 Plugin / Standalone Versions

I recently noticed after announcement of Adobe Flash Player 10.2 availability, users are searching for downloading Flash Player. As I’ve been installing Flash Player updates manually for some time now, and I am not sure if Adobe have stopped using getPlus (crap-o-ware) plugin for installing Flash Player.

flashplayer-10-2

The reason why users are searching for alternate download locations for latest Flash Player is because Adobe have made bad reputation by bundling McAfee, Google Toolbar, etc. and worst of all, a 4-5mb sized getPlus plugin which then downloads, 3-4mb Flash Player.

There’s also big number of searches landing on my blog for Flash Player Standalone or Projector. If some of you might remember, I released a VB6 wrapper for Flash Player 8 ActiveX few years back, users are still downloading it as it works with latest versions as well.

Today I’d like to share a “secret” link which contains direct links to download latest versions of Flash Player plugin installers, but also Standalone / Projector version as well.

Please note, these are Debug versions of the player, meant specifically for developers.

The “Secret” Link: http://www.adobe.com/support/flashplayer/downloads.html

On the above link, you will always find installers of latest version of Adobe Flash Player for Windows, Mac and Linux. You can also download older archived versions as well.

I think Adobe needs to make a similar download location for Production versions of Flash Player, for users who like manually downloading and installing their software.

I hope many users who land on my blog searching for Adobe Flash Player will finally get what they were looking for :)

// chall3ng3r //