Archive for the ‘AIR’ Category
AIR is finally 1.0 and live as well as Flex3, both launched today. That is quite a 1-2 punch. These are both great technologies and AIR extends the reach to the desktop and lots of power with that being finally 1.0 and officially launched. It has been hard to convince people to develop on it other than tech demos and prototypes, this should help.
Ajaxian has the run down:
The AIR runtime and SDK has gone through an especially long beta cycle (since June 2007) to ensure that both security and compatibility with existing frameworks was achieved. Some key new and/or updated features include:
- Enhanced Desktop Fucntionality: Drag and drop to the operating system, copy and paste between applications, launching of AIR applications from the desktop or the browser, and run in the background with notifications.
- Data Access: Adobe AIR now provides both synchronous and asynchronous access to the local file system, as well as structured data within a local database. This database is implemented using the open source SQLite database.
- Security: Applications built on Adobe AIR can only be installed through a trustworthy install process that verifies that the application is signed via industry standard certificates, providing users with information about the source and capabilities of the application.
Adobe’s Flash-based RIA development platform, Flex, continues to mature and has been picking up steam in both the corporate space as well as sites such as blist and Scrapblog who have embraced Flex whole-heartedly. Some of the new features in Flex 3.0 include:
- Intelligent coding, interactive step-through debugging, and visual design of user interface layout
- New capabilities for creating RIAs and building applications on Adobe AIR
- Integrates with Adobe Creative Suite® 3 making it easy for designers and developers to work together more efficiently.
- New testing tools, including memory and performance profilers and integrated support for automated functional testing, speed up development and lead to higher performing RIAs.
One of the most compelling parts of the Flex announcement is the fact that Adobe has released the Flex SDK under the open source Mozilla Public License.
AS3 libraries for crypto are pretty robust from the new RAW POWER in the AVM2 virtual machine that runs flash9/as3, cryptography, like compression, is very processor intensive and needs a fair amount of power to be worth the time (usually a balancing mechanism). I am working on a few security apps in AIR and Flash9 for a project and a product so this is the best of what I have found to share. I will be sure to post here when these projects are complete.
There are two that are pretty good as3 kits that have decent support for crypto and hashing, actually as3crypto is quite broad in their support or most common crypto algorithms, even hashing support up to SHA-256 and ciphers 3DES, AES, RC4.
This is not really a comparison just some kits that have tools you might need. as3crypto is definitely the way to go for more heavy ecryption with common ciphers, but if you are just hashing some text as3corelib might work for your project. as3corelib is a more broad toolkit that is made or sponsored by Adobe that has JSON, RSS, support and other tools. It is a great core lib, but not as deep in the encryption area. I am actually using both in the stuff I am working on, as3corelib for some other uses (JSON,RSS) and as3crypto for all encryption and hashing.
The two are:
- Robust, broad encryption and security support
- Open source
- Browse source
- Broad support of algorithms
TLS 1.0 support, exposed through TLSSocket and TLSEngine classes
X.509 Certificate support, including parsing, and validation
built-in list of common root Certificate Authorities
symmetric ciphers: AES, Blowfish, DES, 3DES, XTEA, RC4
confidentiality modes: CTR, CBC, CFB, CFB-8, OFB, ECB
public key crypto: RSA (encryption, decryption, signing, verifying and key generation)
padding: PKCS#1 (type 1 and 2), PKCS#5
hashing function: SHA-256, SHA-224, SHA-1, MD5, MD2
prng: TLSPRF and stream-cypher-based PRNG.
minimal ASN-1/DER support for PEM key parsing and X-509 cert parsing
Crypto – Shortcut class to access many classes above.
Hex, Base64 – Static methods to convert binary data to and from text formats
Here’s some numbers from as3Crypto home page that show the speed, note it has not been optimized just yet (since most of this is client side and only one user would be using it this is not an issue – server side is where this can have scale problems from parallel execution but flash is rarely server side if it is too slow, but it is quite fast)The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md2 1.01k 3.64k 15.08k 53.89k 171.76k md5 221.85k 447.32k 739.54k 893.72k 905.82k sha1 82.28k 184.78k 286.76k 336.03k 345.41k sha224 60.84k 125.67k 200.27k 234.28k 247.58k sha256 60.52k 126.30k 199.19k 234.04k 246.01k hmac-md5 48.37k 159.37k 282.87k 295.15k 341.21k hmac-sha1 18.29k 64.82k 165.72k 277.60k 342.52k hmac-sha224 5.75k 24.84k 125.71k 204.35k 256.36k hmac-sha256 15.10k 49.33k 123.71k 206.17k 249.08k rc4 117.24k 381.34k 878.93k 1315.01k 1539.44k xtea-cbc 2.49k 6.48k 12.80k 33.00k 44.48k aes128-cbc 1.61k 4.01k 22.97k 78.55k 205.01k aes192-cbc 1.34k 5.13k 20.91k 69.45k 172.43k aes256-cbc 1.48k 5.63k 18.87k 63.45k 150.39k blowfish-cbc 2.77k 10.81k 42.28k 140.27k 343.05k des-cbc 2.53k 9.73k 35.20k 124.84k 624.88k 3des-cbc 2.50k 9.72k 35.61k 115.21k 253.42k
The library has not been optimized for speed, and those numbers could probably be improved.
They both have minimal or none ASN.1 support which I will need but I can port much of this from my favorite Java/C# crypto kit from the legion of the bouncy castle of which I was happy to find was a substantial base for this kit.
Whatever you do don’t send any type of message from your crypto kits with aes 256 cipher and sha-256 hashing to Iran from the US.
AIF (Adobe Image Foundation) like AIR (Adobe Integrated Runtime) is a new technology just out of the gate but it does show that Adobe is into innovating and the vector wars. AIR is beta2 and Flash player 9 “moviestar” updates for video are coming along nicely but here we have more news out of MAX in Chicago that AIF is now available.
What is AIF? It is a new imaging and effects technology to help people create their own filters for Flash (blur, drop shadow etc are defaults). Hydra the new language for this is reminiscent of processing.org (if you haven’t been to flight404.com since the 90′s then processing is all it is about there) and Cg from nVidia to write and test shaders. The fact that it is based on GLSL (OpenGL Shading Language) will help it easily port shaders coming in 3d gaming into Flash which is really sweet. The direction slowly is that Flash and maybe Silverlight will become more of gaming platforms and this is a nice point in that direction.
From Adobe here is what AIF is:
Introduction to the Adobe Image Foundation Toolkit Technology Preview
The Adobe Image Foundation (AIF) Toolkit preview release includes a high-performance graphics programming language that Adobe is developing for image processing, codenamed Hydra, and an application to create, compile and preview Hydra filters and effects. The toolkit contains a specification for the Hydra language, several sample filters, and sample images provided by AIF team members. The AIF technology delivers a common image and video processing infrastructure which provides automatic runtime optimization on heterogeneous hardware. It currently ships in After Effects CS3 and will be used in other Adobe products in the future. The next release of Flash Player, codenamed Astro, will leverage Hydra to enable developers to create custom filters, effects and blend modes.
Hydra is a programming language used to implement image processing algorithms in a hardware-independent manner. Some benefits of Hydra include:
- Familiar syntax that is based on GLSL, which is C-based
- Allows the same filter to run efficiently on different GPU and CPU architectures, including multi-core and multiprocessor systems in a future update
- Abstracts out the complexity of executing on heterogeneous hardware
- Supports 3rd party creation and sharing of filters and effects
- Delivers excellent image processing performance in Adobe products
Reaction is that this is a strong Adobe direction to move towards more capable technology as in AS3 and Hydra and allow more customizable possibly hardware rendered and accelerated shader like technology for Flash filters. The new AVM2 and AS3 allow for faster processing and pixel based operations that you need for buildng filters and or shaders.
This is pretty interesting, it isn’t full blown hardware rendering which would just be excellent. So far hardware accelerated full screen stretching in Flash 9 Moviestar beta and now filters will have an element of hardware capable rendering, it should help performance. Full hardware acceleration seemingly will not happen in Flash 10 so the 3d engines and new 3d elements from Adobe are all software rendered still. However dual and multi-core processing will help rendering of 3d in flash BUT video cards are more prevalent than dual or multi-core for some time. Basic hardware rendering even for a low bar could greatly change the flash platform.
It is still a while off yet but it was good to know that performance and shaders/filters are getting attention but hardware rendering not just yet for 3d and basic drawing/rendering. One thing is for sure, in 2007 developing interactive for the web is being shook up and changing rapidly.
Here’s a video taken by Aral Balkan of the Astro presentation at MAX
Bubblemark has added a JavaFX version of his bubble animation test that spans now all of the RIA technologies out there. Bubblemark is a great site and has been a great site for comparing animation in the browser. Alexey Gavrilov has kept the site up to date on all versions of Silverlight since when it was WPF/E and it is a nice quick baseline test to check FPS performance across these new vector toolkits and scripting.
My results are very similar to Bubblemarks tests:
JavaFX — 14 fps
Firefox + Flex — 62 fps
Adobe AIR — 62 fps
Firefox + Silverlight (CLR) — 99 fps
Silverlight is not final and is quite light compared to Flex (I wonder if a vanilla Flash9/AS3 export has been done or if it would perform any different), but if Silverlight has a lead on FPS, where FPS is really success of any kit in RIA or vector, then it could be a rough battle. Flash/Flex is really far far ahead due to the browser penetration and the development community but the better performance is always a good indicator of possible success. Plus, Microsoft controls the desktop market and any “benefits” it might give their own kit which includes distribution and performance in preloading or caching.
Grant Skinner has one upped the Flash CS3 AIR application export ability by adding a very useful panel to package Adobe AIR applications.
This is a pretty nice tool as usual from gskinner. Be sure to check out the panel and all the installation info at Grant Skinner’s blog.
Download the AIRPanel zip file from here
Adobe AIR apps are starting to pop up more. After the Grant Skinner AIR app for digg.com it appears Kevin Rose has launched pownce which is a twitter/email/friend/social sharing site/service. The desktop app for pownce.com is built with AIR. I believe AIR will really take off with these types of apps succeeding on it. Pownce is only alpha but it is hard to see it not being successful with the amount of digg users that will spill over.
Pownce (you have to be invited to private alpha)
Other apps for AIR so far that are usable and ready:
Competitor to last.fm. I wonder how long til a last.fm air app.
Digg Desktop Widget (from Adobe sponsored digg API contest)
Other AIR apps can be viewed here including kuler, a twitter app and more. And also here at Rob Christensen’s blog.
merhl has created an Adobe AIR iPhone widget for using the AIR runtime that is pretty cool. It only has some sample screens for most buttons in it but you can actually browse the web on it using the web browser and it flips sideways to show the screen flip. Check out your website or blog on the desktop iPhone. Get your AIR iPhone now!
merhl has made it auto updating with AIR so as he adds more functionality it will autoupdate. That is one neat aspect of doing desktop app/widget work with flash and AS3 in AIR is that it is much more capable of syncing content and that content is usually extremely optimized for fast delivery and keeping it up to date. Plus you can make chrome and shiny things with it.