Posts Tagged Flash Player 10.1
Yesterday at the Imagination stand we spotted Brendan Iribe from Scaleform, one of the most amazing SWF rendering engines available. I actually heard of Scaleform about three years ago through our Korean team, it’s taken this long for us to connect.
Above, you can see a 3D game using the Unreal engine and looking great. What’s interesting is that the control system, which floats in the air in 3d is actually created in Flash Professional. The power of the Scaleform tools means that these SWFs can be tessellated (vectors to triangles) and run directly within the 3D engine.
It just makes so much sense, why on earth wouldn’t they use Flash to create this type of UI? I’m also starting to wonder just how much more Flash content is created out there and played back on a “custom” SWF Player.
Update – Scaleform announced that they have been acquired by AutoDesk.
It’s Day 2 of the Mobile World Congress in Barcelona, and what a great start to the show. We have announced that Flash Player 10.1 is installed now on over 20 million devices, and AIR is available on 84 million. Those numbers are incredible, and well above expectations for the first six months after launch. In 2011 I predict that we’ll be looking at huge adoption curve throughout 2011 and I’ll be sure to update you as we grow the install base.
Most importantly, you have all been very busy it seems, with thousands of applications shipping across these devices and more to come.
The Blackberry Playbook is really becoming a hit with developers, everyone at the Blackberry events here is building something. We’re hearing great things from the community here, and this coming Friday we’ll have our yearly “AdobeDays” event at the Barcelona office. Let’s hope I make it until then!
Everyone on the stand has been hugely impressed with the device capabilities, and we’ve spent a lot of our time speaking with Java and Blackberry developers that are planning to create their first applications in Flash for the Playbook.
We saw the launch of the aptly named “Samsung Galaxy Tab 10.1″, and the Galaxy S II – which has really stolen the show in terms of design. Here is Adobe’s David Whadhwani, SVP/GM Creative Interactive Solutions BU on stage at the Samsung launch and talking about the successful relationship that we’ve had with Samsung for years now.
David also take the opportunity to remind the audience about AIR 2.5 for TV, and Samsung’s commitment to delivering support for your applications across their latest ranges – and that includes BlueRay Players. Samsung are almost the definition of why we created the Open Screen Project, we’ll obviously be talking a lot more about these devices later this year.
We have released Flash Player 10.1 to our OEM partners in what has been an incredible engineering effort working with our Open Screen Project partners. One of the problems with the Flash Player generally, is that it is invisbile. As a user its so easy to forget that a single web technology is powering billions of videos, games, Rich Internet Applications and now desktop applications with AIR.
So we have been working with the worlds leading content providers, alongside our OEM partners to create experiences that shine. With that, we’ve aggregated these together over at m.flash.com so that you can enjoy them on your mobile phones. I think it will really help to sell those mobile and device projects that we’ve all been thinking about.
If I’m honest, this is the one that I have been most excited about, and this week the BBC launched iPlayer 3.0. with support for Android Froyo devices and Flash Player 10.1. As I live in the UK, and I know many of you don’t, let’s take a look at just how huge the service has become.
Simply put, iPlayer is like Hulu for BBC content providing video on demand services for UK citizens. Using the service we can watch BBC content that we’ve missed, across 10 TV channels and 11 radio stations. On top of that, we can also watch TV live using iPlayer online to work around poor terrestrial signals – or in my case, a tiny television
In perspective (BBC iStats for May 2010)
- 130m radio and television streams watched, across PCs, consoles and mobile phones
- 13m live streams were broadcast, including a huge amount of live radio proportional to video streams
- 6.5m video/radio requests from mobile phones
- Peak usage tracks linear broadcast usage almost exactly – the shape of things to come
Currently the iPlayer is available on the Nintendo Wii, PS3, Mac, Windows, Linux, Symbian, Windows Mobile and iOS devices. As you would expect, when it comes to scaling the iPlayer platform across all of these devices, the task is huge. That’s where Flash comes in, if you look at the list above (and more still) we have demonstrated Flash on all of them.
When you test your Flash-enabled site, why not let me know? Let’s add it to m.flash.com
This the final video in my EVA series focusing on the widgets that I have created for the App in a week seminars. As you’ll discover, it’s really very simple to create a Twitter client, and to integrate Twitter services into new or existing content to add a social element.
EVA’s social widget was created using the Tweetr component library from Sandro Ducceschi at Swfjunkie.com. He has done an incredible job to build out a complete API for Actionscript 3 developers, taking care of the horrors of Open Authentication and connecting to the Twitter API. It’s really as simple as creating a few objects and an application token, Sandro has also provided great tutorial videos.
Tweetr requires the open source AS3Crypto component library, a package of classes that help with encryption for client/server applications. In this case Tweetr relies on AS3Crypto for the Open Authentication communication, another great example of how great the community is.
Finally, I spent a very long time trying to find a suitable List component for this application. There are many great sets of components out there, not least of which is Flex. Of course Flex on Mobile devices is going to take some time, so I was glad to finally come across FlepStudio.org and the Tipper component.
If you want to learn more about mobile optimization then drop by the mobile pages at the Developer Connection. Also coming up in June are some great e-seminars where you’ll learn more about going multi-screen.
One of the most common problems with Flash applications are memory leaks, programming flaws that cause Flash Player to loose access to memory that it could recycle otherwise. In the mobile space it’s crucial to understand memory management to get the most out of the Flash Player, and ultimately to ensure a smooth ride for your consumers.
Flash Player memory management
Flash Player makes use of automatic memory management, to help you to create applications with ease and with less code. In fact the Flash Player uses a pretty simple mechanism that determines how many times you have referenced a particular object. Once an object has nothing referencing it then it can be garbage collected – predictably it’s called “reference counting”.
The following is a great example of reference counting in action, notice that I have created a Geolocation object (geo) and added updateHandler as a listener function for update events. This counts as a reference against updateHandler:
var geo:Geolocation = new Geolocation();
The updateHandler function marks the geo object null, tagging it for deletion by the garbage collector which is great. The problem is that the geo object still has a reference to updateHandler, and therefore the geo object cannot be deleted until we remove the listener and free the reference up.
Memory leaks are easy to create in Flash, and even harder to debug later. It’s therefore essential to build your applications with memory in mind and use all tools at your disposal to keep checking for leaks, slow performance, and run away code.
Flash Builder Profiler
Flash Builder 4 ships with a new feature called the Profiler and in the video below I’ll show you how to use it to solve a memory leak. Now don’t be fooled, this memory leak took a few hours to solve in reality – these aren’t easy problems to solve.
In fact I found two memory leaks, the first is the ExternalInterface.addCallback holding onto a function reference. The other is more complex, and I have marked it “Flash Player Bug” as I believe this is a problem with the runtime itself.