All entries for Wednesday 09 April 2008
April 09, 2008
Writing about web page http://onair.adobe.com/schedule/cities/london.php
Just some live notes from the AIRTour London event today…
Adobe – ‘disruptive technologies’
RIA platforms – AMP, Buzzword Connect, all built on Flex/AIR
Why AIR? – occasionally-connected opportunities, efficient development, richer interfaces.
Branding on desktop – clever clothing store that can match clothes to an image dragged
Showing mapping app using Yahoo Maps API
Export map view as PNG by dragging – encodes PNG on the fly, drag map straight to desktop
Using notepad app to write an AIR app
Starts with bare HTML page
Point to XML application descriptor file – template comes with SDK
Running AIR from Terminal to test app – runs directly
Dreamweaver demo – extension for AIR available
Writing tags like input id=”foo” type=”button” value=”save”
then writes JS script that handles event, using DOM to grab object, then runs as AIR app
AIRIntrospector – similar to Firebug
Maps AIR namespace to JS, allows AIR APIs to be called: var stream = new air.FileStream(); direct in HTML.
Now showing Aptana as IDE fr AIR/JS dev – Aptana now supports AIR
Sandboxed environment to prevent scripting hacks, adds some limitations
Mike Downey – Lighthouse programme – looking for key apps to extend reach of AIR (e.g. EBay desktop) *
Kevin Hoyt – Integrating HTML, JS and AS*
Mixing SWFs using SWFObject – then drags an image from Webkit into his Flash app window, makes a table from the BMP that contains each px colour value(!)
Uses FileStream to re-render px values as image in other application window
Basically levering the WebKit engine in AIR to mix HTML, JS and Flash in the same desktop window and all can communicate with each other.
Deploying and updating AIR applications
Self-signed applications report identity as ‘unknown’ on AIR installer, when known ico turns green
Uses any signing mechanism, Thawte etc.
Export Release Build, import certificate
Install badge on Labs
CheckForUpdate() script, parses application descriptor file for current version, compares, prompts user to upgrade
Daniel Dura – AIR APIs
Network detection, File I/0, Window chrome
Multi-window, z-ordering, utility windows (no taskbar entry), Native menus, Drag/Drop from various sources, clipboard, System Tray, notifications, Signing, Icons
..and much more!
Windowing control is very rich
File Sync/Async APIs
Lots of code on Daniel’s site
Can drag a URL into browser, browser opens
Network/Socket Monitor API – URLMonitor(URLRequest);
Bah, Macbook batteries don’t last long…
Jeremy Baines – from concept to TechCrunch in 5 days
Developed Alert Thingy – AIR-based social network aggregator with alerts etc, in-application commenting on peoples blogs, actually some very useful features and a good example of using AIR.
Developing Secure AIR Applications (Oliver Goldman)
Imported/loaded content executes with the Loader sandbox – does not run with application privileges by default
Sandbox bridges – opt-in on both sides, arguments are pass-by-value, allow communications between loaded content and application
Can expose function calls, but can’t pass objects
Document.write(), eval() are prohibited to protect sandbox
Suggests only loading signed content – XMLSignatureValidator API available
Implementing update functionality makes urgent updates easy should you find a bug – make updating work first
Gah, batteries really gone now…that’s all for today – excellent day, ice-cold Coke, beer, games, short sessions, direct contact with Engineering team.