One of the common misconceptions about recording browser sessions is that the recording completely matches the user experience. It actually only captures pieces of it.
As I write this post, I’m listening to Halos and Horns on my new Zune. Suppose I’m interested in making sure that the Zune-buying experience is good for other customers. Consider the following scenario:
- I start the recorder and log into http://www.zune.net/en-US/meetzune/.
- I spend about 10 minutes investigating different colors of Zunes.
- I pick a brown one, check out, and submit the order with my credit card.
The whole operations takes me about 12 minutes. However, when the transaction is replayed, only the network traffic is recorded, so the entire operation will be replayed by each watcher node in a matter of seconds, assuming the server replies quickly. We don’t capture the “think time” that includes the time a user takes between clicks on the site.
Note that since network traffic is being captured and replayed, you’re actually buying the brown Zune every time you run this recording. Make sure your processing center knows to ignore certain transactions or you may end up buried in Zunes. You can also record an undo function as part of the recording. For example, if you have a transaction that moves money from one account to yours, disappointing as it may be, the second half of the recording should move it back.
Finally, we don’t replay user experiences against the browser, only the traffic between the browser and the server. The recording software won’t capture anything a user does with controls that depend on AJAX, Java, Flash, or Silverlight.