Talking breaking news application
Hi… My name is Serge and I am a news junkie… While there are a lot of breaking news services on Twitter, you can’t always leave your Twitter client running to get the latest breaking news updates (for instance at work or while presenting). In some cases you may still want to stay up to date on any breaking news which is why I started creating this little app last night…
It’s not quite finished yet but almost. I’ll release this when we release AIR2 and will also try to build a Windows version of it (although I am not sure if Windows also has a command line tool for their speech synthesizer).
Using Growl in AIR applications with AIR 2 NativeProcess
The AIR2 release is just around the corner and one of my favorite new features is the ability to use native scripts. As I’ve already demonstrated earlier, this is extremely powerful and here’s another good example.
From the moment AIR was released, a lot of developers were asking for Growl support to add toast style notifications. Up until now, there hasn’t really been an easy and flexible solution so most developers opted to build their own notifications. I really like Growl and the fact that you as a user have total control over the look and feel. I use the Mono style created by Christopher Lobay. It’s probably the sexiest toast style notification I’ve ever used.
With AIR 2 you can now call Growl right from within your application. I actually call the Growlnotify command-line tool, which comes as an extra in the Growl download. Most people probably don’t install these extras but that’s no problem. I can bundle the command-line tool as part of my application and call it directly from my applicationDirectory.
So… How does this work? It’s actually extremely easy… The first thing you do is set up a new File object that points to the Growlnotify tool.
var file:File = File.applicationDirectory;
file = file.resolvePath("growlnotify");
As I am going to bundle growlnotify with my application it will just be installed as part of the app and thus resides in applicationDirectory.
The next thing I have to do is set up a NativeProcessStartupInfo object. That’s where I’ll store the basic information that is used to start our NativeProcess.
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); var processArgs:Vector.<String> = new Vector.<String>(); processArgs[0] = "-n"; processArgs[1] = "My AIR application"; processArgs[2] = "-p"; processArgs[3] = "0"; processArgs[4] = "-t"; processArgs[5] = "Your Growl title"; processArgs[6] = "-m"; processArgs[7] = "Your Growl message"; processArgs[8] = "-a"; processArgs[9] = "Adobe AIR Application Installer"; nativeProcessStartupInfo.arguments = processArgs; nativeProcessStartupInfo.executable = file;
In this case, I’m also adding a bunch of arguments in my NativeProcessStartupInfo object. These arguments will be passed on to the growlnotify command-line tool. In this example, I’m setting up the name of my application, the notification priority, the title and message of my notification and I’m also telling it to use the icon associated with the Adobe AIR Application Installer. (Check out the Growlnotify docs for more info on these settings)
Next and last step is to actually call the native script.
process = new NativeProcess(); process.start(nativeProcessStartupInfo);
This code above will result in this Growl notification:
The only downside of using native scripts is that you’ll have to package your application specifically for the operating system you wrote your native script for. So in this case, I’d have to package it as a .DMG file since Growl only exists on OS X. That said, I really wouldn’t mind an OS X version of TweetDeck that allows me to use Growl instead of their custom notifications…
I really can’t wait to see what you guys are going to build with AIR 2! You can already start today! Check out Adobe Labs for more information!
Happy 2nd birthday, Adobe AIR!
Aaah… They grow up so fast… Adobe AIR is 2 years old today. With AIR 2 now coming to mobile devices like Android devices and Apple’s phones it’s clear that AIR has a bright future ahead.
The AIR 2 release is just around the corner but you can already start building and testing your apps with the public beta available on Adobe Labs.
If you’re interested in learning about the new features AIR 2 has to offer, check out my presentation slides from FITC and the demo files that go with it. Also check out Tour De Flex for more code samples.
I can’t wait to see what you guys are going to build with AIR 2 and its new capabilities!
Photo by Lee Turner.
“What’s new in FP10.1 and AIR2″ slides and source files
Earlier this week I did a presentation on all things new in Flash Player 10.1 and AIR 2 at FITC in Amsterdam. While it’s impossible to cover everything in an hour, it should give you a good idea on some of the new features.
You can download the sources as well. I’ve included both the Flex project files (.FXP) as well as the mxml files for those of you that are not yet on Flash Builder 4. Remember that you must have the AIR 2 SDK installed to use these examples.
Flash Player 10.1 Beta 3 was released earlier this week. Make sure you download the latest beta and test your content!
Package Assistant for AIR 2 update
Update: A brand new version of Package Assistant is available. Check out this page for more info.
Just before the holidays, I released an alpha version of my AIR 2 Package Assistant application. As many of you know, AIR 2 allows you to build native installers. The only downside is that you have to use the command line in order to package these native installers.
I have just narrowed down the possible solution for the only reported problem. Some of you got an “Invalid input” error message and the packaging failed. I think this may be caused by forgetting to include the icons you use for the app. You have to include these in the final step where you add any additional files to the package.
I also updated the application so it now works with the AIR 2 Beta 2 runtime, which is available on Adobe Labs.
The Package Assistant application should still be considered in alpha phase. If you don’t mind testing alpha builds, go ahead and download the updated application. (Don’t forget to read these notes.)
If you find any other bugs or if adding the icons did not resolve the “invalid input” error message, feel free to leave a comment or email me directly.







