My Books

  • Follow me on Twitter
My Photo

Subscribe my blog

  • Get this widget from Widgetbox
  • Add to Google
  • RSS FEEDS
  • Enter your Email here to subscribe :



    Powered by FeedBlitz

Blog Widget by LinkWithin

Adobe AIR has been installed on over 200 million computers in just 16 months

I've missed the Flash Camp Keynote in San Francisco where  Adobe CTO Kevin Lynch mentioned that AIR reached over 200 million installs


The Adobe AIR Team blog wrote that the Acrobat.com application provided with Adobe Reader continues to be one of the most popular applications.

Unfortunately in Italy AIR applications are not so populare and well accepted by enterprise companies (this is the market I work for) and I guees we'll have to wait more time in order to see the same penetration you're reporting in US.

Creating and accessing pop- up menus in AIR applications with Flash CS4

The Essential Guide to Flash CS4 AIR Development book is oriented to Flash developers interested in building desktop applications via Adobe AIR. You can order The Essential Guide to Flash CS4 AIR Development  on Amazon or buy it on local bookstore.

Reading my previous AIR tutorials, you’ve worked with menus that are associated with tangible elements of your applications,
such as the following:

  • Context menus that are activated on objects on the stage
  • Context menus associated with icons in the system tray or dock bar
  • Menus associated with windows and menus of the application itself

AIR applications also allow you to create pop- up menus . These are native menus like all
the other ones you’ve seen so far—the only difference is that pop- up menus aren’t natively
associated with any element on the interface of the application. It’s up to the developer to
define and implement the logic and the way in which a pop- up menu can be activated. An
AIR application can have any number of pop- up menus.
You can show a pop- up menu anywhere on the stage. It can be activated in the following
ways: if the user clicks a button, if the mouse rolls over any object, if the user presses
a combination of keys, and on any other condition you want for your application.

Activating pop- up menus

The NativeMenu class has the display() method to activate a pop- up menu. Every time
this method is called, the pop- up menu appears at the specified coordinates. The display()
method requires the three following arguments:
Destination stage : Specifies which stage has to display the pop- up menu. If the
AIR application is on only one NativeWindow- type window, the destination stage is
automatically the window that displays the application. If you’re making a multiwindow
application, you will have to specify the stage of the window you want to
display the pop- up menu on.
Coordinate (X axis) : Specifies the position on the X axis of the pop- up menu. This
coordinate specifies the position from the top left corner of the menu. The coordinate
will apply to the stage you’ve specified as a first argument of the function.
Coordinate (Y axis) : Specifies the position on the Y axis where you want to display
the pop- up menu. This coordinate specifies the position from the top left corner of
the menu. The coordinate will apply to the stage you’ve specified as a first argument
of the function.

Continue reading "Creating and accessing pop- up menus in AIR applications with Flash CS4" »

Tour de Flex 1.2 now available with a brand-new web version

Tourdeflex_explorer Tour de Flex is a very useful learning AIR (and now web) application that I often use during my presentation and Flex/AIR training courses to show Flex capabilities and resources, including the core Flex components, Adobe AIR, data integration, and a variety of third-party components, effects, skins, and more.
Moreover a brand-new web version of tha application as well as an Eclipse plug-in is available that provides a search interface to the 200+ samples in Tour de Flex.

Adobe has finally released Tour de Flex 1.2.  Below are the highlights (from Greg Wilson's blog):

  • New improved skin (thinner chrome)
  • Splash screen has been replaced by a quick start screen that we can update frequently with news of new samples, resources, etc.
  • Fixed a memory/CPU issue  (see previous post)
  • Comments are now hosted in the Adobe forums.  You can post questions, subscribe to responses, etc.
  • Now requires AIR 1.5 (so we can include new AIR 1.5 specific samples and Flash Player 10 specific samples)
  • Localization for Japanese - the language reference tabs are now pointing to the Japanese content.  More localization is planned in the near future.  Localization was actually part of the 1.1 release that we launched in Japan.  We did not force an auto-update since most existing users would not benefit.
  • The download size is now 35% smaller thanks to RSLs.
  • Categories are all tree-based instead of a mix of dropdown and tree (confused a few people)
  • Minor improvements to Eclipse plugin

You can download the latest version from http://www.adobe.com/devnet/flex/tourdeflex.  If you already have Tour de Flex, your version will auto-update.

New Web Version!

In addition to a new desktop version, we’ve also launched a new web browser-based version of Tour de Flex.  Obviously, it doesn’t include the AIR desktop samples but most of the remaining samples are included.  Holly Schinsky did most of the “magic” to make the web version possible.  She will be blogging about the experience shortly.

Check it out at http://www.adobe.com/devnet/flex/tourdeflex/web

The web version supports deep linking so the browser back/forward buttons work as expected.  You can even bookmark specific samples!

The primary purpose of the web version is to provide an easier on-ramp for those exploring Flex for the first time.  It also provides the ability to view samples from environments that don’t allow applications to be installed.


Updated my Adobe Flex Certified Instructor (ACI) to Flex 3 passing the Adobe Flex 3 with AIR exam

As an Adobe Flex Certified Instructor (ACI) I had to update my certification to the new Adobe Flex 3 with AIR Exam in order to confirm my Flex ACI.
So this morning I got and passed the Adobe Flex 3 with AIR Exam in a Vue center.

The exam has changed a bit against the previous Flex 2 version. There are questions about AIR and I did not find any questions on UML or Coldfusion Data Services.
These are the topic areas and percentage of questions delivered in each topic area:

Creating a User Interface (UI) 22%, number of question: 11
Flex system architecture and design 18%, number of question: 9
Programming Flex applications with ActionScript 24%, number of question: 12
Interacting with data sources and servers 16%, number of question: 8
Using Flex in the Adobe Integrated Runtime (AIR) 20%, number of question: 10

I want to find the time to wirte more about the topics you have to prepare for passing the Flex 3 exam. So stay tuned on my blog :)

Developing Mashup Air Apps: Consuming Twitter APIs published on InsideRIA

This is another excerpt from my chapter of  the O'Reilly AIR Cookbook published on InsideRIA: Consuming Twitter APIs.

Twitter provides its own set of APIs to consume its web services and create mashups that use its services.
This solution will use the simplest approach to consume Twitter’s APIs, without carrying out the authentication procedure to retrieve information about protected users who aren’t friends.
The examples provided are in Flex as well as JavaScript.


DAO-Ext AIR tool to auto-generate ActionScript ValueObjects and DAO updated

We've updated the DAO-Ext AIR tool for generating DAO and ActionScript Value Objects. We've just fixed some small bugs and added the auto-update. We're working on some documentation too.
If you want to join the project and contribute this is the right time ;) Feel free to contact us.

DAO-Ext  is an Adobe AIR tool that allows developers to automatically generate ActionScript Data Access Objects (DAO) and Value Objects starting from a local SQLite database. The project is totally free and open source.
For this first release the tool allows developers to:

  • Select a local SQLite database and load a SQLite schema
  • Generate for each table an ActionScript VO and an ActionScript DAO
  • All the DAO objects are generated as singleton classes and use the ActionScript Value Object as itemClass of the row of the table
  • The ActionScript Value Objects are Bindlable object
  • Export all the AS VO and DAO of the tables in a click
  • Show/hide a log window Choose the folder to store the generated classes


The DAO-Ext tool has beend released by Comtaste as an open source project. You can easily download the AIR file and install on your desktop (cross platform) and start using it to auto-generate ActionScript Value objects and Data Access Object (DAO) classes.


Creating Dock and System tray icon menus with AIR

Many applications offer context menus associated with the application’s icon. On Windows systems, these menus are located in the system tray. If you’re working on a Mac OS X system, you’ll find these menus in the dock bar. Generally, these menus have shortcuts for the most common functions of the application you’re using. These menus might also contain commands that must be accessible even when the application is minimized or hidden by the desktop.

The AIR runtime allows you to manage and interact with the system tray and dock bar icons of your application. You can define context menus for them. On Microsoft Windows systems, the icons in the system tray don’t have any default context menus, so unless you have a specially prepared menu to display, it won’t provide a context menu. Mac OS X systems, on the other hand, have a default menu for dock bar icons. The menus you create will be added to the default menu provided by the operating system. You can’t modify or remove the default menus provided by the system for dock bar icons.
The application you will create in the next section will run on both Windows and Mac OS X.

Assigning a menu to an application icon

Start by opening the ch06p04.fla file in Flash CS4. The project, like the previous ones, only has an output TextArea. This TextArea will display the messages regarding the status of your application.

The project, as shown in Figure 6-13, displays an icon in the system tray or dock bar of the local system, which is why a symbol has been prepared in the library. The symbol is a movie clip: Application Icon, which represents the way you want to show the application icon. In the Symbol Properties panel, shown in Figure 6-14, the class name of the symbol has been specified: ApplicationIcon . This class name allows you to instantiate the symbol in the library via ActionScript.

0000f1306  
Figure 6-13. The stage and Library panel of the ch06p04.fla project

0000f1406

Figure 6-14. The Symbol Properties panel

You access the document class of the Flash project by clicking the Edit class definition icon on the Document Properties panel. Like for the other projects in this chapter, the Flash project has been set up to not declare the variables automatically  for the elements on the stage. You’ll have to specify them yourself in the class associated with the project.

The class starts by declaring the namespace and the dependence on external classes, as shown here:

package com.comtaste.foed.essentialair.chapter6
{
import fl.controls.TextArea;
import flash.desktop.DockIcon;
import flash.desktop.NativeApplication;
import flash.desktop.SystemTrayIcon;
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.display.NativeMenu;
import flash.display.NativeMenuItem;
import flash.display.NativeWindow;
import flash.events.Event;
import flash.filesystem.File;
public class Ch06p04 extends MovieClip
{

Then you declare two class properties: one that refers to the component of the TextArea class on the stage of the project, and one to contain the native menu that the application will use:

// onstage components
public var output:TextArea;
// class properties
private var menuRoot:NativeMenu;

Continue reading "Creating Dock and System tray icon menus with AIR" »

Developing Mashup Air Apps: Yahoo Maps Web Services

Insideria My second contribution to InsideRIA portal is online.
The article "Yahoo Maps Web Services"  is an excerpted from Chapter 18 of the O'Reilly Adobe AIR 1.5 Cookbook (by David Tucker, Marco Casario, Koen De Weggheleire, and Rich Tretola).

Yahoo provides two kind of APIs, according to the programming language you use:

  • The Ajax API is designed to use DHTML and JavaScript to host maps. Yahoo provides the JavaScript functions to make mapping a breeze.

  • The ActionScript 3 Flash APIs are designed to embed a map into your website or desktop application using the ActionScript 3 Maps API with Adobe Flash and Flex.

This dual possibility is a perfect match with AIR, which allows you to integrate Ajax as well as ActionScript applications.

In this article you'll learn how to consume Yahoo Maps APIs in AIR using ActionScript 3 as well as JavaScript.


Creating native and non-native AIR context menu with Flash CS4

The Essential Guide to Flash CS4 AIR Development book is oriented to Flash developers interested in building desktop applications via Adobe AIR. You can order The Essential Guide to Flash CS4 AIR Development  on Amazon or buy it on local bookstore.

This is the sixth part of the series dedicated to AIR menus (Chapter 6 of the Essential Guide to Flash CS4 AIR Development). You can read the previous articles here:

0000f1106 Context menus appear at the cursor when the user right- clicks (on Windows) or Ctrl- clicks (on the Mac). Contrary to Flash applications for the Web, AIR applications don’t offer any default context menus, so it’s up to the developer to create and populate context menus for the application if necessary.
Context menus can be created with two different ActionScript classes:

  • The NativeMenu class
  • The ContextMenu class

You can only use the NativeMenu class for AIR applications, whereas you can use the ContextMenu class for both AIR applications and those that have been created to be executed in a web environment with Flash Player.

To create a native context menu, you populate the nativeMenuRoot context menu . This menu belongs to the NativeMenu class, in the body of the reateNativeMenu() method in the Ch06p03.as class . Here’s the code:

// create a complete native menu
private function createNativeMenu():void
{

Next, assign an instance of the NativeMenu class to the nativeMenuRoot class property .You add two submenus as the first elements of the menu, which are respectively generated by the createFirstSubMenu() and createSecondSubMenu() methods . To add elements to the menu, you use the addItem() method of the NativeMenu class:

// instantiate main menu object
nativeMenuRoot = new NativeMenu();

// append subMenus to menu root
nativeMenuRoot.addItem( createFirstSubMenu() );
nativeMenuRoot.addItem( createSecondSubMenu() );


After the two submenus, you add a separator element to the menu. Remember, you have to create an instance of the NativeMenuItem class to add an item separator, and then you assign the true Boolean value as a second argument to the constructor of the class, as shown here:

// append item separator to root of menu
var itemSeparator:NativeMenuItem = new NativeMenuItem( "", true );
nativeMenuRoot.addItem( itemSeparator );

Finally, you add two more elements after the separator. These elements aren’t submenus, but selectable items, so you register an event listener method for the selection event on each of them. The items are instances of the NativeMenuItem class.

// append command directly to root of menu
var subCommand1:NativeMenuItem =
new NativeMenuItem( "subCommand 1" );
subCommand1.addEventListener( Event.SELECT, menuItemSelected );
nativeMenuRoot.addItem( subCommand1 );
// append another command directly to root of menu
var subCommand2:NativeMenuItem =
new NativeMenuItem( "subCommand 2" );
subCommand2.addEventListener( Event.SELECT, menuItemSelected );
nativeMenuRoot.addItem( subCommand2 );
}

The createNativeMenu() method uses the createFirstSubMenu() and create SecondSubMenu() methods to define its first two elements. These methods are similar to
the ones you used in the ch06p01.fla project to instantiate and populate the items of a native menu.

Continue reading "Creating native and non-native AIR context menu with Flash CS4" »

Auto-generation AIR tool to create ActionScript Value Objects and Data Access Objects (DAOs) for your ActionScript 3 applications

I've first talked about DAO-Ext during my presentation at FITC Amsterdam, where I've shown a couple of tecniques to work with local persisten SQLite data with AIR.
The DAO design pattern was created by Sun to abstract and encapsulate all access to the data source. The DAO manages the connection with the data source to obtain and store data.

Working with SQLite databases in AIR, it's important to define and mantain a consisten and highly reusable approach with data. To be more precise it's important to abstract your View from all the data access logic. Doing that you'll ba able to reuse DAO classes for different Views of your AIR applications.

In terms of development it means to create several ActionScript classes that implement the DAO pattern and that uses ActionScript Value objects as entity. This repetitive task could make you spend a lot of annoying time.

That's why at Comtaste we've decided to create DAO-Ext, a simple AIR tool that allows us to auto-generate the necessary ActionScript code and save us a lot of time.

DAO-Ext  is an Adobe AIR tool that allows developers to automatically generate ActionScript Data Access Objects (DAO) and Value Objects starting from a local SQLite database. The project is totally free and open source.
For this first release the tool allows developers to:

  • Select a local SQLite database and load a SQLite schema
  • Generate for each table an ActionScript VO and an ActionScript DAO
  • All the DAO objects are generated as singleton classes and use the ActionScript Value Object as itemClass of the row of the table
  • The ActionScript Value Objects are Bindlable object
  • Export all the AS VO and DAO of the tables in a click
  • Show/hide a log window Choose the folder to store the generated classes


The DAO-Ext tool has beend released by Comtaste as an open source project. You can easily download the AIR file and install on your desktop (cross platform) and start using it to auto-generate ActionScript Value objects and Data Access Object (DAO) classes.

Dao-ext

This is a very first build of DAO-Ext and we've a lot of ideas in mind to implement and add new features. We're very curios to see how the community will use this tool and we'd love to have some supporters that contribute to the project.
So feel free to send me an email !

Pistach.io

Speaker at

WebDeveloper's Journal Author

  • My favourite Flash Lite 3 mobile phone
  • Web Developer's & Designer's Journal by Sys Con Media
  • Web Developer's & Designer's Journal Blogger
    Web Developer's & Designer's Journal by Sys Con Media
  • FullAsGoog Aggregator
  • Macromedia WebLogs Aggregator

July 2009

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31