Tag Archives: Development

Adobe & Flash Hit Main Stream News with TV Deal

Flash Apps On TVThis morning Adobe announced Flash Player will be making its way onto a number of home entertainment devices. Including TV’s, Set Top Boxes and Blue Ray Players. While similar anouncments were made earlier in the year, it is the latest announcement that has seen Flash and Adobe thrust into the main stream news, as the story was featured on the BBC front page and covered in-depth. The article explains this deal could:

create a new generation of connected entertainment services, including streaming video in high definition, and applications that can run in real time alongside video broadcasts, such as interactive news tickers, sport scores, quizzes and the weather.

By embedding the flash player onto chip Adobe and their partners must be solving some of the problems Sean McSharry posted some time ago in regard the challenges on Creating a Flash IPTV System.

On a visit to the IPTV world forum last month at Earls Court both Flash and Adobe were given very little mention. Which I found a little odd. While a large number of vendors were tipping there hat to FLV support, there seemed to be a lack of full Flash based UI’s on display.

Instead most GUI implementations appeared broadly to fall into two camps. First were those using a Microsoft OS implementation, the latest one seems to be Mediaroom (Link requires silverlight). The other choice seemed to use an SVG display layer with some form of webkit or browser based implementation. Regardless, as Serge Jespers mention in his post, most of the interfaces and functionality were a long way away from the slick interfaces and wonderful mashable, connected experiences we have been spoilt by on the web and desktop for so long.

In one conversation I had the problem facing developers was made clear. It will be an issue any mobile developer will know all too well. Limited performance from the device. Even the most recent silicon going into set top boxes or internet enabled television sets is far behind the processing power we are use to on our desktop or laptops these days. For example when using SVG as a display layer on an High Definition Television (HDTV) I was told it may only be possible to re-render a small potion of the screen at a reasonable frame rate, maybe only 1/8th of the screen. Its this limitation that keeps the interfaces simple with very limited animations or transitions.

On television this issue of performance is further compounded by the platform itself. This is not a small screened, only seen for a few minutes, operated by your more technically savvy user, problem that mobile user interface or application development might suffer from. Oh No! This is a 46 inch or larger, always on display, sitting in the corner of the living room, being seen 356 days a year for a couple of hours or more, by any user from 5 years to over 90 years, type of problem. To make things even worse, on a TV the comparisons are not made between “other applications” on the device, as a user might do with an applications on other platforms. No. The comparison is most likely to be made with the main service provided by TV. That would be the full screen video content that the user has been accustomed to recieving and running smoothly at 25/50+ frames a second. Not only that it has worked for the user that way that well for as long as they can remember, well over a two decades.

Lets hope that the flash player talked about in Adobe’s anouncments can really perform on this platform. If it can, it should mean some great performance improvements for any Flash Platform developer. If it can open the door for me to develop the types of experiences Serge discusses as well, were all our modern communication networks can extend and converge into our living room… Well I cant wait!

Memory Management in Flash Lite and ActionScript 2 using ASUnit

In my new position the team I have joined and me are carying out some in depth testing of an Action Script 2 code base for Flash Lite 3 using, among other things, ASUnit based unit and acceptance tests. The early stage of development means it is too soon to leverage the new automated testing features of Adobe Device Central CS4. One of the most important aspects of our testing has been to check memory use over the lifetime of the applications we are developing. We are interested in tracking any memory leaks in our code and also any memory space fragmentation as the Flash Lite player creates or destroys objects and classes.

This memory information is viewable from Adobe Device Central in the Memory Panel, where device central provides a graph showing memory usage over time, separating Static Heap and Dynamic Heap consumption of the player as your Flash Lite application runs.

MemoryPanel.png

Testing for memory use, loss and leaks is currently not present as standard in ASUnit for ActionScript 2. In order to include this form of testing at a basic level we have employed a trick I picked up at Max San Francisco this year (If you are the person that explained the trick, please leave a comment so I can credit you). The technique makes use of the FlashLite SharedObject as a way of measuring the file size of objects and classes before and after you think you have destroyed them in your code.

The premiss is a simple one. In your test as part of the test setup create a local SharedObject create an empty data property and save the SharedObject to disk, then call the SharedObject.getSize() method and store the size of your empty SharedObject. The code should look something like this.

// size variation threshold for the SharedObject
private static var SIZEVARIANCE:Number = 5;
private var iS:SharedObject;
private var iSSize:Number;
// standard ASUnit test setup
private function setUp():Void
{
instance = new TestableClassObject();
iS = SharedObject.getLocal("iS");
iS.clear();
iS.data.iS = undefined;
iS.flush();
iSSize = iS.getSize();
}

Some things to keep in mind are the following. The length of the SharedObject name and the length of the data property name will have an impact on the result of SharedObject.getSize(). In the above example I have limited both these values to 2 characters (‘iS’). All that remains is to link the value obtained from this setup function into a standard ASUnit test which looks something like this:

public function testDestroy():Void
{
instance.destroy();
iS.data.iS = instance;
assertTrue("testDestroy : test that the TestableClassObject 'instance' is destroyed successfully by checking size variation (" + SIZEVARIANCE + ") in SharedObject", ((iS.getSize() - iSSize) < SIZEVARIANCE));
}

In this test I am simply calling the target class instance’s destroy method, which should manage the removal of any stored references, arrays and object present in the class. I then save the locally stored instance back to the existing shared object, re-call SharedObject.getSize() and compare the size difference to the value of our initial empty SharedObject (iSSize) from the test setup method.

If the file size of the SharedObject is greater than the SIZEVARIANCE threshold then the test will fail. If that is the case then you have the ability to inspect the shared object using a SharedObject viewer (I use the free Solve by Darron Schall). In the viewer you will be able to see what items are not being properly removed from your class instance oronject. A common issue I have seen is the failure to destroy arrays that are prpperties of my classes for example. Some time over the holiday break I will put together a full example for download.

BitTube Goes Over the Air

Thats right, its all very last minute but I will be presenting a session at the upcoming Over the Air event in London this week.

My session is scheduled for Friday afternoon.

Flash Video Nokia Masterclass – Dave Williamson (Adobe)Learn how to create live video applications with the most popular online video format on Nokia devices.

Over the Air is all sold out now, but you can find all the information about the event over at the Over the Air Blog

I look forward to catching up with you if you are there.

Google Gears for mobile & Nokia Silverlight Support

First up is the announcement yesterday from Google thats Google Gears is making a move onto Mobile devices.

Initially available for Internet Explorer Mobile on Windows Mobile 5 and 6 devices, mobile web app developers have already started integrating Gears for mobile into their online services.

also

if you’re not a Windows Mobile user, stay tuned — we’re working to roll out Google Gears for other platforms with capable web browsers, including Android.

you can find out more at the Google Gears on Mobile Devices developer site.

Separately, today came news from Nokia that they are to add support for Silverlight on S60 and Series 40 devices on Symbian OS and Nokia Internet tablets.

This is an important relationship on so many levels. Working with Nokia means we are easily able to reach a huge number of mobile users, including customers of all S60 licensees. This is a significant step in gaining broad acceptance for Silverlight and ensuring it is platform agnostic. This is critical since we want to make sure developers and designers don’t have to constantly recreate the wheel and build different versions of applications and services for multiple operating systems, browsers and platforms

said S. Somasegar, Senior Vice President of Microsoft’s Developer Division.

Exciting times ahead 😀

credit where its due:

Creating a scrolling text component in Adobe FlashLite 1.1

Recently I have been heavily involved in an on going FlashLite 1.1 based project. Some thing I know my development peers have been extremely jealous of as they bang their heads against the hellish development processes of Flex, Air, ActionScript 3 and Flash 9, not!

One of the most enjoyable features of FlashLite 1.1 is its (lack of) ability to measure the height, width or any metric of text once it is displayed on the screen of your shiny new Nokia N95. This makes efficient text scrolling a particular joy to produce. To this end I have produced a simple example of a fairly flexible scrolling text component for FlashLite 1.1.

Below is a comprehensive (hopefully) tutorial describing how to create such a component.

Continue reading Creating a scrolling text component in Adobe FlashLite 1.1

Apple Introduces the iPhone Dev Center

This morning I received an email from Apple letting me know I could now log into the iPhone Dev Center

The iPhone Dev Center will provide quote.

  • iPhone Reference Library
    Access documentation, guides, and release notes on developing web applications and content for iPhone.
  • Web Development Guidelines
    Get the latest development techniques on mobile browser-based user experience design and development.
  • Sample Code
    Learn techniques for interactive and standards-based design on iPhone
  • iPhone Tech Talk Videos
    Hear from iPhone experts on interface design and processes in optimizing web applications and content.
  • Safari Compatibility
    Download Safari 3 Public Beta and design your web application to create the optimal iPhone user experience
  • Web App Submission
    Once your app is ready, submit it for possible listing in the Apple web apps library.

Find out more at the iPhone Dev Center.

Adobe Provide FlashLite Side by Side Comparisons

Along with the news of updates for CS3 and Device Central to support FlashLite 3 Authoring from within the CS 3 suite of products. The FlashLite product website has a side by side comparison of various Flash player specifications that are currently being used in Mobiles and other devices.

see the Flash Version Comparison Chart

Some Points of interest for me were the following:

  • The FlashLite 3 player is actually smaller than the FlashLite 2.1 player
  • The minimum memory requirements for the FlashLite 3 player is un-altered
  • The recommended memory is un-altered for for the FlashLite 3 Player
  • There is no improvement in the worst case memory usage of FlashLite 3 content over FlashLite 2.1
  • Added support for meta data in FlashLite 3 Content

Also I see that the FlashLite 3 player has “External API for browser scripting”, assuming there is a mechanism to update the players within device web browsers this may well offer a clean interface for the detection of screen orientation I have been experimenting with lately.

Another interesting point FlashLite 2.1 and FlashLite 3 seem to both offer support for “Complex languages (Thai, Arabic, Hebrew, etc.)”. Yet this is still not supported by the desktop player? Yet.

Google introduces Worldwide Caching Proxy. Sort Of.

Last week Google launched the new Gadget Ad, these seem to be some pretty 2.0 ad deliveries. Allowing a kind of cross between RIA/Widget that users can have installed on their iGoogle page. Google are offering an caching proxy, presumably this will allow more geographically relevant delivery of the ads that are produced. Speeding up the delivery time. The interesting thing is that is seems to be completely open at the moment.

I ran a quick check to see what I was able to access, bearing in mind I have provided no other personal information, and it all and sure enough no problems with my header image.

image_bg.jpg

I would assume this proxy could be put to use for any of the media that is supported by the Gadget Ad Format. Which of course includes Flash Files.

More information can be found over at the google gadget ads help pages

So there you go Google Content Delivery Network, ideal for speeding up your RIA, semi connected AIR applications or how about your mobile application? It seems like a workable CDN solution, for now at least.

Adobe Unveils Technical Communication Suite

I stumbled across this on the Adobe.com press area. The suite looks like it contains all the products you could need from Adobe if you are required to produce Technical Documentation, Training Material, Help files for products and even E-learning courses.

Adobe Systems Incorporated (Nasdaq:ADBE) today announced Adobe® Technical Communication Suite software, a first-of-a-kind, integrated solution for authoring, managing, and publishing technical information and training content across multiple formats and languages

The Full Press release can be found on the Adobe.com Website.

Adobe Unveils Technical Communication Suite

Bill Perry presentation availible for download, Creating and Selling Your Mobile Flash Content

Bill Perry has posted a very interesting presentation, the subject is Creating and Selling Your Mobile Flash Content. You can down load the presentation from Bills Site.

Creating and Selling Your Mobile Flash Content

I also noticed Bill has a document linked at the very top of his site, under the banner “Addressable devices for developers“.