Final Presentation: CrunchTime 5/9/11
Outline Introduction Previous Work Track & Recording Pseudocode SQlite Blocking Interface Monetization Future Extensions
Introduction CrunchTime allows users to dynamically track and block websites of their choosing in order to maximize productivity Displays websites based on top visited sites User-inputted preferences for blocking and tracking Alerts user and provide dynamic blocking
Previous Work Others add-ons based on this idea exist with very basic functionality: BlockSite PageAddict We reproduced this, as well as add: Dynamic Tracking
Tracking & Recording Get url by site by using: var site = window.content.location.host Parse the string to extract the useful info Record activity by adding multiple EventListeners to record starting time Stop recording when user leaves the site Stop recording when user is idle for more than 30 seconds Continually have EventListeners track activity such as mouse clicks, scrolling, typing, etc
Psuedocode On loading site Get url (window.location.host) Add several EventListeners to start recording Focus, mousemove, and keydown Enter a start recording function Record time started Add new EventListeners to check if user is idle If user is idle for more than 30 seconds, pauses recording function
Pseudocode (Continued) On leaving site or if user is idle, enter stop recording function Get time again Subtract different times to find out total time spent Store site and time spent into array Update total time, if site has been accessed before
SQlite Store website information, time spent, and last date spent on site into an array Store array into a “local” database using SQlite Allow the user to store information onto the computer and to easily access later For example, Firefox history is stored using SQlite.
Blocking The block list provides a set of sites that can’t be visited Use javascript to prevent access If users attempt to access a site on the block list---they will be redirected away and notified Time frames can be set when blocking is active
Interface Firefox add-ons use an XML language called XUL Uses elements from a XUL library of buttons, tabs and the like Will be used to set preferences: add sites to block and blocking duration Also to display ten most visited sites in the sidebar
Monetization Background Competition is intense – 5848 add-ons available Hard to monetize add-ons without losing users Potential Sources of Income Use feedback from users to build premium version with additional features and functionality Sell information from tracking users’ browsing activities to advertising firms Asking for donations
Possible Future Extensions Include a calendar synchronization feature Synchronization with , facebook, twitter and blackboard Develop a premium version for corporate clients Add password protection for preventing users from altering preferences
Questions?