In my Web Analytics class today, we discussed tracking user activity in a Flex application. My professor who currently works at Entice Labs talked about how he implemented Web Analytics for a Flex landing page. He recorded any mouse or keyboard events that the user performed while on the page and sent data back to the server in packets every few seconds. With the data he harvested, he was able to run the landing page and replay a user’s exact interactions for further analysis at a later time.
With my final project coming up in a couple of months, I have been trying to decide how I can tie Flex and Web Analytics together in an interesting and useful way. My professor’s discussion got me thinking that I may delve into creating a web analytics “User Interaction Recorder” in Flex.
Here are my initial thoughts on the idea:
- Identify the user interactions to track (MouseEvent.MOVE, MouseEvent.CLICK, etc.)
- Determine the back-end structure for storing user interaction data
- Figure out what packet structure I will use and the frequency of packet transmission
- Create a user display mode which will allow me to run the application in “Analytics Mode”
- analyticsView = true;
- PopUp window to select the user session whose actions I want to replay
- Show different cursor images based on the interaction (arrow images to simulate cursor, green halo around the cursor image if a click is performed, etc.)
- Simulate navigation when a click is performed
With the increased searchability of SWFs, I think Web Analytics in a Flash/Flex environment is only going to get bigger. On a side note, has anyone used Google Analytics Flex Setup before? I am also considering a project on this topic as well. Any feedback would be appreciated.
Flex has an automation framework as part of the core sdk which allows recording user interactions and replaying them. All flex components shipped out of the box support this. You might want to take a look at it.
Nice! I’ll have to check that out. Thanks for the tip.
Virtual Mouse – http://www.senocular.com/index.php?id=2.1 simulates interaction
and http://www.useitbetter.com/ seems to be doing what you want already, only it’s a private beta.
I coded a basic recording/playback mouse interaction pretty quickly thanks to VirtualMouse