Tour de Flex expanded to include mobile samples!

•January 27, 2011 • Leave a Comment

Tour de Flex now has a bunch of new mobile samples!   This brings Tour de Flex to 609 total samples!  If you haven’t checked out Tour de Flex lately, you should.

Holly Schinsky wrote a blog post with more details on the new samples.

If you are ready to try your first mobile app in Flex, I suggest you grab Adobe AIR Launchpad and Tour de Mobile Flex.  They are the perfect next steps.

My photography appeared in a Discovery Channel documentary!

•January 23, 2011 • 1 Comment

Back in 2008, I shot a picture of the London Parliament from the London Eye during the evening hours of a cloudy day.  As with most of my photography, both personal and professional (aerial photography mainly), I posted it to SmugMug.  A few months later, I received a call from a producer who was doing work on a Discovery Channel documentary on Nostradamus.  He explained the price they were willing to pay for the use of my image for a few seconds in their upcoming film.  He went on to explain the rights they needed, the duration of the rights, blah  blah blah.  When he finished, I simply said, “You had me at ‘Discovery Channel'”.  Many months went by and I nearly forgot about it, but this weekend, I finally learned what documentary it was featured in — “Nostradamus Decoded“.  It’s a bit of a dooms-day flick, but hey!, it’s Discovery Channel!

Below is my original image (high-res version here) and a screenshot from the Discovery Channel use of it.  If you want to see how it appears, I found the entire film on YouTube in 9 parts.  Go to part 8 ( ) and advance it to the 5:00 mark and wait a few secs.  Don’t look away or you’ll miss my 5 seconds of glory.

Many of you probably just rolled your eyes, but that’s too bad, I’m blogging it anyways!  😉

My original image:

Discovery Channel version (they edited it to make London look flooded and more gloomy):

Future conversations with me about photography will go something like this:

Stranger: Are you into photography?

Greg: Yes I am, I’ve even done some work for The Discovery Channel


Gogo Inflight Internet now severely downgrading images automatically

•January 14, 2011 • 2 Comments

I am a HUGE fan of Gogo Inflight Internet on Delta.   We all remember the first time we tweeted or IM’d from 30,000 feet.  It’s almost magical!  The past 13 flights on Delta have had Gogo service so I’m now super spoiled.  I’m even posting this article from my flight!

BUT, now I have my first real complaint.  Very recently, Gogo has started severely compressing images during transmit.  Every image I see on the Internet has horrible artifacts as if someone saved it with the lowest quality setting.  I completely understand the intent – they want to preserve bandwidth, but there is something fundamentally wrong with web content being manipulated from it’s original form.  If I go to a web page, I should receive the web page as the author intended, not an auto-reduced version of it.  I’d prefer Gogo to raise their prices to reduce the number of people accessing their service instead of stripping the bits I receive.

Below is an example of what I’m talking about.  I shot this picture about two hours ago and uploaded it to SmugMug (what a sunrise!).  At first, I thought I had made a horrible mistake on the export, but then I quickly figured out what was going on.  If you are using Gogo now, you won’t see a difference between the top and bottom images.

The top image is taken from a screenshot of what I see in the browser when I go to the gallery.  The bottom image is the original image resized to match.

Every website I’ve tried has the same issue.  It even makes CNN look bad.

I know, I know, I’m spoiled.  I have wifi in the sky and now it’s not enough.  I’ll wait another few months before I ask for 20Mbps service 😉

UPDATE: Another bad side effect is that your cache will be filled with these downgraded images.  Now that I’m home I was still seeing poor quality images until I cleared my cache.

Getting started with Flex on mobile devices and tablets

•December 3, 2010 • 1 Comment

If you are an Adobe Flex developer and haven’t dipped your toe into the world of building mobile applications, skip your next lunch break and check it out!  It is incredibly fun and the resulting apps are impressive.  Because the tooling and SDK to make mobile app development with Flex possible is all in pre-release, finding information on how to get started can be a bit challenging, so I decided to create a quick guide for you.

Tooling up:

  • Get the preview release of Flash Builder Burrito from – You can keep your existing Flash Builder install for your “day job” development and use the pre-release/Burrito install for your mobile fun.  It includes the required Flex SDK (code name Hero) so it’s really all you need from a Flex point of view.
  • Get an Android device running Froyo/Android 2.2.  If you don’t have access to a device, don’t let that stop you.  Flash Builder will run the app in an emulator.
  • Grab the latest version of Adobe AIR Launchpad from – Launchpad is a new desktop tool that helps Adobe Flex developers get started building AIR apps, including AIR for mobile apps.  This app will basically build a skeleton app for you with sample code for all of the fun mobile APIs (accelerometer, GPS, camera, etc.).  It will save you a ton of time learning.
  • If you have a device running Android 2.2, go to the Android Marketplace and install “Tour de Mobile Flex”.  You’ll find a QRcode to the app and the full source code at  This is a great tool for exploring what is possible with Flex on mobile.  There are tons of running samples with full source.

Getting educated:

The current version of Flash Builder/Burrito supports Android devices.  Support for other platforms is coming soon.  You can even deploy your resulting apps in the Android Marketplace (you’ll need to pay $25 to sign up for the Android developer program at

UPDATE:  Christophe just posted a video of him running the employee directory application covered in his tutorial on 3 devices – Google Nexus One, Samsung Galaxy Tab and the RIM BlackBerry PlayBook (emulator)! —

Good webcam choice for mobile device demos on stage – IPEVO Point 2 View

•November 23, 2010 • 2 Comments

For the past few months, our team has been showing more and more applications running on various mobile devices.  We found out quickly that this is a real challenge on stage and even more challenging on web conferences.  Sure, we can run emulators, but people always want to see the real app running on a real device.

After trying multiple different camera options, we’ve found a great one, the IPEVO Point 2 View USB camera —

There are a few things that make this uniquely qualified for our needs:

  • The camera can be set to manual focus and then focused from the UI with a single mouse click.  Auto-focus cameras don’t work well because they will always focus on the nearest object in view…so when your finger moves into the frame, the focus is suddenly on your knuckle!  Manual focus is a must.  If you switch from one device to another, the ability to single-click refocus is awesome.
  • The included software has settings to flip the image either vertically or horizontally so getting the orientation correct is a piece of cake.
  • The software has the ability to set exposure compensation, which can be a big deal on some devices.  I found that by setting the exposure compensation to -2, the image is much more crisp.
  • The base is heavy enough to support the camera at just about any angle.
  • It’s portable enough to fit into my computer bag.
  • The image quality is good.


  • The various UI settings are not remembered from session to session.
  • Evidently, the base of the camera looks interesting in an x-ray machine.  On two different occasions, airport security did a manual check of the bag after running it through the machine.  I now take it out of the bag and lay it next to my laptop.

As of this writing, you can grab one for about $70 from Amazon —

UPDATE:  A few folks have suggested this case for the cam —

TIP: Set the resolution to 800×600 to get a better framerate.

How to move Adobe AIR for Android to your SD card

•October 9, 2010 • Leave a Comment

If you are like me and have an android phone that is lacking internal RAM, you are probably doing a lot of app juggling to make it all fit.  Serge Jespers recent blogged: Android – Move your apps to SD where he explains how to move almost any app to the SD card.  This also allows you to move Adobe AIR for Android to the SD card. Keep in mind that the SD card is typically slower than internal memory, so you will pay a small price in load time so I highly recommend that you keep AIR in internal memory if possible. On my own Google Nexus One, it works well with hardly any load time increase at all.

Distributing content world wide using Amazon CloudFront

•October 5, 2010 • 3 Comments

A few days ago, I announced that many of the samples in Tour de Flex are now hosted in 16 distributed locations.  As promised, here are the details:

Prior to last Friday, most of the Tour de Flex samples were hosted from a dedicated server in California.  For those of us in the US, the load time for these samples was good, but for users in Europe and Asia, there were noticeably slower download times.   Lately, I’ve been playing around with Amazon EC2 and other Amazon web services and discovered a fairly new service called Amazon CloudFront, a web service for distributed content delivery.   In less than an hour, I had the Tour de Flex samples hosted from 16 edge servers across the globe:

All of the samples are now hosted on, which is dynamically redirected by Amazon to the nearest edge server to the user.  For example, when I access from my home in Tampa, I get directed to the Miami edge server.  Here’s my traceroute:

/Users/admin $ traceroute
traceroute: Warning: has multiple addresses; using
traceroute to (, 64 hops max, 52 byte packets
 1 (  0.875 ms  0.623 ms  0.573 ms
 2 (  3.846 ms  4.139 ms  5.080 ms
 3 (  5.036 ms  3.919 ms  5.892 ms
 4 (  7.424 ms  6.787 ms  8.721 ms
 5 (  28.346 ms  29.175 ms  27.396 ms
 6 (  24.960 ms  24.046 ms  24.922 ms
 7 (  27.255 ms  26.675 ms  28.086 ms
 8  * (  34.805 ms (  26.122 ms
 9 (  44.494 ms  47.026 ms  37.952 ms
10 (  50.364 ms  41.447 ms  42.235 ms
11 (  42.755 ms  42.136 ms  42.491 ms
12 (  42.543 ms  42.823 ms  41.503 ms

I’m hoping that Amazon adds a few edge servers in South America, South Africa and Australia soon.

Getting this working was amazingly simple:

The cost:

The pricing is simple.  Depending on the edge server location, Amazon charges between 15 and 20 cents per GB of data transferred and about a penny for every 10,000 file transfers.  Below is the bill for nearly 5 days of Tour de Flex sample serving to give you an idea of how things work:

As you can see, it’s not bad!  It’s costing us less than $1/day!  For more details on pricing, go to


For my project, I needed a way to easily transfer thousands of files to my S3 bucket.  I also needed a way to easily flag a file for redistribution to the edge servers, which is required when we update a sample.  Amazon calls this process “file invalidation”.  It basically forces the file to be redistributed to the edge servers.  It’s like clearing the cache for a specific file or group of files.  The Amazon web interface does not provide the ability to invalidate a file yet, so I had to find a tool.  For Mac OS X, Windows and Linux, there is Bucket Explorer ( that provides everything needed.  Another good Windows option is CloudBerry Explorer (  CyberDuck ( – open source) for Mac OS X comes close but is missing file invalidation.

There is a great Linux command line tool for syncing folders with S3 called S3 Tools ( but it doesn’t yet support CloudFront file invalidation.

Flex/Flash, AIR and Amazon CloudFront

This is a great service for Flex/AIR developers because it provides a way to distribute our application and assets more efficiently.  I have also used CloudFront  for my side project, ChessJam.   I use it for the 7MB AIR file downloads and for the web version of ChessJam.  For the web version, I moved the SWF and all needed assets (images, audio files, etc.) to my CloudFront server.  Several users in Asia and Europe noticed an immediate improvement in load times.  For about 90 cents per day, I get happier users!  Nobody likes waiting on preloaders and lengthy downloads.