Gartner RIA MarketScope: A Rising Tide Lifts All Boats

Boats ImageThere’s always a lot of back and forth between the Flash crowd and the Silverlight crowd. And that’s fine, everyone needs an enemy and competition ends up driving everyone to have better features, better performance, and a better platform. But one of the things I’ve always thought was that Microsoft’s entry into the RIA space would end up being good for everyone. Microsoft has a lot of developers but there are also a lot of developers who don’t like and won’t use a Microsoft solution. Those people also need RIAs.

According to the Gartner MarketScope on RIAs it looks like Microsoft jumping into RIAs pushed adoption across the board in 2009. I don’t have the full report yet but here’s the quote from the blog post that stood out:

Now that Microsoft has validated “heavy RIA” in the eyes of many enterprises, interest in RIA technologies is increasing across the board. Frequent Gartner inquiries indicate that clients pit Ajax vs. Flash vs. Silverlight against each other in evaluations for new RIA projects. What does this mean for JavaFX and other technologies? Tough to say for sure, but my bet is that the “heavy RIA” arena comes down to a battle between Adobe and Microsoft, and that there is enough room in the market for both to be successful.

This isn’t supposed to be a happy-feelgood post. I want Adobe and our community to kick ass and continue to be the leaders in the RIA space. But I’m glad Microsoft is raising awareness; it helps when we can talk about why our platform is better for RIAs and not go back to what RIAs are :) .

I’m stoked about 2010. Especially if it’s a battle between Ajax, Flash, and Silverlight. We’re starting to get a big lead in mobile, AIR continues to do well as a desktop RIA solution, and we’re starting to monetize our own RIAs with services like Acrobat.com. There’s been a slight trend towards “native” which is being led by the iPhone, but don’t discount the persistent desire to create rich, desktop-like experiences with all of the flexibility and scope of the web. The web is still going to win and RIAs will be a big part of that.

Photo by Flickr user jal33

Flash Platform 2009: Year in Review – Part 1

This has been a huge year for the Flash Platform and with 2009 drawing to a close we thought it would be great to go back and look at some of the things that happened this year. I’m going to break it down into 3 parts this week and next, first talking about some of the applications that you all have created. Second I’m going to focus on some of the news we made around the Open Screen Project and our partners. Last I’ll talk about some of the technical enhancements and innovation around our tools, the runtimes, and our new service initiatives.

The strongest part of our technology stack has always been you, the community. It’s the applications and content that you create which keeps pushing the entire web forward and makes our tools and technology shine. There are millions of you who have helped make the Flash Platform the absolute best way to create innovative and cutting-edge applications and in 2009 we had some great examples of that.

  • London Borough of Southwark – A great enterprise example, Southwark created the One Touch system that made it easier for citizens to access government services. One Touch was built with Adobe LiveCycle ES and deployed on the Flash Platform.
  • Marathon Technologies – Built an RIA management console that shows how RIAs can make it easier and faster for customers to get things done.
  • Tweetdeck – A great example of how Adobe AIR lets web developers take advantage of new services, Tweetdeck is the most popular desktop application for Twitter and raised over $2 million in funding this year.
  • FLARToolKit – Augmented Reality became one of 2009′s buzzwords and FLARToolKit created by Saqoosha, a Japanese Flash developer, was a big reason for that. It helped spawn great demos like GE’s Ecomagination and John Mayer’s Heartbreak Warefare video which debuted at MAX 2009.
  • TimesReader and GlobeReader – Digital publishing had a wild year in 2009 and these two applications, built on Adobe AIR, gave us a look at what the future of the newspaper might look like.
  • SlideRocket – An early adopter of the Flash Platform, SlideRocket makes it easy to create great looking presentations on the web. They raised an additional $5 million this year and showed how beautiful and functional a Flex user interface can be.
  • Flash Games – We started talking a lot more about the Flash gaming community this year and it’s going to be a hot topic in 2010. As Adobe brings Flash to more mobile devices it’s going to open up new options for deployment for Flash game developers. Continuity is one standout example of why Flash is still the best platform for game creators.

There are literally thousands of applications that were developed this year on top of the Flash Platform. You can see more examples of what people are building over at the Flash Platform site. If we missed your favorite, let us know in the comments below.

Tomorrow we’ll talk about the Open Screen Project and some of the news it made this year.

Work with ColdFusion and Flex at Wharton in Philadelphia

The Wharton School of Business was the place where I got to first play with ColdFusion 7 and Flex 1.5 which set me on the road to Macromedia/Adobe technology. It’s been a great ride and I have a lot of fun memories of Wharton. I even helped pull one of my co-workers, Terry Ryan, from Wharton on to the Platform Evangelism team.

If you like the education environment (free tuition is an awesome benefit) and are interested in working with cutting edge Adobe technologies then you’ll be interested to know that Wharton has a job opening for a ColdFusion and Flex developer. You’d be working for one of the best guys I know and working on some very cool projects. If you have any questions, feel free to drop me a note over email (ryan@adobe.com) and I’ll answer any inside questions you have. Relocating to Philadelphia is a requirement.

Adobe’s Mobile Strategy: Responses to Aral Balkan

Aral, a well respected member of the Flash community recently posted an interesting article to discuss our mobile and devices strategy.  It’s really great to see community members thinking about our approach, and yes, even criticism is welcome.  So here I’ll try and address Aral’s points and demonstrate why we have the right approach in the immediate term.

Hopefully we can put a few minds at rest :-)

Adobe’s current mobile strategy is very similar today to what it always was: get the Flash Player on as many handsets as possible. Let’s qualify that statement, however, with some all-important details, starting with differentiating the two types of Flash support that Adobe wants to implement on devices:

  • In-browser Flash support (plugin)
  • Standalone Flash application support

Markd: It is absolutely true that our intention, working with our Open Screen Project partners, is to enable the Flash Platform to extend from the desktop and web to devices.  This includes everything from desktop PCs, netbooks/Mids, smartphones and ultimately to the Digital Home.  We believe that by ensuring the availability of a highly optimized and consistent platform that we can enable the creation, and continuation of innovation across all screens.

Some time ago we agreed with our partners that the browser and standalone use-cases were key in this strategy.  Our partners see demand for these, in part because of competition from the iPhone OS and of course to help with their applications strategy.  The Flash community is one of the largest, and obviously most creative group of professionals creating rich user experiences.

For those reasons, among others, we believe that this will result in an uplift for the community and ultimately more business for all of us (we sell tools and services remember).

In-browser Flash support is good*

Getting in-browser Flash support on devices is a logical and understandable goal and Adobe is right to devote as much effort as possible into making that happen. In-browser Flash support on mobile devices means that your mobile phone can render today’s web (which, like it or not, contains heaps of Flash content) faithfully and thus provide a similar experience to what is possible on the desktop.

* That said, given that Flash content is notorious for its high CPU (and thus power) usage, and given that a lot of Flash content on the web today is undesirable from the perspective of the end user (ads, intros, etc.), it would make sense for such in-browser implementations of Flash to voluntarily default to a Flash Block behavior (i.e., have Flash disabled by default with the option to activate Flash content if and when the user wants to.)

Markd: We definitely see a huge value in ensuring that web experiences are made available on devices.  With Flash Lite we spent a huge amount of time and effort in optimization, battery performance and developer workflow (Device Central).  By integrating our engineering teams we added all of that experience to the new Flash Player 10.1 and then some, the proof will land early next year.  That said, you will still have to understand how the Flash renderer works and create experiences that are suitable for devices.  That is true of all development platforms without exception.

I don’t think that blocking Flash as a default option is very important for the vast majority of users.  Many simply want a complete web experience, and while in theory browsing could slow down we have invested alot of energy into startup/shutdown/instance management performance.  Feel free to pass judgement when you’ve actually seen it in action.

The remainder of this post will deal with Adobe’s attempts to get Standalone Flash application support in mobile devices.

Flash Lite: stillborn

Adobe’s initial mobile strategy, dating back to 2005, revolved around getting a cut-down version of the Flash player called Flash Lite on as many handsets as possible.

According to Adobe the number of Flash Lite devices shipped should have reached 1 billion in 2009. While that seems like a huge number, it’s rather irrelevant. For one thing, there is more than one version of Flash Lite so that 1 billion number includes outdated players. Also, that number hides further segmentation in that it includes both devices that support only in-browser Flash content as well as those that support standalone Flash applications. Finally, and most importantly, Adobe failed at making it possible for developers to monetize Flash content and failed to provide compelling reasons for developers to create Flash content for Flash Lite.

Why did Flash Lite fail? Because it went for a lowest-common-denominator approach, trying to support as many devices as possible, instead of focussing on creating a great user experience on one device and expanding from there. In other words, it failed because the focus was on features (in this case: wide-range of device support) instead of user experience.

Markd: Today we have shipped over 1.2Bn devices with optimized Flash Players, but do not ignore that ~700m of these were shipped in the last year.  To call them outdated negates the fact that regional segmentation, and in some cases carrier control, has enabled highly consistent distribution in key markets.

In some cases platform restrictions have limited the availability of standalone or browser plugin support.  This opinion is quite real, sometimes unfortunate, but ultimately based on an out-dated principle that content must run on every device at all costs.  At times I’ve heard this same error crop up from those building iPhone applications, who mistakenly believe that everyone has an iPhone (even when there are 3 devices and 5 OS versions).

I have to disagree completely with the principle that it is Adobe’s role to create an entire ecosystem.  It is not the role of a tools vendor to build businesses to buy their tools, that is of course completely impossible.  In the two years that I have been working on this ecosystem we have seen applications distributed to millions of users, millions of dollars have been made during my time.

One simple game made $2m USD last year alone in one country, and it took 2 weeks to create.  Services have been created in Europe (eg Playyoo) with various successes in the US also, some developers reaching over the $1m USD mark in under a year.  Is that successful?  In fact “sometimes” it is, in reality it depends on your expectations.

The problem is not that we failed to provide monetization, that we don’t have an AppStore or that we reached too many devices.  Flash Lite provided an incredible foothold and allowed us to build a new opportunity in a highly complex ecosystem.  That ecosystem is global and while we didn’t see many signs of “success” here in Europe, in other parts of the world like USA and Japan we did.

I’m unsure how wide and global device support could have affected user experiences, although I’m sure that companies like LG, Samsung and Sony Ericsson would disagree entirely having sold hundreds of millions of devices using Flash as the user interface engine.

Open Screen Project: same old, same old

You would think that Adobe would learn from its failure with Flash Lite that getting your technology on a huge number of devices isn’t worth the effort if no one wants to use it. Unfortunately, their strategy hasn’t changed with the introduction of the Open Screen Project.

The Open Screen Project aims to remove the fragmentation created by Flash Lite and ultimately aims to have a single Flash Player (the latest one) run on every device on the planet (cue: hysterical world-domination laughter). It seems that Adobe has learned nothing from the recent failures plaguing another company with a similar strategy for its operating system: Microsoft.

Where Microsoft struggles to provide at least a mediocre user experience across the countless hardware combinations that it must support, Apple runs circles around it: Having limited itself to a handful of hardware configurations – all, furthermore, within its control – Apple can provide its users with an exemplary user experience. Apple can do this because it wisely chose to control both the hardware and the software, limit segmentation, and focus on the user experience instead of expanding effort in a fruitless quest to run on any given hardware configuration on the planet.

Adobe’s Open Screen Project is a Microsoft-style, Age of Features strategy that aims to get Flash running on every mobile handset on the planet, user experience be damned. The question is: who cares if you can run the same crappy experience on every handset?

Markd: If Aral had come to see my session at Flash on the Beach then he would have heard my talk on “Relevant Reach”.  The principle is quite simple, the world of devices is complex, but largely follows an 80/20 rule for distribution.  In the EMEA5 countries 80% of users can be reached targeting only 20% (285) of mobile devices.  So in reality the wide reach is to ensure that as a developer, or content provider, you can reach the mass audience for a given market.

The Open Screen Project is an initiative that includes the worlds leading OEMs, even the ones that you’ve never heard of.  The achievements made this year are simply unheard of in the ecosystem, and there are more announcements coming of course.  It is however a slow-burner when you look at it from the outside, but if you look at what’s changing, the consistency, updated runtimes, hardware optimizations, chipset alterations.  All of these things are indicative of a massive effort to realise the full potential of Flash on devices, they are not a fruitless effort to scale, but a global strategy from the key players in the devices industry.

The argument “same crappy experience” is a pretty bold opinion and one that assumes alot about the expectations (and capabilities) of many in the Flash community.  We could all argue the value in targeting a single platform, and internally we considered this of course.  Ultimately however, the world is bigger than the device in “your” pocket (whatever that may be), and while Adobe is US company we must consider a global audience and customer base, something that many forget.

Flawed to the core

Adobe’s Open Screen Project and its mobile efforts will fail for one simple reason: they are not competitive when it comes to user experience. A Flash application running on a device will never have the same performance or the range of hardware support as a native application. It will never be able to compete with a native app in terms of user experience. Whereas Adobe’s plugin strategy worked on the web, it has and will continue fail on mobile devices.

(See this post for a more detailed discussion of Write Once, Run Anywhere and how it differs from Write Once, Compile Anywhere.)

Markd: This argument is totally subjective and based in principle on an understanding that Flash should be perfect at everything.  Flash Player 10.1 includes a new JIT technology to speed up the execution of Flash on devices, we use the power of new GPUs and hardware decoders for video and audio.  It is true, at times native code or feature access will be required, that has always been true on any platform.

Our goal is not to run desktop applications on mobile devices, and nor should it be yours.  The Flash Platform is designed to enable content production that *can* be optimized for any device or screen.  If you create an iPhone app then the same piece of content compiled with Flash Professional CS5 will also run on Android, Blackberry and Symbian.  That said, you will still need to invest time and effort to make the user experience compliant with the users expectations.

The user experience is reliant on the capabilities of the developer, the device, and the amount of money spent to achieve relevant reach.  Nothing in this business model is new, not even for the desktop developer.

So what should Adobe be doing instead?

In its scuffles with Apple to get Flash on the iPhone, Adobe has already stumbled onto the strategy that it should be following for mobile devices: focus on tooling and Just-In-Time (JIT) compilation to native applications.

In the upcoming CS5 Suite, you will be able to use Flash CS5 to create native iPhone applications. In other words, Flash developers will be able to reuse their existing skills to build native applications for the iPhone. Native applications that will be optimized for the iPhone and, hopefully, indistinguishable in terms of device-specific support and performance from native applications compiled using Apple’s own tools.

This should have been an a-ha moment for Adobe. And I did hope that it would usher in a new era of focus on Adobe’s core business (tooling). Unfortunately, that doesn’t seem to be case, if this short Twitter conversation with Ted is any indication:

I respect Ted greatly but what he (and Adobe) are missing here is that FPS (the frame rate an application can achieve) is just one tiny variable that affects the user experience of applications on mobile devices. How well are native features like location, multi-touch, local storage, etc., supported? A virtual machine is always going to be a couple of steps behind native applications in terms of device-specific support. It’s a losing game. The focus is wrong.

The majority of Adobe’s revenue comes from sales of its Creative Suite products. As such, it should be keeping its eye on the ball and adding value to the CS products as much as it can by making them the premiere toolset for creating mobile content. Getting Flash application support on handsets is not a requirement for this. Instead, Adobe should drop the huge amount of time, effort, and money that it is currently expanding on this and instead focus on enabling Flash developers to make native applications for the top mobile handsets.

Adobe’s next move should be to support native application creation on Android phones like the HTC Hero and Motorola Droid and maybe even adding support to Dreamweaver for building native Palm WebOS applications.

Markd: Aral’s point here is correct, FPS is not a deciding factor on the success of any platform.  When you put Ted’s comments back in context he is merely addressing a concern that iPhone applications packaged with Flash Pro CS5 will be slower than native applications.  This is absolutely true, even with huge efforts it will always be possible to create faster applications using native code.  Again, this is true of all platforms and you have to weigh up your skills and requirements.  Is it going to be easier to port your Obj-C game to Android than a highly optimized Flash game?  NO.

The core of Adobe’s business is indeed to sell tools, but those tools are successful because of the consistent and expressive platform that they support.  Creating a multitude of wildly varying toolchains and workflows for multiple platforms is not only expensive, but a red carpet for fragmentation.

We will not see another cross-compiler/Packager for other platforms, it simply isn’t required where Flash Player 10.1 and it’s nano-JIT are available.

As with most platforms the mobile space is changing all the time, for this reason we build frameworks and today that’s called FLEX.  In the future you can expect to see a more rational development workflow for mobile and devices, that not only uses Flex, but shapes it into a more optimized and expressive product in time.




Just Ask Us 2 questions answered

After a long wait (sorry), I have finally recorded the answers to the questions from Just Ask Us episode 2. If you happen to follow me on Twitter and were online last night, you had the ability to watch me record it live and ask more questions. I decided to record it using UStream so people can interact and chat as I record. I will do future episodes in this way too but I will make a blog post with the date and time if you want to see it live. In this episode I answered 50 questions from the original blog post and then took a few more questions from the live chat. Below I have put the list of questions along with the timecode so you can seek to the question that you want to see.
Timecode Question
00:00:59 I work with SVN and was wondering if there will be a more source control friendly alternative to the FLA file?
00:01:30 Adobe and Akamai joining forces on a media player is troubling me.
00:02:34 In Flash Builder, if I copy and paste code that I wrote for another class, is there a way to automatically import the necessary classes?
00:03:26 One of the big things that people bring up constantly is the lack of optimization with the Flash compiler. Is this being worked on?
00:04:24 Is Adobe considering expanding the capabilities of the AIR API for a richer interaction with the OS?
00:05:18 Is there a chance the Flash Player or AIR itself will allow developers to work with threads?
00:06:01 What is the focus with the next iteration of Flash Player? Can we anticipate some big ActionScript language changes/additions?
00:07:00 Do you know of any good online academic programs for learning actionscript, flex, and other Flash related material?
00:07:45 Why doesn’t Adobe release Flash Builder for free? Wouldn’t that further promote the Flash platform?
00:08:38 Why is Flash CS4 still too buggy and slow (even after the latest 10.0.2 update)?
00:09:40 Is AS4 finally going to be the grown-up version of ActionScript?
00:10:52 When is the adobe flash player core team going to make a completely new run-time instead of updating it?
00:11:45 Why is there no mouse wheel support for Mac out of the box?
00:12:02 Is Adobe going to rework the animation interface to make it more competitive with Toon Boom Animate?
00:13:00 Why is the built-in tweening engine slower than 3rd party alternatives?
00:13:46 I am from tunisia (south africa). I am wondering if there will any evangelism here in my country?
00:14:25 Flash is a great games platform, so any chance of gamepad/joypad/joystick support?
00:15:15 How about an easy way to use ASDOC in Flash CS5?
00:16:33 Will we ever see an option for true GPU support?
00:17:23 Apple and Microsoft both have very strong distribution networks for independent developers. Is Adobe looking at creating their own?
00:18:10 Is the 31fps optimal frame rate a thing of the past?
00:18:49 Will Patch Panel and Switchboard technologies ever merge into one cohesive product?
00:19:57 Does Adobe have in mind a program for startups like Microsoft’s BizSpark?
00:20:27 How much does Adobe value videogame coders?
00:21:26 What is up with the Flash Player settings dialog? It’s embarrassing.
00:22:17 With basic 3D now supported in Flash, any plans to add a 3D camera similar to how the 3D camera in After Effects works?
00:23:06 Will there be seamless round tripping between Flash CS5 and Flash Builder?
00:23:20 What’s going on with Stratus?
00:24:24 Do you recommend taking the Flash CS4 ACE exam?
00:25:06 Is the next iteration of the flash player going to have native support for any new image/music/video formats?
00:25:51 Is it possible to take a project from Flash into AE? For example using XFL?
00:26:30 Are you going to have diffusion curves in Flash CS5? If you only put them in Illustrator, I’m gonna kill you.
00:27:10 Most of the Flash dev guys I work with cannot understand why fonts don’t work properly in Flash. Is this being fixed?
00:28:01 Will we ever see something like an internal SQL in Flash?
00:28:42 I’m just getting into Flex and was wondering if there was a way to disable the building of the HTML wrapper as the default option?
00:29:27 Can we expect to communicate to lower level .dlls from Flash nativly to create more powerful applications?
00:29:56 Is there a way to monitor the process of XML loading and tell the user, instead of freezing up animations and other things?
00:30:47 What would it take to overhaul the Flash Player to make SWF content more accessible and search engine friendly?
00:31:47 I need to control 5.1 surround sound system in AIR. Will it be in the next AIR version?
00:32:21 Suppose I have a table sitting inside MySQL on a server. If the user changes any values inside a Flex DataGrid, I would like that change to propagate to MySQL. What is the best way to accomplish this?
00:33:25 How do you explain to a client, that Flash is a better option than AJAX?
00:34:52 Is there is any way to launch native application from AIR?
00:35:29 I want to use the mic to allow users to record audio snippets, however, I don’t want the expense and fuss of installing Flash Media Server.
00:36:32 Is Adobe looking for Platform Evangelists outside the US, like Latin America?
00:37:07 I wanted to ask if there will be a pause method in the Timer class?
00:38:18 Will there be an embedded player version that can run AS3 coming soon?
00:39:16 It is awful how textfields represent text with embed images. Will it be improved?
00:40:06 It’s really frustrating that you can’t resize bitmaps in Flash. What is Adobe doing about this?
00:40:37 Is there any possibility of an Adobe Flash college tour?
00:41:03 Will the timeline ever start with frame 0? Seems inconsistent for it start at 1, with the rest of AS3 being zero-based.

Lee

CES 2010 and beyond

With 2009 winding down, Adobe is taking a breather this week. The Flash Media team is recharging batteries for what I expect will be an up year for the industry.

Several emerging trends and industry initiatives point to increased distribution and consumption of premium video online. The challenge for this year will be to find effective ways to monetize all this great content, be it via subscription, electronic sell-through or advertising.

The upcoming commercial release of Flash Access will help bring some of the highest value content to the Flash platform, including support in Flash Player 10.1 and Adobe AIR 2.0, while also enabling new business models.

Stay tuned for additional details next week. I’ll be at CES, and judging from the number of meetings there seems to be great interest in the product and the overall platform. Then it’s back to Vegas the following week for DECE meetings.

On a more personal note, my New Year’s resolution is to become a better tweeter (you can follow me @florianadobe.) We’ll see if this one fares better than last year’s gym membership.

Florian

RIA Architectures: An Exclusive Interview with Adobe's Duane Nickull

DZone recently caught up with me to discuss RIA’s Web 2.0 and SOA as well as other trends in enterrise architecture. In this interview, recorded at Adobe MAX 2009, we revisit the notion of ‘Web 2.0′ and discuss the architectural patterns behind it in the context of the O’Reilly book “Web 2.0 Architectures”. We also discuss some of the new architectural and human interaction patterns that are shaping the way in which we build Web applications today as well as some of the new Flash authoring tools for the iPhone, the Open Screen Project, as well as the impact HTML 5 will have on Flash adoption.

The complete transcript of the interview has been provided here.

AIR 2 Package Assistant “public alpha”

I already sneaked this application last week but in case you missed that: I am building an application that makes it easier to package native installers for AIR 2.0. Instead of having to fiddle around with the command line to create installer, this wizard style application makes it very easy and straightforward.
Now before you got [...]