Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Focustrakr CS SP

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Focustrakr CS SP

Avatar for ramanshalupau

ramanshalupau

May 04, 2013

Other Decks in Programming

Transcript

  1. User Behavior and Focus Analytics for the Web Raman Shalupau

    Senior Project I Prof. Karagiozov AUBG, Spring 2012
  2. • User Experience (UX) impacts conversion rates • Observing user

    involvement • Points and flow of attention • Applications: Marketing, Usability improvement Analytics
  3. • Eye tracking - expensive - slow - small sample

    size - no click capturing • Mouse tracking - cheap - fast - huge sample size Possible solutions
  4. • Collect data from site’s visitors behavior • Filter gathered

    data according to some criteria • Visualize — build a heatmap • Match heatmap with a page shot Functional requirements
  5. • High availability • High concurrency • Immediate response to

    data submissions • Horizontal scalability • Big Data Non-functional requirements
  6. • Event-driven Async I/O at server side • Distributed persistent

    stores • Distributed caching • Load distribution Solution
  7. • Google Chrome’s V8 JavaScript engine • Event-driven, non-blocking I/O

    • One thread (though can be run in a cluster) var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/');
  8. • Document-oriented BSON storage • Auto-Sharding • JSON API •

    Map/Reduce • Various replication strategies • Craigslist • MTV • SAP • SourceForge • GOV.UK • TheGurdian • Forbes • NewYorkTimes • INTUIT • Bit.ly • github • etc…
  9. • Free & open source, • high-performance, • distributed memory

    object caching system, • generic Intended for use in speeding up dynamic web applications by alleviating database load Memcached •LiveJournal •Wikipedia •Flickr •Bebo •Twitter •Typepad •Yellowbot • Youtube • Digg • WordPress.com • Craigslist • Mixi • etc…
  10. FocusTrakr Observer Ubuntu instance (Amazon EC2) System User (Browser) Site

    visitor (Browser) Analytics Server User Data submission Mouse tracking Click tracking Scroll tracking Layout offsetting Data filtering Data collection Data compounding Heatmap generation Screenshots gen… User sessions Static file server Heatmap Image caching Sites Filters Maps Interaction controls RPC API
  11. • Color allocation algorithm • Data collection, micro-sessions • Screenshot

    generation • Environment management • Liquid layout offsetting Challenges
  12. Screenshot generation • xvfb — X virtual framebuffer • WebKit

    engine • Modified Adobe Flash • Universal Internet fonts
  13. Future work • Do more work on the client side

    • Better RPC API + MVC on client • Add more filter attributes, metrics, filter community • Scale, scale, scale…