As I’ve just been waiting for it, I’ve now made my own crazy application/language/editor/experiment Fnk available as an AIR 1.5 application. You can install it from here (or a direct link to the .air file of the current version here). No fancy-schmancy AIR features yet; it has no auto updates or unrestricted file reading/writing or anything, so it runs pretty much like the browser version. But it’s certainly nice to see it running as a standalone application. As much as I enjoy having the ability to run something from the web (and it’s a core feature of Fnk), being able to double-click .fnk files and have them open on an editor is certainly convenient. Sort of ironic I guess, but since AIR allows us to deploy applications on both fronts almost seamlessly, I don’t have to choose what to support exclusively.
Straight and to the point, hopefully as a reference, because I had trouble finding the answer to problems on specific parts of the process. This considers you already have a normal Flex SDK project setup in whichever tool you’re using (I’m using FDT).
Be sure to download the latest version of Flex SDK command-line tools (I recommend the “Adobe Flex SDK” files, whichever version - stable if you wanna play it safe, nightly if you’re feeling lucky). You do not need to edit the config.xml files - it’s set to Flash 10 as default.
Change your regular AS3 compilation procedure to use amxmlc.bat instead of mxmlc.exe for compilation. The same compilation syntax applies so this should be pretty straightforward.
Create an AIR project. This page has a nice tutorial on how to do it. You don’t need to create the .mxml file though - as long as you use the same syntax you use to compile normal .as-based projects in mxmlc, it should work. Very important: the AIR XML file header should be set to use version 1.5. So the application tag start should read <application xmlns="http://ns.adobe.com/air/application/1.5"> instead.
Run your application with adl.exe instead of flashplayer.exe.
Optionally, the complete AS3 reference (including AIR) is available online. You can also download it in zip form from this link.
And remember AIR applications built for Flash 10 will require AIR 1.5 to install (the current version is 1.1). This means you can compile and run your application locally without a lot of trouble, but if you try installing your packaged Flash 10-based application on AIR 1.1, you’ll run into a misleading message that says the package requires an “older” version of AIR and that you need an “upated” version of the packaged application. For the installation to work, we’ll have to wait for AIR 1.5, which will come “this fall”. You can find more information about AIR 1.5 here.AIR 1.5 is now out so applications built with the method mentioned above will work.
I don’t know if anyone has noticed, but Adobe’s Flash Player Version Penetration stats page is still stuck showing statistics for June 2008. Considering the previous versions of the survey, the next update would have a column for September, and according to my not-so-empirical analysis of archived versions of the page, Adobe’s website would usually update with new information the same month of the column, or the following month tops; we’re already on November, however, and there’s no update for September so far.
Adobe may have just delayed the survey for one month – they did so in 2006, for example, when there was no March 2006 survey, but an April 2006 one (shortly before dumping NPD in favor of Millward Brown, by the way). Or maybe there’s something else, like a change in methodology or a delay so that some early Flash 10 penetration can be included. All my own speculation, though, as I can’t think of any real reason for such a delay.
Update: The stats page has been update with numbers for September. Thanks Adobe.
Almost 4 years ago I went back to college, to get a “Digital Interface Design” bachelor degree. This meant putting on hold a lot of things in my personal and professional life, but it also meant having contact with a lot of new stuff.
One of those new things I had contact with was node-based programming environments - more specifically, Max and vvvv. I did a number of college works using these programs, and even ported Tweener to vvvv for one specific college project.
That kind of dataflow-based, visual programming environment was quite inspiring for me. It doesn’t replace our more imperative method of writing code, but working with a more concrete approach to graphic and sound manipulation was a lot of fun and I wondered what would it be like if an environment like that was built in Flash. For one thing, because it could bring the joy of dataflow programming for a broader audience (no installation needed etc); and for another, because in some specific points I believed the interface for those programs could be easier to work with.
It turns out this is my last year in college, and that year is used exclusively for a final thesis project. After a lot of ponderation, in december of 2007 I decided that I’d tackle the problem and try creating a dataflow-based visual programming language of my own. The result is what I almost incidentally came to call Fnk.
This video demonstration shows some simple math-based animation being built from scratch on Fnk.
While the editor and the language are far from done - it’s not even beta yet - the result is an editor that looks and works a lot like Max, vvvv or Puredata: you create nodes with different types of data, and everything is in constant execution; you can change values and the programming as you go. The biggest difference is that it’s meant to be ran inside a browser.
Now, before someone jumps the shark, I’ll be the first to say this is not meant to be revolutionary or anything. It’s not meant to improve your workflow, and it’s not meant to be anything more than Max/vvvv/Pd; if anything, I’m trying to make it more accessible, but the very fact that it runs inside the browser also means it has many limitations of its own. To be quite honest, the project has no clear goal; as an academic project, I’m just trying to make something that’s fun to use, can serve as a good learning environment to learn about dataflow languages (and maybe a step towards Max/vvvv and others), and can basically help you prototype visual/interactive pieces. There’s a few features I’ll be exploring in the near future, like an AIR-based standalone version, allowing normal ActionScript SWFs to load and execute Fnk patches, and allowing HTML embed of patch players, but this is still all quite experimental.
Again, it’s not finished as the editor’s missing a number of features, and the language vocabulary is quite limited; it can only do some rudimentary String and Number manipulation, as well as draw circles (duh). I’m finally getting into its last step, however, which is adding new nodes to the language.
More about it on the project website, which is also pretty much a work-in-progress. You can launch Fnk here (please notice: it requires Flash 10 to run, even though no Flash 10 feature is visible yet). There’s also a bigger explanation on the project’s About page, with a link to the draft thesis paper (in Brazilian Portuguese only for now!), a few more test videos here, and many development screenshots here.
So yeah, other than real work, this is what has been keeping me busy for the last 10 months. It’s good to get it out of the system I guess.
Finally, just before anyone brings this up: no, this is not like Aviary’s Peacock, or Source Binder. While the fact that all of those environments employ noded-based visual programming can easily fool anyone into thinking they to the same kind of stuff, that’s pretty much where the similarities end. If anything, it can look a bit like Source Binder in terms of possible application target, but Fnk’s approach is at the same much lower-level (because you do not use third-party classes; you have to build your own visual code using Fnk’s nodes) and also higher level (because you cannot use your own Actionscript code inside of it; you have to build your own visual code using Fnk’s nodes). Fnk runs on the Flash platform, but it tries to create a complete abstraction from ActionScript. Also, maybe I don’t need to say this, but the Fnk project was started before I knew either of those environments existed (and honestly I’m glad they’re pretty different so my work isn’t redundant).
Picnik, the official online image editing software for Flickr (and others), has just added support for Pixel Bender, Adobe’s pixel shader-like platform. Users can not only use Pixel Bender files they have created or found online (say, from Adobe’s Pixel Bender Exchange), but also use an assortment of readily available filters inside Picnik. There’s a photo thread about it here, with users showing off the results of said filters applied to their own images (you have to go to Picnik’s main app and activate the “Sandbox” feature to use it; editing from Flickr won’t work).
This, and a few other similar developments, make me believe Flash Player 10 will have the fastest adoption rate of all player versions – big websites and online applications will want to push it out. Call me crazy, but I think in 6 months it’ll have a 90% penetration rate already – previous versions needed around one year to reach that mark – and we’ll all be able to target it without feeling too guilty about it.
I’ve finally finished the last touches to the website’s WordPress template and moved all posts and comments. Welcome to yet another new version of my website. There’s a few navigation things missing, and some files I still have to move, but they’ll get done with time.
I haven’t talked much about it here, but back in january 2005, I went back to college - only 10 years later than usual (I’ve started working when I was 16 and never actually got a degree - I’m 30 now). The plan was to get a bachelor degree in Digital Interface Design, and it was meant to take 4 years of my life to do so.
Fast forward to this day and I’m almost there - with my 7th semester just finished and going to the last one at full speed, it’s hopefully just a matter of time until I’ve checked this out of my life’s to-do list.
This is the main reason I haven’t been posting here for a while. Also one of the main reasons why I have neglected important updates to projects like Tweener (much to my frustration, believe me).
This post isn’t one of those common “Hey, I haven’t been writing for a while, but I’m alive” posts though. It’s more to let some friends - which I know read this website - know what I’m up to and a kind of a little look back at the past few years.
Well, this last year of college is the year we’ll all be finishing our bachelor thesis. While it’s different from what you’d expect from similar projects found on universities in the United States or Europe, it’s still a pretty big project and something that’s meant to occupy all the time I have left.
My own thesis is some cool (or so I hope) image and sound synthesis software built on top of Flash 10. I won’t talk about it too much here yet since it’s in a very early state and not very usable, but I can barely wait until I have something cool to show.
The other biggest reason why I have been away is that, despite college stuff, I’ve also been focusing on doing my real work. If it wasn’t clear from this great interview by Mathieu Badimon for the FWA website or this article for the same website, I’ve been working remotely since late last year for Firstborn as a dedicated Flash developer. I couldn’t be happier as it’s actually a place I’ve wanted to work for for a long time; the story of how this happened is actually an interesting story of some wishful thinking that turned out to be true much faster than I expected, and I’ll probably have to write a few more words about it some day.
All in all, this is being a tough year - too much happening at the same time. I feel kind of like Indiana Jones running from a huge stone sphere that’s about to crush him. Still, it’s been pretty thrilling and it’s bound to end pretty soon as I finish my graduation.
GPU compositing and surfacing. New drawing API. New text API. Simple 3d for accurate plane rotation. Custom effects with Hydra and AIF (now called Pixel Bender). New File Reference for local file reading. Support for larger bitmaps. New context menu goodies. Something for dynamic sound generation. Yes, Astro is now in public beta.
FIVe3D - the vector-based 3d rendering framework by Mathieu Badimon - has just received a significant update, bringing it to version 2.1. New features this version brings:
Back Face Culling, Flat Shading, Z-sorting, Space Drawing functions, Bitmap3D class, Video3D class, Sprite2D Class, Letter Spacing, Text Width
I’d be content with just z-sorting, but the number of new features is pretty overwhelming, bringing this class on par to the bitmap drawing features of existing 3d packages such as Papervision3d, Away3D and Sandy. Awesome.
As a showcase of the new capabilities, you can see an example of a 3d video being played here.
FIVe3D, the vector-based 3d engine for Flash by Mathieu Badimon, has just been ported to Actionscript 3 and is available for download on the project page. Also important, Mathieu has made available the panel component used to create the Actionscript-based font data (describing the lines and curves of each font glyph for text drawing in 3d). With this in their hands, people can even create extrude and plane-creating functions for other 3d packages if they need.
I first posted about some adventures about FIVe3D here, and everything that’s written there still stands, so it’s worth reading for people who doesn’t know FIVe3D yet.