header image
 

Here come the real AIR apps! - FedEx Desktop

As excited as I have been about Adobe AIR, I’ve been a bit frustrated at the lack of real-world, useful applications that take advantage of some of the amazing features that AIR provides. Recently, I’ve started seeing some great progress! Here is a great example:

FedEx just released FedEx Desktop, an AIR application for tracking packages. At first I was skeptical. I was afraid that it was just an AIR version of a web-based tracking app which just doesn’t impress me. However, after installing the app and playing with it, I found that it is a great use of AIR.

What does this application allow me to do that web-browser-based tracking does not?

  1. Local data - The FedEx Desktop app provides a feature called “Nickname Shipments”, which allows a nickname to be assigned to each package such as “My anxiously awaited Nikon D300“. Also, tracking history is cached locally and searchable by tracking number, nickname, etc. There are also filters that can be applied to see delivery exceptions, completed deliveries, etc. (see image to the right). If you manage a lot of FedEx shipments, this is extremely useful stuff!
  2. Drag and Drop / Desktop Integration - As shown in the screenshot above, shipments can be dragged from the main app to the desktop. This “placard” is automatically updated as the shipment progresses.
  3. Notifications - the app can be left running in the background and will auto-notify you as the status changes.
  4. Branding - the entire application is clearly branded FedEx from the color scheme to the desktop icon.

The app runs on Windows, Mac OS and even appears to work on the beta version of AIR for Linux! Without AIR, it would be a huge undertaking to deliver a desktop application with this level of features, especially to multiple platforms. Since AIR apps can auto-update, software distribution and updates are much easier to manage. Lastly, installation is a no-brainer with AIR - no complex multi-platform installers are needed.

For more information and to download the application, go to http://www.fedex.com/desktop

I’m eager to see more applications like this. I know of others in the works already. Stay tuned!

Students and Teachers - get Adobe Flex Builder Pro Free

Several weeks ago, Adobe announced that it was giving away Flex Builder Pro to students, faculty and staff of eligible educational institutions. Recently, I’ve met a several students and teachers that were not aware of the program so I thought I would do a quick post.

So… here’s the deal. You can download Flex Builder 3 Pro today from http://www.adobe.com/go/flex_trial. The eval license is good for 60 days so you can start using it immediately.

Then, go to http://www.flexregistration.com/, complete the form and attach a scan of your student/faculty/staff ID. Within a few days, you will receive your permanent serial number.

Then, go to http://www.adobe.com/devnet/edu/ and start learning and building cool Flex applications. You can also use Flex Builder to create desktop applications for Windows, Mac and Linux (Linux in beta now) that run on Adobe AIR.

You’re getting a $699 product ($669 on Amazon) for FREE so this is definitely worth checking out.

Note: This is not just for students…it’s for teachers and staff too! Whether you are the comp sci professor or the campus night watchman, you can take advantage of this.

Other links:

Interactive Demos of ILOG Elixir Flex Components

If you need to add sophisticated data visualization to your Flex and AIR apps, check out ILOG Elixir. You can read about it here - but I recommend skipping the text and going straight to the interactive demos here (or simply click the thumbnails below). A trial version is available for download from here.

Here are a couple of demos that show off the functionality:

Why I switched to a Mac after 20 years of Windows PC

I’ve been a Microsoft Windows fan since 1987 and have used Windows 286, Windows 386, Windows 3.0, Windows 3.1, Windows for Workgroups, Windows 95, Windows 98, Windows XP, Windows 2000, Windows 2003 and Windows Vista. As you can see, I have a long, loyal history with Windows. I pride myself on my deep understanding of Windows and have mastered tweaking everything from network settings (MTU, TCP-Window, etc.) to maximize high-speed broadband, to customizing cache settings to maximize I/O performance. I can fix nearly any Windows-related problem you can throw at me. This familiarity has given me great comfort over the years.

Windows 3.1 Desktop

Windows 3.1 Screenshot

During the past 15 years, I’ve consistently made fun of anyone around me that uses a Mac and brushed them off as a “non-serious computer user”. I made exceptions in this humor for artists and writers but everyone else was fair game!

Macintosh System 7 Desktop

Macintosh System 7 Screenshot

Recently, I started noticing some of my friends defecting to the Mac, including friends that are extremely technical and very hard-core software developers. This opened my mind a bit and got me exploring. Meanwhile, I continued to get frustrated by little things in Windows and found myself asking the following questions version after version:

  • Why does it take so long for Windows to boot?
  • Why does the boot duration increase over time, even though I don’t install new software often and regularly defrag my hard drive (including MFT, swap file, folders, etc.)?
  • Why do most serious Windows users accept the fact that at least once a year (more often for some of us), it’s necessary to do a complete re-install of Windows to regain performance and stability? (I call this a Windows enema!)
  • Why does my machine work one day but have problems the next day with NO software changes. What happened!?
  • Why does it take so long to shutdown Windows? Like boot-up, this seems to get worse over time.
  • Why does standby not work consistently? I have tried it ever since it was introduced and have yet to get consistently good results. For some reason, the stability of Windows decreases quickly every time standby is used.
  • Why did 64-bit take so long!? It’s not even fully realized yet for most of us.

I could go on and on…. device driver crap, conflicts, corrupt registry, adware, random blue screens, blah blah blah.

Don’t get me wrong, there are good reasons for some of these challenges - Microsoft has worked hard to maintain backward compatibility and it’s a miracle IMO that things run as well as they do considering the long history and customer demands. We’re all screaming for 64-bit yet Microsoft needs to also support a few 16-bit leftovers! Also, when you buy a Dell or IBM or HP or whatever, you are not only getting Windows, you are getting device drivers written by multiple companies so the complexity increases exponentially. Because Apple is a bit more proprietary, they can focus more on stability with their finite mix of hardware devices. I’m typically very against anything proprietary when it comes to technology, but in this case, it does make some sense.

About 11 months ago, to my dismay, and against my advice, my wife bought a classic white MacBook. I told her that she was terminating our support agreement that had been in place for 20 years and that she was now on her own! For several days, I would walk by her and ask, “how’s your new iPod doing?”. With very few exceptions, she’s done just fine without me. She takes advantage of the Genius Bar at our local Apple store, and signed up for Apple’s $99 One-on-One training program. Basically, you pay $99 per year for weekly one-on-one training on practically any Mac-related topic. At first, I couldn’t figure out how Apple could provide this level of support for only $99/year. If a customer takes full advantage, they can get 52 sessions at about $2/session! I quickly realized how Apple was able to pull this off when she kept coming home with new Apple accessories, software, etc. Clever marketing huh? Weekly up-sell opportunity! They actually do a great job.

After several more months of investigating and interviewing friends, I took the plunge. I was comforted by the fact that underneath the slick Mac OS exterior was real Unix….including Perl, Vim, bash, X11, etc. I spent many years of my career neck deep in Unix so it did help to see some old familiar things. Oh, and by the way, don’t tell me about the various Windows Unix-like shells - it is not the same! I can’t do “real” unix stuff like named pipes and I can’t do things like, “runapp | grep -i error | tee error.log” or run programs in the background (&), etc.

The Transition:
A few years ago, Gartner published an article titled, “Understanding Hype Cycles”. It was written to describe the maturity and adoption cycles of new technology in general, but I’m going to use the same phases to describe my experience - I think it fits well.

Phase 1: Technology Trigger
For me, the trigger was the fact that several friends that I have huge respect for switched. I knew there must be something to it. Another trigger was that my Windows machine was starting to show performance degradation– it was almost time for my semi-annual Windows enema and I was tired of doing this! I needed 64-bit so I could use more memory so I was already facing a few minor software compatibility problems.

Phase 2: Peak of Inflated Expectations
I heard from numerous friends and co-workers that Macs never need rebooting, are always fast, never get a virus, never lockup, etc. I have to admit, I was getting a bit excited about the concept. I had only experienced this type of stability with Unix and Linux.

I got advice from several co-workers on which machine to get, what software to install, which accessories to add, etc. I then ordered my new machine, a fully loaded MacBook Pro with 4GB of memory, 200GB 7200RPM drive, Mac OS X Leopard, extra battery, etc.. When the machine arrived, I quickly pulled it out of the box, plugged it in, turned it on and stood in awe of the incredibly bright LED-lit screen, simple back-lit keyboard, fast boot time, etc. Things were good!

Phase 3: Trough of Disillusionment
After I got through playing with my new MacBook, I needed to get back to work. This is when the frustration kicked in and the honeymoon abruptly ended. It started when I configured Entourage (Office 2008’s equivalent to Outlook) and started catching up on some email. I immediately felt unable to type! The following keys were missing: PgUp, PgDn, Home, End, Ins, Backspace and more! These all have easy equivalents but I didn’t know what they were! I hit the maximize button (which was on the “wrong side” of the window border by the way) but it didn’t maximize the way I expected. Later I closed the window but I noticed that Entourage was still running. I didn’t know how to “right-click”. I didn’t know how to switch programs at first and when I finally stumbled on command-tab, it didn’t work the way I expected. I was lost! What the heck was Apple thinking when they designed this interface? It ain’t right!

I then installed Flex Builder 3, copied over my projects and was relieved to see that they worked as-is, but navigating the IDE was very clumsy for me since I didn’t know how to do some basic keyboard stuff. I didn’t even know how to take a screenshot. I didn’t know how to install new software (what is a .dmg file!?). I knew at this point that the transition was not going to be trivial.


Phase 4: Slope of Enlightenment

I took a step back and decided to approach this with a little more structure…hacking was only leading to frustration. I found Apple’s “Switch 101” page at http://www.apple.com/support/switch101, which offers some very good advice to get a PC guy started. I also picked up a copy of “Switching to the Mac: The Missing Manual Leopard Edition” by David Pogue. This is a MUST-HAVE book. I read it cover to cover and started feeling much more comfortable. Don’t try the switch without this book! I finally got my head around some of the important shortcuts…such as command-Q to quit a program, command-H to hide a program, command-tab to switch applications, command-~ to switch between windows of an application (very cool once you are used to it). I learned how to use the dock, how to quickly get to my applications, how to open a terminal window, how to use spotlight (VERY cool feature), how to boot from a USB device, etc

Phase 5: Plateau of Productivity
It’s been two weeks and I’m completely moved in. To my surprise, I’m finding that I’m more productive than before. The machine boots incredibly fast. Network connections occur almost instantly, including wireless connections. Sleep mode actually works so I rarely shutdown. The keyboard is incredibly responsive and well laid out. I think I’m at about 90% efficiency on it…. but I still find myself occasionally forgetting how to move the cursor to the end of a word or sentence, etc. I think I’ll be at 100% within another week.

Microsoft Office 2008 - I was using Office 2007 on my PC and had only recently adjusted to the dramatic difference from Office 2003. I was disappointed to find out that I was going to have to go through another major adjustment. I am able to use Word, Excel, PowerPoint and Entourage (Outlook’s replacement) but it takes a bit of hunting through dialogs to find things. This will take a bit to adjust to.

I’m very frustrated by the differences between Outlook 2007 and Entourage 2008. Each has features that the other product does not have. Do these development teams ever meet? The needed features are there…but…well…it’s just different. One huge disappointment is that Entourage will NOT import a PST file! How can this be!? I had to purchase a 3rd party converter to make this happen. I was starting to feel a bit alienated by my good ol’ friend Microsoft.

VMware Fusion- I spend a lot of time talking about and demonstrating Adobe LiveCycle ES, which does not run on MacOS (at least not as a supported environment). However, it runs very well on a VMware image. I have three VMware images that go with me everywhere. Image 1 is a stripped down Windows XP image that I use when I absolutely have to have IE. Unity mode lets me run Windows XP programs side-by-side with Mac OS programs. Image 2 is a Windows 2003 image with the full LiveCycle ES install. This is my demo server image. Image 3 is a Ubuntu Linux image that I’m using to test AIR apps. See my earlier post, “1 MacBook running 3 OS’s and 3 AIR Apps simultanously” for a good example of the power of VMware Fusion.

Adobe Creative Products - I’ve installed the entire Creative Suite 3 on my new MacBook. There was very little transition time required for these since they basically work the same. I have noticed that Lightroom is much faster on my new MacBook, even faster than my dual-CPU Dell workstation. Both versions are 32-bit so I suspect that available memory is part of the reason it runs faster. Photoshop is basically identical with one exception. Over the years, I’ve developed a habit of using the keyboard to open menus. For example, to open the highlights/shadow dialog box, I simply hit ALT-I for the image menu followed by “A” for adjustments menu followed by “W” for shadow/highlight… never touching the mouse. This doesn’t work on Mac OS. Menu items don’t have this type of selection shortcut. There are shortcut keys to many dialogs, but you can’t navigate menu structures this way.

What I like:

  • Awesome keyboard (now that I have figured it out!). The back-lit feature is great on night flights.
  • Multi-Touch is incredible and very addictive. Also, I’ve configured my touchpad to do a “right-click” when I hit it with two fingers (eliminates having to control-click)
  • LED screen is incredible - very “white” - perfect for photography work
  • Having 4GB of addressable memory is nice. Caching seems to do a great job utilizing it.
  • Networking is very fast, especially when establishing a new connection.
  • Boot time and shutdown time are very good
  • Sleep/Standby works with no apparent impact on stability
  • Battery life is great so far. The website claims 5 hours but, as expected, I got about 4, which I’m happy with. Ask me again in a year
  • The power cord is nice - comes with an extender. The connection to the MacBook is magnetic.
  • It’s easy to create a clone of your hard drive to a USB drive…and it’s bootable! This is great if your hard drive crashes 5 minutes before a presentation. You can simply switch to booting from your USB copy. I use Carbon Copy Cloner (free!) to do the cloning.
  • Spaces is awesome - gives me multiple desktops - easily switched by hotkeys. There are equivalent Windows utilities but not as solid as Spaces.
  • Exposé is very useful, especially when I’m dealing with 10+ open applications.
  • The graphics card (NVIDIA GeForce 8600M GT) is fantastic - 512MB of memory - incredible 3D performance. But, this is a work machine… so I of course never play games on it… so who cares <cough ;) >
  • Software install and uninstall is cleaner. Many programs are just a simple .app file.

What I don’t like:

  • I miss Outlook. What I really want is Outlook with a few of the Entourage features added. For example, in Entourage, when I view an email that I’ve replied to earlier, I can quickly jump to my reply by clicking a link. When viewing the reply, I can quickly jump back to the original. Entourage global address book lookups are much faster than with Outlook. One big frustration with Entourage is the inability to convert text to a hyperlink. I often send emails with links to articles, etc. but instead of writing out the URL, I keep the email clean by saying “click here” and then convert it to a hyperlink. Amazingly, you can’t do this in Entourage! Do the Entourage developers not use the web??? Also, Entourage does not let me edit server-side/Exchange mail rules. I rarely need to change these so it’s no big deal. I can do it from the webmail client using IE under my VMware image.
  • Safari - it’s a nice browser but not as fast as advertised in my opinion. Several websites are still incompatible. Firefox was the first piece of software I installed! I’m not thrilled with any browser choices but I’ll get by.
  • Time Machine is a great backup solution with a very cool interface but it lacks the controls that it needs. I would like to have it turn off automatically during work hours. I have to switch it on and off manually. I’m sure there are ways to hack this but it hasn’t been important enough for me to investigate.
  • Microsoft Excel 2008 is a bit sluggish when moving from cell to cell. All of the features seem in place and many of most complex spreadsheets (with pivot tables, charts, etc.) work as-is.

Software Replacements
As expected, many of my every day utilities don’t run on MacOS. I was able to find alternatives. Here is a short list:

  • CuteFTP - replaced with Transmit - very similar features - I’m satisfied
  • Miranda and Trillian (IM Clients) - replaced with Adium. I actually like Adium much better and highly recommend it. It supports Jabber, AIM, Yahoo, Google Talk, MSN, IRC and more
  • IE - mostly replaced with Firefox and Safari but for those few websites that insist on IE, I boot up my Window XP VMware image.
  • Microsoft OneNote - replaced with MacJournal - it’s not an exact replacement but it has everything I need
  • Windows Media Player - replaced by QuickTime for some formats. I installed VLC to handle the rest.
  • FeedDaemon - my favorite Windows RSS reader - replaced by NetNewsWire - very similar functionality but it’s missing the ability to download full content for offline viewing. It does stay in sync with FeedDaemon running on my PC and my mobile RSS reader (NewsGator Go).

Overall, I’m glad I made the switch. I do think it’s a better OS for most things. I could have easily stayed with Windows and got the latest greatest fastest 64 bit laptop and maybe found the stability and performance that I’ve wanted all of these years….or maybe not. I haven’t abandoned Windows. I still have a very nice Dell workstation running both Windows XP and Windows Vista 64. I’m now able to switch back and forth between my workstation and my new MacBook easily.

I’ll post another update in a few months when the newness wears off. :)

Windows Vista / Mac OS Leopard

5/8/2008 - Very good article in Business Week titled, “The Mac in the Gray Flannel Suite” - about the growing demand for Macs by Office workers.

Adobe AIR books now in stores!

I was in Barnes and Noble tonight and found the book, “Beginning AIR: Building Applications for the Adobe Integrated Runtime” by Rich Tretola. I’ve spent the past 2 hours reading it - it’s a fantastic book for learning how to build AIR applications. You will find the table of contents and excerpts here

More books on AIR are coming soon!:

If you know of any others, leave me a comment.

24 days until Webmaniacs!

As mentioned earlier, I will be presenting at Webmaniacs. My session is titled, “Modular Development with Flex and LiveCycle ES“. I am also doing two sessions on Thermo, some very cool new technology coming soon from Adobe. Click the Thermo link above for an intro

There is still time to register - sign up soon! Check out the schedule here. Tons of good sessions on ColdFusion, Flex, AIR, Data Services, Ajax, etc.

Email me at gwilson AT myemployer’s domain if you are interested in discount code that will get you 10% off.

Search multiple Flex-related sites from the Adobe Developer Connection

Yesterday, a new feature was made available on the Flex Developer Center (part of the Adobe Developer Connection) that allows multiple sources to be searched from one location. What’s cool about this new search feature is that it searches not only the numerous Adobe sites, but also other community-based sources such as blogs. More resources are being added.

For example, I did a search for blur effect and got these results. Notice that the hits are coming from Adobe’s Livedocs server, actionscript.org, everythingflex.com and more.

The full announcement can be read here.

The Adobe Developer Connection also has a blog that is worth tracking at http://blogs.adobe.com/adc - keep an eye on this for more new stuff coming soon.

As I’ve mentioned earlier, there is also an AIR desktop client for the Adobe Developer Center. Read more here.

Also, don’t forget the Flex Cookbook!

1 MacBook running 3 OS’s and 3 AIR apps simultaneously!

While flying home earlier tonight, I was tired and bored so I put my regular projects aside and started playing around with VMware Fusion and a couple of VMware images that I have acquired - one running Windows XP and one running Ubuntu Linux. I decided to do something fun — I picked a random AIR application, Twirl.air, and installed it on my MacBook. I then started my Windows XP VMware image and installed the exact same Twirl.air file. I repeated this with my Linux image. I then switched back to my Windows XP image and turned on “unity view”. Unity view allows Windows applications to run outside of the Windows VMware “frame” so they appear to be apps running on my Mac OS desktop (a very cool feature). I then rearranged the various pieces and arranged it into the screen shot below.

Although I have seen the same AIR app run on all three OS’s before, it’s amazing to see them side by side.

Silly? Maybe. Cool? ABSOLUTELY!

New Adobe Technology-related bloggers on the scene …

Two new bloggers have hit the scene recently that are a must for your daily reading:

Gary Gilchrist - http://highway101.wordpress.com

Gary is a software architect at Adobe that specializes in security and LiveCycle ES.  I’ve known Gary for over two years and have found him to be one of the smartest guys I know.   If you are interested in LiveCycle or if you are a LiveCycle user, you’ll learn tons here.

 

Avoka Technologies / Howard Treisman - http://avokahhh.wordpress.com

Avoka is an Adobe partner in Australia doing some amazing and innovative things with Adobe LiveCycle, Flex and other technologies.  I’ve known these guys since 2001 and have been nudging them to start blogging so that they can share their incredible ideas. Take a look at their website. This will also be a great one to watch.  

 

Flex 4 SDK details surface

Some details have been posted about Flex 4 at http://opensource.adobe.com/wiki/display/flexsdk/Flex+4

There are some interesting features being considered. Note that backwards compatibility is mentioned.

Wiggle 3D Stereoscopy with Flex

I have been fascinated with 3D stereoscopy since I was a kid. I remember my first 3D poster - it came in a box of cereal and included the goofy glasses with one red lens and one blue lens. I would spend hours staring at the poster amazed at how a flat piece of paper could have magical depth by simply wearing colored lenses. I struggled to find the right colors in my Crayola box so I could create my own!

Since then, I’ve seen numerous 3D movies (including some mind-blowing ones at iMax theaters) that require some sort of hardware over your eyes to provide each eye a different view. The technique is actually simple. Two cameras are used to film two different views of everything so each camera sees a slightly different angle. Your left eye gets the left camera’s view and your right eye gets the right camera’s view. When an object is close, the image will appear to our left eye to be more to the right…and will appear to our right eye to be more to our left. In other words, the closer the object is, the more cross-eyed you get. Our brain takes this eye-angle data and converts it to depth perception.

There are other ways to create depth perception, one of which I found by accident.

Recently, my wife and I were on a cruise in Hawaii. As the ship was slowly cruising up the Nā Pali coast in Kauai, I took hundreds of pictures of the fantastic scenery. A week later, as I was viewing these pictures, I accidentally discovered that when I viewed two of the images back to back, I got a sense of depth from the images! Since that discovery, I occasionally experiment with shooting two or three images from slightly different locations and displaying them in rapid succession. I wanted to call this new technique “Wilson 3D Stereoscopy” but I later found that this technique was already called “wiggle stereoscopy”. Oh well…

Wiggle stereoscopy takes advantage of another way our brains perceive depth — how objects move in our field of view in relationship to each other . For example, if you look out the window of a moving car, objects that are close to you will appear to move much faster than objects in the distance. Our brain uses this data to help put together the 3D model in our head. Wiggle stereoscopy is basically the technique of toggling between two or more images so that we see the relative motion. This creates a temporary sense of depth.

Late last week, I was flying home from 360Flex Europe and was working on my next blog post in the series titled, “Rebuilding My Website Using Flex - Part 1“. I was playing around with with various image effects provided by Flex, and decided to take a few minutes and build a viewer for the wiggle photography I took while on the trip.

Below is the brain-dead MXML that I created. Basically, I put one image on top of the other and toggle the transparency (alpha) of the top image using <fade>. I played around with various timings and found what I think is a descent effect. Below is the code:

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” color=”#000000″ backgroundColor=”#000000″ historyManagementEnabled=”false” >

<mx:Sequence id=”wiggle”>
<mx:Sequence repeatCount=”1″>
<mx:Fade alphaFrom=”0″ alphaTo=”1″ duration=”400″ />
<mx:Pause duration=”200″/>
<mx:Fade alphaFrom=”1″ alphaTo=”0″ duration=”400″ />
<mx:Pause duration=”200″/>
</mx:Sequence>
<mx:Sequence repeatCount=”3″>
<mx:Fade alphaFrom=”0″ alphaTo=”1″ duration=”500″ />
<mx:Pause duration=”500″/>
<mx:Fade alphaFrom=”1″ alphaTo=”0″ duration=”500″ />
<mx:Pause duration=”500″/>
</mx:Sequence>
</mx:Sequence>

<mx:Canvas x=”0″ y=”0″ width=”100%” height=”100%” color=”#000000″>
<mx:Image source=”@Embed(’DSC_2635a.jpg’)” width=”100%” height=”100%” id=”showpic2″/>
<mx:Image source=”@Embed(’DSC_2636a.jpg’)” alpha=”0″ width=”100%” height=”100%” id=”showpic1″ creationCompleteEffect=”wiggle” />
</mx:Canvas>

</mx:Application>

Here are the results using 4 different pairs of images:

All my little viewer needs now is the ability to read an XML file to specify the image filenames and alternate timings (currently everything is hard-wired and embedded). I’ll add this later after I finish my website rebuild project.

Next, I want to learn how to combine relative motion with relative focus to provide the brain with additional “3D data”. Check out this 3D image from last year’s Sports Illustrated 3D swimsuit gallery - http://sportsillustrated.cnn.com/features/2007_swimsuit/3d/index5.html (note to wife - I’m only looking at the amazing 3D effects of the flowers, that’s all!). It’s labeled as Motion Parallax but it’s more than that. As you move the mouse around, different objects move at different speeds but it also introduces some cool blur effects to create relative focus. I can’t find any technical details on how this was done but I suspect that several images were used and separated into multiple “planes” and a simple flash-app was used to shift planes at different speeds in relationship to the mouse cursor and to blur different planes different amounts based on which one was in focus. If anyone has any other input on this, let me know. It’s a fascinating effect.

Adobe is also playing around with some related technologies. Check out the “multi-view camera” mentioned in this CNET article. Below is a brief demo video:

To read more about 3D stereoscopy, check out http://en.wikipedia.org/wiki/Stereoscopy

Speaking at Webmaniacs May 19-23 in DC

This is going to be a great event - 71 sessions! …including the one I’m giving titled, “Module Development with Flex and LiveCycle ES“. I will discuss the advantages of the component-based architecture of Flex for front-end development and LiveCycle ES for back-end development — and how, when used correctly, they can dramatically reduce development time, especially for enterprise apps.

If you are interested in Flex, AIR or Cold Fusion, try to make this event.

There is still time to register - sign up soon!

New LiveCycle Data Services Stuff …

The next version of LiveCycle Data Services is now in beta and available on http://labs.adobe.com.   Lots of new features and performance / scalability improvements - click here for details.

Also, a new stress testing framework is available on labs.   Click here for more details.

Adobe LiveCycle ES Update 1 now in beta

LiveCycle ES Update 1 is now beta. If you are interested in helping us test this new release, please click the link on the Adobe Developer Center.

For those of you familiar with LiveCycle ES, here is a summary of what’s new:

  • Development tools - improvements in both features and looks. Developers can now record a running process and play it back visually - a great feature for debugging. Other features include the ability to search the inventory of services, improved drawing, validation checks and more
  • End-user experience - 508-compliance, single sign-on and tons of new form capabilities
  • Process management - busines calendars and dramatically better out-of-office support
  • Install - many new platforms supported, including 64bit Windows, Solaris/JBoss and more
  • New turnkey options - There are now two turnkey options - Windows/JBoss/MySQL and Windows/WebLogic/MySQL - both have everything pre-configured and ready to go
  • Administration - improved backup and recovery (including hot backup) and improved staging (e.g. moving an app from test to production)
  • Integration - improved web-services support
  • Other - PDF/A (PDF archive) support, improved flash remoting, new components and more.
  • I’ll add a link here to the release notes very soon.

For those of you that have not looked at LiveCycle before, but are curious about it, please take a look at my previous post. It contains a 14 minute video introduction to LiveCycle that is intended for developer-minded folks and is 95% marketing free! :)

Note - LiveCycle ES is a J2EE-based server platform. However, for the beta, you can easily install it on your workstation or notebook computer. Just make sure you meet the minimum memory requirements of 2GB.

Adobe LiveCycle ES - an intro video for developers

Out on the server… beyond Flex and AIR… even beyond LiveCycle Data Services… is Adobe LiveCycle Enterprise Suite. Adobe is winning major customers with this enterprise platform and is getting ready to launch the public beta of LiveCycle 8.2 (officially named “LiveCycle ES Update 1″).

I’ve created a 10 minute video (ok.. well… 14 minutes) that provides an introduction to LiveCycle ES for developers that are interested in what Adobe can do on the “back-end”. This is a good starting point to get your head around the concepts before diving into the tons of information at the LiveCycle home page and the LiveCycle developer home page.

Where to learn more:

LiveCycle ES vs LiveCycle DS vs BlazeDS - clearing up the confusion

As you probably know, Flex Data Services was recently renamed to LiveCycle Data Services ES, commonly referred to as LiveCycle DS. However, this name change has confused a lot of people because there was already a set of products named LiveCycle Enterprise Suite, commonly referred to as LiveCycle ES. After talking to many people at 360Flex and other events, I’ve concluded that the distinction and relationship between these is a bit muddy for most.

Adobe LiveCycle ES

Adobe LiveCycle Enterprise Suite is an SOA-based platform that is deployed on a J2EE application server. The base platform provides the ability to develop, deploy, configure and execute services. There are many built-in services in the base platform for doing simple things like sending and receiving emails, FTP’ing files, calling web services, manipulating server-side files, executing SQL, etc. New services can be developed (Java POJO) and deployed as well. Any of these services can be invoked through one or more endpoints including Java APIs, web services, watch folders, email and flash remoting. In addition, the base platform provides the ability to combine services through orchestration (workflow) to create new super-services, which can have the same endpoints mentioned above. For example, you could quickly create a new service that receives an email, analyzes the subject, creates a response with dynamic content from a database, attaches a file and then sends the response back to the originator, essentially automating an email response. This is basically the LiveCycle ES platform in a nutshell.   NEW:  Check out my video intro to LiveCycle ES.

On top of the base platform are various “Solution Components“, each of which is sold separately or as part of a “LiveCycle ES Edition” which is essentially a combo-pack of solution components!

There are solution components for just about everything document-related or process-related that you can imaging. I won’t go into the specifics in this post but below is a list with links to more details.

Adobe LiveCycle DS

Did you notice the last solution component listed above? Yes, LiveCycle DS is basically a subset of the LiveCycle ES. LiveCycle DS is sold either as a stand-alone product or as part of a larger LiveCycle ES deal. (It is actually included automatically in the LiveCycle Forms ES solution component). It is licensed by CPU.

Adobe LiveCycle DS provides data enabling capabilities for Flex and AIR-based applications. These capabilities include data synchronization, data paging, data push, data conflict management and publish-subscribe messaging along with some capabilities specific to interacting with applications built on the LiveCycle ES platform. For more details on these capabilities, click here.

DS vs. DS Express vs. Blaze DS

Yet another source of confusion - LiveCycle DS Express is exactly the same as LiveCycle DS except that it is FREE and restricted to a single application running on a single CPU (click here for more details on the licensing).

Blaze DS is a free, open-source product that provides a subset of the functionality provided by LiveCycle DS. Sujit Reddy Gurrala, a fellow Adobe technical evangelist, does a great job summarizing the differences on his blog. For many developers, this provides all that you need. However, if you are building large-scale applications with needs for conflict management, etc., take a look at the other DS offerings.

LiveCycle DS, Community Edition

Just when you thought you were getting it, I’m going to throw one more at you. LiveCycle DS Community Edition (huh!?) is basically Blaze DS with a paid support subscription. For more information, see this page.

Learning more:

I hope this helps!

I’m working on some online demos of LiveCycle ES Update 1 beta - so stay tuned!

In Europe? Want to learn tons about Flex? 360Flex is coming in 13 days!

If you are in Europe and are interested in Flex, AIR, LiveCycle, etc., check out this event.   360Flex Atlanta was a huge success with standing-room only sessions.  A lot of topics will be covered - http://www.360conferences.com/downloads/EuropeSchedule.pdf

For more details and to signup, go to http://www.360flex.com/360flex_europe/

I’ll be there to present - Join us!

Online training this week on Flex, Flash, Mobile, ColdFusion and Dreamweaver!

March 24th - 28th, 2008 - Adobe Developer Week

There are some great online sessions available this week at http://adobe.com/go/2008_developer_week.

These live seminars are scheduled events simulcast over the web via Adobe Acrobat Connect Professional. You’ll need a web browser, Adobe Flash player and an Internet connection. Voice-Over IP will broadcast over your computer if you have audio. Alternatively, audio is available via telephone. Access details will be provided once you register.

Below is a list of the sessions (copy paste as of 4:15pm PT 3/23):

  • Extending Web to the Desktop with AIR
  • Getting Started with Flash Lite 3 and CS3
  • What’s New in ColdFusion 8
  • Building Rich Internet Applications with Flex 3
  • Introduction to Adobe Blaze DS
  • Integrating Salesforce.com and Flex
  • Building AIR Applications with Flash CS3
  • Dreamweaver: Effective Standards-based Workflows for Ajax
  • Adobe AIR Local Data Storage Options With Emphasis on Using Embedded SQL Databases
  • Flash Lite and Flex for Tourism
  • ColdFusion Powered Rich Applications for the Internet and Desktop
  • Flex and Java – Tying the Knot
  • Flex Data Services
  • Adding Live Chat with ColdFusion & Adobe Blaze DS
  • Blood from a Stone: Flash Game Optimization on Low-end mobile devices
  • Flex Visual Data & Charting
  • The Essential Guide to Dreamweaver CS3 with CSS, Ajax, and PHP
  • ILOG Elixir: Your Remedy for Vibrant Data Visualization
  • AIR Native Drag and Drop
  • Flex Architecture

Free software AND free training! Go to http://adobe.com/go/2008_developer_week to register

Also, as mentioned in my previous post, I will be rebuilding my aerial photography website using Flex. I will be posting step by step details of the rebuild here on my blog. The first articles of the series is available here.

Rebuilding My Website Using Flex - Part 1

This is the first in a series of posts that will document my experience using Adobe Flex to dramatically improve a simple existing website. Like many of you, I am fairly new to Flex Development and need a good project to sink my teeth into. If you have not developed in Flex before, you may might find series of posts a good starting point. You can learn as I learn! :) If you are a seasoned Flex developer, feel free to jump in and make suggestions for improvement.

What is Flex?

Flex is an open-source framework for developing rich web applications. Flex applications run on the Adobe Flash Player so there is nothing to install on the client as long as Flash Player is installed (and practically every computer has it installed). There are no server requirements so whatever web host/server you are using now will be fine. Here are a few links to get you more familiar:

Project Description:

As mentioned in earlier posts, I have a weekend aerial photography business called Tiger Aerial Photography. For over three years, I’ve had a very simple four page HTML website at http://www.tigeraerial.com. Although it’s very simple and short, this site has served me well, but it could be much better, especially using Flex.

My Requirements:

  • Fastest approach possible –> I have a very demanding day job and a weekend job (aerial photography), so my time is extremely limited. I want great results in the shortest possible time. I want to take advantage of existing Flex components and minimize the amount of custom code.
  • Unique - make my photography stand out –> Is doesn’t matter how cool the site is if the photography doesn’t look good and attract customers. When the user lands on the home page, I want them to immediately see some of my best work and have one of two samples automatically zoom and pan to show the full resolution of the images. Many of my competitors show only static images at low resolutions so I want my potential customers to see how much detail my 12.3 megapixel Nikon D300 can capture. This will be the most challenging (and most fun) part of this project.
  • Simple –> My existing website is very simple and to the point. My goal is to maintain the simplicity while dramatically improving the look and feel. I plan to keep the same four major sections that I have today:
    1. Home Page - Primary landing page - this is where I need to hook ‘em. I currently use AutoViewer, a great flash-based slide show viewer. This gives my page at least a hint of richness. I think I can do better than this.
    2. About Page - Description of the services that I provide - mostly text but I might try adding a bit of eye candy.
    3. Portfolio - Links to multiple galleries of my work. I use SmugMug for my online galleries. For the initial conversion to Flex, I’ll just link to the appropriate SmugMug page.
    4. Contact Information - Simple page with contact info. Currently this page has a link to my email address which has generated an incredible amount of spam, so I’m considering replacing this with an information request form. We’ll need a bit of simple server integration to make this happen.

    Tooling up!:

    • I have a few choices on tools:
      • I could download the Flex SDK and use the command line compiler to compile my Flex application. This is a great option for many developers, especially since the Flex SDK is free.
      • I could instead download Flex Builder which is an Eclipse-based IDE that includes the SDK and features context-sensitive help, visual UI designer, debugger, memory profiler, etc.. There is a downloadable 60 day trial so you can grab it now and follow along with me. After 60 days, you’ll need to purchase the product to continue using it. Flex Builder comes in two flavors - a stand-alone version and an eclipse plugin. The stand-alone version includes everything I need including a pre-configured Eclipse environment. The Eclipse plugin would allow me to add Flex Builder to my existing Eclipse environment.
    • I chose also the stand-alone Flex Builder for this project. Although I am a command-line kind of guy and could probably get by with the Flex SDK, I need the visual designer, integrated help and debugger. I highly recommend this for anyone new to Flex - it will dramatically ease the learning curve.
    • I’ll use Photoshop for any required image work. I expect very little, if any.

    Getting everything ready:

    Project Plan:

    • I’ll start by choosing a basic layout, navigation controls and color schemes.
    • I’ll start with the home page. I’ll play around with some different images effects to see if I can figure out how to do engaging tricks with some of my photography. I’ll experiment with <mx:Move>, <mx:Resize>, <mx:Fade>, <mx:Blur> and will mix these up a bit using <mx:Sequence> and <mx:Parallel>. I’ll post all of the variations with source as I go.
    • Next, I’ll focus on the About page and Contact Us page. These should be fairly simple but will require a little tweaking to get the right fonts, colors, etc.
    • I’ll then tackle the Portfolio page. This page will contain links to the SmugMug galleries but I want these links to be interesting. Typically, if a visitor goes to my portfolio page, they are a good prospect so I need to really dazzle them. There are tons of options for this. I could do simple thumbnails or do something really unique like an image carousel with good animation, etc. There are a few custom components available that I plan to experiment with so this will be fun.

    My next post will jump right in on the development. I plan to include both text and video. Stay tuned!

    New on ADC - Best Practices for team-based development with Adobe LiveCycle ES

    Earlier this week, a new technical guide was posted to the Adobe Developer Connection titled, “Best practices for team-based development with Adobe LiveCycle Workbench ES“. If you are relatively new to developing applications with LiveCycle ES, this is a great read.

    Other good LiveCycle-related content can be found at http://www.adobe.com/devnet/livecycle

    I am going to be starting a whole series of posts on LiveCycle ES in the next few days, including some sneak peaks at the upcoming LiveCycle ES Update 1 release. If you are curious about LiveCycle and its capabilities, this will be a good starting point.

    The “richest” application I’ve ever seen! A full-motion flight simulator for an Embraer 190

    Ok, ok - this article is not about Adobe technology or AJax or any other recently discussed RIA technology … but it is about a VERY engaging and immersive user interface. :)

    I recently was asked to join a sales call at a major airline training center where pilot recurrent training takes place. In the room were a bunch of IT folks that were evaluating various technologies for pilot scheduling, offline pilot testing, etc. Also in the room was a flight instructor representing the end users. His job is to put pilots through the paces of dealing with in-flight emergencies in a simulator so they do not become complacent. After finishing the technical discussions, I may have accidentally mentioned that I was a private pilot and that I had a couple of hours to kill before I needed to head back to the office. Amazingly, my powers of suggestion worked and the instructor asked if I wanted to go play in the simulators! I said, “Duh! Of course!”

    I’ve played with just about every version of Microsoft Flight Simulator and XPlane since the late 80’s and I’ve flown about 16 types of real single engine planes, but nothing could have prepared me for how incredible this was going to be.

    (I know there are a few airline pilots reading this now that are rolling their eyes but for us private pilots flying single engine prop planes, this is HUGE!)

    The simulator was for an Embraer 190 passenger jet. This is not a Windows PC hooked to a big monitor with a joystick. This is a multi-million dollar, fully loaded, fully functional cockpit connected to a sophisticated network of computers and motion devices that simulates almost every aspect of flying the jet. The first picture below shows a CAE Embraer 190 simulator identical to the one I flew. The second picture shows the pilot and co-pilot in the front seats and the instructor/examiner in the back seat running the show. The third picture is a sample of the level of graphics these devices are capable of.

    The level of detail was incredible - far beyond what I anticipated. I was surrounded by seamless near photo-realistic scenery visible through every window. Also, the sounds and motion devices really completed the illusion. After the instructor walked me through the engine startup procedure, I started my taxi to the active runway at JFK. I was immediately amazed because I could feel the bumps on the taxiway. It felt like we were actually moving. When I added power, I could feel the acceleration (the entire sim tilts but from inside, it feels like natural G-forces). Once we were cleared for takeoff, I gave it full throttle and in a few seconds, we were flying. The Embraer 190 has a heads up display which definitely added to the cool-factor.

    So.. now some pilot stuff… This ain’t no 4 seater prop plane - it felt “huge”. The response was sluggish and control inputs had to be more deliberate than I was used to but it actually felt fairly natural. The instructor never touched the controls but gave me step by step instructions on the first landing which turned out nicely. I then went around for a second landing and asked him to turn up the winds. With a couple of mouse clicks, he gave me a 25kt wind right across the runway. As I got on final approach, I at first wanted to side-slip which is the normal way to compensate for a cross wind in small planes…but in a large plane like this, side slips don’t work because the wing tip will hit the ground. I had to hold a slight crab until I was just just about to touch down. The landing was fairly good! Then I guess he thought I was getting cocky and told me that he was going to do a V1 engine failure during the next takeoff. V1 is the speed at which the airplane is moving fast enough down the runway that if an engine failed, the pilot can maintain control of the plane with one engine running and must continue the takeoff rather than risk an abort takeoff. When the plane is below V1, there is not enough air moving across the rudder to compensate for the torque created by having only one engine running so the remaining engine has to be immediately shut off before it pulls the plane off the side of the runway! (there are actually other factors in determining V1 too - see VSpeeds). A cutoff right at V1 is a bit tricky because there is barely enough control authority to keep the plane moving the right direction. The second he failed the engine, I could feel the immediate yaw but rather than trying to hold the plane on the centerline (which was nearly impossible anyways), I just tried to coax it off the ground without running off the side of the runway. I did get it in the air without hitting anything which impressed me and the instructor! I decided to quit these challenges while I was ahead.

    Afterwards, the instructor started showing me more features of the simulator itself..such as the ability to create thunderstorms, turbulence, other airline traffic, near collisions, etc. This is amazing technology. I spent a total of 1.5 hours at the controls and loved every second of it. It is proudly entered into my logbook.

    Below is a 2 minute movie shot from the inside of a 737/800 simulator built by the same company, CAE. It is not the same model, but it will give you a good sense of the realism. Be sure to watch the landing. Note the jolt as the wheels hit and the sounds. Rich huh???

    So, if I’m ever on an Embraer 190 and the pilots become incapacitated, I’m ready to save the day! :)

    A Must Have for Flex, AIR and Flash developers - ActionScript 3 Reference Guide (PDF)

    A great new reference guide for ActionScript 3 is now available for immediate download from the Adobe Developer Connection. I put this to use within 10 minutes of downloading it.

    Class/Interface format:

    5

    Snippet from the guide:

    You can download yours from http://www.adobe.com/devnet/actionscript/articles/atp_ria_guide.html

    So now you want to develop Flash Lite Content for Windows Mobile?

    Over the weekend, the news broke that Microsoft is licensing the Flash Lite 3 player and Reader LE for Windows Mobile. I’m not a Flash Lite expert, but I’m suddenly curious. I’m sure that there are many of you out there like me that have never built anything for Flash Lite but are suddenly interested now that the potential audience just increased by millions of devices!

    .

    .

    .

    So, I’ve put together some good links as starting points for those of you new to Flash Lite:

    By the way, you don’t have to wait on Microsoft to release a new version of Windows Mobile to play around with in a browser. There are already two great browsers for Windows Mobile that already support Flash Lite today:

    I’m seeing more and more interest in using Mobile devices for enterprise connected applications so I’ll be tracking this.

    .NET connectivity from Flex and AIR just got a lot cheaper

    Midnightcoders just announced that WebORB for .NET is now free! WebORB allows your Flex and AIR applications to interact with .NET server applications. This has been a popular choice for integrating with .NET and now it’s free!

    WebORB for .NET Home Page - http://www.themidnightcoders.com/weborb/dotnet/index.shtm

    The WebORB website has some great examples of Flex Remoting with .NET at http://www.themidnightcoders.com/weborb/dotnet/examples.shtm including a sample pizza ordering application at http://www.themidnightcoders.com/weborb/dotnet/runexample.shtm?page=10

    If anyone builds a production application with Flex or AIR connecting to a .NET backend using WebORB, please contact me. I’m always looking for good customer implementations, especially those with disparate technologies.

    Flash H.264 - Hulu.com goes live - SNL, Family Guy, Movies and more …

    <QUOTE FROM HULU WEBSITE>
    “Hulu offers U.S. consumers a vast selection of premium video content, on demand, free and ad-supported: full episodes of TV shows, both current and classic, full-length movies, thousands of clips, and much more.”

    Hulu offers full episodes and clips from current primetime shows –for example, Family Guy, 30 Rock, The Office, House, The Simpsons, Terminator: The Sarah Connor Chronicles, and Friday Night Lights – as well as a massive selection of TV classics, from Arrested Development and Firefly to Buffy the Vampire Slayer, Miami Vice, Roswell and many more. Our movie library will include full-length movies from The Usual Suspects, Ice Age, and Point Break to Some Like It Hot, In Her Shoes, and Me, Myself and Irene, as well as hundred of clips from classic movies such as Aliens, Die Hard, Little Miss Sunshine, Napoleon Dynamite, and Vertigo.

    </QUOTE>

    .

    .

    I have been in their beta program for the past 2 months and enjoy the service, especially when I travel. The video quality is fantastic (thank in part to Flash 9 and H.264 of course!). The service is free so the programs have commercials, but they are all brief so they don’t get too irritating. The resolution is great and even includes some HD content at 1280×720.

    By the way, Hulu has recently signed deals with the NBA and NHL :)

    So, quit working and go watch Family Guy at http://www.hulu.com !

    New Online Flex Application - TurboTax Personal Pro

    Intuit recently launched TurboTax Personal Pro, built in Flex. From a consumer point of view, this fills a gap between those who want to do their own taxes and those that prefer to hand the accountant a shoe box full of receipts and pick up their returns a few days later. With TurboTax Personal Pro, the end user answers some basic questions presented in a very structured logical fashion.  Afterwards, a tax specialist contacts you to complete the return and then e-files it for you.

    From an application design point of view, this is a classic use of Flex to build an RIA. The UI is simple, intuitive, efficient and includes live instant messaging with a tax specialist. Not only is the end-user front-end built in Flex, the back end CRM application used by the tax specialist for managing customers, call schedules and for preparing tax returns is Flex-based as well.   This is the type of applications I’m interested in.   Intuit is headed down a great path - more Flex-based online offerings are coming.

    New Flex Applications added to the Flex Showcase

    The Flex showcase has been growing at a faster than normal pace the past few days. If you haven’t been there lately, check it out at http://flex.org/showcase

    Also, did you know that the Flex showcase has an RSS feed? Subscribe at http://feeds.feedburner.com/flexshowcase.

    360Flex Europe less than a month away!

    I attended and briefly presented at 360Flex in Atlanta at the CNN center. Most of the sessions were packed with people literally standing in the back of the room! I met a wide variety of amazing people - some that had never used Flex that were there to investigate, and others that were Flex gurus wanting to learn new tricks and get the latest news on Adobe products. There were also several enterprise application developers that I spoke with about their use of Flex for both external and internal applications looking to network. It was a high energy event with the perfect mix of speakers and attendees.

    Flex360 is now coming to Milan, Italy April 7-9 and I’ll be there to present. I’ll provide an introduction to LiveCycle Data Services, LiveCycle ES and illustrate how they work with Flex and AIR. I’ll also be there to meet everyone and learn more about how everyone is using these technologies. If you are in Europe and are either using Flex or thinking about using Flex, this is the ideal event!

    For details and to signup, go to http://www.360flex.com/360flex_europe/

    See ya there! :)

    Airbus A320 vs. 55MPH gusting winds

    This reminds me of my first cross-wind landing attempts during my private pilot training. Whether you or a pilot or not, this will make you cringe!  Notice that the wing tip hits the pavement - which definitely creates a bit of paperwork for everyone involved.

    Flex Cookbook - now on Adobe Developer Center

    As mentioned in my earlier post, the Adobe Developer Connection has undergone a major face lift. One feature that I want to highlight is the new Flex Cookbook. Whether you are new to Flex or an experienced Flex developer, you will quickly find samples that increase your knowledge.

    Here are some sample posts:

    • Building Flex Applications with SOAP Web Services
    • Embedding Flex 3 applications within the SharePoint Portal Server
    • Multiple Column Sorting using the AdvancedDataGrid control
    • Building Flex Applications with JSPs
    • How to validate radio buttons
    • …and many more

    Each of these have problem descriptions, solution descriptions, code, comments, etc. It also has RSS feeds so you can monitor for new stuff.

    Another must-see site for Flex developers.

    And… most importantly… please contribute by posting your own! :)

    Go to http://www.adobe.com/cfusion/communityengine/index.cfm?event=homepage&productId=2