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

Android Player for BlackBerry PlayBook – Virtual Keys

You might already know Android Player for BlackBerry PlayBook was leaked recently. It looks like pretty much intentional leak just to keep in the news while they work as slow as they can to complete it.

Anyway, I found the required files on CrackBerry forums and gave it a try. At first couple of attempts, after waiting for minutes I got some JAVA socket exception errors, but on third try, it went all fine.

The first thing I did was setup my email account so I can finally use PlayBook for some professional use, rather than just watching movies in spare time.

I was able to sync my Google Apps email, calendar and contacts easily using Android Player for PlayBook. However, there are not buttons to navigate. There’s a left to right swipe gesture on bottom bezel which works as Back command and swipe down for Options command on Android.

later, I explored the sys.android.bar and found there are actually "Virtual Keys" as PNG files for portrait and landscape orientations. So, I took a screenshot of Browser running in Android Player and Photoshop-ed the Virtual Keys PNG image on the the PlayBook screen just to get the idea how it’s gonna look. See for your self in bellow screenshot.

playbook-android-player-keys

playbook-android-player

Looks nice, and it will be quite easy to navigate within Android Player with these standard Android buttons.

I think this is a great idea to allow Android apps run on PlayBook, as we have already seen how slow RIM is coming up with native email client, which gives us the idea how future updates going to come.

Just couple of days ago I was asking from a local mobile gadgets shop to exchange my PlayBook with a Samsung Galaxy Tab. Good that I didn’t went all the way to exchange it :D

// chall3ng3r //

PayPal Why You Do This To Me?

The story begins in mid 2008 when I was on a 1 year contract position, working as Mobile Specialist in Germany. I opened up my first ever PayPal account and happily linked it to my German bank account. Everything was working flawlessly.

I made few purchases using PayPal, and also I managed to sell my Nokia N96 to get Nokia 5800XM (Nokia’s first touch input device) using eBay, and received payment of it in my PayPal.

When my contract was over, I started to roll my stuff, and found out from my German bank (Dresdner bank at that time which was in-transition to merged with Commerzbank) that I can keep my account open and use it from overseas via internet banking. I was really happy, that I can still use PayPal and my future European clients can pay to my German account easily.

I headed back to my homeland Pakistan in May 2009, and kept using PayPal for small payments for our web hosting services and domain name renewals. My same PayPal account is also used to accept payments from 99designs.com where my younger brother Najam has won some logo design competitions.

As some of my fellows in Flash and mobile developer communities know that we have recently published couple of apps for BlackBerry PlayBook, and we got quite a success from them so far. The payments of App World are also sent to my PayPal as it’s the only option for App World developers.

In last week of June 2011, I received an email from PayPal that my yearly money receiving limit is reaching (2500 euros) I was at 1800 euros from (August 2010). They asked my proof of identity and proof of address. I sent them a copy of my Passport and my recent German bank statement which shows my current address.

The address didn’t match the address in PayPal profile, as I never updated it in PayPal because Pakistan is not in countries list. So, I tried to add the address in PayPal profile and sent them the statement again. I called the PayPal (Ireland) support as well, as they deal with German PayPal accounts. They told me that I should wait for reply via email.

Now, I got a reply, that says:

After reviewing your PayPal account, we’ve determined there to be excessive
risk involved and would like to begin parting ways in a manner that is
least disruptive to your business.

I logged in to my PayPal account and found one additional note:

This limitation cannot be appealed.

Googled it and found that this is it. I cannot use PayPal anymore. Even I have a German bank account which legally allows me to use it from anywhere, and I am providing my proof of ID and correct address, PayPal don’t want to use my account anymore. There were no complaints filed against my account in past. It’s a clean PayPal account with limited number of transactions.

We recently planned that we exclusively target PlayBook device for our current development as there’s really lack of quality and good looking apps and games. Making our chances more than double compared to already filled iPad and Android markets.

We have been forced to stop here. It’s an unfortunate situation. PayPal for some reason does not support Pakistan, while they support many other Asian and African countries which are almost equal to or even worse than Pakistan’s political or stability situation.

I would have never used PayPal more if App World allowed to directly send funds to my local bank account. For now, I am thinking of asking a German friend who can accept my payments from App World for a month or two, then we are going to pull back from App World until they start paying directly to bank account.

I think it’s time that I start finding a job overseas again :/

Update “€œ Aug 2011

Okay, my PayPal account is now permanently blocked. PayPal opened it for 3 days again to let me withdraw my remaining fund to my linked German bank account. Now I’m done with PayPal.

I got the good news from RIM as well, as they agreed to offer me direct transfer of funds to my bank account. They sent me a contract, and it’s currently in progress of being activated.

We are now back on AppWorld development, and have couple of apps under development to the PlayBook. Thanks for RIM for listening to us.

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