Keith Peters nails it in his interview with ActionScriptHero.org:
The Flash community is seriously one of the best parts of being into Flash. I mean, the tools are cool, and what you can do with them is cool, but the openness and willing to help and share and teach each other is really incredible. I’ve dabbled in some other technology groups and have seen people appalled when I dared ask them how they did something, like I was trying to steal their precious secrets. But in the Flash community, you ask someone how they did something, they’ll sit you down, buy you a beer, explain it in detail and email you the source code the next day.
We have just posted an update of the pre-release version of Adobe AIR for Linux. This version is a beta (previous version was an Alpha) and adds support for a ton of new AIR features (and fixes a lot of bugs). You can find all of the details in the release notes.
You can find more information, as well as download the bits from the Adobe AIR for Linux Beta labs page.
Chris Hayen tweeted to me this morning expressing his wish that the ActionScript 3 URLLoader class had a refreshInterval property. I responded that this should be pretty simple to add by extending the class. Well, I had a little time while I download some internal software builds, so I put together a class that adds a refreshInterval property.
This has not been tested very much. In fact, I have only tested when the data loads successfully from the server. However, I wanted to post an early / rough version here with the hope that I get feedback on it. If the consensus is that this could be useful, then I will look at making it more solid, and adding it to the as3corelib library.
Just a quick note, but Ryan Stewart and I will be doing a quick, mini speaking tour in Asia at the end of this month. We will be visiting Tokyo, Seoul, Taipei and Hong Kong (about 2 days each city).
Among other things, we will be speaking about some of the current and future stuff going on around the Flash Platform, including Flex 4, Flash Player 10, Adobe AIR 1.5, Thermo, and more. I dont have all of the links to the events just yet, but you can find info on the user group meetings we are speaking at in Tokyo, Taipei and Seoul.
If you check out the Flex SDK nightly builds, then you may have noticed that there are now Adobe AIR 1.5 bits included in the SDK. This is part of the AIR teams ongoing effort to continue to integrate closer into the Flex SDKs build process, and in general to provide more visibility into what is going on with AIR.
As the version number indicates, the Adobe AIR 1.5 release (code-named “Cosmo”) is a dot / incremental release. One of our original goals with AIR has been to update more frequently, as opposed to just having large updates at infrequent intervals. This release focuses on continuing to improve the foundation laid by the 1.0 and 1.1 release, and includes a number of changes and bug fixes, including, but not limited to:
Ok. Last post on Pixel Bender for today (I promise). This one is simple, but ties together my previous posts.
Now, that we know how to load and use Pixel Bender filters in Flex, and know how encapsulte Pixel Bender filters in an ActionScript class, lets combine the two to leverage custom Pixel Bender filters in MXML.
First, again, we need our custom Pixel Bender class:
Filter Class : TestFilter.as
If you read my blog regularly (or just today) you should have noticed that I have been playing around with some Pixel Bender filters and ActionScript / Flex (all inspired by Lee Brimelow`s video screencast on creating and using Pixel Bender filters in Flash Player 10.)
Previously, I posted some code showing how to embed a custom Pixel Bender filter within a SWF and then apply the filter to an image. That works well, but the code is not that reusable since the filter loading code is mixed in with the main code.
Following up on my earlier post on how to embed Pixel Bender filters within a SWF, here is a super simple example that show how to use a Pixel Bender filter within a Flex application.
Compiled using the Flex 3.1.0.2710 SDK, and requires Flash Player 10.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
applicationComplete="onApplicationComplete()">
<mx:Script>
<![CDATA[
import flash.filters.*;
import flash.utils.ByteArray;
//the file that contains the binary bytes of the PixelBender filter
[Embed("testfilter.pbj", mimeType="application/octet-stream")]
private var TestFilter:Class;
private function onApplicationComplete():void
{
//Pass the loaded filter to the Shader as a ByteArray
var shader:Shader = new Shader(new TestFilter() as ByteArray);
shader.data.amount.value = [100];
var filter:ShaderFilter = new ShaderFilter(shader);
//add the filter to the image
im.filters = [filter];
}
]]>
</mx:Script>
<mx:Image right="288" left="40" top="26" bottom="108" id="im" source="@Embed(source='image.jpg')"/>
</mx:Application>
You can see an example of the filter here.
I was just watching Lee Brimelow’s excellent video introductions to creating and using Pixel Bender filters in Flash Player 10.
In his second video, he shows how to use a custom Pixel Bender filter within Flash Player 10. One issue that Lee had was that you have to load the filter at runtime in order to use it.
I have modified Lee’s example to allow the filter to be embedded within the SWF, and not require it to be dynamically loaded at runtime.
I spent the afternoon playing around with Google Gears in order to get a basic feel for how it works. Specifically, I wanted to see how much work it would take to add support for offline viewing for tostring.org (an online book site).
I used the Gears LocalServer API which “allows a web application to cache and serve its HTTP resources locally, without a network connection”. The implementation can be though of as a small web server that intercepts requests for remote resources and serves them (seamlessly) from a local cache. This has a couple of advantages: