The Agile Chronicles is a set of articles documenting my experiences using an Agile process (Scrum) in software development on my current Flex project. Part 1 - Stressful Part 2 - Code Refactoring Part 3 - Branch Workflow This entry is about utilizing branches for each developer in Subversion, Merge Day, and how while cool, it’s an ivory tower [...]
The Agile Chronicles is a set of articles documenting my experiences using an Agile process (Scrum) in software development on my current Flex project. Part 1 - Stressful Part 2 - Code Refactoring This entry is about the joy of coding quickly, finding the balance between getting something done quickly vs. architecting for the future, and dealing with the massive [...]
AS3 has a new type known as Vector, which is essentially a typed array. So you can say: var myList:Vector.< Point > = new Vector.< Point >(); Now myList functions almost exactly like an array - has most of the same properties and methods as an array, but you can only put Point objects in it. And [...]
Some time ago I received a very interesting and challenging algorithmic exercise. It is based on Fibonacci numbers. And here it is… We have the following sequence: a b ab bab abbab bababbab abbabbababbab bababbababbabbababbab abbabbababbabbababbababbabbababbab In words it si like this: the Nth line is (N-2)th line concatenated with (N-1)th line where N is starting from 2. So the second line is line 0 + [...]
Lee Brimelow mentioned recently that he had picked up this book while in Singapore. It looked pretty interesting, so I grabbed it off Amazon, and it does have some cool concepts in there. For me, it seems just about the right balance of explanation and open-endedness. It gives you some concepts and a gentle nudge and [...]
Dominick just pointed this out: http://safari.oreilly.com/9781590597910
I read this post from DevGirl about AlivePDF, an AS3 API to save Flash content to PDF. The examples showed how to use a server-side script or using AIR. Hmmm...  this could be a nice little introduction into the world of FP10 me thinks. I haven't spend any time looking into the FP10 features but thought this could be fairly quick and easy to do... and it was!
A subtle modification has been introduced in Flash Player 10 regarding DisplayObject's deactivation on the timeline. In Flash Player 9, when the playhead reached a keyframe where a displayobject was no longer present (F5), the playhead was removing the DisplayObject through the removeChild method and passed the DisplayObject reference to null and that's it : The [...]
A lot of people have blogged about this and there have been a few attempts at libraries which solves the problem. Some have gained status and some have gracefully failed silently. It's only recently that I encountered the need to use this method and frankly I prefer browser scrollbars as most users do in my opinion. I feel they are more responsive and have better performance. But damn it ain't easy getting this to work properly and at one point I wondered if it is actually worth the trouble.
Thanks to Mike Chambers and frog design. We have a updated version of ActionScript 3 RIA Reference guide. “We have just released a PDF of a new reference guide that we have put together (with the help of frog design). This title is the Adobe technology platform ActionScript reference for RIA development, and it provides a [...]
Here is the video (in French) from the session I gave about the Flash Player 10 at the Adobe office. NB : Lors du passage sur la classe FileReference, une question est posée concernant la possibilité de déclencher les méthodes save() ou load() par le clavier et non pas seulement la souris. Vous remarquerez mon hesitation, [...]

As someone of you may know, I really like studying programming languages and sometimes implement for fun (or for work) simple scripting languages that help me out during development.

The fight between scripting and programming languages will probably never end. Well, it is not really a fight but more an infinite race where the first position is exchanged continuosly between the two participants. We need flexibility first, and so we add to our complex applications a way to support scripting to be able to easilly perform changes without the need to run the long time taking compilation process a low level language might take; then, the more the scripts became complex, the more we need an increase in performances, and so we rapidly move to compiled plugin egines; plugins offer a bit of flexibility and usually a good speed. Then we grant other users the permission to write plugins and so we need a sandbox to run the plugins in and to be sure every single line of code that is executed doesn't harm our application. And so we revert back to scripting ... and so on. The race will never end but the technologies will continue to increase in speed and sometimes in complexity.

All the introduction is to say that its not the point to choose if scripting is useful or not for Flash applications, but to say that someone might need it for reasons we cannot think about right now, and someone else might not need it because they are fine with recompiling everything from scratch at each single small change.

I don't think there are some many Flash applications that support scripting. I built myself a few of them for my company but they are for a particular purpose and probably the same motivations that made me decide to implement a scripting language are hard to find for other kind of applications.

As far as I know, the most of the applications that need to be flexible use a plugin system (more or less complicated - as Aviary for instance and Hobnox) and are fine with it because - we must say that - ActionScript is itself a scripting language and a SWF file is nothing more than a bunch of instructions (more or less) generated by compiled ActionScript.

But sometimes security comes into account, and it is hard (even if possible) to limit the funcionalities used by a plugin if this plugin is created by a 3rd party developer.

And so it comes into account scripting. With scripting we have full control over what a developer can do an how he can do that. We can limit it, provide builtin functionalities ... But everything costs something, and building a fast/flexible/powerful/useful scripting languages is not that easy as it might seem.

This is why I decided to spend a bit of time in explaining the basics to implement a scripting language in actionscript to be able to script our applications. I'll walk through all the passes - from lexing to bytecode generation and maybe a quick look into Virtual Machines - with the aim to provide someone (maybe in the far future) a bunch of documents to use as reference to build their own scripting language.

I'll try to give an in depth look, but as far as the argument is quite complicated and full of facets, you may not find here the right solution for you. Nor the fastest or the most flexible. But it is better then nothing so if you are interested in that keep reading the blog :)

At the request of a few I’ve added the ability to close the SuperAccordian. To be able to close the SuperAccordian you must set it’s ‘closable’ property to true. This is ‘false’ by default. When closed you have a couple of styles… 1. verticalAlign:String - “top”, “middle”, “bottom”. default is “top”. This defines the position of the headers when [...]
Here’s a SuperAccordian. What makes it so super i here you ask?? 1. It lets you select more than one index at at time. Clicking on a deselected child’s header selects it and click on a selected child’s header deselects it, unless it is the only remaining selected child. 2. It lets you use a ViewStack as [...]
Yesterday I wanted to try the Sound.extract() method added in Flash Player 10, I came to this little test, where a simple waveform of an external mp3 is rendered. The power of Sound.extract() is that you can render a waveform of a sound before playing it, which was not the case of SoundMixer.computeSpectrum(). More than that, Sound.extract() [...]
This is a small working example about how to use an image as a background for a canvas, and how to crop and resize images. I’m sure that there are different approaches to this issue, so you are welcome to add your own solutions. In order to crop the initial image, that was already [...]
This was a tricky issue… but solvable. I needed to found a way to collapse the left panel of a HDividedBox. This can be easily done by using moveDividerTo() method or setting getDividerAt().x (for vertical getDividerAt().y) property to the desired value. The problem is this: if you want to collapse the left at double click [...]
I will be talking about the Flash Player 10 at the Adobe office in Paris on Tuesday 14th October from 9am to 12pm. During this session I will cover the new Flash Player 10 features and talk about the best practices. We will explore the new API from graphics, local file access, shaders and all [...]
It should be quite evident by now that I am a huge fan of Eclipse and FDT for Flash development. I thought it might be cool to drop the guys at FDT an email and get an update of where things are  in the world of Powerflashers!

One of the feature I would really love to see in a future release of the Flash Player is a native rasterizer for display objects. Imagine something like : myMovieClip.rasterize = true; This code would rasterize your DisplayObject as an animated PNG. It would bring crazy improvements for designers and coders who want to improve the rendering [...]

Subscribe to Planet Flash

Search

Tags

&lt;head&gt; 3d 3d Flash Actionscript actionscript 3 ActionScript 3.0 Adobe Adobe Air Adobe AIR (Apollo) Adobe Flash Adobe Flex AdobeMAX08 AIR AIR Adobe Integrated Runtime Announcements apollo Art AS2 as3 Asides awards Babble BEA Beautiful Web Books Business Cairngorm ColdFusion Community Components Conference Conferences degrafa design dev Development Events Examples Featured Flash Flash CS3 Flash experiments flash player Flex Flex 3 Flex Builder Flex Builder Development Flex Example FMS Fun Gallery General GeoWeb Google Industry Inspiration iphone Jobs Links linux Marketing MAX MAX 2007 Misc News news & events Off topic Open Source Other Papervision3D Parallax Denigrate Personal photos Photoshop Process Processing Resources RIA Singularity Site News Stuff techmology Technology Tennis Thinking Loud Tips Uncategorized Video Whatever

Blogs

Buttons

Planetarium