- There are no premium features in Flash player on desktop anymore. Remember when Adobe said that they’ll charge 15% royalty on games developed using Flash that are making over 150K? Well, according to new update “The use of Stage3D APIs in conjunction with the fast-memory opcodes via the domainMemory API will be available as a standard feature without requiring that content creators enter into a separate license agreement with Adobe.”
- Flash ‘Next’ was supposed to create a new Actionscript engine with powerful features that were not meant to be backward compatible. It seems that that has been put on backburner and Adobe has decided to focus on improving existing AS engine for Flash ‘Next’. According to the white paper “Adobe will focus its future Flash Player development on top of the existing Flash Player architecture and virtual machine, and not on a completely new virtual machine and architecture (Flash Player “Next”) as was previously planned.”
Backward compatibility is definitely important and it may not be a good idea to create Flash player that will render existing content useless. But what happens to AS4? Will it be simply delayed or if this means that Flash VM will pretty much stop at AS3 + enhancements while HTML5 takes over?]]>
I’ve been to FITC in the past, and its been blast. Not only you meet ‘real smart’ people in the conference, evenings are also fun filled with all kinds of parties. So if you are interested, I encourage you to go to their web site and check the program out. Folks at FITC have been kind enough to offer discount to readers of this blog and you can save some $s by using discount code “EmbeddedFlash” when you register.
Feel free to email me if you need any information or have questions.]]>
Take for instance WebGL. Now common perception is that as long you have a browser that supports WebGL, it’ll automatically work on any platform and you’ll get excellent performance. Wrong. (I am talking about embedded systems here - not X86 desktop). The browser will need WebGL implementation adapted for the OpenGL (or other) hardware implementation available on the platform. Till that’s done, applications are running in software and the performance will tank.
Then there are limitations on video playback. Take YouTube for example - one of the limitations that is listed is ‘Pressing Fullscreen button will expand playback to fill browser window’. So you’ll still see top and bottom bar even though you are playing video full screen. Also notice that the ad insertion is not supported today in HTML5 - technology used by Google to monetize YouTube.
DRM is the other area where HTML5 is lacking today. Granted, there are proposals, but it will take some time for them to get approval and reach maturity.
Browser specific features is another murky area. What’s up with -webkit style switches? What happens to non-webkit browsers?
In essence, HTML5 is far away from the problems that Flash tried to solve - ‘write once publish everywhere’. It is perhaps the best approach to solving this problem but there are significant roadblocks on the way (Remember Mark Zukerberg said writing HTML5 app was a mistake?) Having an open standards body is great but could also slow down things as everyone is looking after their own interests and agreeing on something may take longer.]]>
Clearly, the plugin architecture is disabled or user is prohibited from accessing it or is being migrated to something else(Pepper?). (I am sure some reader can access Jelly Bean code and confirm this).
Now, we know that Google has migrated to Pepper plugin architecture on Linux Chrome and that has changed Flash plugin distribution model. Instead of Adobe distributing Flash, Google is now integrating Flash plug-in with Chrome and distributing along with browser. It was not clear how that would translate into mobile world, but it is clear now that either the plugin architecture is either disabled or not available on JellyBean. Therefore, even if Flash plugin was available in the marketplace, users would not have been able to use it.
I did look on the marketplace for Flash and could not find plug-in. This was expected as Adobe has already announced that they’ll remove Flash from market place. AIR is well and alive - and this is consistent with Adobe’s messaging that they want users to consider using AIR rather than Flash. Now whether (or when) HTML5 will fill that gap is anyone’s guess.]]>
Sounds familiar? Remember Adobe’s announcement for Linux desktop support? Google is essentially doing the same. Google is planning on integrating Flash with the browser and will take over distribution of Flash player. So updates to Flash will be provided via Chrome rather than via Adobe web site.
So with that, we’ve covered Windows, Mac (both do not change their plug-in model) and Linux on desktop (via Google/Pepper APIs). What about devices? Well- we now have Windows 8 Metro supporting Flash. So if its available on Windows, then it is likely that Google will try to provide it on Android to stay competitive. (Chrome is already available on Android and it’s been rumored that Chrome may become default browser on Jelly Bean). So in this scenario, we’ve got Flash running on all desktops and two out of three major OSes in mobile world.
It doesn’t come as a surprise to me. Given the investment of millions of web sites have made into Flash today, it is unlikely that they all will migrate to HTML5 overnight. HTML5 is few years behind Flash and has limitations such as lack of DRM support. All the cutting edge content on the web today relies on Flash and will continue to rely on Flash knowing that it is going to be supported on desktop. Market is noticing that and it seems that there’s renewed movement to support Flash. The model this time is different though- rather than Adobe owning distribution, it is being owned by OS companies. This is more logical given the fact that Flash is very tightly integrated with the OS and OS folks understand their technology best!]]>
Netscape plug-in API (or NPAPI), has been around since Netscape Navigator days and has undergone very little change since then. The architecture, although suited well at the time, has not been able to keep up with the fast changing market requirements, particularly for multimedia. We’ve faced challenges with plug-in integration for graphics with Flash for example that were traced to the plug-in architecture and took long time to overcome.
Pepper API is essentially enhanced NPAPIs but has been rewritten by Google from scratch. Some of the advantages offered by PPAPI include (from Wikipedia):
Now given the fact that Adobe is targeting gaming market with Stagevideo, the word 2D and 3D support jump out - don’t they? So hopefully we’ll be able to Flash player capable of running XBox style games on PC!
Then what’ll happen to browsers that don’t support PPAPI? Well, Mike Chamber’s blog says that Adobe will continue to support NPAPI until Flash 11.2. Beyond that, either Firefox will have to support PPAPI or partner with Adobe to come up with something else or just hope that HTML5 picks up. Is this going to lead to more fragmentation on the web? We’ll see.]]>
First, lets look at it from pure technical perspective. Developing, enhancing and maintaining Flash player is extremely difficult process in itself. The amount of technology that is use in Flash is overwhelming. (Where do you think all those ‘cool’ features come from??). Now multiply that difficulty by number of different operating systems (Android, Windows Mobile, QNX….), number of CPUs (ARM, MIPS, X86), number of platform versions (Froyo, Gingerbread…..), number of Flash versions (Flash 10/11, AIR….) and we are looking at a nightmare scenario. To support this kind of product, you need strong engineering organization, alongwith support, QA, and other functions - a big investment indeed.
To further complicate things, Adobe decided that every Flash player must be ‘certified’ that made sure that all features of Flash are tested thoroughly. Now the test suite has more than 2000 tests, and failure of test number say 146 often required drilling down from application to OS to device driver and sometimes even hardware layer. This often resulted in delayed Flash release to market. To top it off, even after certification, there were still one or two instances where Flash did not behave as on desktop and got bad publicity.
Embedded world is fragmented and a single player would never have worked on numerous devices out there. Compare that with desktop which has a single (or may be two) dominant OSes, a single CPU architecture and pretty much standard interface for OS/device drivers. Since Flash on this platform is being developed for several years, all the pieces to develop, maintain and enhance are already in place and a single binary works on millions of desktops around the world. (This may change in the future if and when ARM becomes dominant force in desktop market but your guess is as good as mine on that front).
Now, to the business part. Adobe makes money by selling tools and infrastructure around Flash. Clearly Flash developers were not sure on how to create content for mobile and naturally few purchased Adobe tools to create content on mobile devices. So the equation ‘if Flash is installed on X million devices, Y number of CS5 seats are sold’ simply didn’t hold. To add to that, it became pretty clear that key mobile device OS manufactures will not follow ‘plug-in’ model in the future- so the future did not look great for Flash player on mobile.
Therefore, Adobe had to make a hard decision whether to continue investing in Flash or look for other ways to monetize their products. Clearly they chose the later option. I am sure new products and services are being hashed out by Adobe based on Flash technology at the moment and we’ll see announcements in the future.
In the meantime, we (scaling partners) will continue to work with existing customers on ongoing Flash player requirements. I mean let’s face it- there is no alternative to Flash on internet today. If you are providing internet enabled device, you still need Flash to augment the value. Adobe has given time until next year to ramp down and essentially move away from Flash. What happens after that? Its anybody’s guess!]]>
Only time will tell outcome of the battle but even though these two companies are fighting, they seem to be collaborating big time. For example, it has been estimated that Samsung produce 25% of the components for the iPhone. This includes one of the most crucial pieces of technology in the phone: the Samsung A6 quad-core mobile processor. A while ago Apple announced that they were reconsidering their reliance on Samsung components and were in talks with TSMC (the Taiwan Semiconductor Manufacturing Company) to see if their processor might be replaced by some other. It appears that has not happened and Apple still relies to a surprisingly large extent on Samsung components.
As it always happens in the corporate world, they may reach settlement at some point and continue to sell their products. It is unknown if Samsung or Apple will win the war. But the role played by Flash may become prominent in determining the outcome at some point!]]>
Keep in mind that the certification requirements for Flash have become much stringent over the period of last one year or so. In the previous generation of Flash (Flash 7, FL2/3x), there were no performance or user experience tests when it came to certification. The ATS (Automatic Test Suite) as it used to be called back then, contained only feature tests. With widespread adaption of Flash, things have become much more complicated. ATS is now replaced by DCTS (Device Certification Test Suite). DCTS not only contains feature tests, but also performance and user experience test. Flash certification is tied to actual user experience in some 100 web sites that test the system functionality in entirety. In running DCTS, Flash is thoroughly exercised along with browser, OS and the entire driver stack. So really entire platform is stress tested and getting through certification is indeed a milestone.
If you are an OEM interested in getting Flash on i.MX53 , feel free to drop me a line and I’d be happy to point you in right direction.]]>