Adobe came with a very interesting announcement during MAX 2009 – Adobe Slider, their new initiative to bring Flex to mobile devices. In my mind this is probably one of the more interesting announcements they made during the conference, up till now there hasn’t been possible to share code between your existing Flex projects and your Flash Lite projects, with Slider this changes.
Conceptually Slider will hopefully (Adobe says feature set is not final and implementations may change or be removed before the product is launched) work in a similar fashion to our existing Flex based applications, only with a few differences/additions:
- Screen – Navigation in mobile Flex will very likely be screen based, like html, navigate from one screen to the next
- NavigationBar – The screen component has a navigationBar property where a navigation class can be specified
- Toolbar – another mobile specific component which can be used to give the user access to functionality like search and other top level items which can be used at any time while the application is running
- SoftKeyBar – Some phones has softkeys, and this will make it possible for Flex to use these as part of for example navigation, log out etc.
- Mobile specific components like: MobileList
- Conditions – This seems to work very similar to how states in Flex 4 function, using includeIn, where the condition can be for example platform type, e.g. Nokia xxx or iPhone, orientation of the screen.
- ToolBar and Softkeys can also potentially be skinned automatically to blend in with the chrome on the device
Since mobile is a very different platform to desktop and web, with the number of different devices and vendors, it is difficult to create a “one-fits-all” application, therefore Adobe are looking at making it easier to work with for example different screen sizes and screen resolutions. They want to make it easier to specify the size of elements, using touch screens for example will be very difficult if areas are specified in pixels, so instead we should be able to use centimeters, cm units.
One thing that was mentioned a few times were the importance of respecting the device the application was developed for, and how user patterns on mobile devices differ from desktop and standard web applications. With mobile, and iPhone has already proven this, it is important to cache data, so the user can open and close applications without loosing the state, and at any time come back to where they were.
The one thing that was reassuring to hear was that the key goal for Flex Mobile to be successful; was that it has to perform well. There are a couple of ways to look at this, perceived performance and memory consumption. When it comes to memory, they are looking at introducing a destructionPolicy on components, sounds like something we have asked for to get in standard Flex too , basically a component can be set to destruct immediately, later: deferred, or handled by the framework: auto. With the improvements in Flash Player 10.1 which were announced, memory consumption in general also seems to be handled better, with a reduction of up to 50% when certain components are used. Not everything is left to the framework, take view nesting for example, it will still be important to keep the hierarchy as shallow as possible to make the application perform.
As a last note, iPhone was mentioned multiple times, and also used to demo the application they showed in the presentation. And as Ely and Greg Burch said, it will very likely be one of the supported devices.
A recording of the session can be found here
Preview: Flex for Mobile Devices