How to define your own global function in as3

It is very easy. However, I’ve found no info on this topic in the web. I wonder why? First answer: everyone knows how to define the top-level function in AS3 so no-one even drops a line about such obvious thing. Second answer: my search strategy is wrong. Anyway, the approach to your own global functions in Flash9 is really simple, just two steps for those who still miss this feature.

To define your own top-level function (for example, “myTrace“) in AS3:

1. Create the file named “myTrace.as” in the root of your classpath directory.
2. Add the following code and save it:

package {
	public static function myTrace(strToTrace:String)
	{
		trace("myTrace says: " + strToTrace);
	}
}

3. That’s all.
Now your myTrace function is the top-level one. It is visible from ANY of your AS3 classes with NO imports. No hacks. You can call it “global method in AS3″ or “top-level function in AS3″ or whatever you like. This is amazing and I wonder why no one even blogged a line about such simple and great solution except the Miramax at as3.ru. Am I missing something evident here? Feeling like complete n00b.

Firefox search plugins for Flex 2, Flex 3, Actionscript 3 LiveDocs and Adobe Labs. And great news: Yahoo! just announced its Flash Platform Team

These Firefox search plug-ins provide Flex & Flash developers not only fastest but the most clever search by ActionScript 3, Flex 2, Flex 3 LiveDocs, Adobe Labs and Flash documentation because of Google engine is used. Install with one click:

  1. ActionScript 3 LiveDocs Firefox Search Plugin Install ActionScript 3 LiveDocs Firefox search plug-in.
  2. Flex 2 LiveDocs Firefox Search Plugin Install Flex 2 LiveDocs search plug-in.
  3. Flex 3 LiveDocs Firefox Search Plugin Install Flex 3 LiveDocs Firefox search plug-in.
  4. Adobe Labs Firefox Search Plugin Install Adobe Labs search plug-in.

Today’s the great day. Sun is shining, I slept for two hours because of Gmail Gmail Loves Threadless Tee Contest Threadless, wake up and read that Yahoo! announces its Flash Platform Team!

P.S. After I created and published these pluginsI’ve found that Alessandro Crugnola has made cool Flash/Flex Firefox Search Plugins already, and even proposed a cool approach of searching for flash docs with Google Suggest.

Why I wasn’t sleeping for the last 2 nights? Because Gmail loves Threadless and I want my iPhone!

So I submitted a tee shirt designs to be voted in the Gmail Gmail Loves Threadless Tee Contest Threadless and hopefully printed. Here are my tees:

My Threadless.com Submission My Threadless.com Submission

And my wife ones:

My Threadless.com Submission My Threadless.com Submission

If I get enough high scores the shirt will be printed and sold from the site and I will win some prizes including iPhone. Take a look at it and if you like it, sign up and give it a score.

BTW, Threadless has a lot of really quite cool tees created by the really talented people. So surely you can find some good for you there!

White hat SEO for Flash Platform, or how to make your cool new Flex app search engine friendly — article by Josh Tynjala

Semantic data, content and any other text elements of your Flex application are hidden from search engines by default. Bad. Users should be able to find your app by its data ????? because actually your application does contain the data, despite the fact Google can’t find it inside. So, if you want your great application to be search-able, it is up to you to provide the way for Google.

So ????? how to allow you Flex product entering the Pleroma of happy SERP creatures?

Josh Tynjala of Yahoo! Flash Platform in his recent article “How to make your hot new RIA friendly to search engines” describes an approach based on XML + XSL transformation, which was applied by Ted Patrick in his Flex Directory – a comprehensive list of firms who does Flex development. It works.

Straight and clear idea: provide raw text data (XML) to the search engine, and make it user-candy (did I made this word up?) with XSL transformation. So, Google’s spiders will get their texts and browsers will get their user interfaces built on the same texts ????? all honest, search friendly and flexible.

While this idea is still not widely used, Flash / Flex developers who will apply it right now will benefit from it much more than those who will apply it a year later.

What do you think ????? maybe this is good idea to create a corresponding template for Flex Builder to make it even easier?

Release the spiders!

Google 3D Maps v 0.4, now with motion blur and 2D mode

Here’s the Google 3D Maps with added motion blur (experimental) and plain 2d mode. Installerand Sources are available.

Screen shot (click to install)

Now I’m thinking about upgrading sources to the fresh release of Papervision3D which has 40% performance growth.

Download the latest version here: Google 3D Map Adobe AIR Application

HD TV and MPEG-4 go web on behalf of Flash Player 9

So, now our lovely Flash Player will support HD TV, MPEG-4, QuickTime, hardware acceleration and multi-core processors. As well as Adobe Media Player and Adobe AIR applications will do. There’s a lot of info wrote about these great news of the decade. Follow it:

  • Ryan Stewart: The H.264 Announcement in Black and White
  • Aral Balkan: Full FAQ on Adobe Flash Player H.264 video support.
  • Adobe Press Release: “HDTV Quality Web Video Reaches the Masses with Industry Standard Video Codec in Flash Player“.

Web goes TV.

Flex VoIP: closer and closer to the domination

Front edge of Flash Platform-based VoIP, Ribbit Phone Flex Component: make and receive calls, record/send and receive voicemail, as well as add and manage contacts.

Brief history of Voice over the Internet made with Flash:

  • May 14, 2006
    GTalkr, a web-based GTalk client was bought by Google
  • September 25, 2006
    Adobe said to be creating VoIP Flash team
  • January 1, 2007
    Flex/Flash Player Based VoIP Application – GizmoCall
  • August 17th, 2007
    Ribbit Phone rings true at 360 Flex conference

Now Flex Developers can sign up for the pre release of Ribbit Phone to be part of the first ones to work with this Flex VoIP technology.

Flash CS3 import from Adobe Illustrator done well. Or just excellent

Yesterday I faced the task of importing pretty complex Adobe Illustrator CS2 file into flash. File contained a lot of vector shapes for creation of characters like this one (there was a lot of characters in teh AI file):
http://WeDudes.com/

First, I tried to import AI file with Flash 8 Professional. After import I’ve discovered that almost everything become bitmap — not the thing I need!

So I tried to import the same file with the Flash CS3 and got so pleasant surprise: excepting a couple of dashed strokes everything imported perfectly in vector!

More, when importing, I have the advanced dialog where can choose the import settings for each AI file layer – to import it as movieclip or raster, and so on. There’s a good option of selecting everything with [Ctrl + A] and setting the needed import details for all items by a couple of clicks.

One of the issues I’ve noticed during import was slightly changed red channel in images, but I think I should talk to my AI illustrator dude first and ask him to clear the color mode issue. He provided me the file in CMYK. So Flash CS3 warned me that I try to import file in CMYK mode, so I changed the Illustrator’s file color mode in AI and re-saved and re-imported the the document and all went good. But the slight color change seems to be here.

Respect Adobe: Illustrator Import to Flash CS3 is just a candy.

Benny the Brave, cute and stylish, and why Adobe must pay much more attention to Flash designers

I’ve just discovered this piece of flash art via the Adobe Edge newsletter: meet Benny the Brave:

Job perfectly done: no huge and slow stuff, everything is smart and fast, a lot of hidden pleasant surprises. Site behaves just cool, I especially like the transitions between sections.

Look at it one more time. Such sites form the heart of Flash from the beginning. A lot of respect to designers, animators, and sound designers of this site. But when I saw it, I’ve thought what could be better for flash designers to let them make more simple and outstanding art like this.

Some thoughts on Flash as the designer tool

I’m thinking a lot about possible further development of Flash. First, when I see the last version of Flash CS3 I think it is not enough to make designers really happy. Yes, it is good tool, still widely used everywhere to create cool animations. But I was expecting more. Before Flash CS3 has been released, I had a hope to show it to my friends after its release and say: “Look at Flash now! Drop your Illustrator / Photoshop if you make art for Flash — because you can make artwork in Flash IDE as you used to do in your graphic editor”. But I failed: new Flash CS3 release makes pretty small gifts to the designers. This doesn’t let me to advertise it to my friends as new designer tool. I believe I’m not the only one who had big expectations regarding this release.

Back to the title: respect to the Eugene and Louise creative studio from Antwerp – they did the webdesign and animation part. Web development was done by a Studio Plum. Benny the Brave is truly the inspiration!

In one of the next posts: why Flash CS3 hardly becomes better for the designers, point by point.

Apollo 3D Test v 0.1: my first Apollo app (Google Maps, Pv3D, Flex, Apollo Alpha)

Apollo is free from some limitations of regular Flash Player; for example, with Apollo’s HTMLcomponent you able to load something from the web and to operate with it in any way, without necessity to care about all those annoying cross-domain policy files.

For example, you can take Google Maps, place it on the 3D plane or sphere, keeping the interactivity of dragging the map (you needed Apollo Runtime for have this example working):

I’m truly intrigued with Adobe Apollo!

Sources for Apollo 3D Test application v 0.2

Update: Application is prepared for the latest version of the Adobe AIR.

Download the latest version here: Google 3D Map Adobe AIR Application.

I’ve just published the source files for Apollo 3D Test App, and updated the application a bit: added the option of map smoothing. Surprise, this doesn’t decrease the app performance — check it out: Apollo 3d Test v 0.2 with Google Maps and Papervision 3D.

To run it, you need Apollo Runtime, here’s the screenshot (click it to download / install the app):

BTW, after installing the Apollo Extension for Flex Builder I’ve got a feeling that my FB2 started work faster. Surely, this simple app builds in second or two, while I have Photoshop, Outlook, Dreamweaver, Word, Visio, Firefox, Winamp 5 and LastFM scrobbler opened, plus GoogleTalk, Skype and one Apache process running.

haXe: installation and creation of your first Flash application with haXe compiler

haXe is universal high level programming language and its free compiler. haXe lets you create applications fir such platforms as JavaScript, Flash Player 6-8, Flash Player 9 (ActionScript 3) and Neko. Author of this technology is Nicolas Cannasse, the creator of the fastest flash compiler MTASC (now you’ve got a feeling about quality of haXe). Learn more about haXe.

To install haXe compiler (for Windows users):

  1. Go to haXe download page and download installation file.
  2. Unpack. Start haxesetup.exe. Installation goes on in best guerrilla tradition, without unnecessary buzz. One second — and you see the message about succesful installation.
  3. Reboot your machine (to enable PATH variables, added at the previous step).

To create your first Flash application using haXe compiler:

  1. Create test class file ‘Text.hx’ containing the following code (haXe source files have ‘*.hx’ extension):
    class Test {
        static function main() {
            trace("Hello World !");
        }
    }
  2. Create compile.hxml file (‘*.hxml’ files are used to tell compilation directives to haXe compiler) with the following code:
    -swf test.swf
    -main Test
  3. Double-click compile.hxml file to open it.
  4. Compiled ‘test.swf’ file will appear in the same folder. You can open it to see the result!

???? embed compiled swf file into web page, use standard html code for embedding flash files (test.html file):

<html>
<head><title>haXe Flash</title></head>
<body bgcolor=”#dddddd”>
<object classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″
width=”400″
height=”300″
id=”haxe”
align=”middle”>
<param name=”movie” value=”test.swf”/>
<param name=”allowScriptAccess” value=”always” />
<param name=”quality” value=”high” />
<param name=”scale” value=”noscale” />
<param name=”salign” value=”lt” />
<param name=”bgcolor” value=”#ffffff”/>
<embed src=”test.swf”
bgcolor=”#ffffff”
width=”400″
height=”300″
name=”haxe”
quality=”high”
align=”middle”
allowScriptAccess=”always”
type=”application/x-shockwave-flash”
pluginspage=”http://www.macromedia.com/go/getflashplayer”
/>
</object>
</body>
</html>

Have good day with haXe!

These instructions is the compilation of the haXe Usage, haXe downloads and Getting Started with haXe/Flash pages.

For further studying and using haXe visit the last link and other haXe tutorials, for example, haXe for Flash9 as replacement of ActionScrpt 3.

Something is not clear? Don’t hesitate to ask here or in the haXe mailing list.

 

XPath for haXe by Dainel Cassidy, alpha version

The aim is to fully implement XPath in compliance with W3C standard. This very alpha version of XPath for haXe still needs some features to be finished, like compilation to JavaScript, implementation such XPath functions as id(), namespace-uri() and lang(), namespaces support and some more small features, related to details of XML implementation in haXe.

DVD Rippers, their antipods and what is dvd, cd, audio and video ripping

As I see, a lot of people come here searching for DVD rippers.

There’s a lot of tool at the market which help to rip the DVD off of the disk.

Ripping a DVD to avi, mpeg, xvid or divx is just easy, if you have the dvd ripping software. There’s a lot of tools at the market like the auto gordian knot (autogk) and DVD decrypter.

DVD decrypter rips the raw DVD video and audio data off of DVD disk drive, allowing you to decrypt the CSS protection. Finally you can disable any DVD protection toos, such as Macrovision. A lot of DVD codecs and a GUI interface of AutoGK take the raw DVD data through an AV processing pipeline to produce a single windows video file which you can view as regular avi file.

But it is interesting to know how legal DVD ripping is

Wikipedia says:

“Ripping (also referred to as digital audio extraction) is the process of copying the audio or video data from one media form, such as DVD, HD DVD, Blu-ray or CD, to a hard disk”

Then:

“Although it is legal in the United States to make backup copies of software, the legality of ripping music for personal use without the permission of the copyright holder is controversial. Historically, copying media for personal use has been deemed “fair use,” however the RIAA, which represents many music copyright holders has argued that copying rights have not been granted to end users. Selling software to circumvent copy-protection in commercial DVDs is illegal.”

But I wonder why is Ripping? What is “ripping” itself?

The origin of the word “rip” in this context is interesting. It originally came from Amiga/Atari/Commie64 D00DZ that used to “rip” audio and graphic images from games, and it often implied that a bit of hacking was necessary to extract the data. Apparently it’s now used to refer to directly reading the digital data from an audio CD; while the connection is somewhat obvious, there’s rarely any hacking involved on the part of the ripper grin) – says theeggeadventure.com and then:

Origins of Ripping

This is the slang term for ???Audio across SCSI??? or ???Digital Audio Extraction.??? This method of recording digitally copies (extracts) the music bit by bit directly from the CD?????s surface, and does not degrade the quality of the music by converting it to analog.
The term “Digital Audio Extraction” sounds like something only a dentist should use. What does it mean?
Unless your computer is really old, it will do digital audio extraction. This is the process of taking files off of a CD and making them into separate song files. It’s also known as “ripping.” Ripper software programs are often used to make MP3 files from CDs, which is the origin of all the Napster fuss.
In better English it is called ???Audio Extraction???. The etymology of ???ripping??? is probably ??? to rip-off (a CD) from its file.

Please note: these article is created as note for myself.

haXe FLV Video Streaming Multithread Server, now with webcam and mic recording

haXe FLV Video Streaming Multithread Server is small and fast multithread FLV video and audio streaming server, written competely in universal haXe language by Nicolas Canasse, the author ofMTASC compiler and the author of haXe language.haXe Video server supports webcam and mic recording, improved the FLV and AMF support. There’s simple test application which you can run in just few easy steps.To test the haXe FLV Video Streaming Multithread Server:

  • unpack the distributive
  • run the server.bat
  • open video.swf
  • click “Record Cam” button
  • dance, sing and clap your hands say yeah to the camera
  • click “Stop” button
  • click “Play Rec. Video”
  • see all your actions recorded.

The first beta of haXe Video, the multithread FLV video streaming server was released February 11, 200. The goal was to create lightweight and fast media server for streaming the audio- and video- files with high performance.

Filesize of haXe Video distributive is 7 MB, where 7 MB is the size of sample video FLV file provided within the distributive. No misprint here. To be precise, the total size of all haXe Video server source files is 131 KB. Moreover, as Nicolas wrote, it is less actually: 15.3 KB for AMF+FLV+RTMP protocols and 12.5 KB for the server itself, plus + 6.8 KB for the sample UI and logic.

That’s about lightweight.

Some think that Canasse is kidding; however, he doesn’t.

Comments gathering extension is needed

As you go from one blog to another and leaving your comments at the different websites, it is useful to have easy-to-use Comment Gathering Tool which can easily save all your comments in one place by one click.

Info needed to be saved:

  • Title of page being commented
  • URL
  • RSS (if present)
  • Date
  • Comment title (if present)
  • Comment text

It is certainly needed tool. For example, LiveJournal users have had requested such one a lot of times.

How to make money from your flash games? Kongregate them

  1. Johannes Gutenberg, european inventor of printing with movable type has passed away in poverty and debt, but very soon after his death his creditors made a lot of money.
  2. Columbus has opened America and has finished in powerty at the hospital berth; but tobacco companies prosper.
  3. A thousands of flash developers create games and usually sell them just one time to client (how often their fee is aligned with development time and comlexity?). Then these games are being stolen by collector web sites kinda best-free-game.com or 2flashgames.com, whose owners haven’t made any effort nor to create of the game, neither to provide payments to its authors.

That’s why the kongregate (referrer link) website was needed and consequently was born. This is the place where flash game developer are invited as much as game players are.

The principle is simple: you (game developer) upload your game to kongregate website and kongregate pay back to you as result of sharing money from ads rotation. It is honest. The more popular your game, the more your money is. The more popular kongregate, the deeper in the asshole thieves, who don’t pay game creators any cent or even backlink.

The creator of coca cola hasn’t became a richman, as many other inventors hasn’t — unlike a crowd of moneymakers who adroitly use their inventions.

Ruby on Rails Cairngorm Generator is released by Ilya Devers

Idea of creation Flex applications with slick Rails scaffolding-like approach came to me just in moment when I introduced myself to Ruby on Rails (Google translation from Russian) inspired by Michael Klishin; more exactly, when I have learned what scaffolding is (roughly said, the procedure of automatic creation the whole MVC stuff by given data structure). This idea has flooded the space since then and its density has reached the critical value:

Sep 10th, 2006
Alex MacCaw announced he has started creation of the Cairngorm Rails Generator.

Jan 10th, 2007
Ilya Devers has published the first stable version of his Ruby on Rails Cairngorm Generators set at Google Code. Download: cairngorm-rails-generator.zip.

It does:

  • Take your application name and create typical Cairngorm structure, including modelLocator, frontController, services.mxml and application itself. You can also set the package structure.
  • Create (server) delegates.
  • Generate Cairngorm Commands, Events and comments.
  • Create standalone events and value objects (though author acknowledges that it could make more sense to create VOs based on model classes).
  • Include generator for WebOrb Service class.

Jan 27th, 2007
Michael Klishin has posted a great article named “Ruby / DSL Saves Your Soul and Makes You a Happy Flex developer” (Google translation from Russian).

Good idea never come into only head alone. Things become dangerous and amazing

New rules of the Desktop 2.0 game: Adobe Apollo reviewed again at TechCrunch

Probably this is the most important thing ever said about Apollo so loudly:

“The reason Apollo is so important is because it changes the rules of the game. It is taking the technologies and tenants of the web and bringing them to the desktop. Apollo is cross platform and gives web developers access to things like the file system and close integration with the operating system in a set of APIs that are the same whether you?????re writing in JavaScript or ActionScript. The web fostered an explosion in the creativity of application development and Apollo will undoubtedly do the same for desktop development.”