This section provides guidelines for successful implementation and use of Acoustic Experience Analytics (Tealeaf) UI Capture.
In parallel with your process for developing the web application, plan to deploy Acoustic Experience Analytics (Tealeaf) UI Capture as early as possible in the development process for the following reasons.
- Early deployment limits the potential for issues that are discovered in a production environment.
- Early deployment provides an opportunity to monitor application problems and help debug the application.
These guidelines apply to all deployments of Acoustic Experience Analytics (Tealeaf) UI Capture. Different options can apply to different web application types.
Acoustic Experience Analytics (Tealeaf) UI Capture supports specific browsers, application types, and protocols.
For a list of supported browsers, see System prerequisites and supported browsers for Acoustic Tealeaf UI Capture.
Supported application types
In general, rich internet application (RIA) functionality must be limited to only the areas of your web application that require it.
RIA requires more sophisticated monitoring techniques and can increase the volume of traffic that Acoustic Experience Analytics (Tealeaf) must process.
Acoustic Experience Analytics (Tealeaf) supports the following rich internet application types:
Note: Acoustic Experience Analytics (Tealeaf) continues to support existing customers who deployed Flash or Flex applications. Acoustic Experience Analytics (Tealeaf) does not support new customers who use these technologies.
Note: Currently, Acoustic Experience Analytics (Tealeaf) does not support UI capture and replay of multiple Flex or Flash applications on the same page. This limitation does not include multimedia content applications that do not require Acoustic Experience Analytics (Tealeaf) UI capture or replay. If your application requires multiple Flex or Flash RIAs on the same page, each of which must be captured for replay, contact Acoustic Professional Services.
Note: Acoustic Experience Analytics (Tealeaf) supports applications that use text-based data formats for communicating with the server. If your application uses binary data formats such as AMF, contact Acoustic Professional Services.
Acoustic Experience Analytics (Tealeaf) supports HTTP and HTTPS for request and response communication between client and server.
Verify that all Ajax send and receive communications are managed by HTTP or HTTPS.
The protocol of the client events is the same as the request that sent the page to the browser. If the client events must be sent by HTTPS, verify that the source page is delivered by HTTPS.
Captured form field values are transmitted in the same protocol in which the form page is transmitted to the server. If your form page is transmitted by HTTPS, the form field values are encrypted, too.
Note: Acoustic Experience Analytics (Tealeaf) does not currently support any other protocols, such as HTTP streaming, HTTP push, or non-HTTP protocols such as RTMP. Verify that your application does not use non-HTTP/HTTPS protocols.
Before you begin development
Before you begin your Acoustic Experience Analytics (Tealeaf) UI Capture development initiatives, verify that the following information is available or was captured.
Acoustic Experience Analytics (Tealeaf) access
If possible, deploy the web application on a server that is accessible to Acoustic Experience Analytics (Tealeaf) developers. To effectively debug issues, Acoustic Experience Analytics (Tealeaf) developers must have access to the application.
The following guidelines apply to third-party content.
Acoustic Experience Analytics (Tealeaf) cannot capture content that is managed by third-party domains. In a typical deployment, most of this content is not integral to application performance and can be re-requested at replay time without impacting overall application replay. If capture of dynamic versions of this content is required, contact Acoustic Professional Services.
Other than the Flash player, Acoustic Experience Analytics (Tealeaf) does not currently support the replay of third-party plug-ins in Rich Internet Applications, such as Silverlight or Java applets.
Personnel in the following roles need to be available to Acoustic Experience Analytics (Tealeaf) for the UI Capture deployment.
- Application architect
- During deployment, Acoustic Experience Analytics (Tealeaf) can make requests to the web application architect to identify locations in the application for calls to the Acoustic Experience Analytics (Tealeaf) API. This individual is also useful for answering technical questions.
- Business analyst
- From the business perspective, it is important to know which areas of the application require monitoring and to what degree. This knowledge directly translates into which UI elements, events, clicks, and other aspects of the application must be captured by Acoustic Experience Analytics (Tealeaf). During development, this individual might be able to identify qualified use cases for Acoustic Experience Analytics (Tealeaf) UI Capture.
If application development is outsourced to a third-party, provide access to this team. Acoustic Experience Analytics (Tealeaf) can work within any constraints for contracting external development teams.
During the development process, keep in mind the following considerations.
Acoustic Experience Analytics (Tealeaf) assumes that the following basic production stages are in place.
For more information about development goals during each of the stages, see UI Capture installation and implementation.
When to deploy UI Capture during development
Acoustic Experience Analytics (Tealeaf) recommends deploying Acoustic Experience Analytics (Tealeaf) UI Capture as early as possible in your development process.
In addition to curtailing the number of issues in a Production environment, UI Capture can be useful for debugging issues with the application development process itself. Your web application and UI Capture can work hand-in-hand to deliver a better overall result.
For example, changes to the client-side application, such as changes to the element identifiers, additions or modifications of UI widgets can impact capture and replay of the client-side UI. Identifying these changes via Acoustic Experience Analytics (Tealeaf) UI Capture in a Development environment facilitates faster resolution and a better replay experience once the application is deployed in the Production environment.
You can also use Acoustic Experience Analytics (Tealeaf) UI Capture privacy rules configuration to identify and protect sensitive client data before deployment to the live site.
By including Acoustic Experience Analytics (Tealeaf) as part of the main development effort for your web application, UI Capture can be integrated into the change management and scheduled maintenance processes for your enterprise.
Development and Test environments
Where possible, configure all Development or Testing environments to mirror the Production environment. Apply the same web server settings and permissions that are configured in the Production server to the Development environment or Test environments.
Note: Never deploy Acoustic Experience Analytics (Tealeaf) UI Capture directly into a Production environment.
Integrate Acoustic Experience Analytics (Tealeaf) UI Capture into the Performance Management test suite for your enterprise.
When developing your web application, keep in mind the following considerations.
All user interface elements of the web application must have unique identifiers. Where possible, implement the application with unique identifiers for each UI element.
If unique identifiers are not available, Acoustic Experience Analytics (Tealeaf) relies on XPath identifiers. However, this solution might not be 100% accurate, and use of XPaths can increase the size of each UI Capture message and the total cost of storing the data.
Note: Acoustic Experience Analytics (Tealeaf) UI Capture does not automatically check for uniqueness of identifiers. Non-unique identifiers must be blacklisted manually through the configuration.
Dynamically transmitted GUIDs
If the application generates client-side dynamic GUIDs that are transmitted over the network, replay of captured sessions can be affected. Timestamps and changes in application behavior due to user agent, visitor locale, and other dynamic factors can have effects on replay.
Depending on the variations, effective replay might require Acoustic Professional Services to develop complex rules to match the dynamically generated POST data, remap server hosts, and more.
Note: Wherever possible, avoid client-side dynamically generated identifiers. While dynamic identifiers can be tracked by Acoustic Experience Analytics (Tealeaf), managing them is another layer of complexity in configuration.
Do not use Document Object Model keywords as form field names
This requirement is best illustrated by example.
The following is a specification of an HTML form that contains three input fields, the name of which uses the HTML and Document Object Model keywords action, type, and tagName.
<form id="my_form" method="get" action="submit.php"> <input type="text" name="action" value="hotel" /> <input type="text" name="type" /> <input type="text" name="tagName" /> </form>
Note: Do not use any reserved Document Object Model keyword as the name of a form field.
The following sections describe aspects of the application you are developing and how they might affect Acoustic Experience Analytics (Tealeaf) UI Capture.
- Where possible, do not use anchor tags as the value on which to change Ajax driven views, modals, or fly-out windows.
- In Ajax calls, do not make the request parameters or response data difficult to review and analyze. Create a request body that clearly shows what is being requested and where it is placed in the root document. The same applies to the response.
- For Ajax calls that result in updates to the page in the form of new user input elements such as drop-down lists or text boxes, Acoustic Experience Analytics (Tealeaf) needs to be notified so that user interactions with these newly inserted elements can be captured. The UI Capture library provides a simple API for this purpose.
Custom UI controls
Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?