Archive for the ‘Others’ Category

New Passport Photo

Funny things about static const in ActionScript 3
package
{
	public class FunnyStaticConst
	{
		// mess around with the sequence but it still works
		private static const num1:int = num2;
		private static const num2:int = 100;
		// a constant object?
		private static const BASE:Object = {name:'banana', color:'yellow'};

		// constructor
		public function FunnyStaticConst()
		{
			//let's change the "constant"
			BASE.name='apple';
			BASE.color=red';
			trace(BASE.name,BASE.color);
			// the result is "apple,red"
		}
	}

}
Configure FlashDevelop Code Autocompletion For AIR API

This will enable code auto-completion feature for AIR API in FlashDevelop

Project->Properties->Compiler Options->Intrinsic Libraries, click at the “…” button and put these lines there

Library\AS3\frameworks\FlashCS3
Library\AS3\frameworks\AIR

MovieMaterial updateBitmap Bug In Papervision3D 2.0 GreatWhite

In latest PV3D 2.0 (GreatWhite) revision, MovieMateiral and MovieAssetMateiral’s updateBitmap function is broken. The problem is that updateBitmap function is actually an empty function. The class hierarchy goes like this: MovieAssetMaterial -> MovieMateiral -> BitmapMaterial -> TriangleMaterial -> MaterialObject3D. updateBitmap is defined in MaterialObject3D as an empty function and it was never overridden along the path.

If you are not patient to wait for their next release, the problem can be solved by putting PV3D1.7 updateBitmap function back into the MovieMaterial class.

public override function updateBitmap():void
{
	// using int is much faster than using Math.floor. And casting the variable saves in speed from having the avm decide what to cast it as
	var mWidth:int = int(movie.width);
	var mHeight:int = int(movie.height);    

	if( allowAutoResize && ( mWidth != bitmap.width || mHeight != bitmap.height ) )
	{
		// Init new bitmap size
		initBitmap( movie );
	}

	drawBitmap();
 }
Testing Results Of Google Indexing SWF Files

A few days ago, we did a test on Google’s swf indexing capabilities and here’s our new findings. You can try to see the result from Google. We are still testing at the moment, so the actual page may not be reflected in Google.

  1. Search results link the HTML pages instead of directly linking to swf files. As I mentioned in my previous post, a direct link to swf is as good as not indexing at all because information like swf dimensions and possible parameters set by HTML will be lost and the swf file will not display properly or will not work at all.
  2. Up to today, Google hasn’t following the links within swf files. What Adobe and Google promised that the spider can click at buttons like humans is not shown yet. We’ve tried various methods of putting the link, flashvars, xml and hard-coded with onRelease and on(release), but none seems to be working.
  3. Embedding swf using <object> has much higher pick up rate than using the “AC_RunXXXX.js”.
  4. SWFObject works out of the box, oh yeah!
  5. Yahoo! doesn’t index swf files at the moment.
Testing

This post is meant to test capability of google indexing flash contents.

google indexing flash content swf adobe testing

iBeer, Another iPhone Toy

Looks really fun!

This one is definitely done in Objective-C.

Concerns Regarding SEO For SWF
  1. Cloaking. It’s too easy to cloak with swf files: off-stage text, transparent/invisible text, text on the stage but users can never reach or use ActionScript to hide text.
  2. Bad user experience. When a user clicks at a swf link in search results, the swf file will be opened ‘nakedly’ in the browser, filling up the full browser. If the swf file is meant to be shown in full browser, it’s not much a problem. However, most of swf files are meant to be shown in a specific dimension and they will scale up and get pixelated in this case.
  3. Broken link. Following from point 2, if the swf file is directly opened in a browser, some swf files can not run properly. Some files require communication with JavaScript and some need the data set by flashvars (in embed tag) or addParameters (in swfobject).
  4. Cloak to solve the problem. Problem 2 and 3 can be solved with some detection codes. If the swf file detects that it’s ‘naked’, without a HTML holder, it can automatically refresh to the HTML page.  However, the problem is that you are cloaking.
  5. Inaccurate link. A swf link from a search engine doesn’t directly bring the user to the information he/she is searching for, in most cases. It’s very unlikely that when a user searches for “curry chicken” and the linked swf file has “curry chicken” is in the landing screen. Most likely, the user needs to click around to look for the content again. On top of that, Flash does not support full page text search and of cause, search engine can’t highlight the search words either.
Politics of country drop down menu: solution

To avoid HongKong, Taiwan and China’s “one China” policy problem, do not mention the word “country” in your *uhem* drop down menu. Use something like, “location”, “where do you live?” and “your region” etc.

Politics of country drop down menu

If you list China, Hong Kong and Taiwan as 3 different countries, you’ll get complained by Chinese.

I seriously feel that at the current moment all Chinese should spend more energy cleaning up Beijing streets other than hunting down companies who list countries wrongly.

BTW, I think website domains should change, too. .com.hk is wrong. It should be .com.cn.hk