A fun way to open a native window in AIR with MATE
Sometimes when coding it happens that you stumble on something which just strikes you as funny (sometimes for apparently no reason whatsoever).
One such experience happened today when I was coding an AIR client with MATE and I had to open a new NativeWindow.
It should be noted that I for this implementation am experimenting with ridding myself of using Managers (no other motivation than curiosity about will come out in terms of code design and architecture).
Well, the thing that amused me was to use a PropertySetter. This is due to the fact that you have to set the “visible” property in order to actually show the window. However, you also have to pass an object of the type “NativeWindowInitOptions” to the constructor.
The code eventually can be written like this…
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" xmlns:local="*"> <s:Button label="Click Me" /> <fx:Declarations> <local:GlobalEventMap2 /> </fx:Declarations> </s:WindowedApplication>
<?xml version="1.0" encoding="utf-8"?>
<mate:EventMap xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" xmlns:mate="http://mate.asfusion.com/">
<fx:Declarations>
<mate:EventHandlers type="{ MouseEvent.CLICK }">
<mate:PropertySetter
generator="{ NativeWindow }"
constructorArguments="{ [ new NativeWindowInitOptions() ] }"
cache="none"
targetKey="visible"
source="{ true }" />
</mate:EventHandlers>
</fx:Declarations>
</mate:EventMap>
Adobe AIR Test Application for Adobe Wave Notifications
I have created a small AIR app which uses the ActionScript library for Adobe Wave.
You need an Adobe account and a feed to which you can send notifications (the simple explanation at this point is that it is what is addressed as a topic in the Adobe Wave universe).
You can install it from here…
http://www.petermolgaard.com/projects/hello/adobewave/installer/asadobewave_test.air
The entire sourcecode is available here…
http://code.google.com/p/asadobewave/
Hello… now riding the Adobe Wave
Adobe® Wave™ is an Adobe AIR application and Adobe hosted service that work together to enable desktop notifications. It helps publishers stay connected to your customers and lets users avoid the email clutter of dozens of newsletters and social network update messages.
Learn more about Adobe Wave here…
http://wave.adobe.com/
Hello has created a feed which allows followers to receive notifications about the latest buzz from inside and outside the company.
To introduce users to the Adobe Wave notifications, there is a customizable subscription badge for the feed. Clicking on this badge will initiate a two-click sign up flow and start for you receiving notifications (you will be prompted to install Adobe Wave or Adobe AIR if needed).
FC / FB Workflow Optimizer… sources available
I have made the sources available for the Workflow Optimizer… its a crude implementation but it does the job.
It uses Flex, AIR, as3preferenceslib, as3corelib and the Mate Flex Framework.
Don’t hesitate to comment on the ideas or concepts.. but don’t comment the code: it’s not written with any other priority than functionality…
Check it out…
http://code.google.com/p/workflowoptimizer/
The Tesla Model S – Touch-Screen User Experience is Powered by Roundarch’s Merapi Project
These are truly exciting times for the Air and Flash platforms… soon we even have AIR applications running as user interfaces onboard vehicles…
Thanks to Merapi, the Tesla Model S show car offers users the ability to interact with vehicle hardware systems by engaging with the car’s cockpit control center, including a touch screen consisting of HD radio integration, quick GPS navigation, streaming audio and other Internet and cloud-based data and information.
Check it out in this crude YouTube video of a testride from Menlo Park…
…or read more about it here, it’s a truly interesting application of Adobe AIR and Merapi…
http://impost.roundarch.com/2009/04/29/the-tesla-model-s-touch-screen-user-experience-is-powered-by-roundarchs-merapi-project/
SQLServiceAndSQLServiceInvoker
Underneath the cool and sexy name “SQLServiceAndSQLServiceInvoker”, there is a really useful implementation of an AIR Data Access Layer build on top of Mate Flex Framework…
It’s nothing less than excellent, I tried taking my PureMVC implementation of my personal TimeTracker and converting it into a Mate based one… 60% less code and much much more maintainable and elegant…
Mate rocks incredibly much… and kudos to Jens Krause, Websector for creating the extension to Mate so we can connect to AIR SQLLite Databases from within our Mate applications… its really cool stuff.
Check it out…
http://code.google.com/p/mate-examples/wiki/SQLServiceAndSQLServiceInvoker
Adobe AIR Cookbook Cook-off
The 26th of September is the last opportunity to submit an application for the Adobe AIR Cookbook Cook-off.
Read more about the cook-off which features a nice set of prizes… which for some strange reason is limited to US citizens only…
http://www.adobe.com/devnet/logged_in/mkoch_aircookoff.html
Pixus for Adobe AIR
Pixus
is a pixel-based ruler for objects on your screen/monitor.
It has skins for Internet Explorer 6 and Safari so that you can visualize how a design or object looks in a web browser.
Pixus allows you to save preset dimensions for later use…
…and its open source.
Check it out…
http://code.google.com/p/pixus/
BlueBear Kodiak
Kodiak from BlueBear is computer virtualization in Adobe AIR !
The first desktop virtualization solution which looks good and offers truly platform independent… goodbye VMWare, VirtualPC, Parallels and crappy VNC/X11/RDC connections to other physical boxes.
It’s not yet available for download, but it’s possible to sign up to get notified when it happens.
Check it out…
http://www.bluebearllc.net
Google Gears
The latest entry among the candidate RIA technologies is Google Gears.
Still in version 0.3 at the time of this writing, its obvious that a lot of work needs to be done.
However, Google Gears (GG) has a couple of neat features…
* Database based on SQLLite.
* WorkerPool (JavaScript MultiThreading).
* Desktop Module to interact with the OS.
The Database module provides browser-local relational data storage to your JavaScript web application. Gears uses the open source SQLite database system. Ergo exactly as we have grown accustomed with Adobe AIR.
The WorkerPool module allows web applications to run JavaScript code in the background, without blocking the main page’s script execution.
In web browsers a single time-intensive operation, such as I/O or heavy computation, can make the UI unresponsive. The WorkerPool module runs operations in the background, without blocking the UI. Scripts executing in the WorkerPool will not trigger the browser’s “unresponsive script” dialog.
Nevertheless, since the browser’s XmlHttpRequest object is not available in the context of a worker, Gears provides its own HttpRequest object to fill that need. Gears HttpRequest provides most of the features of XmlHttpRequest except for the ability to access the response as an XML DOM object and the ability to send a request synchronously.
Check it out…
http://gears.google.com/
A couple of more cool features are scheduled, but lets see which ideas actually make it out of the labs alive.
Some reasons to consider GG are that it does not require an explicit installation, just that you allow a specific site to run Gears enabled and that its open source in contrast to e.g. Adobe AIR and there a couple of more pretty interesting features of GG, but I will not get into that now.
When this is said, in my very humble graphical understanding – I think there exist a striking resemblance between Adobe AIR logo and the Google Gears logo and to be totally honest, the feature set if we disregard the very promising multi-threaded Javacsript… do you see what I mean ?













1 comment