Archive for the ‘ARCHITECT’ Category
Monday, October 5th, 2009
Well good news for Flash developers, Flash CS5 will finally compile to native iPhone and Touch Applications. This is great news for many developers out there who have stuck with the Flash platform. I am sure there will still be limitations to what you can do with Flash on the iPhone and it will probably be mostly 2D games and apps but this is a great start to getting the Flash platform truly mobile and up to the rest of the industry.
Flash Professional CS5 will enable you to build applications for iPhone and iPod touch using ActionScript 3. These applications can be delivered to iPhone and iPod touch users through the Apple App Store.*
A public beta of Flash Professional CS5 with prerelease support for building applications for iPhone is planned for later this year. Sign up to be notified when the beta starts.
I have been questioning why they have not moved to this model before when others are doing so such as haXe, Unity3D and MonoTouch. Getting Flash on the web browsers on a mobile is hard because Flash is pretty CPU intensive on embedded devices which is really where computers were in the late 90’s and close to 400-600 MHz processors. Today these machines wouldn’t be able to run Flash very well and that is the same effect you get on a mobile phone. But cross-compiling to native, similar to how Unity 3D does it or other solutions like MonoTouch and XNATouch, this is the best solution until mobile/embedded devices have 1GHz processors and more than 500MB of memory. Adobe is using LLVM, much like the Alchemy model, to achieve getting AS3 content onto an iPhone/Touch with AOT or Ahead of Time compilation rather than JIT compilation.
So how do you build an application for the iPhone? It’s simple, really. The forthcoming beta of Adobe Flash Professional CS5 incorporates the ability to create an iPhone application. You have access to nearly all the AIR 2.0 and Flash Player 10.1 APIs. For example, you can use APIs such as RTMP, Remote Shared Objects, and AMF as well as AIR APIs like SQLite and filesystem access. For more information see the developer FAQ on Adobe Labs.
I am glad to see Adobe finally moving on mobile platforms beyond Flashlite. Flashlite is a poor solution in most cases on embedded devices because they really need native apps to perform, again due to the hardware limitations and it is a whole new platform to learn. Adobe is doing the hard work to make it easy to get developers content on the new embedded devices that are storming the world such as the iPhone and Touch.
Tags: actionscript 3, AS3, compile, cross, cs5, embedded, FLASH, iPhone, llvm, monotouch, touch, xnatouch
Posted in ACTIONSCRIPT, ACTIONSCRIPT3, ADOBE, APPLICATIONS, ARCHITECT, AS3 | View Comments
Thursday, July 16th, 2009
Haxe Sandy is a version of Sandy that can export to an experimental Javascript 3D engine taking advantage of the <canvas> element. There are some great demos that run smoothly in canvas capable browsers and very smooth in Chrome.

Demos of Haxe Sandy:
Sandy was actually the first open source 3d engine in flash, maybe this will be a trend building in haXe for export to flash and javascript? It certainly looks like a great start and would make a very nice platform for 3d on the web allowing Sandy or other flash libraries to run in Flash and Javascript by writing in an abstraction platform like haXe. Other libraries like Motor2, Physaxe, haxe3D, PureMVC and more have haXe versions. Still very experimental but a possible need when Flash and canvas are both in the market in the future. Right now it is still all Flash.
[ via Matthew Casperson at devmaster.net ]
Tags: 3d, canvas, ENGINE, HAXE, html5, hx, JAVASCRIPT, motor2, port, puremvc, SANDY, web
Posted in 3D ENGINES, 3d, ACTIONSCRIPT, ACTIONSCRIPT3, ARCHITECT, AS3, GAMEDEV, GAMES, HAXE, JAVASCRIPT, OPEN SOURCE, PROGRAMMING, RENDERING, SANDY, STANDARDS, TECHNOLOGY | Comments Off
Friday, July 10th, 2009
Silverlight 3 has been released a day early.
Microsoft has released Silverlight 3 to the web a day earlier than expected. You can go ahead and grab Silverlight 3 RTW build 3.0.40624.0 (4.69MB) from Microsoft.com/Silverlight. Version 3 supports Windows Internet Explorer 6/7/8, Firefox 2/3, and Safari 3/4. In addition, the Silverlight 3 SDK (9.5MB) and the Silverlight 3 Tools (32.2MB) have been posted on the Microsoft Download Center. (arstechnica)
As Silverlight versions go it is quite impressive and pretty much a complete solution now including desktop save support and full set of tools for RIA development (early versions were only Javascript or had limited controls libraries).
Granted there are lots of years of gain that Flash has on Silverlight but the path that Silverlight it following leads right to Flash. Hopefully this will lead to more innovation on both sides (they might need it with Google Wave pushing html5 <canvas>).
One very nice element of Silverlight since it has been released at verison 1.0 is the HD video support. It has gotten better with each release. This release has smooth streaming support that is pretty impressive for web video.
Interestingly they chose the open source Blender Foundation project Bug Buck Bunny to demonstrate the smooth streaming feature. Ryan Rea has a bit of analysis on how well the video plays across a quad core and memory compared to flash hd video.

More on the Silverlight 3 new features here and here.
Roy Schestowitz plays the flip side and calls this a ’silver-lie’ released and has lots to say about the Silverlight 3 release and even using Big Buck Bunny to demo it. He states a true fact that up til now lots of companies have abandoned Silverlight in favor of Flash (mlb, nyt etc). It is still used at Netflix but that has an XBOX deal to play Netflixon xbox360.
Flash didn’t really get good until version 4. Typically software is a real version at version 3, that is when most software has the goals and ambitions of 1.0 fully complete and integrated. We shall see how things play out but I still think Silverlight has a long way to go in winning over developers, myself included, but competition is never a bad thing when you are wanting to see innovation.
Tags: FLASH, MARKET, release, SILVERLIGHT, VIDEO
Posted in .NET, APPLICATIONS, ARCHITECT, DEVELOPMENT, EXPRESSION, INTERACTIVE, MARKET, MICROSOFT, PROGRAMMING, SILVERLIGHT, TECHNOLOGY, VIDEO, blender | Comments Off
Wednesday, July 8th, 2009
AIR is very popular for creating twitter clients, Sönke Rohde just made it much easier to make AIR apps for twitter with an AS3 library for Twitter. This library is built on top of core oauth as3 library by iotashin. Core OAuth as3 library is a standard OAuth library this can be used for your own OAuth backends or connecting to other OAuth services as well.
A very nice feature of this library, in addition to being coded cleanly and as3 style, is the ability to have the Twitter OAuth page render inside of Flash.
Instead of opening the Twitter authorization page in the browser the library also contains OAuthLoader which is a wrapper around HTMLLoader which enables to directly show the authorization page within an AIR window:
// use this in the requestTokenHandler instead of navigateToURL
var loader:OAuthLoader = new OAuthLoader();
loader.load(request);
loader.percentWidth = 100;
loader.percentHeight = 100;
var w:Window = new Window();
w.width = 800;
w.height = 400;
w.title = req.url;
w.addChild(loader);
w.open();
Tags: ACTIONSCRIPT, AIR, API, application, AS3, CODE, core, library, oauth, twitter
Posted in ACTIONSCRIPT, ACTIONSCRIPT3, APPLICATIONS, ARCHITECT, AS3, DEVELOPMENT, FLASH, FLEX, OPEN SOURCE, STANDARDS, SYNDICATION, TECHNOLOGY | View Comments
Sunday, June 21st, 2009
This is a very cool project called V8-GL. It is an OpenGL engine with 80% of the API converted to run on the V8 Javascript engine, the same engine that runs Google Chrome.

This is exciting as more productive languages like Javascript get speed boosts from engines like V8 and are capable of manipulating more complex systems like OpenGL. Google is also pursing this in the browser with O3D with javascript manipulation of hardware rendering. Also, a Google funded project called Unladen Swallow is converting Python to the LLVM virtual machine, so that it can have increasing speeds to compete with gcc speeds.
Making things easier to produce and control with more simplified and minimal languages like Javascript, Python and Actionscript etc that control more complex systems, that typically you would need to invest more time in such as a platform on C++ is the goal. V8-GL has this goal in mind.
V8-GL from the author states:
V8-GL intends to provide a high-level JavaScript API for creating 2D/3D hardware accelerated desktop graphics.
In other words, you can hack some JavaScript code that opens a desktop window and renders some 3D hardware accelerated graphics. Bindings are made using the V8 JavaScript engine.
Tags: 3d, DESKTOP, ENGINE, JAVASCRIPT, OPENGL, v8
Posted in 3D ENGINES, 3d, APPLICATIONS, ARCHITECT, DESKTOP, ENGINE, GAMEDEV, GAMES, JAVASCRIPT, MARKET, OPEN SOURCE, OPENGL, PERFORMANCE, PROGRAMMING, RENDERING, STANDARDS, TECHNOLOGY, Uncategorized | View Comments
Friday, June 19th, 2009
haXe is an interesting programming language that allows abstracting the source from platform target. It outputs for targets such as Actionscript and Javascript from haxe language source. But, haXe can also output to native code to run on Windows, Mac OSX, and Linux.
Well because of this it is possible to run haXe on the iPhone. The gamehaXe site has found a way to get haXe to compile to iPhone via hxcpp which creates a C++ output from haXe code very similar to Actionscript 3.
I am a bit late to the party but this is great news. It uses the NME library which will allows code to mostly be written to the Flash 9 API and create the C++ for XCode to compile and run on the iPhone and Touch. This creates a path to port Flash games to iPhone/Touch.

This project is one to watch and participate in. Native compilation to the iPhone from haXe is a more simplified code to write in while providing lower level performance which is needed on mobile devices, as processors, cache and ram are much lower than desktop and below what is capable of running the Flash AVM2 currently.
If you have more interest in haXe there are some other great demos on as3/haXe at the game haXe site. Also, Tony at touchmypixel.com has posted some very useful information to help you get started with hxcpp.
The hxcpp project is a newer output target along with a java one but this could be interesting if actionscript like code and many libraries like Physaxe or AS3 libraries could be ported to haXe to output to the iPhone.
Tags: AS3, cpp, FLASH, HAXE, hxcpp, iPhone, MOBILE, neash, neko, physaxe
Posted in ACTIONSCRIPT, ACTIONSCRIPT3, ARCHITECT, AS3, HAXE, LIBRARIES, PHYSICS, PROGRAMMING, iPhone | View Comments
Friday, May 22nd, 2009
Flash 10 will be ready for mainstream hopefully by the end of this year, or early ‘10 when the penetration numbers will be up in or around the 90% range via zeh fernando based on previous trajectories.
With that, Flash 10 has many great new things such as the Vector structure that allows a collection of a certain type, which results in a faster collection because of the known type. So anywhere where Arrays are used, that is a possible candidate for a performance increase within some code because you are asking the virtual machine to do less work on each loop (not having to dynamically find out the type).
ByteArray (Thibault Imbert) has demonstrated that for the JPEG encoding in corelib it is up to 2.5 times faster using Vectors than Arrays. Your mileage may vary heavily but it is almost a guaranteed speed boost due to less work. This obviously has great possibilities for speeding up code that uses lots of arrays.
Due to the performance boost the Vector does have some constraints in the typical give and take of coder flexibility with compiler and virtual machine overhead. Vectors are more explicit and strongly typed which is why they are fast, but this is also limiting.
In addition to the data type restriction, the Vector class has other restrictions that distinguish it from the Array class:
- A Vector is a dense array. Unlike an Array, which may have values in indices 0 and 7 even if there are no values in positions 1 through 6, a Vector must have a value (or
null) in each index.
- A Vector can optionally be fixed-length, meaning the number of elements it contains can’t change.
- Access to a Vector’s elements is bounds-checked. You can never read a value from an index greater than the final element (
length - 1). You can never set a value with an index more than one beyond the current final index (in other words, you can only set a value at an existing index or at index [length]).
[ Vector docs ]
ByteArray not only used Vectors heavily but did other optimizations that are always good to do, even though optimization is evil when you are working with precious client side resources ensuring an optimized base starting point can be a good thing.
So what did I do ?
- I used bitwise operators as much as possible.
- I replaced all Arrays with fixed length Vectors.
- I used pre-incrementation rather than post-incrementation (thanks Joa for this one
).
- I casted to int all my Vector indices access.
- Other minor stuff you always do to optimize your code
Other sources as well for even more optimization or shall I say efficient AS3:
Tags: ACTIONSCRIPT, ACTIONSCRIPT3, array, AS3, efficient, FLASH, optmization, VECTOR
Posted in ACTIONSCRIPT, ACTIONSCRIPT3, APPLICATIONS, ARCHITECT, AS3, CODE, DEVELOPMENT, FLASH, FLEX, PERFORMANCE, PROGRAMMING, TECHNOLOGY, VECTOR | View Comments
Monday, May 18th, 2009
pyamf is pretty sweet for Flash remoting with Pythonic server side, but now we have two nicely done and integrated remoting kits for python on the server side.
amfast is a new remoting library that looks to be as sweet as pyamf (where sweet == fast and useful). I am checking out amfast now but the speed boost alone might be worth it. For instance, working with real-time games, when you need static content you need to grab that quickly sometimes via a content service. The faster that link the better. It also has Twisted integration which is great for networking and SQLAlchemy integration which is in my opinion the best ORM for python (pyamf has twisted, django, pylons, sqlalchemy as well)
amfast is well documented and has some great examples. If you have the Python addiction, check it.
Description
- AmFast is a Flash remoting framework for Python.
- AmFast can use AMF to communicate between Python and Flash, Flex, and any other system that supports AMF.
- AMF is a binary object serialization protocol used by Actionscript based applications.
Server Features
- Support for NetConnection and RemoteObject RPC.
- Support for Producer/Consumer ‘push’ messaging with HTTP polling, HTTP long-polling, and real-time HTTP streaming channels.
- Support for authentication with NetConnection and RemoteObject.
- Flexible Target mapping system to map message destinations to invokable Target objects.
- Support for ChannelSets with multiple Channels to expose resources in different ways.
- Built in Channels for CherryPy, Twisted Web, and plain WSGI.
- Support for configurable Endpoints. Use AmFast’s built-in AMF encoder/decoder C-extension, or use an external AMF encoder/decoder, such as PyAmf for a pure-Python implementation.
AMF Encoder/Decoder Features
- AMF0/AMF3 encoder/decoder written in C as a Python extension for speed.
- More than 10x faster than the PyAmf encoder/decoder (even when using PyAmf’s optional C-extension).
- Map custom classes with ClassDef objects for complete control over serialization/de-serialization.
- Full support for IExternalizable objects.
- Data persistence with SqlAlchemy including remotely-loadable lazy-loaded attributes.
- Actionscript code generation from ClassDef objects.
Tags: ACTIONSCRIPT, AMF, AMF0, AMF3, AS3, messaging, PYTHON, remoting, services, web
Posted in ACTIONSCRIPT, ACTIONSCRIPT3, AMF, APPLICATIONS, ARCHITECT, AS3, DEVELOPMENT, FLASH, FLEX, GAMEDEV, GAMES, LIBRARIES, OPEN SOURCE, PYTHON, TECHNOLOGY, tracking | View Comments
Tuesday, April 14th, 2009
JiglibFlash has been updated on a few fronts…
Recently added include, you can now use RADIANS or DEGREES to manipulate objects in the engine, also adding standard yaw, pitch and roll methods.
There is a mouse interaction now available with a MouseConstraint class to allow the user to drag a 3d element with the mouse which is great for gaming and interactive 3d physics scenes.
New class: MouseConstraint
There has been a new class to the Papervision3D plug-in called MouseConstraint and a new example to the Papervision3D examples folder. The class basically allows you to attach a world constraint to an object and simulate dragging.
The best update though is you can now use any of the major open source flash 3d engines as the renderer: Papervision 3D, Away3D or Sandy.
AS3 Flash 3D Physics Engines
Tags: 3d, ACTIONSCRIPT, AS3, GAMEDEV, jiglibflash, PHYSICS, wow
Posted in 3D ENGINES, 3d, ACTIONSCRIPT, ACTIONSCRIPT3, ARCHITECT, AS3, AWAY3D | Comments Off
Thursday, April 9th, 2009
Well it appears ES4 path is dead officially and a new standard has been published replacing it, the ECMAScript Fifth Edition announced in Geneva, Switzerland and will be in place as fully tested and approved by all involved by the end of 2009. ES5 was previously known as ECMAScript 3.1 or an iteration of the ES3 standard that is what most JavaScript is based on in all browsers, and was previously competing with the ES4 newer standard that changed Javascript quite a bit but in many areas much better, in some areas it was bloated.
This revision of ECMA-262 will be known as ECMAScript, Fifth Edition. It was previously developed under the working name ECMAScript 3.1, which will no longer be used. ECMAScript is the scripting language that is used to create web pages with dynamic behavior. ECMAScript, which is more commonly known by the name JavaScript™, is an essential component of every web browser and the ECMAScript standard is one of the core standards that enable the existence of interoperable web applications on the World Wide Web.
ECMAScript Fifth Edition (ES5) was strongly guided by Crockford and Microsoft, which is different than the push for ES4 which is what ActionScript 3 is based on and was supported by Adobe and Mozilla.
However it seems everyone is happy and everyone is supporting this version to get things moving if you go by the ECMA Org quotes:
Industry Reaction
Brendan Eich, Mozilla CTO and creator of the JavaScript language, said “The Fifth Edition of ECMAScript makes real improvements based on browser innovation and collaboration in Ecma, which provides a solid foundation for further work in future editions.” Microsoft’s ECMAScript architect, Allen Wirfs-Brock, commented “We expect the Fifth Edition to benefit all web developers by helping improve browser interoperability and making enhanced scripting features broadly available.”
Peace.
I still have to read further into the ECMAScript 5 specification which was published, but there are some new interesting things.
One nice feature is the JSON object. Right now you have to eval to use JSON in javascript in a browser but they now have JSON.parse(object) and JSON.stringify(object) which is standard and conveniently already wired into IE8 this way. This is based on the JSON2.js library by Douglas Crockford of Yahoo.
var jsObjString = "{\"memberNull\" : null, \"memberNum\" : 3, \"memberStr\" : \"StringJSON\", \"memberBool\" : true , \"memberObj\" : { \"mnum\" : 1, \"mbool\" : false}, \"memberX\" : {}, \"memberArray\" : [33, \"StringTst\",null,{}]";
var jsObjStringParsed = JSON.parse(jsObjString);
var jsObjStringBack = JSON.stringify(jsObjStringParsed);
Another feature is DOM prototypes which are useful and cool, which allow you to extend dom objects.
If you use javascript or are an actionscripter, not sure if Adobe will have ActionScript 4 go this way or if Alchemy has changed the flash player into a multi language VM now. It will be fun to watch things progress but also if you are into javascript it seems this standard, ES5, will be it by the end of the year. And probably since IE8 already supports it, in all new browser by then as well. It will probably take 1-2 years before browser saturation makes this usable but if you are using standards that mimic this then there will be no change then, such as the JSON2.js library.
Tags: ECMAScript, Edition, es4, es5, Fifth, JAVASCRIPT, standard, STANDARDS
Posted in ACTIONSCRIPT, ACTIONSCRIPT3, ADOBE, ARCHITECT, AS3, CODE, FLASH, JAVASCRIPT, JAVASCRIPT2, JSON, MICROSOFT, NEWS, PROGRAMMING, TECHNOLOGY | View Comments