Having returned from a whirlwind of conferences and client meetings, I finally carved out a bit of time to work on gTween, my AS3 tweening engine. I’ve tweaked the API, added feature enhancements, fixed a couple of minor bugs, and am happy to announce gTween beta 2.
Five Year Blogaversary
Time sure flies fast when you’re having fun! Today marks five years of blogging, including two redesigns, 345 posts, 3900 comments, and tens of millions of page views. There have been a lot of changes in the industry during that time: the dark ages of Flash (MX2004), Adobe buying Macromedia, the bitmap capabilities of Flash 8, the introduction (and subsequent reintroduction) of Flex, the release of ActionScript 3, and the emergence of Silverlight as the first serious competitor in the space.
Over this time, I’ve seen my role morph from a relatively unknown freelancer experimenting with Flash, to an active community member, regular conference speaker, and CEO of one of the top ActionScript development teams on the planet (I refuse to be humble when talking about my team – they rock!). We’ve built a diverse range of successful projects for some really stellar clients, ranging from the Fanbase AIR application for Atlantic records, to the v3 components for Adobe, to camera based installations for BBC and Nissan. It really is a testament to Flash as a technology, and the potential of the platform.
I want to take this opportunity to thank the Flash community for being such an awesome and open group of people. I’ve had so many stimulating conversations, made so many great friends, and been inspired in so many ways by this community. I’m excited to see what the next 5 years brings. Hopefully it will include a new design for gskinner.com (egads, is it really over 4 years old?)!
gTween: A New Tweening Engine for AS3 Developers
gTween: Programmatic Tweening for AS3 Developers
There are a lot of great tweening engines out there. Personally, I’m a huge fan of Jack Doyle’s TweenLite (and he’s been incredibly productive adding new features lately). However, none of these libraries exactly fit the needs of me and my team. I wanted an engine that was small, fast, hugely flexible, and built from the ground up for AS3 and developers.
The result was gTween. gTween is a small (4.5kb), fast (1500 instances, 0.5s duration, ~25fps), instance based tweening class, with a huge number of options and capabilities. You can read about core features of gTween below.
This is certainly not an attempt to displace any of the existing tween engines. Rather, it’s simply an attempt to share another option for managing programmatic tweens with the developer community.
For now, I am releasing this as a public beta. It has been loosely tested, but there is so much capability in gTween that I guarantee there are still bugs and edge cases we haven’t addressed. Likewise, I am soliciting input on additions or modifications to the API (including the names of specific properties or methods), so it is possible that the API may change in the future.
JavaScript Stalled, AS3 Orphaned – Microsoft to Blame?
As you may have already read, the ECMAScript 4 standard, the standard on which AS3 is based, and the draft proposal for future versions of javascript has been rejected in favour of ECMAScript 3.1, which proposes small incremental changes to javascript for the foreseeable future.
This leaves Adobe in a somewhat awkward position. Firstly, it casts ActionScript back to being a proprietary language. Secondly, it means they have released an extremely valuable chunk of intellectual property (in the form of the Tamarin ES4 execution engine), without gaining the expected benefits for the Flash platform.
It’s also very disappointing for the web at large. This decision means that Javascript will effectively stagnate, and is unlikely to become a robust language for supporting rich/complex client side applications any time soon. Had ES4 become a ubiquitous standard, I would certainly have looked at doing a portion of our work in the AJAX space. I’m sure other Flash developers and traditional programmers would have done the same. I suppose from that perspective, this could be good for the Flash platform, but I prefer competition, options, and thriving innovation.
So why did this happen? When I heard the news, I analysed it in light of who has the most to gain, and in context of previous discussions / information I’ve read. I guessed that the most likely reason that ES4 was dropped, was due to Microsoft. They would have to either write a new execution to support ES4 (which costs money), or swallow their “not built here” pride to use Tamarin. By crushing the standard they would avoid having to do either of these and take a stab at their rival Adobe by pulling the carpet out from under AS3’s standard compliance. Being that they control 80% of the browser market, they are also one of the few groups that could unilaterally block adoption of the standard (having a standard that’s only supported by 20% of browsers isn’t very useful).
So to me, it looks like a power play by Microsoft. And it seems that I’m not the only one – Hank Williams over at whydoeseverythingsuck.com has written an article mirroring my thoughts almost exactly.
These situations are frustrating for developers (well, for almost everyone, I imagine). Standards bodies are so hampered by politics and corporate interests, but of course they are the lesser of two evils (no one wants to return to the wild west of HTML coding). Almost makes you glad that the Flash player is a proprietary product, eh?
UPDATE: Adobe has just made their public response here. Quite candid, and definitely seems to follow the lines of my speculation with mentions of “a morass of bickering, infighting, and sometimes, out and out name calling”.
Coolest Video I’ve Seen In a Long Time
Holy crap this is cool! Ultra slow motion video of a lightning strike. It’s amazing to watch the traces (not sure what to call them) following the path of lowest resistance, trailing paths of ionized air, until one touches the ground and WHAM the surge of electricity blasts down through the path.
It looks a lot like the lightning experiments I did awhile ago, but the logic is a bit different. I’m definitely revisiting this to make it mirror the “business logic” you can see in this video.
Man, I love nature (and slow-mo cameras)!
Here’s the lightning video.
Here’s my old lightning experiment.
More Conferences
Sorry for the lack of posts lately. I’ve been neck deep in client work, and prepping for a plethora (as in, too many of a good thing) of conferences.
In addition to Flash on the Beach, FlashForward, and MAX San Francisco, I’ll also be speaking at the following events:
Austin Game Developers Conference, Austin Sep 15-17
I’ll be giving a talk about Flash as an interface tool for traditional game development. Looks like there will be a strong Flash presence, with an online track, and one of the keynotes being given by Lane Merrifield, cofounder of Club Penguin.
Flash On Tap, Boston Oct 7-9
Flash and beer is always a perfect combination, and now it comes in conference form. These guys are geniuses. I’ll be giving a talk on “Things Every Flash Developer Should Know”. It’s basically a digest of everything I wish someone had taught me 10 years ago. Though if I speak late enough in the day, I don’t know how much anyone will actually learn. 🙂
San Flashcisco, San Francisco Aug 18
While I’m in SF for FlashForward, I’ll also be giving a casual talk at the local user group. Basically I’ll be speaking about whatever people want to hear about, or whatever I’m most excited to talk about at the moment. Topics will range from the technical to the creative, from art to business, and from early works to the future of the Flash platform.
I hope to see some of you at one or more of these events. In the meantime, I’ll try to carve out some time for some new posts here – there’s lots of things I want to blog, just not a lot of time to do it in.
ActionScript Hero Interview
A short interview I did with Peter Elst for ActionScriptHero.org has just gone live, as part of the aSH redesign/relaunch. You can check out the interview here.
ActionScript 3 Notes Are Now Searchable
About a month ago I posted the monster deck of 165 slides from my ActionScript 3 workshop. I’ve had a lot of positive feedback, and have also found myself and my team using it as a quick AS3 reference.
The one thing that was holding it back from being a really useful reference was the need to click through every slide to find what you were looking for.
To address that, I added the ability to search for keywords by using the TextSnapshot object. I had never used TextSnapshot before, but it was quite easy to add keyword searching without modifying my slide deck, which is effectively just a timeline with static text fields on it. It works fairly well, except for a number of bugs with it selecting the found text. For example, you’ll notice it does not highlight text in the code samples. I’m going to try to pin these issues down, and then post an article on using TextSnapshot, along with a handy class for doing timeline searches like the one in my slide deck.
You can find the slides on my talks page at gskinner.com/talks/.