
There is a lot of flex preloader tutorials all over the internet. If you take a closer look at each, you may notice those all extends DownloadProgressBar or SparkDownloadProgressBar classes. You may decide that these classes do not fit your needs, and it that case you can extend regular Sprite with IPreloaderDisplay implementation. Soon you realize there is some other Preloader in use, that communicates with your custom one through events. Following example contains a preloader implementation that renders a filled arc based on application load progress and RSL load progress. Lets have a look how to handle it properly.
Read the rest of this entry »

In case you are using flexunit ant task with your flex builds and you are used to failed builds with haltonfailure=”true”, you may notice that junitreport task is not executed when unit tests fails. Without having test reports, it does not give you much info about what went wrong. Fortunately, there is a solution using attribute failureproperty and fail ant task. Here is a quick ant build config to generate junitreport report for failed unit tests followed by build fail.
Read the rest of this entry »

At the same time I released YCanvas, I have spotted an interesting starling experiment. I realized I can do this for YCanvas easily with Remotair. Remotair is a concept of transmitting device inputs (gestures, accelerometer, camera etc.) into receiving flash or AIR application. Consists of one transmitting app installed on a mobile device or a tablet and one receiving app running on a PC. In order to pair transmitting and receiving application, RTMFP protocol is used. Implementing remotair reciever into any flash application takes only a few minutes, I spent much more time on touch + multitouch implementation with transitions. At the end of the day, I was able to remote controll YCanvas application with BlackBerry Playbook.
Read the rest of this entry »

Hello YCanvas, who are you? I am an open source ActionScript 3 library that provides stage3D (GPU) engine for perfectly overlapping grid based zooming projects like world maps or onBoard. What? Ok, I am the engine that statnds behind onBoard, and I can handle much more. I can implement Wall Of Fame, WebCanvas, MapQuest, ArcGIS, Open Street Map or do some experiments like Flickr gallery, all this in one flash, few lines (10-20) of specific code per mode, all running at 60 FPS. Anyhing else would you like to see implemented? Just let me know… Do you want to know more and see it in action?
Read the rest of this entry »

onBoard is a massive collaborative painting and drawing canvas where you can draw, sketch, paint, zoom, rotate, screenshot or post your drawing to facebook. See other users drawing live. Today, I am releasing 3rd version (1st, 2nd) that is a little different than the previous ones. It takes advantage of Starling Framework and YCanvas and runs on GPU at 60fps, smoother than any before. For now there is a new web version available with old drawing and other tools. Mobile versions are currently not available. I am also working on a canvas/grid framework called YCanvas that is available on github (more information with next blog post). Have a look and compare cpu vs. gpu versions of onBoard…
Read the rest of this entry »

While there is not much source available out there about how to prepare QTP (HP QuickTest Professional) automation test environment working with flex applications, I decided to write this post. It is not clear, nor straightforward for one who never ran QTP, and while I spend just a few hours preparing the test environment, I hope this article will help some of you to get started much faster. Basicaly what you need is QTP 11, Internet Explorer 8 (unfortunately), Flex Automation Plug-in and flex automation framework (.swc classes)…
Read the rest of this entry »

There are some usefull apis since Flash Player 10, I have never been playing with. Yesterday, I realized one experiment with Sound + SampleDataEvent and created quick demo for converting music into a bitmap and vice versa.
There is a Sound.extract() method in ActionScript allowing you to grab raw sound data from a sound object. It provides you ByteArray of 32-bit floating-point values, which can be converted to a Number using ByteArray.readFloat(). The resulting values are -1 < value < 1...
Read the rest of this entry »

With my latest approach to create universal parser, I came up with something simple yet mighty. SequenceParser is a simple (30 lines) class that crawles any source and matches specified list of highly customizable ISequences. While each sequence can contain list of nester sequences, you are able to parse any type of source with nested conditions and sequences. A good example can be an attribute inside a xml node, a xml node inside a xml node, an escape character inside quotas etc.
I have also created some example sequences like MatchAnything, MatchRegexp, MatchString, StartRegexpEndRegexp, StartRegexpEndString, StartStringEndString that should help to cover almost any possible parsing scenario. These sequences notifies back via callback containing parsed string, that is vital for further bulding additional logic like highlightning, validation over parsed phrases.
Read the rest of this entry »