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 //

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 //

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 //

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 //

New project: Make SVG icons for Symbian from any image – Free!

I am glad to announce our latest online project SVG2Go, for mobile developers targeting Symbian platform. As the name suggests, SVG2Go is for making cool looking SVG icons from any image file. And best of all, it’s online and free ;)

Start using SVG2Go online here: http://www.orison.biz/apps/svg-icon-maker/

Icons made with SVG2Go can be used for all Symbian applications made using Symbian C++, Qt and Flash Lite. Even you can use it with our other product SWF2Go, to rapidly develop cool games and applications using Flash Lite and publish them on Ovi Store.

Until now, making a nice looking SVG icon was a really hard task. The icon made using Adobe Illustrator or Inkscape doesn’t look the way designer created them, when it appeared on mobile device. Let me give you an example:

tron-icon-example

You might have checked out the Disney sponsored Tron : Tanks Arcade game on Ovi Store, made from the Tron : Legacy movie theme. Take a look it’s icon, no offense to anyone here, but I’m guessing that the developer might have not been able to produce a better icon in time, so he used this one, which doesn’t look good enough. But, the game is quite impressive, smooth graphics and play experience.

Using SVG2Go, anyone can make a really nice SVG icon instantly using the same Photoshop raster artwork. No need to experiment with SVG-T or fiddling with viewbox property. The output SVG icon looks exactly as you have made them. No tweaking needed.

As always, bellow is the screenshot of SVG2Go in action.

svg2go-screenshot

Give it a try, and do let us know of your experience with it, or any suggestions you might have. And don’t forget to share it with your fellow Symbian developers.

// chall3ng3r //

Adobe is back in business with AIR for Android

air_132x132 Today Adobe released AIR for Android for all regions on Android Market. The timing of the release is just perfect, read on to know why ;)

For last few years Adobe is trying hard to enable Flash content inside mobile browsers, it’s been not a big success because of lack of processing speed on mobile devices, complexities of mobile operating systems and of course, Apple.

Personally I think Flash inside mobile browser is only good for video, and that’s it. In last 3-4 years, I have hardly seen any Flash content inside browser (other than video) optimized for mobile on my Flash enabled Nokia devices which include Nokia N95, N78, N96, 5800XM and so on. And even I tired once to make something myself, but the performance and interaction complexity of in-browser Flash content was completely non-acceptable, at least for me. However, I managed to make some cool projects using Flash Lite which allows out-of-browser apps using SWF2Go.

I have been using Google Nexus One for some time now, and viewing Flash content inside browser is just a cool experience and performance is great as well. But interacting with Flash content is still not really a nice experience, except Flash content which only have one or two big clickable buttons, i.e. ads :)

Welcome to Installable Flash Apps, a.k.a. AIR (Adobe Integrated Runtime)

This is where Adobe is going to win big time. There are many good reasons why, but I’d like to share some important ones which will make a greater overall difference.

1) Today there are many mobile OSes out there including Android, iOS, Symbian, WinMo, WinPhone, MeeGo, QNX, webOS and many more. Every OS have different programming language and set of APIs, and mastering them all is really a hard task.

AIR for Mobile is going to ease this by providing familiar development tools we have been using for years, Flash Professional and Flash Builder (Flex) and single programming language, ActionScript 3 with consistent set of APIs.

2) When I first started playing with Android SDK, I was completely disappointed because of lack of GUI designing tool. You have to write everything via code, be it JAVA or XML representation of GUI.

Now with AIR for Android, you have those GUI designing tools, Adobe Flash Professional CS5 and Flash Builder 4. With Flash Pro there are millions of developers who can now reuse their skills and tweak thousands of games and applications to run on Android based devices within days. Time to market is a lot quick for applications developed on AIR, so it will also make a huge impact for sure.

Expect Android Market to flood really soon with tons of cool games and applications. Apple, get ready for real competition ;)

3) This is perfectly the right time for AIR on mobile devices. We see every day there’s a new mobile device released. Even I read couple of Tweets saying "another day, another Tablet" :)

Just today, I was invited in launch of Samsung’s mobile devices Wave II, Galaxy S and Galaxy Tab for Pakistan region. I tried Galaxy Tab firsthand, it gave a really pleasant experience. Performance of UI and interactions were real smooth, but the browser showed a little lag when scrolling. It wasn’t deal breaker, so it’s all sweet I can say :)

Galaxy-Tab

The good thing was, I took my laptop and Nexus One along to demo a fun online collaboration game-application I developed a day ago. So, one user was on Nexus One, another on Galaxy Tab and one on my laptop, and it was pure fun when we all were able to play around with the application, it worked flawlessly!

I will be posting a sneak peak demo of this new collaboration game-application done in AIR over the weekend, so stay tuned ;)

And finally wrapping up this post, I can see Adobe is getting lot of traction in coming days and tons of games and applications for Android. This is all good news for owner of the cool new devices, and developers who are going to make some cash ;)

AIR for Android is a really big milestone for Adobe and millions of Flash developers around the world. Excellent job Adobe!

// chall3ng3r //

Adobe Flash Player 10.1 Update – Thanks Adobe for removing ugly installer

Today I got another update notification for Adobe Flash Player 10.1. The first thing I noticed that the notification looked prettier than the last update. I really hated that ugly Adobe Download Manager or ADM in short. Take a look how it was in previous update:

adm-1  adm-2

In installation process, ADM was downloaded first which was almost the same download size of the Flash Player itself, so I don’t get why Adobe used it in the first place. If it supports resume-able downloads, then Adobe should only use it for downloading trial versions of Adobe CS products.

Adobe Flash Player 10.1.82.76 Update

This new version features better hardware acceleration, multi-touch and gestures, private browsing support and as always enhanced performance and memory management. Read more here.

I am happy that Adobe now have switched back to better and tiny (only ~2.8MB total) installer. The update notification included summary about what new features it offers and links for more details.

The only thing which I’ve been asking Adobe to put in these update dialogs is complete version numbers of the currently installed Flash Player, and new version. So the user could know what exact version he is upgrading to.

flash_update1

 

flash_update2

flash_update3

 

flash_update4

The overall Flash Player update experience was great this time. Excellent job Adobe!

// chall3ng3r //