Monthly Archives: July 2003

Kinetic Fusion 1.0.3 Released


Alex Bradley has released an update to Kinetic Fusion 1.0.3. I emailed Alex about Kinetic Fusion and he offered some basic incite into the product, its history, and his work.

Download : http://www.kinesissoftware.com/products.html

Alex based Kinetic Fusion on Nick Main’s JavaSWF but most of the original JavaSWF has been rewritten. Alex has been working on Kinetic Fusion over the last 18 months and to this observer, it clearly shows. Wrapping your head around the SWF File format is not an easy thing to do especially in providing a round-trip ActionScript compiler/decompiler. KineticFusion implemented ActionScript using ANTLR compiler compiler and his implementation is very solid. It is interesting to note that in using a compiler compiler like ANTLR, updates to the ActionScript language can be accommodated quite efficiently (Once the spec is digested…).

He has also made an extensive effort to provide a simple interface in RVML. Although RVML is lower level than FMX, it provides a similar paradigm for development. For instance instead of dealing with “Sprites” from a File Format perspective, KF provides a timeline metaphor in RVML. You can specify Frames or nested movieClips. RVML also provides a simple paradigm for the “Dictionary” in the Flash Format Spec as it relates to the “Library” in FMX. Although wildly different, RVML provides the ability to externally import all of the format primitives including shapes, sound, fonts, text, morphs, video and other swf files.

***Update: This release has added support for external actionscript for ButtonActions, FrameActions and MovieClipActions via a “src” attribute. So external actionscript is now supported. Much rejoicing! ;)

KF provides a consistent authortime format for new SWF IDE’s. In this sense, one could build a new swf authoring IDE and use the services of KF to compile an application to SWF bytecode. Ideally, KF represents an XML equivalent to .FLA in a non-proprietary format. Although it doesn’t support IDE specific information, it makes translation to SWF format easy. It also allows robust use of the command line allowing authortime scripting via any language.

Not to mention that as a Java2 application KF runs on any platform right out of the jar.

Special thanks to Alex Bradley for all his hard work. Although KF is free software, it certainly wasn’t free for Alex to develop. Alex took the time to dramatically improve our development options in regard to SWF output. Drop him an email and thank him directly!

Thanks Alex. :)

Cheers,

ted ;)

KineticFusion & Nick Main


Working with KineticFusion (KF) today, WOW what a great product! Kinetic Fusion provides the ability to convert a swf to XML and back to swf. The engine contains a full actionscript compiler and provides an effective low level interface for manipulating swf files directly.

About 3 years ago, I worked with a toolkit written by Nick Main called JavaSWF. At the time it was clearly the best toolkit for writing SWF files and I used it extensively with several projects as it allowed for building swfs from xml. It was especially effective when used with batch scripting tools allowing the generation of 100′s of SWF files. JavaSWF eventually was upgraded to JavaSWF2 but unfortunately ended development on about 07/11/02 with a patch release.

Kinetic Fusion has taken JavaSWF2 to the next level in a clean easy to use command line Java application. The toolkit allows you to assemble SWF from assets including fonts, video, audio, symbols, all via XML. The XML dialect is easy to use as you can turn any swf into XML source. It is especially useful in exploring the SWF file format as it allows you to see the “Wizard behind the curtain” and understand how concepts in the FMX IDE translate into swf file format.

Here is snip from a converted SWF:

http://www.powersdk.com/sample/test.swf

http://www.powersdk.com/sample/test.xml

Special credit to Nick Main and Kinesis Software for a great job all around. I cannot wait to see where this toolkit leads. Plus you can’t beat excellent freeware!!!

Cheers,

ted ;)

ASR Remoting – SQL RecordSet on the Server-Side


Instead of roundtriping back to the Flash Client, you can get values from records on the server-side via ASR Remoting. This is very helpful when you want to execute n SQL statements in a row where data from one result is input for another.

//ASR SERVER-SIDE FUNCTION

function getsession(){

sql = “Select id FROM session WHERE username=’”+username+”‘”

rd = CF.query(“db001″,sql)

//move cursor to first record

rd.first()

//retrieve string

var nid = rd.getInt(‘id’)

return nid

}

The trick is realizing that the returned recordset is an instance of java.sql.resultSet. Just use the java methods on it and it will give you all the data you need.

Also make sure to brush up on your database cursors!!!! That threw me for a loop.

I am really starting to love Rhino, it is the best of both Javascript and Java.

Cheers,

ted ;)

ASR & Server-Side ActonScript


I am in the midst of my first project that requires Flash Remoting, so I took a deep look into Server-Side Actionscript. I have to say that I am impressed.

Although you first seem constrained by the Rhino Engine, it turns out that 100% of Java is accessible within the implementation and all via a simple JavaScript wrapper. There are some quirks regarding handling of datatypes as each instance is an instance of a Java Class.

Here is a sample:

Say you pass an ASR an Object via Remoting with a nested ‘name’ value. To get ‘name’ from the Object you must use Java Object Methods:

function getSession(o){

//return the name value of the object passed

return o.get(‘name’)

}

You can also create files and directories!!!

function createFile(pathname,data){

fo = java.io.File(pathname)

fo.createNewFile()

fw = java.io.FileWriter(fo)

fw.write(data)

}

function createDirectory(pathname){

fo = java.io.File(pathname)

fo.mkdir()

}

Much easier than using JSP or CF!

Just remember everything is a java class! http://java.sun.com/j2se/1.3/docs/api/

Cheers,

Ted ;)