Content

Tuesday 18 November 2008
-
Filed under
Tips
I’ve recently finished a project. It’s a website for a wedding gown boutique. The main function of the website is to show their products, just like a of photo gallery. There are loads of photos and I tracked every photo’s page view. While I was happily looking through the numbers in Google analytics I realise the page view duration is a very good indication of how good or popular the product is. People will stare at a photo longer if they like it and if they don’t like it they’ll quickly click at the next button. I feel this is very useful information to engage the customers’ taste.
UPDATE: as @ickydime mentioned, the tracking data is not 100% accurate. There are cases that users leave the window open, go to do something else and come back to their desks again, recording a very long page view duration. And there are also users accidentally closed the page, clicked away or some other stuff, which record very short page view duration. But all these inaccuracy will be minimised when more data is collected, the errors will be averaged with a big base. Based on the tracking data, no exact figure can be given, such as 53.4% users like product A. But the data can definitely tell that a product with average 30 seconds page view duration is more popular than a product with average 5 seconds page view duration.
1 comment ::
Share or discuss
::
2008-11-18 ::
5566
Friday 14 November 2008
-
Filed under
Others
Great stuff! Very inspring!
::
Share or discuss
::
2008-11-14 ::
5566
Thursday 13 November 2008
-
Filed under
Tools

Danny and Edward are working on this awesome flash extension panel that helps to create a project structure. The tool is mainly for website developers and it generates HTML file integrated with swfaddress and swfobject automatically. The cool thing about it is the tool uses an XML schema to generate all the files needed. It’s very flexible and easy to customise for other purposes. We’ve made it as an open source project and you can download it in google code.
1 comment ::
Share or discuss
::
2008-11-13 ::
5566
Monday 3 November 2008
-
Filed under
Others
The people there are really happy with their solution.
::
Share or discuss
::
2008-11-03 ::
5566
Monday 25 August 2008
-
Filed under
Tips
I was trying to read a specific part of a file in AIR. I thought readBytes function in FileStream can serve the purpose but I was wrong.
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Reads the number of data bytes, specified by the length parameter, from the file stream, byte stream, or byte array. The bytes are read into the ByteArray objected specified by the bytes parameter, starting at the position specified by offset.
The offset parameter is defined as the offset position in bytes. It defines where to store the data in bytes not where FileStream starts to read. The correct way is to move the FileStream.position and specify the length fo data needed.
3 comments ::
Share or discuss
::
2008-08-25 ::
5566
Saturday 23 August 2008
-
Filed under
Others

1 comment ::
Share or discuss
::
2008-08-23 ::
5566
Friday 22 August 2008
-
Filed under
Tips
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"
}
}
}
6 comments ::
Share or discuss
::
2008-08-22 ::
admin
Friday 22 August 2008
-
Filed under
Others
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
2 comments ::
Share or discuss
::
2008-08-22 ::
5566
Monday 18 August 2008
-
Filed under
Others
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();
}
4 comments ::
Share or discuss
::
2008-08-18 ::
5566
Thursday 7 August 2008
-
Filed under
Experimental + Maths&Physics
This is my entry for Code::XtremeApps::2008. It was a 24 hours coding competition. Sadly, my entry didn’t even get pass the preliminary round. As usual, I conclude the judges didn’t know what they were doing and they are not good enough to judge my idea.
Download Here!
2 comments ::
Share or discuss
::
2008-08-07 ::
5566