|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
I have been working with a cool open-source utility that is a powerful way to build application setup installers - Inno Setup. I combined Adobe AIR to build a desktop application that insulates the setup creator from the inner workings of Inno Setup. The Adobe AIR application collects the bare minimum info that Inno Setup leverages and creates the .iss file that the compiler reads to build the final setup.exe application installer. |
Read More |
|
|
Chemistry 101 is an educational application that allows you to learn more about the Chemical Elements and the Periodic Table of Elements. Here's how it works: The chemical symbol for a random element from the Periodic Table is displayed. You type the name of this element (spelling counts) and click the 'Lookup' button to see if you are correct. The Element's atomic number, group, and period are displayed. An image of that Element is also displayed. Chemistry 101 also plays a dynamic MP3 (teaching the pronunciation of each element). Clicking the 'Element Details' tab allows you to view even more details about an element. Clicking the 'Try Another' button randomly selects another chemical symbol to learn about next.
https://play.google.com/store/apps/details?id=air.info.airination.air.mobile.android.chemistry4mobile
|
|
Happy Holidays from Flexination, Airination blogs, U Saw It Enterprises, AIR Development Services, LLC, and my son, Clark, his Mom, and me. For my readers, here's a simple example of a geolocation-mapping, Android application written with Flash Builder 4.6 as a mobile AIR project.
WhereAmI.apk
I will upload the source code via the fxp within the next 24 hours - WhereAmI.fxp (as WhereAmI.zip)
Here's some screen shots:
Check back in 24 hours for the source fxp. |
|
An Android version of my AIR Videographer app is shown below:
It's by no means feature-rich, but it works with the same functionality as its AIR and web-based cousins.
The Android apk is available here: Videographer4Mobile.apk
*NOTE: I'm using a Galaxy Note, so smaller screens may not display properly in this first prototype.
The Flash Builder project's fxp is available here.
Please send comments to support[at]flexination.info. |
Related Entries:
|
|
I came across a business use case to create a video player that would play videos as well as display images in slideshow fashion. The requirements allowed for accepting the delay time in downloading the media assets before playing would begin, but I looked at a streaming technology or at least some sort of streaming-like approach that could be run for free. This "OSMF Player" AIR application shows an example of leveraging the org.osmf packages and various classes from these packages (org.osmf.containers, org.osmf.elements, org.osmf.events, org.osmf.layout, org.osmf.media, org.osmf.net, and org.osmf.utils) to play videos, swfs, mp3s, and display images within a desktop application without having to wait for the media to be downloaded before playback begins. OSMF also supports the F4M format where source video files can be prepared in segments with a tool such as the Adobe F4F Packager that packages on-demand media that can be streamed through HTTP. The Open Source Media Framework (OSMF) technology is quite amazing and what I chose to use for this example application. If you have never evaluated OSMF, I believe it is well worth a look and see. To learn more go here: Open Source Media Framework (OSMF)
Here's the resulting "OSMF Player" Adobe AIR application: OSMFPlayer.air. You will need to install the Adobe AIR runtime if you do not already have it installed. |
A screenshot of the application shows a simple UI - a play/pause button, a stop button, a toggle fullscreen button, a progress bar, two controls (one toggles the video/image source; the other toggles the video/image scaling), and the main viewing area. Thanks to M. Wróblewski - http://flexibleair.wordpress.com/ for the AS3 class that leverages the OSMF functionality.
The next screenshot shows the application displaying an image.
The last screenshot shows the application displaying a prepared F4M segmented video.
Tip Jar:
|
My son is half Filipino, so it is important to me that he learn not only English, but also Tagalog, and his birth city's dialect, Kapampangan. That said, Google's, Google Translate is an impressive language tool, and I leveraged it to create an AIR application I call "Speak to Me". I hope this AIR application encourages you, the reader, to look into the Google Translate tool, and entices you to experiment with Adobe AIR and Flex.
Here's the "Speak to Me" Adobe AIR application: SpeakToMe.air. The source code is included in the installed application. You will need to install the Adobe AIR runtime if you do not already have it installed. |
Read More |
|
|
Happy Holidays to everyone. Here's an early St. Nick present from my blog. This "Videographer" Adobe AIR application shows an example of leveraging the Camera class (flash.media.Camera) to capture an image from a desktop User's webcam, doing file uploads with AIR and ColdFusion, and automatically posting to facebook and flickr accounts. This example also uses the ImageShrinker.swc (ImageShrinker.swc) to manipulate the images prior to the actual physical upload and posting to facebook and flickr.
Here's the "Videographer" Adobe AIR application: Videographer.air. The source code is included in the installed application. You will need to install the Adobe AIR runtime if you do not already have it installed. |
Read More |
|
Related Entries:
|
|
AIR applications, as of AIR runtime 1.5 support encrypted SQLite databases. The SQLConnection class contains 'open' and 'openAsync' methods that include an optional encryptionKey parameter. The encryptionKey parameter is 16 bytes long and a ByteArray. Writing your AIR application's code to create and leverage this encryption key (using the SQLConnection class 'open' method) is shown below.
Explanation of the encryption process:
- Create a seed string of your choice, mySeed.
- Prepare a bytearray variable to hold the encryption key
- Create the myKey ByteArray
- Use hexToInt function and the seed, mySeed, to create the key
- Use the writeByte method - Writes bytes to the byte stream
- Create a File that will represent the SQLite database
- Pass the key [a ByteArray], myKey, to the open method of the SQLConnection, dbConn
import flash.data.*;
import flash.filesystem.File;
private var dbConn:SQLConnection = new SQLConnection();
private var dbStatement:SQLStatement = new SQLStatement();
private function init(): void {
// create a seed string of your choice
var mySeed:String = "AdobeAIRIsAGreatProduct";
// prepare a bytearray variable to hold the encryption key
var myKey:ByteArray = new ByteArray();
// create the myKey ByteArray
var i:int = 0;
for (var j:int=0; j<16; j++) {
// use hexToInt function and the seed to create the key
i = (hexToInt(mySeed.charCodeAt(j))*15) +
hexToInt(mySeed.charCodeAt(j+1));
// use the writeByte method - Writes byte to the byte stream
myKey.writeByte(i&0x00FF);
}
// create a File that will represent the SQLite db
var dbFile:File =
File.desktopDirectory.resolvePath("Encryptedemployees.db");
dbStatement.sqlConnection = dbConn;
//pass the key, myKey, to the open method of the SQLConnection, dbConn
dbConn.open(dbFile, SQLMode.CREATE, false, 2048, myKey);
}
private function hexToInt(hex:Number):int {
return parseInt("0x" + hex);
}
This example is available here. The source code is available by right-clicking and selecting 'View Source' in this AIR application. You will need to install the Adobe AIR runtime if you do not already have it installed.
|
Read More |
|
|
Here's an example from my AIR book, "Sams Teach Yourself Adobe(r) AIR Programming in 24 Hours" that I thought might be timely for some folks out there.Feel free to reuse the code in your AIR project.
Here's the "Drag and Drop Example" Adobe AIR application: AIRDragDrop.air. The source code is included in the installed application. You will need to install the Adobe AIR runtime if you do not already have it installed. |
Read More |
|
Related Entries:
|
|
Happy Thanksgiving to everyone. Here's an early black friday special for readers of my blog. This "Simple PhotoUploader" Adobe AIR application shows an example of doing file uploads with AIR and ColdFusion while leveraging a cool swc I found (ImageShrinker.swc) that allows you to manipulate the images prior to the actual physical upload. This allows you, the developer, to control the size and other properties of file uploads (height / width / output format / shrink ratio / etc.) before the file actually touches your server. Gone are the days of huge files tying up your server's storage space.
Here are the properties and methods available with the ImageShrinker.swc:
Here's the "Simple PhotoUploader" Adobe AIR application: Simple PhotoUploader.air. The source code is included in the installed application. You will need to install the Adobe AIR runtime if you do not already have it installed. |
Read More |
|
|
This may just be the best work I did in all of 2010. :-)
My son is very curious about everything, and this new lenova laptop caught his eye. |
Read More |
|
|
This Chemistry 101 application is an example combining some easy Flex techniques (using some custom AS3 classes to represent the Periodic Table of Elements, playing a dynamic MP3 (of the pronunciation of each element), using a custom preloader, and managing the content display based on Internet connectivity), as well as a ColdFusion CFC function that uses the CFHTTP tag to screen-scrape element details. Atomic Numbers, Groups and Periods, Oh My!
Download the Chemistry Quiz - AIR Example: Chemistry Quiz - AIR Example
You will need the AIR Runtime
Feel free to use this application as a study-tool to test your knowledge of the chemical elements.
Some interesting things I explored during this project:
- Creating classes - an Element AS3 class and a Symbol AS3 class.
- Dynamically loading and playing MP3 sounds, based on the element displayed.
- Managing the content based on Internet connectivity.
- Working with the Math functions in AS 3 is cool.
|
Read More |
|
|
The Math Quiz Bowl AIR application is a simple example combining some Flex and ActionScript 3 techniques (playing an event-based MP3, scaling images, the DisplayShelf by Ely Greenfield) and the ActionScript Math class (Math.ceil, Math.floor, and Math.round) presented in a quirky card game. This AIR application also leverages the ApplicationUpdaterUI to seamlessly check for updates each time the application starts. Operands, Operators, Oh My!
This application is ideal to help young children learn and review their math skills in a fun and interesting way: |
Read More |
|
Related Entries:
|
|
This is a quick example of several things that Flex makes easy in an AIR application.
- Loading and playing MP3's (as well as muting the sound)
- Using a non-default preloader (a snowflake, shown briefly as the application loads)
- Adding a backgroundImage Flash swf (the snowing effect)
I hope this example helps you with your AIR and Flex coding and further entices
you to experiment with both.
Happy Holidays and Merry Christmas (Feliz Navidad, Joyeux Noel, Frohe Weihnachten, Natale allegro, Christmas Alegre, God Jul, Glaedelig Jul, Vrolijk kerstfeest, Hauskaa Joulua, Boas Festas, Maligayang Pasko)
December 2009
Mike Givens
www.airination.info
support@airination.info
Screenshots:
Download the AIR application here.
* You will need the Adobe AIR Runtime found here.
Tip Jar:
|
|
Working with the Adobe AIR product is not only fun, but it allows you to create some nice and useful utility applications. Here is one I created that helps expectant mothers and fathers learn more about their pregnancy. It is a simple application, at this point, to demonstrate a few Flex-based controls (the DateChooser, the ColorPicker, and the HTML control) used to create a desktop application to track significant events in a woman's pregnancy. By selecting your baby's due date and the background color you wish to use (pink if you hope for a girl; blue if you hope for a boy), you can learn all about the progress that your baby is making (requires an internet connection).
Screenshots:
Download the AIR application here.
* You will need the Adobe AIR Runtime found here.
Tip Jar:
|
|
If you have never tried out the Cookbooks application on the Adobe website or it has been awhile, then you should check it out now. The new improved UI for adding a new cookbook recipe streamlines the process and makes it easy to get your cookbook post online for the world to see. I created a new AIR-related recipe in a short time.
See my AIR cookbook recipe
|
|
A new AIR book, "Teach Yourself Adobe AIR Programming in 24 Hours" is available from Sams Publishing (Covers version 1.5 of AIR)
http://www.informit.com/store/product.aspx?isbn=067233030X |
|
In an effort to hear from those that have experience in obtaining a digital certificate from a certificate authority (CA), this blog post asks the following questions:
- Who is the best CA for digitally signing AIR applications?
- In your opinion, what makes them the best CA?
|
|
Stacy Tyler Young is nearing completion on this AIR book from Sam's Publishing, and I think you will find it a great read. Okay, okay... I am a bit biased. I wrote seven of the chapters and was the technical editor for the rest. All joking aside, Stacy has done a great job on this book. His coverage of the AIR 1.0 release comes from firsthand knowledge (pssst... he works for Adobe) and includes a great discussion about agile development. There is already a rough cuts offering here:
http://www.informit.com/store/product.aspx?isbn=0768678560.
I hope you enjoy the book. |
|
If you are the founder of the innovative site, formerly known as AirApps.net, the definitive site for Adobe& AIR Developers, a good name conveys the intent for the website in a clear and concise manner. O2Apps.com is such a name, as www.o2apps.com is a highly oxygenated (like the heady high you get from an oxygen bar) and fresh approach to everything related to the development of AIR rich desktop applications. If you have never visited the site, then what are you waiting for? Ed Mansouri's treatment of this subject is first rate and is an extremely valuable asset to the AIR community. |
|
If you are the founder of the innovative site, formerly known as AirApps.net, the definitive site for Adobe& AIRTM Developers, a good name conveys the intent for the website in a clear and concise manner. O2Apps.com is such a name, as www.o2apps.com is a highly oxygenated (like the heady high you get from an oxygen bar) and fresh approach to everything related to the development of AIRTM rich desktop applications. If you have never visited the site, then what are you waiting for? Ed Mansouri's treatment of this subject is first rate and is an extremely valuable asset to the AIRTM community. |
|
I attended the onAIR tour stop in Atlanta Tuesday(8/14/2007), and
witnessed a very compelling demo that included the innovative work being
done at AIRApps.net. Headed up by Ed Mansouri, who founded AIRApps.net to
assist AIR Developers in gaining visibility, learning more about AIR, as
well as getting paid for their AIR applications, a new tool for AIR
Developers is being created. This Flex-based SWC, AIR-Commerce, will soon
enable AIR Developers, using Flex as their tool of development, to detect
whether their application has been purchased. The functionality will work
like this: when an end-user of the AIR applications wishes to gain access to
either a protected feature in the program or the entire program itself (the
AIR Developer will have full control over the feature and pricing model),
the user will pay before gaining access. Once payment is completed, the AIR
Developer will be paid for their work, and the end-user will be able to access
the application. There will be payment models for a perpetual license, a
renewable, subscription-based license, and even a per-feature model. To
learn more about this exciting component, please visit the following links:
http://www.airapps.net/?passThrough=MashUps (video of the presentation)
http://www.airapps.net/?passThrough=Register (AIR app of this presentation) |
|
Another great AIR app example can be found on the AIRApp.net site. Great job Ed Mansouri and AIRApps.net. |
|
I'm starting a month-long journey early Saturday morning on an expedition that will ultimately take me to Tibet's capital city, Lhasa, and from there, to the north base camp of Mt. Everest. I will attempt to build an AIR (formerly Apollo) application, while oxygen-starved and in, what I hope is a transcendental state. I'm taking my new GPS (a Garmin GPSMap 60CSx) to record, via its cool altimeter, my ascension from Lhasa's 12,000-foot elevation to the 17,000-foot elevation at base camp. Okay, enough of the trip details. My plans for the AIR application are to create a way to relive the experience (or share the experience with others) by photos, flash video, and travel between GPS waypoints. I'll use Flex Builder as my main development tool and a ColdFusion / mySQL backend to satisfy any server-side needs. Look for the AIR application on the great site that is AIRApps.net. |
|
The AIR (Adobe Integrated Runtime), formerly Apollo, NativeWindow and NativeWindowInitOptions classes are combined with the HTML control in this example of opening a native window and displaying a website URL in the opened new window. I am also leveraging the Capabilities class to detect the screen resolution and programatically control the window's size. Full source code is available. Click here to download the AIR file.
You will need the AIR Runtime |
|
The AIR NativeWindow and NativeWindowInitOptions classes are combined with the HTML control in this example of opening a native window and displaying a website URL in the opened new window. I am also leveraging the Capabilities class to detect the screen resolution and programatically control the window's size. Full source code is available. Click here to download the AIR file.
You will need the AIR Runtime |
|
Just a quick blog today... I created a MAX 2007 Countdown desktop application with the AIR Beta and Flex 3 Beta that demonstrates several things - one approach to rotating in several banners ads, creating a dynamic, multi-line label on a button, and logging the number of banner clicks to a back-end mySQL database with a ColdFusion CFC. You can grab the AIR file here.
You will need the AIR Runtime |
|
The Go Fly example found in the "Apollo in Flight" eBook released last week has been updated for AIR (Adobe Integrated Runtime, formerly code name Apollo) and can be found here.
You will need the AIR Beta located here |
|
"Apollo in Flight" has been officially launched. As a new digital shortcut on Apollo, the code name of Adobe's new innovation, this eBook will quickly get you up to speed with this exciting new technology. It is available at www.informit.com. A synopsis and table of contents listing is also available at www.apolloapps.com. |
|
"Apollo in Flight" is coming to a galaxy near you - it is a new PDF-based eBook on Apollo, the code name of Adobe's new technology.
Pearson Education, Informit, in conjunction with Sams Publishing will be releasing this new online book as one of their popular series,
Digital Shortcuts,
and is slated for release early next week. Here's a screenshot
of the table of contents. |
Read More |
|
|
Serializing and deserializing ActionScript objects to the file system is an important capability that AIR brings to the table.
By serializing the data that an AIR application needs to persist, and storing it on the client's file system, you can
leverage a cookie-like behavior common in web applications. Although similar in concept to cookies, the serialized data that
AIR works with is not subject to size limitations as cookies are. Some possible uses are as a file-based storage facility
- a file-based database. You could store client preferences permanently or temporarily store data to the user's file system
while in offline mode. Once online, the data is transferred to a server-side data access component and ultimately pushed to a
relational database. Use the writeObject() [to serialize] or readObject() [to deserialize] methods of the FileStream class to
read and write the ActionScript objects you create in your applications.
The serialized data is encoded in AMF (ActionScript Message Format), a lightweight format with a low network bandwidth requirement.
An example demonstrates the type of code you write - see Listing 5.4.
You will need the Apollo Runtime
|
Read More |
|
|
This AIR desktop application streams MP3's and continuously monitors the availability of the Flash Media Server's
RTMP connection. The application was developed with Flex and the Flex Builder Extensions and has access to an online MP3
Library on a Flash Media Server. Even with a loss of connectivity, there is access to an offline, client accessed MP3, delivering
on the AIR online/offline feature.
Download the AIR example here
You will need the AIR Runtime |
|
This AIR Connection Status example demonstrates a desktop application that detects the connectivity status - the availability of the Internet
connection. By writing a bit of additional Flex/ActionScript code, the developer can have their desktop application detect a loss of network connectivity and
smoothly transition to offline-only features. Imagine a desktop application that has access to an online MP3 Library. During times when online,
the MP3's can play, but while offline, the MP3 Library access is no longer available yet loss of connectivity does not break the application.
A further enhancement provides access to an offline, client accessed MP3, so true online/offline functionality remains.
Download the AIR example here
You will need the AIR Runtime |
|
The Chemistry Quiz Bowl is an example combining some easy Flex 2 techniques (using a StrikeIron Periodic Table of Elements web service [including passing in user credentials in a SOAP-Header],
playing a dynamic MP3 (of the pronunciation of each element), using a custom preloader, and using regular expressions ala AS3-style) and a ColdFusion CFC function that cfhttp's a site to screen-scrape element details. Atomic Numbers, Groups and Periods, Oh My!
Try the Chemistry Quiz - Flex 2 Example: Chemistry Quiz - Flex 2 Example
Download the Chemistry Quiz - AIR Example: Chemistry Quiz - AIE Example
You will need the AIR Runtime
You will need the StrikeIron Super Data Pack Web Service: |
Read More |
|
|
The Math Quiz Bowl is a simple example combining some Flex 2 techniques (playing an event-based MP3, scaling images, and the DisplayShelf by Ely Greenfield)
and the ActionScript Math class (Math.ceil, Math.floor, and Math.round) presented in a quirky card game. Operands, Operators, Oh My!
Try the Flex 2 example here
Download the AIR example here
You will need the AIR Runtime |
Read More |
|
|
Building on the base code of the Flex 2 DVD Library I blogged about earlier last week, I created an Apollo version.
This particular desktop version still requires an Internet connection, but only because it communicates with an external ColdFusion Server (CFCs) and a mySQL
database backend, allowing the adding of new DVDs to the Library.
Download the example here
You will need the Apollo Runtime |
Related Entries:
|
|
ApolloCamp was tons of fun, and the speakers provided some great presentations that got my wheels turning. I see great things associated with Apollo and Apollo's File I/O and multi-windows capabilities. I took a prototype of a Flex 2 web application that I am working on and ported it to an Apollo desktop application in a matter of minutes.
Download the example here.
|
|
I have been collecting DVD movies for years now, and on some occasions, I have forgotten that I already owned a movie.
More times than I hate to admit, I have ended up with two copies. This past weekend, I created a Flex 2 application
with a ColdFusion, CFC-based backend that now allows me to store a DVD inventory in a mySQL database. This Flex 2 app
displays the inventory in a DataGrid with an itemRenderer that displays the DVD cover art, and it utilizes an Amazon
Webservice to dynamically locate the URL of a medium-sized image of the cover. I used the Flex Builder 2's ColdFusion CFC Value
Object Wizard to quickly create the server-side components and, bam, got er done.
Try It |
|
|
|
|
|