django-mousechaser icon indicating copy to clipboard operation
django-mousechaser copied to clipboard

Django-Mousechaser tracks the mouse movements of the visitors to your site puts and generates heatmaps accordingly.

Django-Mousechaser

Django-Mousechaser tracks the mouse movements of the visitors to your site puts and generates heatmaps accordingly. This can be useful during the development / testing phase of a new website to test whether people have difficulty navigating your site. See http://www.squidoo.com/heat-map for some more background information.

The application consists of two parts:

  • The analytics.js script that tracks the mouse and identifies major html blocks (right now
    and

    tags)

  • The elementmap.js script inserts the heatmap as a background picture in the original webpage
  • The analytics.js script adds an hidden iframe and sends a POST request, Django-Mousechaser parses all the coordinates and stores these as HeatMap objects and it stores the major HTML element as Element objects.

    The elementmap.js script requests the heatmap which is dynamically generated by the application.

    Dependencies

    • Matplotlib (1.0.0)
    • Numpy (1.5.0)
    • Python Imaging Library (PIL) (1.1.7)
    • jQuery (1.4)

    see requirements.txt

    I am pretty sure it should work with older versions of these libraries as well but I cannot guarantee that.

    Installation

    Add django-mousechaser.heatmap to your INSTALLED_APPS and make sure that you are able to serve the static js files.

    For each webpage that you want to have a heatmap generated, add the following scripts:

    • jquery.js (not part of this repos, download from jquery.org for most recent version)
    • analytics.js (this will send the coordinates to your server)
    • elementmap.js (this can be on the same page as the original webpage, then it will add the heatmap as a background or add it to a separate webpage

    Status

    The current status is alpha, it's more a proof-of-concept but it should be quite straightforward to make it more robust. Please clone it!

    Authors

    • Diederik van Liere

    Issues

    • The heatmap does not accurately match the size of webpage, this is quite important but a bit tricky
    • Maybe use JSON instead of serialize POST to send data to server
16
Stars
2
Forks
Watchers

Owner

verified publisher icon drdee

Django-Mousechaser tracks the mouse movements of the visitors to your site puts and generates heatmaps accordingly.