Alex Garneau

Hunted down from the computer jungles of NAIT all tangled up in a Kinect cable-trap, this slightly over-enthusiastic developer joined the team for the Flash programming experience and found himself taking a wild ride through programming technologies he never knew existed. Though he still gets a lot of Flash experience doing a few projects with the new technologies Adobe is still somehow releasing, much of his work and efforts come from learning and applying Javascript, HTML, CSS, SASS, and even the Google Dart language. He anticipates and accepts the usual challenge and enjoys making flashing lights go boom on the screen in his spare time. Keeps a pencil and sketchpad with him in case his mind starts going off on tangents, as that's usually how a child of two artists relieves stress. Makes great effort to keep things positive and PG-13 at all times, so nobody is afraid to ask him to share his thoughts on anything. His dream job is to do some crazy things with the Kinect. Talks to his computer frequently. Nobody around him thinks it's strange.

The Evolution of Video in Flash

Back in the good ol’ days, Flash was very popular among many for playing media. It was used, online and offline, for displaying animations, showing presentations, and general advertising. Though there weren’t all that many options back then, such popularity still came mostly because it was simple. It was able to animate vector art very smoothly as opposed to large, clunky .gifs, as well as allow users to use simple interactions like mouse clicks and keyboard input. Macromedia Flash itself also had a very simple interface and UI, and was used in schools all over to help teach students multimedia and animation.

As the internet evolved, so did Flash. As video playback started to become popular, Flash had no choice but to adapt to keep up with competition and provide its users with the best experience possible. This involved cutting corners, taking back-doors, and even adding a whole new programming language to the mix at one point.

Continue reading →

Introduction to the Flash CC HTML5 Canvas Document

With Adobe Flash Professional CC® you are able to publish HTML5 Canvas documents directly. Initially this was done using the Toolkit for CreateJS extension, however it has now been completely integrated into Flash, configurable from the Publish settings. Those who are familiar with publishing content with the Flash IDE will find themselves able to create HTML5-ready content using traditional Flash Pro timelines and tools. Even with little to no HTML/JavaScript experience, you can publish interesting and dynamic content within seconds.
Continue reading →

Check. Check. Is this thing on?

It’s been nearly a full year since I last blogged. (Do people still blog? Maybe I should snapchat this instead?) I used to blog a lot, but life became busier, posts became more infrequent, and eventually it stopped being a habit and became a chore.

That doesn’t mean I don’t have a lot to say. It’s just that the last few years have been a crazy and exciting ride, and I haven’t had a lot of time to dedicate to writing posts.

Five years ago, Flash as a platform died. For a lot of shops, the migration was gradual. Not for us. Our clients come to us for cutting-edge tech, and almost overnight, Flash didn’t meet their criteria. We went from almost 100% Flash work, to nearly 0% in less than a year.
Continue reading →

Bardbarian on Steam – coming soon

Thanks to everyone that has played and supported Bardbarian so far! It has been amazing to see what the Treefortress guys have come up with, and we couldn’t be more thrilled with the result.

An update has been posted on the Steam Community about what players can expect from Bardbarian once it arrives. Check it out, and be sure to leave your thoughts.


If you haven’t checked out Bardbarian on iOS, yet – you can download it in the app store. Keep an eye here, or on the Treefortress blog for more Bard-related announcements in the coming months.

New dev update for Bardbarian!


Over at TreeFortress we’ve put together a massive dev update for our upcoming game Bardbarian. To read all about it, check out the TreeFortress blog!

If you’re not familiar, Bardbarian is an iOS/Android game, built with Adobe AIR and the Starling Framework, and is slated for a Spring/Summer release in 2013. TreeFortress is a seperate division of gskinner, focused solely on creating our own apps and games. Follow them directly if you’re interested!

Spelling Plus Library Open Sourced

We would like to let everyone know that Spelling Plus Library (aka SPL), our Flash/Flex spell-checking library has been released open source.

We first released SPL as a commercial component over 6 years ago, with a major overhaul to support the Text Layout Framework almost 4 years later. It was always our goal to provide a high quality, performant, and feature rich product, backed by great support. As the requirements of the industry have shifted, and the demand for Flash components has dropped, we felt it was a great time to release it to the community at large.

The entire SPL repository is now available under an MIT license, meaning it is free to use for everyone, including on commercial projects. This includes:

  • The SPL source code. Word list loader and parser, text highlighter, and spelling suggestion and replacement utilities
  • The Flex-based AIR application that helps create, modify, and export word lists
  • All examples, spikes we used for testing, and some internal demos
  • The build process to export Flash and Flex SWCs
  • Generated word lists using custom compression for US and UK English, along with tested word lists for Spanish, French, and German.

You can check out the GitHub repository to get everything. Feel free to submit pull requests. Please note that we are no longer supporting SPL, so any questions or issues reported may not get immediate responses.

Thanks to our supporters over the years, we are super proud of what SPL has accomplished, and hope that it will continue to see life moving forward.

Announcing CreateJS

We’ve been working really hard on a lot of great stuff over the last couple months, and I’m thrilled finally to be able to share it with the world.


We’re going to be releasing EaselJS and a number of companion libraries under the new umbrella name “CreateJS”. CreateJS will be a suite of modular libraries and tools which work together to enable rich interactive content on open web technologies (aka HTML5). These libraries will be designed so that they can work completely independently, or you can mix and match as suits your needs. The initial offerings will be: EaselJS, TweenJS, SoundJS, and PreloadJS.

Along with the new name, we’ll also be launching a new site at which will consolidate demos, docs, tutorials, community, and showcases for all of the libraries and tools. If you have a project or tutorial you’d like to see featured, tweet it to us: @createjs.


EaselJS provides a display list and interactive model for working with rich graphics on top of the HTML5 canvas (and beyond). It provides an API that is familiar to Flash developers, but embraces javascript sensibilities.

We’re planning a minor v0.4.1 release soon, which includes bug fixes and some minor feature additions. Following that, work will commence on v0.5, which will focus on some larger features, API clean up and consistency, and improved documentation. If you have features you’d like to see in v0.5, add them to the issue list, or tweet them to @createjs, and we’ll see what we can do.

Along with the CreateJS site launch, we will be releasing much improved examples, and links to resources and tutorials developed by the community. Again, let us know if you’ve written a tutorial, or have something cool you’ve built with EaselJS you’d like us to showcase.


TweenJS is a tweening and animation library that works with EaselJS or independently. It offers a deceptively simple interface, and a huge amount of power with support for delays, easing, callbacks, non-numeric properties, sequencing, and plugins.

TweenJS v0.2 will be tagged soon. It will incorporate some fixes and tweaks, along with a full plugin model. After v0.2 our next focus will be on performance and providing better demos and documentation in preparation for the CreateJS launch.


Audio is currently a mess in HTML5, but SoundJS works to abstract away the problems and makes adding sound to your games or rich experiences much easier.

We have a huge v0.2 release in testing right now. It is a ground up rewrite that incorporates a target plugin model that allows you to prioritize what APIs you’d like to use to play audio. For example, you could choose to prioritize WebAudio, then audio tags, then Flash audio. You can query for capabilities (depending on the plugin that is used), and it offers seamless progressive enhancement (for example, panning will work in WebAudio, but will be quietly ignored in HTML audio). Following v0.2 our focus will move to fixing bugs, and delivering plugins for mobile and application platforms like PhoneGap and Win8 Metro for a v0.2.1 release.


The newest addition to the suite, PreloadJS will make it easy to preload your assets: images, sounds, JS, data, or others. It will use XHR2 to provide real progress information when available, or fall back to tag loading and eased progress when it isn’t. It allows multiple queues, multiple connections, pausing queues, and a lot more. We’re hoping to get a v0.1 build out in the next couple weeks for people to start playing with, and then will focus on fixing bugs, improving documentation, and just generally maturing things for v0.1.1.


Zoë is an open source AIR application that converts SWF animations to sprite sheets. It supports some advanced features, like configurable frame reuse and multi-image sheets (important for mobile).

For Zoë v0.2 we’re planning to add support for reading the symbols in a SWF, and letting you select multiple symbols to include in your exported sprite sheet. It’s also worth mentioning here that Flash Pro CS6 will include direct support for exporting sprite sheets for EaselJS, offering a more integrated workflow than Zoë can provide.

Toolkit for CreateJS

We’ve partnered with Adobe to build a fantastic tool for leveraging all of the existing Flash Pro skill that’s out there to build amazing HTML5 experiences. The Toolkit for CreateJS is an extension for Flash Pro that allows you to publish content (including symbols, vectors, animations, bitmaps, sound, and text) for CreateJS & HTML5 as a library of scriptable, instantiable objects.

We’ve worked really hard to develop a workflow that makes sense, and to generate code that is completely human readable, and very small (in some cases the output is smaller than SWF when zlib compressed). You can even write JS code on the Flash timeline, and it will be injected into your published tweens.

Exciting times! If you’d like to stay on top of CreateJS updates, please follow @createjs on Twitter.

Flash Player Mobile, a Post Mortem.

By now, you’ve likely heard that Adobe has ceased development of the Flash Player for mobile browsers. It’s hard to miss – it has whipped the usual rabble of ill-informed techno-zealots into a screaming mass of vindictive idiocy. Sadly, this frenzy is being led by sensational headlines in the media, and snarky, self-congratulatory posts by leading tech pundits.

I don’t think I will ever understand the joy that apparently comes from dancing on the grave of a dead technology. One less technology means one less choice, and one less branch from which new innovation can spring.

And let’s be honest. A LOT of innovation has sprung from Flash. It opened a whole new class of web experience, birthed online casual gaming, defined rich UI, and heavily influenced many of the features that comprise HTML5.

Yes, Flash is proprietary, but that allows it to be agile. Yes, there’s an abundance of truly horrible Flash content out there, but that’s more a testament to its ease of use than its failings as a technology. I guarantee that if creating HTML5 content ever becomes as simple as with Flash, you will see a plethora of horrible HTML5 content (though hopefully some lessons will not be forgotten – RIP Skip Intro).

Flash is deeply flawed, but so is every technology. Hating it is popular, but seems to be based less on any rational analysis, and more on a self-sustaining anti-fanboism, and the sheep-like re-bleating of Jobs’ proclamations.

See, Steve Jobs was right. But then he was wrong. Very wrong.

As an iPhone user, I was initially in full agreement that Flash had no place on my phone. Flash Lite was crap, and there was no evidence that the full player could be made to run well on a device. I also didn’t have a burning need to view Flash content on my phone.

Then two things happened that shifted my thinking.

First, Adobe (eventually) proved that the Player could be viable on mobile with the Android plugin. They also made it optional. In my mind, that was ideal. It gave people a choice. I could choose not to enable Flash, or I could choose to only enable SWFs that I wanted to view. It seemed like the perfect compromise, and made me wish I had the same choice in iOS.

Unfortunately, Steve wasn’t known for compromise, so rather than either embrace this proven approach or simply maintain the status quo, he chose to lash out. His famous open letter on Flash was a mix of half-truths, hypocritical misdirection, and outright lies. I lost a lot of respect for Mr. Jobs that day. Withholding a choice from users to maintain a “perfect vision” is classic Jobs, but engaging in FUD wasn’t.

His biography indicates that this act was driven not by evaluating what was best for users, but rather by a personal vendetta against Adobe for past slights.

Regardless of his motive, it worked incredibly well. Companies cancelled or froze Flash projects while they waited for the dust to settle. Flash lost a ton of momentum, despite there being no viable replacement yet. Without iOS, Flash’s “write once, deploy anywhere” story became a lot weaker.

Given this climate, I think Adobe made the right choice in killing off mobile Flash. The mobile player requires a huge ongoing investment to support new devices and OSes, an investment that has no (obvious) financial benefit for Adobe.

Further, the type of content that Flash enables doesn’t make a ton of sense on the mobile web. People use their browsers for quick look-ups and fall back to apps for rich content. This will change over time, but the reality is that virtually no one is creating mobile version of Flash content for the web, there simply wasn’t enough demand to justify the expense, especially without iOS support.

If this decision allows Adobe to focus on increasing innovation in the desktop player, significantly improving their app packagers, and investing heavily in HTML5 tooling, it’s got my vote.

Jobs was right, but he was right for the wrong reasons.