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

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

SWF2Go Professional 2.6 – Now Available as Free Trial

We are proud to announce another update of our flagship product SWF2Go Professional. This new version now natively supports latest Symbian based devices, such as Nokia N8, C7 etc.

What are you waiting for? Go ahead, and download the trial and see how easy it is to publish Adobe Flash Lite based games and applications to Ovi Store.

Also, you might like to see what kind of games are already made with SWF2Go and are available on Ovi Store. Check out some great games by Breakdesign at http://store.ovi.com/search?q=breakdesign

The biggest advantage of SWF2Go is that it’s completely standalone product. You just install it, and click the Build Project button. It’s that simple!

Download now and let us know what you think, or you might like to showcase your new game or application on our website :)

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

Why Adobe Flash Player 10.1 is not 11.0?

flashplayer Well, it seems quite late to ask this”¦again, but I’d like to know why?

This update of Adobe Flash Player is huge, and is also the first version from Open Screen Project. It’s super fast, it’s mobile optimized, it’s multi-touch enabled, it’s everything Flash Player 10.0 was not.

I don’t see a reason why Adobe don’t want to call it version 11.0? Anyone else want to know or maybe know why?

Update: I already went through Emmy’s post regarding version numbering. I just think this is a major update, so the change in version number should be major?

// chall3ng3r //

Biggest Flash video player mistakes!

It’s not just me who is stuck on really crappy ISP. I know there are millions of users like me around the world :)

youtube  yahoo_video

bliptv  hulu

viddler  vimeo

I would like to highlight some biggest mistakes which almost every other popular video sharing service make. Yes, that includes YouTube, Vimeo, Google Video, Yahoo Video, or just think of any major service. Just take a look on above screenshots, and try to notice what’s missing?

I know you’re wondering, what are these mistakes?

  • Mistake 1: A simple “Stop” button. Can you believe that? There’s always a Pause / Play button and Scrubber, but no one ever cared about adding a simple Stop button.

    What this button should do? Well, stop the video and break the damn connection!

    If you are on a crappy connection like me, and you clicked to play a video, there’s only one way to stop it sucking all the bandwidth, refresh entire page. Flash Player does offer APIs to close an ongoing stream, but no one uses it.

    Life can be really easy for users on slow connections if there’s one more button to Stop a video in the embedded player.

  • Mistake 2: It’s just my guess, but I think it’s correct that developers who program these Flash video players are on company’s corporate high speed networks. So, they click the video and it plays. What about users on slow connections?

    I don’t think they even bother to test the video playback on slow connection. Flash Player offers APIs to set the video buffer, so the video is buffered for few seconds for smooth playback experience. But again, not used. Or if used, not optimized.

    It’s even worst on Adobe own website, where I noticed videos start playing as soon as few bytes are received. The video plays choppy and on homepage intro video, there’s no Pause button”¦ just imagine how bad impression it makes.

  • Mistake 3: Tiny player control buttons. As there are more and more touch based devices in hands of users, watching videos on these cool gadgets is increasing. But what I found that designers of Flash video players do not think about if the same player is used on such device.

    For example, on my Nokia N900, a cool Maemo Linux based device which can play videos from most of the popular video services, but the controls are not optimized for touch input which makes them hard to use. And really stupid things happen, and user end up closing the video window.

    Well, the developer can detect the device and render different set of controls. But I think the easiest option would be to make one design which fits the bill for desktop + touch device optimized user controls.

  • Mistake 4: I really hate when I try to quickly pause / stop a video by clicking anywhere on video, which opens a new window to service’s website. As the control buttons are already too small, the general sense is to pause the video when clicked on it. Some services do avoid this mistake, but most services just want the user to get to their website, and this seems to be the easiest option for them.

    It’s worst on small screen touch input devices, where user have to do 2-3 tries to actually pause a video. Really bad user experience.

I can just hope and wish my this blog post somehow gets to the actual designers & programmers or decision makers of Flash video players for these video services. And also they try to fix these mistakes.

Do you think there are any more mistakes? Post them in comments.

// chall3ng3r //