Flash Player and Chrome Sitting in a Tree

TechCruch just posted about the news that Adobe and Google are going to be collaborating a bit around Chrome and Flash Player. The basic gist is that Chrome will start integrating Flash Player directly into the browser so that users will always have the most up to date versions and anyone who downloads Chrome won’t need to also install Flash Player. I think that’s good, but the much bigger news in my opinion, is that we’re working with Chrome and Mozilla to revamp the plugin architecture. This has huge implications.

We’ve been using an old-school plugin model for a long time. In fact NPAPI, the plugin interface, stands for Netscape Plugin Application Programming Interface. And as the Wikipedia entry states, it’s so sucessful because it’s so simple. The API basically lets plugins associate themselves with a content type (like a SWF file) and then puts that plugin in charge of all the rendering. There’s not a lot of integration between the plugin and the content in the browser, which means the plugin lives in its own little world and it’s tough to break out. You can do things like ExternalInterface but it’s still pretty hacky.

But under this new plugin model, we’ll have much closer integration at the browser level. There’s a great summary of what this means at the Chromium blog:

Improving the traditional browser plug-in model will make it possible for plug-ins to be just as fast, stable, and secure as the browser’s HTML and JavaScript engines. Over time this will enable HTML, Flash, and other plug-ins to be used together more seamlessly in rendering and scripting.

Think better access to the hardware APIs via this new plug-in model, better access to the DOM, and a generally much better, more stable experience. Flash Player in the browser has always felt a little like a black box largely because of the constraints in the plugin model. Certain things didn’t work quite as you’d expect in a regular HTML site. Hopefully this changes that. In theory this could make it possible to use the save-password feature with your Flex/Flash apps, or make Flash SEO a lot easier, and it allows us to innovate around HTML-Flash integration. If you’ve used AIR, you’ve seen what’s possible when you have complete control over both technologies. This new plugin work makes that easier to do across all browsers that support it. I don’t know when/if we’ll see it, but it’s easier now.

Another benefit is that the API is going to be OS and browser neutral so you won’t see such wildly different performance on different platforms. The hooks that we can use to make the browsing experience better will work across all of the browsers that support the new plugin across all of the operating systems.

Couple of Flash Player 10.1 Nexus One Videos

Last week I did a very quick, Flip Cam-quality video of Flash Player 10.1 running the March Madness on Demand site on a Nexus One. There is some stuttering when I switch from portrait to landscape, but other than that, it plays pretty well. It’s hard to capture with the Flip, but I was pleasantly surprised at how well it worked.

Also, Harish, one of the Adobe Evangelists in India, ported an AIR application he built to a browser app with Flex 4 and shows it running on the Nexus One. It’s pretty slick to see how well a Flex 4 app works on that little device.

Flash Builder 4 and Flex 4 Released

It feels like a long road, but today we’re releasing the final versions of Flash Builder 4 and the Flex 4 SDK. If you were one of the attendees at Flash Camp Boston, you got the final versions on the DVD (but we had to call it a release candidate) so there’s no need to update. For the rest of you, make sure to grab the latest and greatest right now. If you’ve installed previous betas/prerelease versions, you will need to uninstall those before you install the new versions.

I’ve been a Flex developer for a long time, since version 1.5, and I genuinely think this is the most significant release in the history of Flex. We made some huge architectural changes in this version of the SDK. The new skinning model, which separates the logic of a component from the look and feel, is going to let you create some very complex and unique user interfaces. An improved states model along with a much more efficient transitions/effects engine mean that it will be easier to create multi-screen applications with meaningful rich transitions. And arguably the most important thing we did was optimize. The compiler is much faster, which means you’ll be spending less time compiling and more time building.

But the biggest thing about this release in my mind is Flash Builder. This tool has come such a long way and Flash Builder 4 is a home run. The added productivity enhancements like ASDoc support and event handler generation make it so much nicer to program. Throw in things like better refactoring and built-in unit testing and you’ve got a very powerful IDE on your hands. I’ve been using it for a while now, but when I step back and look at it, I’m very happy with what the team accomplished. Hopefully you also enjoy the new network monitor and the DCD features, which make it easy to connect to data and start building RIAs. And with the new leadership in place, the future of Flash Builder is only going to get better.

I’ve got a bunch of articles up on the Developer Center for using Flash Builder 4 with PHP. If you’re a PHP developer interested in testing the new features, these should get you pointed in the right direction. We’ve also got recordings up of all the talks at Flash Camp Boston, which cover a variety of Flex 4 and Flash Builder 4 features as well as some thoughts straight from developers who are going to be using Flex 4 and Flash Builder 4.

Congrats to the teams who made this happen. I hope you all enjoy the hard work that went into the release.

Adobe Tools and HTML5/CSS3

Two of the people behind the products in Creative Suite have started a blog specifically about design and web technologies.

We have been spending a lot of time internally thinking about how our tools can best support and take advantage of some of the new functionality in HTML 5, and we wanted to share a couple of early ideas with you.

I’ve always thought that once HTML5 got a bit more concrete, you’d see design tools from Adobe that took advantage of it. The benefit of Flash is that we control the runtime and can tie features to the development cycle of our tools. Not the case with HTML5 and CSS3. But now that the standards have started to coalesce and have support in more browsers, we can make those features part of our design tools. Hopefully we’ll see a lot more of the examples above and I’d encourage you to keep an eye on the blog for info about design tools at Adobe and the web.

HTML5 Performance Tested Against Flash

ReadWriteWeb distills some results from a Streaming Media post about performance between Flash Player 10 and 10.1 and HTML5.

In analyzing the results of the tests, Ozer determined that the key to better Flash performance was dependent upon whether or not it could access hardware acceleration. This feature, launched in Flash 10.1, allows the plugin to use the graphics processing unit (GPU) on some computers to decode video. Depending on the video card and drivers, (NVIDIA, AMD/ATI and Intel offer products that support this), the video decoding process in Flash 10.1 can now work for all video playback, not just full-screen playback as was available in Flash 10.0.

The streaming media post has some good information about the method used to collect data and it seems like a pretty robust test. He used different machines and collected 29 data points for each test. So this isn’t some isolated test case.

But what I was most happy with was the performance of 10.1 across the board. The Flash Player team has been working their butts off to make Flash Player 10.1 scream and it looks like it’s paying off. The results show huge drops on Windows and good incremental improvements on the Mac. Mac isn’t on par with Windows but that’s because our engineers don’t have access to the same APIs that they do on Windows to get that boost from hardware acceleration.

I think Flash Player 10.1 is going to be a great release and I’m excited to see a leaner, meaner Flash Player get penetration.

Flash and Windows Phone 7

From Mike Chambers:

There has been a lot of buzz in the mobile space lately, and I suspect there will be even more around Windows Phone 7 at next week’s Microsoft Mix conference. One thing I wanted to clarify as it may have been lost in some of the other news is that Adobe and Microsoft are working together to bring Flash Player 10.1 to Internet Explorer Mobile on Windows Phone 7 Series.

So if you’re on Windows mobile, you’re not forgotten and you’ll be getting a Flash Player 10.1 on your sweet new phone.

Flash and Standards Cold War

Very good perspective on Flash and standards.

Both the standards community and the Flash community are extremely good at sharing knowledge and supporting the people within their respective groups. The relationship across communities, however, isn’t nearly as cordial. Two things are happening: either the people within each camp stay to themselves, or one ignorantly hurls insults at the other.

I love that angle. Both camps have very passionate communities but the problem is that there’s not enough cross-pollination between groups. Part of that is that (I don’t think) Flash has done a good job of playing well with HTML. It has been and still is largely a black box. So at a technical level the two technologies don’t work as well as they should have. That carries over into the communities. As a company that makes tools for both HTML and Flash, it behooves us to be involved in both sides of the debate. My hope is that as Flash opens up more and hopefully works better with HTML, the people on both sides will start to work more closely as well.

The Flash Mobile Advantage

A post up about Jeff Smith from Smule and why he won’t ever target Android.

Smith is part of a small but vocal chorus of app developers who say they don’t want to move to Android, even though it is growing quickly. His complaints: He doesn’t like the way the store merchandises its wares, and he doesn’t want to have to create different apps for each handset Android supports.

To me, that helps show the value proposition of Flash on mobile devices. You’re going to have to create custom Flash mobile content for each device. It’s not going to be write once, run everywhere. But you’re not going to have to rewrite an app from scratch and you’ll be able to use the same technologies and tools across multiple platforms which means you can crank out applications faster and make sure they’re higher quality.

As developers get more sophisticated, just like agencies have their own frameworks to give them a head start on the apps they build, you’ll see frameworks that decrease the time to market of mobile applications for different sized screens and different functionality. But the key is being able to use the same tools, the same language, and the same platform so that you can easily tweak and write those applications for multiple platforms.

HP’s Flash-enabled Tablet

Some very cool video of Flash Player and AIR running on HP’s Slate tablet computer.

It’s great to see Flash Player running on a tablet. One of the nice things about the tablet versus the mobile device is that because of the larger screen size, more content will work out of the box. Flash on mobile devices performs really well but the screen size is going to require some UI changes for sites that will be visited heavily by mobile devices. Tablets provide a more big-screen experience.

An Ad-less Internet

A fascinating experiment and follow-up by Ars Techinca on ad blockers.

If you read a site and care about its well being, then you should not block ads (or you subscribe to sites like Ars that offer ads-free versions of the site). If a site has advertising you don’t agree with, don’t go there. I think it is far better to vote with page views than to show up and consume resources without giving anything in return. I think in some ways the Internet and its vast anonymity feeds into a culture where many people do not think about the people, the families, the careers that go into producing a website.

I was recently on a roadshow with some folks from EyeWonder, a company that provides a framework to build and place a lot of the ads on the Internet. Some are very clever, others would fall into the annoying category. During the trip I talked to a lot of the creatives at big agencies who are working with sites to place these ads for their brands and the adblocker concern was a big topic. If their brands aren’t getting the views on the ad, they’re not going to want to pony up, and sites lose money.

What’s worse, is that it becomes a downward spiral where the ads being served become more intrusive in order to get the attention of a fading audience. Ultimately, one of the best conversations I had was with someone who used to be the creative “gate” for agencies on a major network of sites. Agencies came to her with their ad ideas and she was the person who gave thumbs up or thumbs down on the ad depending on whether or not it was too obnoxious or wouldn’t jive with what the network’s users expect.

To me, that’s the key. Flash may be synonymous with advertising now, but the same obnoxious ads are going to be created with HTML5 when it becomes prevalent, so the people creating ads have to build them so that they’re targeted and interesting. I don’t think they have to be static, or can’t take up the whole page, but they should follow some basic guidelines (auto-playing sound being a terrible, terrible scourge) and leave the user in control. Close buttons should be obvious, mouse out events should minimize the ad, and it should be difficult to accidentally trigger it. And making sure ads are optimized so they aren’t causing Flash to spin up the CPUs is key to a good user experience.

The web is an interactive place and there is a lot of very interesting work going on in the interactive advertising space. That work directly funnels money back to your favorite sites and pays a lot of bills.