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

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

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

Photoshop Express FREE!

Yes, thats true. 2GB of free space from Adobe. Plus an online version of Photoshop to fix / enhance your photos.

Photoshop Express Screenshot

photoshop express screenshot 2

Update: New screenshot

So far it feels like a great service. On some blogs I read an impression maybe its too late for such service where there are already number of other services with similar features.

Well, I think coming late in scene have its disadvantages, but the biggest benefit could be, learning all the good things from earlier services. And offer something which users are expecting — Just like Microsoft did by bringing Silverlight, learning everything from Flash.

At this time, beta of service is ready. You can start here.

// chall3ng3r //

AIR is LIVE!

Finally its time for some business. AIR, short for Adobe Integrated Runtime is just released as v1.0 final product by Adobe.

air_logo

Its a runtime to make RIAs for desktop, even one can create just old desktop only applications with it as well. The main hype for this runtime is that it runs on Windows and MAC OS without any change to the code. Linux version will be released later.

While AIR was in beta, we have seen some great applications and examples that will, for sure, inspire developers to create great experiences with AIR in coming days.

Get the final binaries here.

One thing I’m very confused about is, why Adobe call it Adobe AIR, Even in the Logo? making it Adobe Adobe Integrated Runtime :S

I don’t see MS calling .Net as Microsoft MS.Net Framework. Is there a catch that i missed?

Anyway, there’re tons of new and updated resources to check out. I just skimmed through these:

I barely touched AIR while it was in beta, but now I am planning to get my hand dirty with some Flex and AIR.

BTW, the AIR download size is just over 11MB. A bit heavy than I expected. And it might be noticed by many mid– to low-bandwidth users.

Next thing to do, get the AIR SDK, and get your hands dirty!

// chall3ng3r //

Tags: , , , ,

Adobe goes Open Source!

Adobe launched on online website for its Open Source projects. The first projects available on the new community website are:

Adobe Open Source Home: http://opensource.adobe.com

This is very good step forward, as most startup companies are now adays adopting Open Source software. With Adobe’s OS technologies, we will see good change, hopefully :)

// chall3ng3r //

Microsoft’s answer to free Adobe Flex. The DreamSpark!

Microsoft has recently been quite active with big announcements, updates to developer tools and Windows OS.

On Monday, MS announced they will give away VS, Expression and Windows Server absolutely FREE to students worldwide.

Read more here, and here.

Very impressive move to get crowd stick to MS, seems quite workable idea :)

Adobe also recently made available Adobe Flex Builder free to students. MS following the same idea making it head-on competition for RIA development tools.

Microsoft is very good with getting their technology to masses quickly. And they’ve proven record of it. For example, MS .Net Framework. They made it available to public in early beta, released comprehensive SDK with documentation. And did not charged developers to ship .Net runtime with their applications.

Giving away Expression and VS2008 will also boost Silverlight adoption rapidly. More Silverlight applications means, greater number of users downloading Silverlight runtime daily.

Lets see how it goes.

// chall3ng3r //

Adobe DevNet Reloaded!!! (my review)

Wow, it looks so sexy! more contents area, better section management, and eye-catchy JS animations. It simply rocks!!!

Adobe Developer Connection

I have sent many requests to Macromedia (now Adobe) about changing layout of DevNet. But the wait is over. The new DevNet is also renamed to Adobe Developer Connection, ADC in short :)

adc - section1

The main sections are expandable, showing main categories links. as soon as you click the section heading, it expands itself with eye catchy JS animation.

adc - section2

The featured section also slides left/right. This is also done via JS animation.

adc - section3

adc - section4

ADC’s layout has utilized the over 950px content area quite well, when you go to reading view of any article, you’ll see big fonts, which makes it easy to read and adds elegance to overall look of the content.

adc - section5

I found a broken link, in the Featured > Mobile section there’s a link for Flash Lite 3 update for Device Central, when you click it, you’ll get the 404 error. maybe Adobe will make the link live on the start of MAX2007 ;)

adc - section6

Individual product Developer Centers are also updated with this new layout.

In an introductory article for ADC, Jonathan Wall from Adobe describes that ADC is a portal for developers, and it features introNetwork, a social networking engine to get connected to other designers and developers on ADC. Seems like a brilliant idea.

There will be also AIR based ADC Desktop application to track Flex bugs on your desktop. It will be released in MAX2007.

I would add that this was a much needed overhaul to DevNet, and I must admit that Adobe has done it in great style. Its just my guess that Adobe might be updating the Adobe Home and Design Center as well.

Here I’d like to point Adobe to a very old bug on their feedback / whish form. Couple of days back I tried to post a feature suggestion for content on DevNet, and again got same old error on submit. Its nice time to fix this as well, and I’d suggest using a CF based back-end rather than .CGI

Visit my flickr’s photo stream for a all expanded screenshot of the ADC home page.

For me, its a pleasant surprise from Adobe, and I’m expecting many more as well from MAX2007 :)

// chall3ng3r //

MS Surface vs Flash Surface?

(via RIApedia) This video preview of NUI’s Flash Surface seems too cool, it almost mimics all features of MS Surface, except wireless media transfer between devices, and automatic device recognition.

This project is using Flash 9 with AS3, and it will be open source. So far it looks direct competitor to MS Surface.

I think Flash is best option they used. The latest Flash 9 performs better, and have accelerated full-screen support, it features HD video support, and best of all, it runs on most operating systems. So it can use Linux, OSX or Windows as its base OS.

Overall, it could be a better and cheap alternate to MS Surface. Let see how things develop.

I will be keeping eye on it, and I suggest you to do so as well ;)

// chall3ng3r //