Daniel Dura

All About the Adobe Flash Platform

ApolloCamp Twitter Application Open Sourced

with 4 comments

TwitterCamp in action.

Today I released the source code for the ApolloCamp Twitter application that we used at ApolloCamp last month. This Apollo application ran on a desktop which was connected to a plasma display and a projector. Attendees could get a ‘birds-eye’ view of the tweets that were being sent to the ApolloCamp Twitter account. I built the application in about two days which is a testament to the Flex Framework and Apollo. I should also thank the guys over at Twitter who helped us get this application working and gave us technical support using their API as well as Ely Greenfield for his great SuperImage component.

We were not sure how well the idea of using Twitter as a conference back channel would go over with the attendees. We found out that it works amazingly well! When attendees found issues with the venue or wanted to praise one of the speakers, they would Twitter the message and it would appear on the big screen inside the application. This not only facilitated great communication between attendees, but helped us as organizers stay apprised of what we needed to do to make the conference successful. I have now made the application and source available so that if you are hosting a conference or user group meeting, you can use and customize this application and display all Twitters for your Twitter account. If you don’t have a Twitter account already, you should set one up. You can view my Twitter profile and add me as a friend to keep up with what I am doing. Also make sure and add ApolloCamp as a friend, he is a little dormant right now, but we will probably start posting on that account soon to let you know what is up with the Apollo team.

The source for the application is available by visiting this page. You should be able to customize the application and graphics to fit your needs, or just use the application on your desktop for your personal use. It is built using Flex and Apollo.

If you have any questions about this application, please use the comments on the TwitterCamp page. For more urgent issues email me, but realize that I may not respond right away (I am consistently about 1000 emails behind, if someone can build an Apollo app that solves that problem, you would be a lifesaver!)

Written by Daniel Dura

April 10th, 2007 at 9:31 am

Posted in AIR,Flex

Apollo Multi-Window Support using Flex

with 12 comments

One of the most exciting features of Apollo is support for applications which have multiple native windows. Currently when using Flex in the browser, you are limited to using PopUpManager or rolling your own MDI architecture. With Apollo, your application can look more like, well… a native application. Each window will appear in the task bar on Windows, have a tab and z-order, etc.

An existing issue in the Apollo alpha that you may struggle with if you are doing Flex development, is that the Flex Framework does not currently support Apollo’s NativeWindow implementation. The issue stems from the fact that now your Apollo application can have multiple stages and the Flex framework which was originally developed for the browser player doesn’t take this into consideration. Right now if you try to add Flex content, such as a custom Flex component, to a new windows stage you will get unexpected and broken behavior.

Now, I wouldn’t bring this up unless I had a solution. But before I show you that, a few caveats: a future release of the Flex Framework will formally support multiple windows. If you are looking at this article and there is currently a post-alpha Apollo release, please check the docs first to see if Flex officially supports multiple native windows. Another caveat: You will still run into a few issues and bugs when using this technique. For example, PopUpManager may not work properly in new NativeWindow instances.

On to the code (the comments should explain what is going on):

Read the rest of this entry »

Written by Daniel Dura

March 30th, 2007 at 8:01 am

Posted in AIR,Flex,Tutorial

Apollo Native File Dialogs

with 6 comments

Currently the Apollo Alpha doesn’t support native file dialog boxes (it will before the final official release.) Despite that, there is a way to get this functionality now by using existing Flash Player APIs.

I will first show how to display a file ‘Save’ dialog box which allows the user to specify the name of the file they would like to write to the disk. This will allow them to type in the name of a file that may not exist. The user can also select a file that already exists and the dialog will prompt the user that they are about to replace that file on the system.

To accomplish this in Apollo, you use the ‘download’ method on the flash.net.FileReference class. Because the flash.filesystem.File class extends FileReference, you can employ this technique by using that class as well. The trick to getting the File reference without actually downloading the file is to cancel the URLRequest before it executes. See the code below for an example:
Read the rest of this entry »

Written by Daniel Dura

March 29th, 2007 at 6:24 am

New AS3 XMPP Library on Adobe Labs

with 6 comments

Almost a year ago I began working on an XMPP library using ActionScript 3. XMPP is a protocol which enables real-time collaboration and presence information to be communicated between clients. (For more information about XMPP see http://www.xmpp.org.) With the new Socket API in Flash Player 9, writing a formal XMPP protocol library in ActionScript was much easier than it was in previous versions of the player and showcased some of the new features of the ActionScript 3 language. I decided to start to write one from scratch.

I have submitted this library to the Adobe Labs repository. You can browse the repository using the link below. The path to the source is ‘projects/xmpp’ in the ‘flashplatform’ repository. Christian Cantrell has also made a great post on his blog that describes how to checkout the latest code here.

Over the past year I have made many optimizations and feature additions to the code base and I am still actively developing the library. If you have any suggestions, questions, or patches related to this library, please feel free to email me directly (ddura@adobe.com).

  • Browse the source here.
  • Download the latest nightly drop of source from the Adobe Labs repository here. (This contains the entire labs source tree.)

Update: The code for this library has been moved to Google Code, where some bug fixes and changes have occured. Be sure to update to that version. Link

Written by ddura

November 30th, 2006 at 2:41 pm

Posted in Actionscript,Flex

ASDoc Now on Labs

with 3 comments

A version of ASDoc that we use internally for generating our documentation is now available on Adobe Labs.

Written by ddura

August 14th, 2006 at 10:31 am

Posted in Actionscript,Flex

Google’s Sourceforge Competitor

without comments

Today at OSCON, Google announced a new site for developers to house their open source projects. The site allows publishers to choose one of seven different open source licenses for their project and provides access to issue tracking and a subversion repository.

I think it is great to see Google do this. I have become increasingly frustrated with Sourceforge and the amount of blatent advertising on that site. Google’s site is lacking in some features, but hopefully since it is beta (big suprise) there are still features yet to be realized.

Written by ddura

July 27th, 2006 at 3:52 pm

Posted in Programming

Don’t Underestimate Google Checkout

without comments

Definitely one of the big news stories today is Google’s announcement and release of it’s new product called Google Checkout. Many in the blogosphere (as evidence by the comments here) are dismissing its launch to Google’s apparent lack of focus and inability to address it’s core business.

What should not be overlooked is how strategically important this product will be for Google and how this launch illustrates that they are very focused on their core business: advertising. A great majority of the $6 billion in revenue that Google reaped last year can be directly attributed to their advertising programs. Without this revenue, there is no doubt that Google would be a shell of the company it is today and what it will be in the future. So to maintain their market dominance, they have to secure that revenue stream, which has come under increasing pressure as worries about click fraud have start to deteriorate trust in their current CPC system.

So what does a checkout system have to do with any of this? Quite simply, they have to reinvent advertising, again. The end goal in any advertising effort is to get customers to do something. This could be the consumer pulling their wallets out but may be the customer just making a phone call to the advertiser. The problem with most advertising today is that there is no way to really track why and how that action was initiated and if it ended in an actual purchase.

Earlier this week, Google announced a new ad program based around a cost-per-action model. The theory goes that if you can track a transaction from start (when the user sees the ad), to finish (they make a purchase, or other valuable action) then the advertiser will pay more for each action than they would for a click. Advertisers will pay more per action because they are only paying for what they truly see as valuable and not for clicks which may or may not pan out.

But what is missing in this plan? Google has the advertising infrastructure and audience. They also have a pretty good way to contact the advertiser through an ad using Click-to-Call. And now, they actually have a way to track and record the purchase.

If anything, Google Checkout shows that Google is right on track in securing their business. There is no doubt in my mind that they are doing what they have done many times in the past, redefining the rules of the game.

Written by ddura

June 29th, 2006 at 10:38 am

Posted in Web 2.0

At MIX06 in Las Vegas

without comments

I am actually sitting in a an enlightening session right now at MIX about Atlas and IE7. About an hour ago we finished the session with Bill Gates and Tim O’Reilly. It was my first time seeing Bill Gates live, which was fun.

If you are here at the conference, feel free to come up an introduce yourself. I hope to have a more comprehensive post later about the sessions I am attending.

Written by ddura

March 20th, 2006 at 11:38 am

Posted in Conferences

Taking a Few Months Off from Adobe

without comments

I have to say that the last few years at Macromedia/Adobe have been not only amazing, but very enlightening. At the same time, it has been like a non-stop sprint starting on the Central team and ending with Developer Relations.

Before I embark on any other opportunities at Adobe though, I have decided to take a few months off. I just got back from WebDU in Sydney, and afterwards kicked off my leave by spending a week in New Zealand catching up with old friends there and just vacationing on the north island (see my photos.)

Now that I am back, I am going relax, catch up on spending time with my lovely wife, and also explore some of the amazing technologies that have been released over the past few months and that I enjoy working with.

It should be an exciting time. I will not be checking my Adobe email for the time being, so if you would like to contact me, please use the information on the contact page of this site. I will also try to keep you up to date with what I am working on using this blog.

Written by ddura

March 20th, 2006 at 11:22 am

Posted in Adobe

Arrived in Sydney for WebDU

without comments

This morning Mike and I arrived here in Sydney for WebDU. Unfortunately WebDU and Flashforward were right on top of one another, so I wasn’t able to make it to Seattle. This will be the first Flashforward I have missed in quite a while. Here in Sydney I will be speaking on ActionScript 3 and the new VM.

If you are here in Sydney, please come up and introduce yourself and stop by my session. I will also try to post any photos I take to my Flickr stream.

Written by ddura

February 28th, 2006 at 3:58 pm

Posted in Conferences