Archive for March, 2007

ActionScript 3 FedEx Libraries

I just checked some ActionScript 3 libraries into to Google code for accessing the FedEx web APIs. They aren’t 100% complete, but they support a fair amount of functionality like:

  • Tracking packages.
  • Shipping packages.
  • Deleting shipments.
  • Registering for meter numbers.
  • Request a Signature Proof of Deliver.

The package is checked in as as3fedexlib. I expect to be adding additional functionality over time.

vCard Parser in ActionScript 3

I just checked the vCard parser that I wrote for Maptacular into the as3corelib Google Code project. The entire project is available here, or you can go right to the vCard parser here.

It’s simple, but it gets the job done.

Maptacular on Diggnation

A few of us went up to the Digg offices the other day to show them Apollo, and had a really good meeting. I demoed an application I wrote called Maptacular which Kevin Rose mentions in the latest episode of Diggnation. There’s also an interview with Kevin Lynch at the end which was conducted at Apollo camp and is worth watching for a quick summary of Apollo, and a brief history of how and why Apollo came to be.

If you watch the entire episode of Diggnation, I feel I should warn you. Apollo has the distinction of being mentioned in the same episode as "Craziest Urinals From Around The World" and something about a woman’s foot that I’m not going to elaborate on here. May or may not be work-safe, depending on where you work.

Maptacular is a Flex and HTML Apollo application which lets you drag vCards from your local machine onto a Google map in order to map them. I’m going to release the source pretty soon — I just have to find the time to clean up the code a bit.

Just curious — anyone know how Maptacular got its name? Nobody has mentioned anything about it yet. Hint: it’s related to Mike Chambers’ MP3 player application called Ascension.

Constraining the Dimensions of an Apollo Application Window

I saw this issue come up on the Apollo forums the other day. If you want to constrain the dimensions of an Apollo application window, use the maxSize and the minSize properties of NativeWindow. I usually do it in an initialization function after setting the bounds of my window, like this:

var win:NativeWindow = systemManager.stage.window;
win.width = 800;
win.height = 600;
win.maxSize = new Point(800, 600);
win.minSize = new Point(800, 600);
win.visible = true;

You can also use the bounds property of NativeWindow to set its size and location at the same time.

Using HTML and Script Bridging in Apollo

The video of the presentation I did at Apollo Camp the other day on using HTML and Script Bridging in Apollo is available on Props to Mike Chambers for enduring the extremely long encoding process.

I will be releasing the source code for all the applications I showed in this presentation shortly. I just need to find the time to clean up the code a bit, and to fix a couple of bugs.

MapSnap: An Apollo Example Application

MapSnap was one of the first Apollo applications I wrote which incorporates HTML. It lets you look up addresses on a Yahoo map, and save the maps as a PNGs to your desktop. It’s a very simple application, but I think it makes for an excellent example.

MapSnap demonstrates the following:

  • The general structure of an Apollo application.
  • The use of system chrome.
  • Stopping a window from resizing.
  • Loading local HTML content.
  • Script bridging (calling into JavaScript from ActionScript).
  • Encoding a PNG.
  • Including an icon in your Apollo application.
  • Using a native file browser (the technique I use in MapSnap is a hack, but it will get you through until we officially add this functionality to Apollo).

If you just want to run the app, all you need is the Apollo runtime, and the MapSnap AIR file. If you want to see the source code, here is the Flex Builder project. There’s a lib directory in the project with corelib.swc in it which you need to link in to your project in order to get the PNG encoding support.

Apollo alpha is live

The Apollo Alpha is now available on Labs, along with a lot of good resources on the Labs wiki.

Yes, I know my blog has been silent recently, but that’s primarily because I’ve been working with technology that hadn’t been released yet. Now that the Apollo Alpha is live, I can start posting all kinds of tips and tricks, sample applications, and code snippets.