Tag Archives: flash

Fragmentation and the RIA wars: Flash is the least bad solution

The latest salvo in the Adobe Flash wars comes from the Free Software Foundation, in an open letter to Google:

Just think what you can achieve by releasing the VP8 codec under an irrevocable royalty-free license and pushing it out to users on YouTube? You can end the web’s dependence on patent-encumbered video formats and proprietary software (Flash) … Apple has had the mettle to ditch Flash on the iPhone and the iPad – albeit for suspect reasons and using abhorrent methods (DRM) – and this has pushed web developers to make Flash-free alternatives of their pages. You could do the same with YouTube, for better reasons, and it would be a death-blow to Flash’s dominance in web video.

Fair point; but one thing the FSF misses is that Apple’s stance has not only “pushed web developers to make Flash-free alternatives of their pages”. It has also pushed developers into making Apple-specific apps as an alternative to web pages – which to my mind is unfortunate.

The problem goes beyond web pages. If you have an application that goes beyond HTML and JavaScript, maybe for offline use or to integrate with other local applications or hardware, there is no cross-platform solution for the iPhone, iTouch or forthcoming iPad.

While I understand that non-proprietary platforms are preferable to proprietary platforms, it seems to me that a free cross-platform runtime is less evil than a vendor-controlled platform where I have to seek approval and share income with the vendor just to get my app installed.

More broadly, it is obvious that the days of Windows on the desktop, Web for everything else are over. We are seeing a proliferation of devices, each with their own SDK: alongside Apple there is Palm WebOS, Nokia/Intel Meego, Google Android, and when Windows Phone 7 comes along, Microsoft Silverlight.

The question: if you have an application and want to reach all these platforms, what do you do? A web app if possible; but otherwise?

It is the new fragmentation; and frankly, Adobe Flash is the closest thing we have to a solution, particularly with the native compilation option for iPhone that is coming in Creative Suite 5.

I don’t like the idea of a single company owning the runtime that unifies all these platforms. That’s not healthy. Still, at least Adobe is currently independent of the obvious industry giants: Google, Apple, Microsoft, IBM and so on.

Dealing a death-blow to Flash is all very well, but the end result could be something worse.

Windows Phone 7 development rumours abound

News about the Windows Phone 7 development platform is leaking out, ahead of its official unveiling at the Mix conference next month. Rumour has it that both Silverlight and the XNA gaming framework will be supported, for creating consumer-focused applications, together with limited access to native APIs subject to Microsoft’s specific approval.

The controversial aspect, if these ideas prove to be accurate, is lack of compatibility with existing applications. It seems possible that C++ applications written for previous versions of Windows Mobile will not run, while those written for the Compact Framework will need porting to the Silverlight UI.

While there is little love for Windows Mobile, it is used for business applications where it integrates well with the rest of Microsoft’s platform. Since Windows Phone 7 seems to target the consumer, Microsoft may argue that this does not matter, since businesses can continue to use Windows Mobile. You would imagine, though, that enthusiasm for continuing with Windows Mobile will be limited given the superior usability of Windows Phone 7. Maybe a professional edition to follow in 2011?

One thing we know for sure is that Adobe Flash is not supported in the first release, though Microsoft says it is not opposed to it appearing on the platform in future. That in itself is interesting, since Adobe is hardly likely or able to rewrite Flash in Silverlight or XNA. Will certain important developers have privileged access to a wider range of native APIs? Despite rumours, there is still plenty to speculate about.

Flash developers are now mobile developers

Adobe’s announcement of AIR for mobile today at the Mobile World Congress means that any Flash or Flex developer can compile an AIR application that will run on a supported mobile device. I understand that AIR for mobile is a subset of desktop AIR, but does include Flash Player 10.1, local database support with SQLite, and access to local storage, so it is not lacking in capability. Apparently it will be possible to have a single .air file that will run across desktop and devices, perhaps with conditional code to account for differences in device capability. Some features, such as multitouch and accelerometer support, are more likely to be found on a mobile device than on a desktop, though things like screen size and available storage will be more constrained.

Until now it has been Java that comes closest to providing a common runtime across desktop and devices. Flash promises a more consistent runtime as well as stronger multimedia and graphics capability. Thanks to Apple, the app store concept is now well established and AIR applications fit well with this model, though not exclusively so. It will also be possible to deploy AIR applications from your own web site. I think there will be considerable interest and take-up for AIR on mobile.

Initial support will be for Google’s Android OS, with others to follow – with the exception so far being Apple.

This is where it gets interesting. Whereas Flash in the browser is blocked on Apple iPhone and (as far as we know so far) iPad, Adobe has a native compilation option for Flash applications targeting these devices, preserving some kind of deployment story. Clearly from Adobe’s perspective it would be better and easier if Apple allowed the AIR runtime onto the device. It’s less clear that Apple device users are really losing out though, and there is even an argument that they benefit, if you think that native code is a better solution for a mobile device.

In other words, the introduction of AIR for mobile does not really put any pressure on Apple, since Adobe has already come up with a good alternative. There may be some indirect pressure, since growing use of the Flash runtime outside the browser may also increase its significance within the browser.

A lot hinges on the quality of the mobile AIR runtime, particularly in respect of memory usage, which has tended to be greedy in desktop AIR.

Pros and cons of Adobe’s LiveCycle services in the cloud

Adobe has fully released LiveCycle Managed Services, offering a hosted platform for LiveCycle applications. The software is configured and managed by Adobe, but runs on Amazon’s EC2 (Elastic Compute Cloud) virtual servers.

LiveCycle is a suite of applications which I think of as two things combined. On the one hand, it forms a server platform for business process or workflow applications based on Adobe PDF forms and documents. On the other hand, it provides data services for Rich Internet Applications, usually but not necessarily to client applications on the Flash runtime, either in or out of the browser. It is a little confusing, but these two aspects are essentially the old Adobe Enterprise platform merged with Macromedia’s work in support of Flash, combined into one suite after Adobe’s takeover of Macromedia in 2005.

The usual arguments in favour of hosted services apply and this is a smart move from Adobe. Still, customers are currently forced to use Amazon for the actual virtual servers, even though others such as Rackspace Cloud Servers are substantially cheaper than Amazon EC2. Is that a problem? According to Adobe’s John Carione, senior enterprise product marketing manager at Adobe, “when we were evaluating vendors, we think that one of the areas Amazon excels in is around security.” I noticed that the security topic also occupies around one-third of this introductory video, suggesting that this remains a significant barrier to adoption for many potential customers.

So how will managed LiveCycle work? “We’re providing a fully managed service, and part of that is going to be delivered with what we’re calling  the Adobe Network Operations Center … which is going to provide 24×7 monitoring of the applications, backup and recovery, upgrades. They’ll be one contact at Adobe to talk to about everything,” says Carione. Apparently the Network Operations Center is based on a piece aquired with Omniture last year. Ominiture was a web analytics business which was based on hosted applications and services; maybe that was an important factor driving the acquisition.

When I asked Carione about ease of scaling, I got a slightly defensive answer. “This is a v1, we have the opportunity for customers to buy additional instances. In the future we’ll have more of that dynamic scaling.” Another issue is integrating with on-premise resources such as databases and directory services, which Carione says is a matter for business integrators; in other words, a significant challenge. And what if Amazon goes down? Carione did not answer directly, but said that 99.5% uptime is guaranteed.

Adobe Flash getting faster on the Mac

According to Adobe CTO Kevin Lynch:

Flash Player on Windows has historically been faster than the Mac, and it is for the most part the same code running in Flash for each operating system. We have and continue to invest significant effort to make Mac OS optimizations to close this gap, and Apple has been helpful in working with us on this. Vector graphics rendering in Flash Player 10 now runs almost exactly the same in terms of CPU usage across Mac and Windows, which is due to this work. In Flash Player 10.1 we are moving to CoreAnimation, which will further reduce CPU usage and we believe will get us to the point where Mac will be faster than Windows for graphics rendering.

Video rendering is an area we are focusing more attention on — for example, today a 480p video on a 1.8 Ghz Mac Mini in Safari uses about 34% of CPU on Mac versus 16% on Windows (running in BootCamp on same hardware). With Flash Player 10.1, we are optimizing video rendering further on the Mac and expect to reduce CPU usage by half, bringing Mac and Windows closer to parity for video.

Also, there are variations depending on the browser as well as the OS — for example, on Windows, IE8 is able to run Flash about 20% faster than Firefox.

Many of us are not aware of these kinds of differences, because we live in one browser on one operating system, but the non-uniform performance of Flash helps to explain divergent opinions of its merits.

I would be interested to see a similar comparison for Linux, which I suspect would show significantly worse performance than on Windows or Mac.

Adobe Flash vs Apple iPad: RIA in the balance

Adobe evangelist Lee Brimelow has posted some images of well-known sites that break if Adobe Flash is not enabled. His point: if Apple’s iPad does not support Flash, none of these sites will work correctly.

While true in the short term, I do not think this is an effective line of argument. 

Let’s presume that you run one of these Flash-dependent sites. Now along comes a popular computing device that no longer displays Flash content. It’s already happened with the iPhone; but iPad is more serious because it has a full-size web browser, and many of us tolerate strange behaviour in a mobile web browser because we are used to it. Further, I’m guessing that some of these sites already adapt their content for iPhone.

What happens now? One of two things. Either Apple is persuaded to add support for the plugin; or the site owners fix their sites, detecting iPad/iPhone and substituting Quicktime or HTML5 content in place of Flash. In the case of the major sites such as those Brimelow lists, I doubt that second process would take long.

Result: people complain less, the pressure is off Apple and on Adobe.

I do not take the success of iPad for granted; but it is plausible; and if the device does become popular it is going to make Flash-centric web developers re-think their strategy. Further, if it fails, I doubt it will be for lack of Flash. Users do not care about Flash, they care about content, and the iPad will provide plenty of that.

The problem for Adobe is that much of its strategy is now built on the Flash runtime and its presumed ubiquity. If you compare Creative Suite 4 to Creative Suite 3 you can see how Flash is more pervasive, in several different roles ranging from rendering capabilities to code execution. It will be even more so in Creative Suite 5.

Applications built with Flex are equally affected. And note: if Flash is struggling to get over the wall into Apple’s orchard, Oracle Java will struggle more, and Microsoft Silverlight more still. It is not just Flash, but much of what we think of as RIA (Rich Internet Applications) that is at stake.

It is not over yet. If Apple is primarily concerned about browser stability, rather than controlling the platform, then Adobe may yet satisfy its requirements. Second, the iPad might fail – not completely, but enough to make it an unimportant niche. iPad is expensive and most users don’t get the tablet concept; it is not a sure-fire winner.

If neither get-out comes to pass, what can Adobe do? There are a couple of mitigating factors. One is that Adobe has already been thinking about how to deal with Apple devices. At the Adobe Max conference last year we saw its Flash to native code compiler, which will be in Creative Suite 5. It only targets iPhone; but no doubt iPad can be added. It raises the possibility of more Flash applets becoming native applications in the App Store. Money and control for Apple; but at least your code will run.

We also saw, in the Max sneak peeks, how Flash can be rendered server-side, and served to the browser as video. It’s an interesting thought if you simply must get your Flash content working on the iPad.

Another point is that Adobe is at a design tools company, and it can adapt its tools to be less focused on Flash. Another feature we saw at Max was an Illustrator to SVG converter. It is now in Adobe’s interests to work more intensely to advance HTML standards, to make them better clients for rich content.

Still, Apple has come up with what may be a significant roadblock to Adobe’s ambitions for what it calls the Flash Platform.

Web standards people may cheer this, on the grounds that a Flash-free web is less broken. I am not cheering though. Vendors locking down their devices is not a healthy way to advance web standards. Further, Flash is an amazing runtime. Flash enabled YouTube to succeed. The BBC iPlayer project did not deliver on its promise until it converted to Flash. Flash provides web developers with a consistent runtime that has value in entertainment, in education, and in general applications. One of the first things I install on Windows, Mac or Linux is Adobe AIR, which lets me run a desktop Twitter client.

Here’s my vote for Flash on iPad – and Silverlight and Java too, if the user wants their capabilities.