Welcome to the AppleNet

Your addiction to shiny new consumer electronics will fund Apple in it’s mission to erode your freedom to consume the content you want through the channel you want at the price you want.

You will not be allowed to access some content on Apple devices regardless of its merit. Apple will apply this content censorship at a hardware level based on nothing more than the format content is published in. This censorship will include the music, videos, games, books and applications that you consume, use and own now and those you may want to access in the future.

You will pay whatever Apple tells you to pay for Apple sanctioned content, but will only be able to purchase it through an Apple sanctioned mechanism. You will put up with this because Apple says it’s going to be better that way, easier, it will just work.

This will all be fine, because the content that is deemed worthy will all be based on ‘open’ standards and technology.

Welcome to the AppleNet.

Steve.

Mobile Design UK event Announced - 4th June

The details of the next Mobile Design UK event have been posted, the Mobile Design UK event will take place on the 4th of June at the Tavern Room at RSA on John Adam Street in London.

The last Mobile Design UK event was really well presented and provided some great insight into the technical and cultural challenges faced by designers and interaction designers when trying to target mobile platforms.

You can get the full details and registration information of the upcoming Mobile Design UK event from the Mobile Design UK website.

To get a feel for the target of the Mobile Design UK events and there content you can read my post on the previous Mobile Design UK event.

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!

Mobile Design UK Meeting

Mobile Revolution Last night I attended the Mobile Design UK event held at the RSA Tavern room, near London’s Charring Cross. It was a great evening and the venue was fantastic, a really well equipped space that made the evening feel wonderfully personal. The smaller location really fostered some great discussions following each of the speakers presentations. The mix of content, concepts and ideas presented was really good.

The evening was introduced by Arabella David from Nokia. She outlined the growing importance of user experience in the mobile space and how Forum Nokia is pushing to support Designers and User Experience experts through the Forum Nokia Channel. More information can be found at the Design and Media section of the Forum Nokia Site.

Scott Weiss (@sdweiss) of Human Factors International kicked of the presentations with a dissection and walkthrough of the usability and information architecture considerations when developing mobile applications that use XHTML to reach a broad user audience. It was good to find out that with XHTML as well as many mobile technologies there is often a trade off between features, richness and audience reach.

Antony Ribot (@ribot) from Ribot provided a fantastic presentation on the speed and growth of the mobile information age, and it’s subsequent effects on physical trends, culture and behaviors. Also provided some great ideas on how we as producers might need to change the way we approach concepting, brain storming and designing to target these new user expectations.

Gil Kahana of Seren Partners presentation provided an enthusiastic insight into the challenges faced when dealing with the barriers that mobile applications present to users and the ways developers should research, test and experiment to break down those barriers. There was some great discussions that followed Gil’s presentation around the fragmentation of some of the technology in the mobile space.

The final presentation by Marek Pawlowski (@marekpawlowski) from PMN - Mobile Industry Intelligence showed some brilliant dissection of the minutia of user value that can be extracted by mobile users and audiences from some of the most innocuous of details, the value of battery life conservation, the range of colours a phone or application is available in or how an application provides user feed back when scrolling.

The Mobile Design UK group offers a refreshing and much needed alternative view of mobile development. At the end if the evening I caught up with Bryan Rieger, one of the event organisers, to find out what types of content they were hoping to present at future meetings,

we don’t want to show code

was his first reply. I for one think that’s a brilliant mantra to hold true to. In a space dominated by massively varied technologies, huge numbers of acronyms and a huge range of user audiences and platforms I found it a very comfortable evening of knowledge sharing in a format that felt like a well organized brainstorm.

If you are interested in designing & producing content targeting any mobile platform I would look out for up coming Mobile Design UK events. Thanks to organisers for putting together a great line up os speakers and also a big thank you to Forum Nokia for the sponsorship of the evening.

Catalogue Of 30+ Flash Lite Development Tips

Rien Verbrugghe has done a great job of cataloging a huge number of Flash Lite development, testing and packaging tips from a number of conference sessions and also the various Flash Lite development blogs. If you want a handy quick reference of Flash Lite development tricks and common gotchas this is worth book marking or printing out.

blog.rive.be

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.

Forum Nokia launches Flash Lite Developer’s Library

I missed this yesterday. Nokia have released the Flash Lite Flash Lite Developer’s Library 1.1 . One of the important aspects of this launch is the inclusion of documentation for using the new Nokia S60 Platform Services.

The Platform Services enable flash application to access Device Capabilities and services that were previously only possible through third party solutions Such as Kuneri lite.

Here is a list taken from the Using Platform Services section of the new Flash Lite Developers Library.

The S60 platform allows Flash Lite applications installed on S60 mobile devices to:

  • Access and launch applications on a device using the AppManager Service API
  • Access and manage calendar information using the Calendar Service API
  • Access and manage information about contacts using the Contacts Service API
  • Access and manage information about landmarks using the Landmarks Service API
  • Access device logging events using the Logging Service API
  • Access device location information and perform location-based calculations using the Location Service API
  • Access information about media files stored on a device using the Media Management Service API
  • Send, retrieve, and manage messages such as SMS and MMS using the Messaging Service API
  • Access data from the physical sensors of a device using the Sensor Service API
  • Access and modify system information on a device using the SystemInfo Service API

These new API’s are supported through FlashLite 3.x on Series 60 5th edition devices. Flash Lite applications use the S60 Platform Services through Service APIs. The Service APIs are supported through a Nokia-proprietary ActionScript 2.0 library. Before you can create Flash Lite applications that use platform services, you must install the library for use in your Flash Lite applications.

Here is a run down of updates from the Change History section of the Flash Lite Developers Library.

Change history Flash Lite Developer’s Library 1.1

  • Added information on the S60 Platform Services, the corresponding ActionScript Service APIs, and the ActionScript Service object required to access the APIs.
  • Added section “Flash Lite API reference”. This section describes the ActionScript APIs provided by the S60 platform for use with Flash Lite applications.
  • Added section “Flash Lite authoring and optimization tips”. This section provides tips and guidelines for authoring Flash Lite applications and optimizing their performance.
  • Added section “Flash Lite with S60 touch”. This section briefly introduces the touch UI and Flash Lite touch keypad of S60 5th Edition devices and provides instructions for disabling the touch keypad.
  • Added section “Flash Lite example applications”. This section contains links to example Flash Lite applications that you can download to your computer and then to a mobile device or emulator.

Check out the Flash Lite Developer’s Library Here.

Using MTASC to compile Flash Lite (FSCommand2) on OSX


For some time I have used Eclipse, FDT and MTASC as my preferred weapon of choice when doing AS2 development, I switch to Flex Builder for AS3 , Flex or AIR. One spanner in these works when using Mac OSX had been when producing mobile content for FlashLite 2+. Flash Lite 2 and FLash Lite 3 can both use ActionScript 2 and so as MTASC should be able to compile FLash Lite content. However on OS X MTASC still appears to have an issue compiling the FSCommand2() function, this was fixed in teh 1.13 version of the win32 version of the compiler but It seems the OS X version does not include the same fix for FSCommand2(). The FSCommand2() function used in Flash Lite development to control things like the SoftKeys or forcing an application to display at full screen on mobiles or devices.

Last week I took the time to find a way to work around this issue in order to get back to my development tool chain when developing Flash Lite content. For those users that are more experienced with this form of development the only answer seems to be to create a symbol in the library of your fla associate any classes that make use of the FSCommand2 to the new symbol. Make sure the Clip is exported in some fashion, either by physically placing it on the stage, or setting it to export for ActionScript. Next export a stub SWF from the fla. In eclipse, or when using MTASC you will need to use the ‘-keep’ switch on the command line when you run MTASC to compile your Flash Lite content, this will also make sure the Flash Lite swf header will remain in tact as well. This forces MTASC to keep any assets that are already in the target output swf.

It is also worth mentioning that in your application code you will not be able to refer to the class that contains functionality using the FSCommand2. So applications like FDT will think there is an error as you will be unable to define the ‘type’ of your class. A second note is that MTASC will flag that there is a movie clip associated with a class, but that is has not been compiled.


Warning : The MovieClip KeyController needs the class { Class path containing FSCommand2() function } which was not compiled :
Please force compilation of this class by adding it to the commandline.

I have not been able to completely remove the FLA or the Flash IDE completely from my tool chain, but in all honesty I think there are alot of use cases in Flash Lite development that still require a level of timeline usage, so I happy with this compromise.

I have created an example package of files that you can download from here or in the download area.

Fantastic Networking and Learning opportunities at Adobe Max

[caption id=”attachment_419″ align=”alignleft” width=”172″ caption=” “]adobe max08 thumbnail[/caption] With Adobe Max San Francisco now only 2 weeks away its important to make sure you have organized your schedule, if you haven’t already. This year Adobe hosting 2 events which aim to bring developers together with some of the industry leaders in the mobile market place. So if you are a developer interested in mobile or you already have content or existing applications that you think might work as a mobile application or service, Adobe Max should offer some great opportunities to get information from the experts.

Mobile Summit
November 16, 2008 at the Marriott from 1pm-6pm

Join Adobe and our partners — Nokia, Qualcomm®, Verizon, Sony Ericsson, GetJar, Thumbplay®, and Zed — to learn about new opportunities for mobile developers this year. Get a sneak peak at what you will see and hear at MAX before anyone else does! Hear from Adobe partners and key industry players as they present the newest mobile solutions, technologies, and distribution opportunities for mobile developers. To learn more and RSVP for this event go to: http://www.eventsadobe.com/mobilesummitmax08/invite.html

Mobile Fast Pitch Networking Party
November 19, 2008 at the Thirsty Bear from 6:16pm-9:30pm

Adobe is hosting a special Mobile Networking Party to allow developers to showcase their mobile applications using our Adobe® Flash® mobile technologies. If you already have a web-based application and are thinking of going mobile, you can also present your idea and get feedback from our industry leaders. Join us to support fellow developers or to present your ideas. For more RSVP and presentation information for this event go to: http://www.eventsadobe.com/mobilenetworkingparty/invite.html

In addition to these 2 events there are also a number of great sessions on at the conference tailored to Mobile:

  • Open Screen Project: Delivering Rich Internet Experiences Across Devices
  • Creating Mobile Applications: A Real-World Example
  • Mobile Workflows with Creative Suite® 4 and Adobe Device Central CS4
  • Flash Lite 3: Learn How to Package and Distribute Mobile Content
  • Spotlight on Finetune and Teknision™: Building a Multiscreen Application
  • Create Unique Browsing Experiences on Nokia Phones
  • How to Build a Mobile Business
  • Developing the Ultimate Flash Cast™ Channels
  • Project Capuchin – Bridging Adobe Flash Lite and Java ME™

Remember the most popular MAX sessions fill very early, so be sure to register today to secure seats in your preferred sessions. You’ll be surprised by what real live Adobe Flash Lite applications exist today.

Remember to register for UK MaD Meeting - October 21st 2008

A quick reminder to any developers focusing on Mobile Development. If you were planning to attend the UK MaD Meeting tomorrow remember to register for the event by sending an email to UGadmin@flashmobilegroup-uk.org with the subject “I want to attend the UKMaD Meeting oct 2008″ include your name, contact email & contact number . If you dont you will not be entered into the software prize draw to win Adobe CS4.

Full details of the event have already been posted bt Mark Doherty at flashmobileblog.com.