Flash Builder 4 Beta Trial Extension

Didn’t get a chance to play around with Flash Builder 4, and Catalyst yet. Will be trying that soon. I was surprised to hear that the Beta is just a 3o day trial. Is it so normally? Even the Flex Builder 3.x is 60 days trial.

Anyway, here is a link to the Beta Extension Request, using which you can extend the beta till Ocotober 2009, which will till the MAX conference.

Thursday, June 25th, 2009 flash No Comments

Flexbuilder for Linux - Will you pay the money?

There was a blog post from Ben that the Flexbuilder for Linux development is on hold. I have tweeted about this and also requested to vote up the bug filed in Adobe’s bug base. Here is the link to the bug. Please vote this up and let’s see if Adobe really listen to the customers.

Flex Builder for Linux will really be a cool software to have. One question I have is ‘Will you be paying for Flex Builder on Linux?’

Just a thought.

Tags: , ,

Wednesday, April 29th, 2009 flex 1 Comment

Adobe and Facebook coming together

There was an interesting announcement from Adobe and Facebook about joint efforts from both to enable flash developers to make amazing applications using Flash which runs on Facebook platform.

I am not sure whats going to come from this joint effort, but there is already an official library (means from Adobe) for Facebook application development.This is an open source library which supports all possible Facebook API’s (very soon). Here are some additional posts and resources which may help you kick start on your first flash Facebook apps:

Some info in Inside RIA

Adobe Devnet page for Facebook app development

Understanding the Architecture.

InsideRIA is starting a new series for Facebook flash app developement - This will be interesting to follow.

Demo of Real Time Facebook Collaboration with the Flash Platform - from Ryan Stewart

Looking forward for some cool Facebook apps, including few from my side too.

Tags: ,

Tuesday, March 31st, 2009 flash No Comments

PureMVCGen - A PureMVC Code Generator

The tough part of developing an application using PureMVC (or any other framework like Cairgorm) is setting up the complete system, before you can go ahead and code your application. Once you are set, PureMVC is the best framework to follow. PureMVC is well documented and also the forum is active and you get your answers quick.

I was looking out for a code generator which can help me setting up the intial plumbing of different actors of the system, and was happy to see FCG from David Deraedt. Unfortunately the project is discontinued now, and David himself proposes to use PureMVCGen which is an ANT based commandline code generator for Flexbuilder. This CodeGen itself is little tough to set up on your machine. The blog post tells you how to set it up and use the generator. I have set it up, and now its quiet easy to start a PureMVC project, and also add new actors to the system.

See the blog post about PureMVCGen here. Grab it, set it up, happy coding :)

Tags: , ,

Sunday, March 22nd, 2009 air, flex, puremvc 1 Comment

Change is the only constant

I dont know who said that, but change has come to my blog too.  The theme has changed to something cleaner. Now it looks better to me. Still I have to do some more clean up and add some header etc.

My last post was somewhere around January, and apparently I was busy with my work. Now that I am little relieved, I think I will have time to add more content here. Also, welcoming my fellow co-blogger Jancy, who offered to add some content. More the content… good..

Tags:

Thursday, March 12th, 2009 general No Comments

Escape single quote while saving a string to SQLite DB - AIR

It wasn’t obvious to me that I should use a single quote to escape a single quote when we save a string to an SQLite Database. I was trying with the normal escape character we use everywhere, which is the \ (back-slash), and had to search extensively to find out a solution. So, you need to use a single quote to escape the single quote in AIR while inserting, or updating something to the DB.  A string literal is indicated by enclosing the string in single quotes '. To include a single quote within a string, put two single quotes in a row like this example: ''.

Hope this helps!

Tags: ,

Thursday, March 12th, 2009 air, flash No Comments

Flash Player and AIR Penetration Announcements. Is Adobe hyping the success?

Yesterday, Kevin Lynch announced in the MAX Japan keynote about the Flash Player 10 and AIR runtime penetration. The figures look like 55% in 2 months and 100M AIR installs.

MAX Japan

See Ted’s post for more info.

The announcement also triggered some criticism asking if Adobe is hyping the success of AIR. See this blog post which talks about the same (he says overhyping). Adobe may be hyping the success, but anyway its a success and a company which made such a product will announce it publicly. The announcement was in MAX, which is a developer conference. The developers who is working on the platform will be interested to hear about how the platform itself is doing.  There is a mention about Ryan’s post which got deleted accidently (per Ryan) in this post, which he says Ryan removed after realizing that the figures are not true.

To me what Adobe has done is, announcing the number installs happened (directly, badges, cds, whatever, and those may be rough figures) so far, and thats something anyone will do, and 100M installations doesnt mean that 100M people are using AIR apps (may be more).

There are certain valid points in the comments section of the post, which speaks about somewhat poor memory management of AIR apps, and the fact that one cannot make an AIR app which is not installable. There are lot to be criticized on the developer than the AIR runtime for the memory management. When you have MXML in hand and keep on declaring the components without thinking that the memory of unused components has to be regained, usually the platform gets the bad name. My experience also tells that the designer-converted flash developers, who makes applications with Flex or as3, doesn’t care, or doesn’t think about memory management and garbage collection.

Having said that there are lot Adobe has to do to make AIR a reliable runtime. Solid memory management by the platforms, multi threading etc are few to name. Here we are talking about Desktop application where the performance and memory is also a big concern. Adobe can do that now, as they already have a strong line of tools to create cool looking interfaces for the Flash Platform…

Tags: , , ,

Friday, January 30th, 2009 air, flash, flex No Comments

Experiments with ebook business models

Experiments with ebook business models - by Impelsys COO & MD, Nizar Jamal @ Frankfurt bookfair, 2008.

2nd and 3rd parts of the video can be found at the related videos section.

Tags: , ,

Saturday, January 10th, 2009 general No Comments

104 Free Opensource APIs, Libraries, and tools for the Flash Platform

Here are my list of open source google code projects for the Flash Platform. This is what I have seen over time, please add if you feel I missed anything. Many of them mayn0t be useful, or may be discontinued. This is from my list of os projects.

  1. adobe-air-util -  Adobe AIR AS3 Utility classes, no much updates.
  2. appcorelib - Open Source Flex Application Core Library
  3. as3awss3lib - ActionScript 3.0 library for interacting with Amazon S3
  4. as3barcodelib - An Actionscript 3 barcode decoding library
  5. as3bloggerlib - Actionscript 3.0 Library for Blogger Data API
  6. as3cannonball - DOM+HTML+CSS+Browser Library for ActionScript 3.0
  7. as3corelib - ActionScript 3.0 library for several basic utilities.
  8. as3crypto - Cryptography library for ActionScript 3, including partial TLS 1.0 support
  9. as3ds - AS3 Data Structures For Game Developers
  10. as3ebaylib - ActionScript 3.0 API for eBay
  11. as3exchangelib - An ActionScript library for talking to Exchange servers.
  12. as3facebooklib - ActionScript 3.0 API for Facebook
  13. as3fedexlib - ActionScript 3.0 library for accessing FedEx APIs.
  14. as3flexdb - AS3FlexDB project is a open source lib that allows Adobe Flex applications to connect to a MySQL server
  15. as3flickrlib - ActionScript 3.0 API for Flickr
  16. as3gamelib - ActionScript 3 Game Lib
  17. as3isolib - ActionScript 3 Isometric Library
  18. as3lib - ActionScript 3.0 standard library project
  19. as3mathlib - Flex/Actionscript Math Library
  20. as3matrix - A powerful Matrix Library built in Actionscript 3.0
  21. as3mp3streamplayer - A library that allows you to play MP3 streams
  22. as3nativealertlib - An AIR alert that appears in a native window
  23. as3notificationlib - A notification framework written in AS3 for the Adobe Integrated Runtime (AIR)
  24. as3plsreader - An PLS (Playlist) reader for Adobe AIR / Actionscript 3
  25. as3powncelib - ActionScript 3.0 Library for Pownce full V2.0 implementation
  26. as3preferenceslib - An AIR library for storing preferences
  27. as3-rpclib - Actionscript 3 RPC libraries for flash-remoting(amf0), xml-rpc, json-rpc
  28. as3scribdlib - ActionScript 3.0 API for Scribd
  29. as3soundeditorlib - Actionscript 3.0 library for sound playback, spectrum display, and cue point display
  30. as3syndicationlib - ActionScript 3.0 library for handling syndication feeds.
  31. as3webservice - Open-source Webservice class implementation in AS3 for Flash CS3 IDE.
  32. as3xls - Read and write Excel files in Flex
  33. as3youtubelib - ActionScript 3.0 API for YouTube
  34. ascollada - actionscript library for parsing Collada files
  35. asmailer - Actionscript 3 Mail API.
  36. assql - Actionscript 3 MySql Driver
  37. assqliteutils - ActionScript 3 SQLite utils
  38. beziercurve - create and edit bezier curves on the fly, easy syntax
  39. benstucki - His open source as3 codes…
  40. bigroom - Actionscript 3 Source Code from Big Room
  41. birdeye - Information Visualization and Visual Analytics Library
  42. braemar - Opensource lightweight MVC framework for Flash development
  43. bulk-loader - A library for managing multiple loadings with Actionscript 3 (AS3).
  44. csvlib - csv parser for actionscript 3
  45. degrafa - Degrafa is a declarative graphics framework for Flex.
  46. di-as3 - Dependency injection / Inversion of control container for ActionScript 3, Flash 9, and Flex 2
  47. displaylistmonitor - Monitor Flash Display List
  48. efflex - Designer Effects for Flex
  49. everythingflexairlib - everythingflexairlib Library
  50. facebook-as3 - AS3 API to access Facebook’s Platform API
  51. fastas3 - ActionScript 3.0 Library for fast and fun development. FastAS3 is inspired by jQuery which is a new type of JavaScript library.
  52. flexfiltering - Controls and Collections for AS3 and Flex that support fast filtering across large datasets
  53. flexircclient - ActionScript 3 based IRC library
  54. flexwires - Wires UI control library for Adobe Flex
  55. flexlib - Open Source Flex Component Library. I use this one often.
  56. flexstuff - Flex stuff - Libraries and subprojects
  57. flexsurverylibrary - Create survey for Flex Applications
  58. flint-particle-system - Actionscript 3 Particle System
  59. flvplayerlite - A lightweight FLV player
  60. flvrecorder - Record BitmapData to an FLV-encoded file (for Adobe AIR)
  61. foam-as3 - 2D Rigid Body Physics Engine
  62. googleas3api - AS3 library on Googles Ajax API, search the web using Google in your Flash/Flex/AIR application
  63. icodecoder - icon file decoder
  64. lastfm-as3 - Actionscript 3.0 API to access the Last.fm web services
  65. masapi - Flash/Flex/AIR AS3 Framework for the massive loading (MassLoad)
  66. metaphile - A library for reading and writing file metadata in ActionScript 3
  67. minimalcomps - MinimalComps are a set of minimal user interface components for use in ActionScript 3.0 based projects.
  68. open-zoom - Open Source Framework for Multi-Scale Images and Zoomable User Interfaces (ZUI)
  69. opentube - A Flex Based Open Source Video Sharing Application
  70. pdfutil - A simple AS3 library based on AlivePDF.
  71. popforge - ActionScript 3 code sandbox for various packages
  72. queueloader-as3 - QueueLoader Actionscript 3.0
  73. redherring - A light duty HTTP proxy for AS3
  74. reflexutil - run-time debugger for adobe flex components
  75. snackr - Snackr, an RSS feed ticker for Windows/Mac/Linux built with Adobe AIR and Flex - http://snackr.net
  76. splinklibrary - An actionscript 3 library to ease the daily work
  77. splinkresource - An actionscript 3 resource loading framework
  78. swfin - javascript toolkit for flash developers
  79. swizframework - Brutally simple micro-architecture for Rich Internet Application development with Adobe Flex
  80. uicomponents-as3 - Lightweight AS3 UI component library
  81. urlkit - Flex library providing a rule-based URL parser/generator for deep linking

Some Unit Testing Frameworks for the platform:

  1. as3flexunitlib - ActionScript 3.0 framework for unit testing. Its now moved to http://opensource.adobe.com/wiki/display/flexunit/
  2. flex-mojos - Flex-mojos: Maven 2 plugins for Flex
  3. flexmonkey - Flex UI Testing Tool
  4. flexcover - Code Coverage Tool for Flex and AIR applications.
  5. fxspy - Inspect, edit and monitor your Flex application’s components properties and styles.
  6. FlexUnit - as3flexunitlib - ActionScript 3.0 framework for unit testing.

Non - goole hosted libraries:

  1. Sandy 3d engine - http://www.flashsandy.org/
  2. CASALib - Open source code library for Flex and AS3 projects. Read my review here
  3. Liquid Components for Flash
  4. FZip - FZip is an Actionscript 3 class library to load, modify and
    create standard ZIP archives.
  5. AlivePDF - ActionScript 3 Open-Source PDF Library
  6. ASSQL - Asql is a library for direct connections with Mysql, suitable for Flash CS3, AIR and Flex
  7. APE - ActionScript Physics Engine
  8. as3Query - Actionscript port of jQuery

AMF Remoting implementations

  1. FlourineFX - for .NET
  2. AMFPHP - Now giving way to ZendAMF
  3. ZendAMF - From Wade Arnold who made AMFPHP. Further development will only be in ZendAMF, so AMFPHP is kind of abandoned.
  4. PyAMF - AMF for Python

Assistive technologies:

  1. swfobject - SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file
  2. SWFAddress - Deep linking for flex apps.

Some more links:

  1. List of 31 Flex APIs, Libraries, and components and tools by Sean Moore
  2. List of 21 AS3 API’s by Sean Moore
  3. AS3 Libs from EverythingFlex.com

I am sure I might have missed some important useful links here. Please help me to make this a comprehensive list of (I know its not possible) Flash Platform resources.

Tags: , , , , ,

Monday, January 5th, 2009 actionscript 3.0, air, flash, flex, programming 32 Comments

What you need to make a Custom Chrome AIR Application?

Making an AIR application with default or Flex Chrome is very easy. But it has the problem of repetitiveness and the default system chrome changes according to the OS, which is quiet bad on a Linux (I dont like that). When I started making AIR applications I used to just leave it with AIR to make the chrome, but then started moving to a creative custom chrome.

The default chrome gives you application related functionality for free.. I mean..they come with the default chrome, such as close, minimize, max, drag, title bar etc. When you move to custom chrome, we have to code everything… The close, minimize, restore, drag..everything. So here is how you go and make a custom chrome for your AIR application (I make AIR app using Flex, so HTML apps.. I don’t have any clue..)

1. You open your application descriptor XML, and edit.

<!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
<systemChrome>none</systemChrome>


<!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
<transparent>true</transparent>

This takes off the custom Chrome and make the main application transparent. Transparency is important for custom chrome application (with release of AIR 1.5 for Linux, even Linux machines can show transparency).

Now if you run the application, you will see a different chrome, and set of close/minimize/restore buttons - which is called the default Flex Chrome, which is better than the default one. For sometime you can live with that, it look different. No extra codes.. all works.

2. You want to take the Flex Chrome off - Do this.  <WindowedApplication showFlexChrome="false"...>

Run..now you dont have anything, no buttons, no title bar.. you cant close, move your window..

You need to put all the buttons in place. The close, restore, minimize buttons. Skin them to make them look better. You need to make a title bar area, and title also. Below are the set of codes you need to make them work:

a. Close button - call nativeApplication.exit() on click of the button.

b. Restore button - nativeWindow.restore()

c. Maximize - nativeWindow.maximize()

d. Minimize - nativeWindow.minimize()

e. Move the window - On an long button/just a canvas, you say - mouseDown="{nativeWindow.startMove()}"

f. You want a maximize on double click of the title bar area? - doubleClickEnabled="true" doubleClick="{nativeWindow.maximize()}"

g. What about resizing your app? - Make a gripper on the right botton corner (any corner you can) and write - mouseDown="{nativeWindow.startResize()}"

the default parameter for nativeWindow.startResize() method is ‘BR’ for Bottom Right. So if you chose your own corners try BL, TR, TL etc.

I think thats it, you got your nice looking custom chrome application. Thats what I do, if any other suggestions let me know…

Happy New Year 2009!

Update:
I just saw an interesting posts in insideRIA blog, which speaks about reading application descriptor file. This is very interesting and useful for a custom chrome application. Why? Because your default chrome reads the application title from the descriptor file and shows, your custom chrome application does not. So use the technique described in this post to make that work.

In order to access the properties within your application descriptor, you need to define the namespace for the XML file. This should match the actual namespace in your application descriptor and AIR runtime/sdk version that you are targeting.

namespace ns = "http://ns.adobe.com/air/application/1.5";
use namespace ns;

The version of AIR runtime you are publishing for is also important. Here I am using 1.5, so the name space is ‘http://ns.adobe.com/air/application/1.5′ and it should be the one which is in the descriptor XML itself.

You can see the code in the blog and get the application name and render it on the title bar, you are set. It will be better to make this as a custom component which is skinnable using a CSS file, and you will get a drag and drop custom chrome, additional settings being changes in the application descriptor XML and WindowedApplication settings (showFlexChrome).

Take a look at this inspiring blog post to see how you can make custom chrome app with an example: http://www.graviti.tv/blog/

Tags: ,

Wednesday, December 31st, 2008 air, flex 1 Comment