[update] Thanks to Powerflasher we now also have a license for FDT 3.1 Enterprise edition for one lucky winner!
I'm happy to say that thanks to the friendly folks at Adobe I've now got two licenses of Flex Builder 3 Professional to give away!

So, don't hesitate - record a video comment, right now you've still got a 100% chance of winning. To get things kick started the first person to leave a video message will get a ticket to the <head> conference!

The prize lineup now looks as follows, with some more prizes being sorted out for the runners up.
First prize - Flex Builder 3 Professional (Mac or PC)   or FDT 3.1 Enterprise edition - Lynda.com one-year online training library pass - <head> conference ticket

Second prize - Flex Builder 3 Professional (Mac or PC)   or FDT 3.1 Enterprise edition - <head> conference ticket

Third prize - <head> conference ticket

Video messages don't necessarily need to be in English, feel free to record something in your own language if you prefer. Just be creative and have fun!

CategoriesGeneral, Video

I never thought I'd keep anything up for this long but today is the 5th anniversary of this blog! That comes to 383 posts (or an average of about 1.4 posts a week), 1482 comments/trackbacks and some 65.188 pieces of spam. Back in 1994 I had about 360 hits a month whereas now its grown to an average of 15.000.
To mark this occassion I figured I'd do a little giveaway, prizes include:

- 2 5 tickets for the <head> global web conference (donated by Aral Balkan) - 1 one year pass to the Lynda.com Online Training Library® (donated by Lynda.com)

Still talking to some other companies, more to come!
To participate, all you have to leave is a video comment on this post using the new Seesmic video comment feature I've recently installed.

Anything goes, feel free to talk about what you like about this blog, where there's room for improvement, heck you can even sing a song or tell a joke. Bonus points for creativity!

Next week, September 21st I'll post a short list of my favorite video comments and will put up a poll so the community can vote on the winners. The winners will then be announced on Friday September 26th!

Good luck and have fun!

CategoriesGeneral, Video
30 CommentsPost a comment

I was amazed at the amount of positive feedback I got yesterday when Leo Laporte published the little twitlive.tv AIR application on his blog. Decided to address some of the excellent suggestions that were coming in and spent another hour or so working on it before releasing this 1.5 build.

Here's what has changed:

  • The application has been renamed to "TWiT Live Desktop"

  • Application icon is now vector and looks much better
  • IRC channel is now supported
  • Refresh button added to force reload the live stream
  • Compact video mode plays the video in a smaller "always on top" window

In a next release I'll be looking at the following features:

  • Add support back in for minimizing, maximizing and resizing the application

  • Icon to toggle the "always on top" setting on the main window
  • Preferences panel to tell the app to launch in regular or compact mode at startup, save your timezone setting so the Google Calendar displays the schedule for your timezone etc.
  • Notes feature to allow you to quickly write down a URL or something interesting you heard and save it out to a file.

Some of the other feature requests that came in have to do with how Stickam handles their embedded video and chat. I'd love to talk to them to see if there's a way to make it work. If there is anyone from Stickam reading or you know anyone there feel free to send me an email.

For those wondering version 1.5 is about 40 lines of code at this point. I will be open sourcing the application at some point in time, probably in a release or two, and putting it up on Google Code.
Download and install here: [airbadge]TWiT Live Desktop, http://leoville.com/wp-content/uploads/twitlive-air/TwitLive.air, 1.5, /blog/wp-content/uploads/2008/07/twitlive-air-300x240.jpg[/airbadge]

32 CommentsPost a comment

Nice one, found out a week or so ago that this blog has been aggregated on the Rich Internet Applications category on alltop.com, Guy Kawasaki's latest project. Its quite an accomplishment and am rather proud to be sharing the stage with several of the big shots in the community, better keep the quality of my blog posts up. Incidentally you need to have a new blog post up at least every 28 days or you're automatically kicked out so better not start slacking off.

Alltop, confirmation that I kick ass


2 CommentsPost a comment

After Tuesday's announcement about SWF now getting fully indexed I thought I'd do a little experiment and put up a few test SWF files. Its difficult to accurately deduct what exactly is happening but thought I'd write down what I've tried and what the results are thus far.

What did I use?

I created a Flash 9 SWF exported from Flash CS3, added some component instances in a variety of ways, added an input text field and set up a function that triggers a PHP script on my server and subsequently sends me an email with the value of the input text field.

Embed methods

Embedded SWF with object/embed tag, SWFObject and the standard publish from Flash CS3 (i.e. AC_FL_RunContent).

Result: all three SWF files were getting hits from Google searchbot and triggered an email to be sent, no arguments were being sent to the script either through POST or GET.

What is getting indexed?

Manually added a Button component instance on Stage, programmatically added one to the DisplayList, instantiated one but didn't add it to the DisplayList and added one to the DisplayList outside of the Stage bounds so not visible to the user.

Result: of these four only two got a MouseEvent.CLICK triggered, the one manually added and the one programmatically added within the visual bounds of the Stage.

Trace statements

Added some trace statements throughout the code to see if those would get picked up.

Result: trace statements do not appear to be getting indexed.

Preliminary conclusion

I didn't have a lot of static text and no dynamically loaded text to be indexed in my test SWF. I'm working on an updated version of the test SWF to put up and look into what exactly is happening with that, see what and how it gets indexed.

This morning I got a comment on my previous blog post by my brother Kristof saying he noticed Google was now indexing URLs to photographs and music files from his band he referenced from his Flash content. From what I can see what Google has done there is follow a reference to an XML file and indexed that file containing the URLs.

This is what Google says: "We currently do not attach content from external resources that are loaded by your Flash files. If your Flash file loads an HTML file, an XML file, another SWF file, etc., Google will separately index that resource.."

Why? Adobe, please tell me why this is a good thing and how this would help SEO of Flash content. It makes no sense whatsoever to index calls to .xml files and server-side scripts referenced from an SWF and link to those URLs.

Just to make this clear, if you do a filetype:swf search in Google no dynamically loaded data will show up. What happens instead is the URLs you use in your SWF get crawled separately. You'll increasing start seeing .xml, .php etc. file show up in the search results that are used in your SWF but do not link to your SWF file that uses it but that .xml, .php, etc. file itself.

In short:

- Google follows URLRequest links, indexes XML and other referenced files in your SWF that return text (though not in context of the SWF, i.e. links to those URLs directly rather than the SWF that uses it) - Only instances added to the DisplayList and visual on stage or getting triggered - Using URLVariables, no values seem to get sent along with the URLRequest

Remaining issues

These are two things I've seen happen that could be troublesome:

- URLs to files loaded in from SWF content are getting exposed in search results (and not in reference to the SWF that uses it) - Server-side scripts referenced in the SWF are getting hits from search bots, potentially causing unwanted behavior.
I really want to see Adobe, Google and Yahoo! urgently come out with additional information for developers on how to prevent unwanted files getting indexed, how the indexing works for the various search engines and how they individually handle things like follow URLRequests etc.

23 CommentsPost a comment

I don't think I'm alone in seeing Twitter's service deteriorate to the point where euthanasia seems like the only humane option. Without any obvious intimate knowledge of how the service is architected, these are my three easy steps to hunt and kill the fail whale.
1. Stop accepting new registrations

In the current situation I can't for the life of me understand why they are still accepting new people in. It is obvious the system can not handle the strain on peak times (its bad enough throughout the rest of the day).

Also worth noting is that a significant portion of those new registrations are spambots, I've got at least 5 or 6 new ones of those following me each day.
2. No friends timeline on the home page

When you're logged in, the first page you see is the "what are you doing" input box and your friends timeline, how many followers, direct messages you have etc.

Just think of the amount of excess queries that is for people that just want to use the web interface to leave a new message. Why put strain on the database for that? Keep it simple and use a Google like interface with just the input box and a submit button on the home page.
3. Enforce caching

Many people use Twitter clients like Twitterific, Twhirl etc. and get annoyed about the API limit that gets enforced. There doesn't appear to be anything like that in place when using the Twitter web interface.

By enforcing caching you can make sure database queries only get run every x minutes, this can be throttled based on the current server load (much like there now is an API call to determine the request limit).

These three steps are nothing more than common sense really but should go a long way into making Twitter usable again. Moving forward though they should really start looking at data push strategies to optimize things further. I've had some interesting discussions about that possibility and hope to do a separate blog post about it.

CategoriesGeneral, Rants
4 CommentsPost a comment

... or a look at ColdFusion from a Flash/Flex developers perspective. I just got back from four days in beautiful Edinburgh for an event I would likely not have attended were it not that I was invited to speak there. Scotch on the Rocks is one of barely a handful of what I'd call real "community driven events" out there, while not as polished as other more commercial counterparts I had a sense that this is the place to be if you want to get a real feel of what is happening in the ColdFusion community and want to network with fellow European developers.

As mentioned in an earlier blog post, I've only had very limited exposure to ColdFusion and even that was year ago which made it all the more interesting to see what its current state of affairs is.

  A couple of observations:

ColdFusion is growing up - while it always seemed to me that it would be difficult to architect CFML in a more OO structure, I was pleasantly surprised at the number of frameworks out there that promote best practices and allow for an MVC type approach. Indeed its not too similar from what we're seeing in the ActionScript community.
ColdFusion and open source - alternative ColdFusion engines are flourishing, notably Open BlueDragon, and Railo who announced going open source and joining JBoss.org during the second day keynote.

I honestly think Adobe needs to take ColdFusion in the direction its going with Flex -- open source it and focus on creating commercial tooling and broadening the ecosystem. I'm sure that would do wonders for adoption for people coming from a Java background and create a more obvious path for companies to start moving towards enterprise LiveCycle solutions.
ColdFusion adoption - pricing and availability of hosting have always been the main obstacles I've had when considering building something on a ColdFusion backend.

The integration between ColdFusion and Flash/Flex front end's is really well done and would be a fantastic time saver considering the built-in Flash remoting gateway, LCDS etc. unfortunately that is something I've rarely been able to take advantage of.

Now with Open BlueDragon, Railo becoming viable alternatives in terms of licensing, pricing and them offering Amazon EC2 images this is looking increasingly tempting to get back into ColdFusion development and consider it for upcoming projects.

Congrats to Andy, Kev, Jatin and the rest of the team for a fantastic event. I'm looking forward to polish up my ColdFusion skills and attending again next year!

2 CommentsPost a comment

What can you say about 2M08? Its amazing how fast the conference has grown up in just a few years. Koen, Wouter and the rest of the team did an outstanding job and with the help of the sponsors made it an event that you can easily compare to many of the well known international industry events. One difference though, its completely free of charge. Sure its just one day but four different tracks and all those international speakers gave enough choice for anyone to find interesting sessions throughout the day.

Adobe Keynote Aral Balkan - "Ruling the Web" Peter Elst - "SQLite in Adobe AIR" Wim Vanhenden - "Having Fun with Flash and AIR" Stephanie Sullivan - "Design Challenges, Standards Solutions" Marco Casario - Flex with AJAX Serge Jespers - Up close and personal with the AIR API's 2M08 awardshow with Hoss Gifford


The day started out with a keynote by Serge Jespers and Jason Levine that showed some nice sneak peeks of products 'that may or may not be included in a product that may or may not be called CS4'. Its funny how protective Adobe is about using the term CS4, even during meetings under NDA that is a strict no-no. I guess the final decision hasn't been made yet in terms of marketing or there are some legal issues.

A lot of the sneak peeks were shown at other conferences, though probably not in as much detail. What stood out to me is the multi-track support in SoundBooth 'Next" (since then available on labs.adobe.com, along with Fireworks and Dreamweaver). Jason also showed a very cool feature in Premiere that does audio to text transcription, which can be used to help generate subtitles but they were more keen to position this as a means to generate metadata that stays with the files.


Aral is also a veteran of Multi-Mania, this year he was back to talk about "Ruling the Web". You have to admire the guy, have never sat in on one of his talks and not walked out inspired.

He didn't shy away from any controversy either, especially when it came to OO with ActionScript and the various MVC frameworks. He does have a point, just for the sake of proving ActionScript is 'all grown up' we embrace complexity and go to great lengths to mould it into something that it doesn't have to be.

I couldn't help but think of the good old ActionScript 1 days, don't get me wrong -- I love ActionScript 3.0 -- but at the same time we have to be careful not to throw away the dynamic nature of the language and make it another Java. As Aral rightly pointed out: "Even Java doesn't want to be like Java nowaways" ;)

For those of you that weren't able to attend, I recorded some 20 minutes of Aral's talk and have had his blessing to publish it here:


Tough act to follow, I was up next talking about SQLite in Adobe AIR. I've done similar talks in the last few months and it doesn't get old. Think this definitely was one of my better ones and there seemed to be a lot of interest in my HTML/JavaScript example levering SQLite.

You can find my slides below, a lot of the example code and the SQLite wrapper classes I talked about are available in the "Introduction to SQLite in Adobe AIR" post I did a while back, the "AIR Badge Wordpress Plugin" is available here.

Note that slideshare doesn't seem to like Flash Player 10 beta, if you're having trouble seeing my presentation you can download the PDF for offline viewing.


I missed the first part of Wim's session while I was hanging out in the speakers lounge with Aral and Mario but came back just in time to see some amazing demo's of AIR leveraging Java to do some text to speech.

If I'm not mistaken he used Merapi for it and also used it in the artwork that was selected for the "Canvas Collectie" and featured in the Museum of Fine Arts in Brussels.

As usual a very entertaining session with some really inspirational demos!


We don't have Stephanie over in Belgium all that often so had to make sure I saw 'the first lady of CSS' in action. Its been years since I've really delved into CSS but the session definitely had some great tips and tricks that I'll want to try.

At the same time it was a reminder at why I started focusing on Flash and Flex development, cross browser issues must be a pain to deal with on a daily basis.


Marco made it out to Belgium as well, he's an excellent speaker on all things Flex and definitely not to be missed. His session on Flex with AJAX was really good, don't have a lot of experience doing JavaScript development and my practical knowledge on the subject was limited to the Flex-AJAX Bridge.

We were shown some really good tips tips and tricks on how to combine Flex and AJAX functionality to create things like the Google Finance example that often gets shown.

I recorded a few minutes of his session introduction that you might want to see.


When I went to see Serge present his session on AIR API's I got some weird looks . Admittedly I already know quite a bit about the subject but don't want to miss out on an opportunity to see him present.

I really liked the session, it was sort of a mix of the talk Lee Brimelow's did on the on AIR tour interspersed with several wacky experiments like 'the worlds smallest video player'.

He closed off by showing some insane experiment Ralph Hauwert had been working on and involved realtime position tracking of a Papervision3D object overlayed on a video. I don't even want to think about the maths involved in that one.

After that I went to hang out in the speakers lounge again with Serge, Ralph and Marco. It was really great seeing all of the guys again. Before the awardshow the speakers and sponsors (a couple of mere mortals slipped through the net as well) went to eat at Sakura, an excellent Japanese restaurant. I'm sure there are some compromising photos of us floating around on the interweb somewhere.


They had the stand up comedian Gunter Lamoot present the awardshow this year which was pretty hilarious at times. Didn't have 'jury duty' this year so saw a lot of the projects with fresh eyes and can honestly say that there's some real talent out there.

Hoss Gifford was excellent as usual, saw most of his talk at various other conferences but his presentation style never gets boring. If you get the opportunity to see him speak, don't miss it!

After the awardshow we had a party sponsored by Boulevart which went on into the early hours. No better way to close an excellent conference!

2 CommentsPost a comment
[SWF]http://www.peterelst.com/blog/wp-content/uploads/2008/05/2M08-mobile.swf,200,310[/SWF] Thomas Joos has done it again, after doing one for FITC Amsterdam and Toronto this time he has worked on a Flash Lite mobile guide for 2M08.

I've just been playing around with the app and its really useful, you get an overview of the conference schedule, a map of the venue, information about the party and even a basic Twitter client.

I'm sure I'll be using this throughout the day on Friday, if you've got a Flash Lite enabled phone be sure to download the mobile guide!
Read more about the mobile guide on Thomas' blog --




Adobe Community Summit 2008 This years Adobe Community Summit has sadly come to an end -- since we're all under NDA we're unfortunately not at liberty to discuss what was shown but it certainly was impressive.

The group of user group manager and community experts is definitely growing, the Park conference room at the Adobe headquarters in San Jose could barely accommodate us all.

Jonathan Wall and the team did an outstanding job as always with the logistics and geting us information from the various product teams and execs. Speakers included: Michelle Turner, Scott Fegette, John Nack, Doug Benson, Mike Chambers, Bill Perry, Johnny L and many more.

The Adobe Developer Connection team, John Dowdell, Sumi Lim and others were there for a good deal of the event which was really nice. Adobe certainly takes the community programs seriously and does a lot to support us in our various activities.

This year was special as Ed Sullivan is changing jobs, Christine Lawson has left Adobe and we had an opportunity to welcome Rachel Luxemburg and Stacy Sisson who are taking over from them. The user group managers did a touching tribute video to Ed (posted on YouTube by Aaron West).

I think the best way to summarize the last few days: "the number after three is... next" -- looking forward to 'next' year! ;)


I love reading some analysis about the evolution of the RIA space but what is it with tech reporters these days? There seems to be very little research done and some absolutely ludicrous comparisons made. Here are some examples highlighted by fellow bloggers:

John Dowdell Brajeshwar Oinam Mrinal Wadhwa

To avoid any confusion, here's a little cheat sheet:

- Adobe AIR is a runtime - Microsoft Silverlight is a browser plugin - Adobe Flash Player is a browser plugin

Or to put it differently AIR != Silverlight, a runtime is not a browser plugin.

AIR != Silverlight

Embed code

<a href="http://www.peterelst.com/blog/2008/05/15/adobe-air-versus-microsoft-silverlight/"><img src="http://www.peterelst.com/buttons/air-silverlight.jpg" width="150" height="56" alt="AIR != Silverlight" /></a>

Help spread the word! Feel free to use the badge above or create your own.

25 CommentsPost a comment

Twitter Noticed recently I've been using Twitter for well over a year now (February 5th 2007 to be exact), and some might say I've become addicted. I'm closing in on the 2500 twitter post mark, have about 465 followers and follow 241 of those myself.

Now to be honest, things have come to a point where things are beginning to get a bit too crowded on my friends timeline.

When Aral twittered about looking for a way to unfollow twitter users that don't follow him back I started looking for an easy way to do that. Was looking for all sorts of crazy mashups that would help manage friends but in the end found a very simple way to get it done.

If you're logged in and go to your friends overview (http://twitter.com/friends) you'll likely notice that there are certain users that you can direct message and certain that you can't.

When you can't message that user it simply means that he's not following you back. Going through that list you can easily remove those users.

Twitter follow list

Doing this I went down from 300+ people I follow to my current total and it does help. There are a handful of people I still follow even though they don't follow me back, if you're one of those people its safe to assume I'm a big fan.

Think its important to note that you can still message with people you're not following by using the @user syntax, if someone writes a twitter post that has @peterelst in there I see it show up in my replies tab (sort of, twitter can be a bit dodgy when a message has multiple @ references).

If you want me to follow you on twitter, a good way is to message something to me using @peterelst and chances are that I'll add you.

Also worth mentioning is the increase in Twitter spam, what I tend to do is check the ratio between followers and following -- if the amount of people they follow is over double that of people that follow them its generally a spam bot and block those.

Have been trying to write an AIR app to go through the friends list and gives the option to automatically unfollow those that don't follow you as well as detect possible spam Twitter users.

Unfortunately have been running into the 70 requests per hour limitation very quickly so might need to be a little bit creative in how to get around that problem.

7 CommentsPost a comment

Adobe Community Summit For the next week I'll be in San Jose, CA for the annual Adobe Community Summit with fellow community experts and user group managers.

This is always one of my personal highlights of the year, we get to see some of the exciting projects that are being worked on and hang out with project managers, engineers and other random folks of interest at Adobe.

Unfortunately most of what we'll be seeing is covered by a non-disclosure agreement but will do my best to give a general impression of the event and where I see things going.

I'll be spending a couple more days in San Francisco before heading back home and hope to make it to the Computer History Museum if I find the time. If you're in town and would like to meet up just email me or leave a comment.


Digital Design and Media I'm very happy to see the Technical University of West-Flanders, PIH department is adding a new track to their Multimedia and Communication Technology (MCT) offering starting in September, namely Digital Media and Design.

The focus for "Devine" as its affectionately called includes storyboarding, motion graphics, web design, video editing using industry standard tools like Flash, Flex, AIR, Photoshop, After Effects, 3D Studio MAX etc. The scripting languages covered include PHP, ActionScript, XML, HTML, CSS, Javascript.

I've been thoroughly impressed with the level of education they offer. This new track is without a doubt going to result in some of the best creative web professionals coming out into the work arena in the next few years!

Having met with many of the MCT students and lecturers at conferences and user group events over the last few years its clear how passionate they are about multimedia -- the annual Multi-Mania event is just one example.

Adobe should really take note of initiatives like this and support them any way they can, just think -- how many bachelor degrees will be out there covering AIR just months after its release?

The first information session was held yesterday, read more about it on Ronny Welter's blog: http://nocreativity.com/blog/devine-digital-media-and-design (in Dutch)


2 CommentsPost a comment

Pistach.io Trust Aral Balkan to come up with some great projects to support the community -- Singularity a three-day online conference is coming later this year and Pistach.io is going into beta soon.

Pistach.io is an ad network that targets a specific topical pack of influential websites and blogs. As a company you'll have the unique opportunity to promote your business by advertising on these sites and get the best exposure possible. As a blog author you no longer have to worry about finding advertisers or negotiating rates.

I'm very excited to have been asked to join the Pistach.io Flash Pack with this blog, if nothing else it'll be a great incentive to keep giving back to the Flash community!

  Read more about it on Aral's blog


Just two weeks ago Ted Patrick launched a wonderful initiative where he auctioned some rare bags he had lying around for charity. He pledged to personally double the proceeds and Adobe has a program whereby it doubles any gifts to charity by employees. Platform Evangelist Team Timbuk Bag

I managed to get the winning bid on the "Platform Evangelist Team" timbuk bag and look forward to showing it off at conferences in 2008. I figured, if you can't get the job at least get the bag and do your bit for charity.

In total the auction raised $5774.76 USD for the San Francisco Food Bank which is pretty impressive! If you still like to get your hands on one of these bags, there are two more Flex bags being auctioned and another 24 hours left to bid.

In this holiday season we can all do our bit to help those less fortunate, I'll be donating proceeds from amazon affiliate purchases for this quarter to my favorite charity and urge everyone to contribute in their own way.

Need inspiration? Here are some projects that I personally support:


PremaHome offers orphans and children from poor and broken families a new home where they receive free food and accommodation, medical care and an education. They are presently looking after 600 destitute children and teaching 750 children in its school in Tamil Nadu, South India.





I just had an interesting discussion on Twitter with some friends about the French speaking Flash community in Belgium and the apparent lack of them at our local Adobe User Group events. That's actually a very good point and never really understood why that is the case or if we're simply not reaching them. They must be out there but I'm afraid to say I personally know very few of them (Stéphane Bebrone, Gilles Bertrand, Cyril Hanquez -- sorry if I'm forgetting someone I know) and would tend to say I'm generally pretty clued in on the scene.

Would love to get some links to personal blogs, community sites, courses, events etc. to follow up on what's happening there and hear what would help to get our French speaking colleagues involved.

For those new to the Adobe User Group Belgium it might be worth noting that -- except for one or two presentations in the past -- sessions are always done in English, events are free of charge and its an excellent place for networking (usually with free drinks and great raffle prizes).


P.S. if there are any Flash/Flex or other Adobe software users in the German speaking community in Belgium please don't hesitate to post a comment or get in touch either and let us know what you're up to! ;)

CategoriesEvents, General
7 CommentsPost a comment

When opening a simple HTML document in Dreamweaver CS3 (Mac OSX 10.4.10) this afternoon I got this modal dialog pop up. Clicking Cancel or OK didn't close it, and had to force quit the application. Dreamweaver Inset Path Dialog

Never seen this happen before, and haven't been able to reproduce it since. A quick Google search seems to indicate this is some remnant from Fireworks or Freehand but don't have a definitive answer as of yet.

Anyone else seen this happen?

2 CommentsPost a comment