Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tracks where you were
JavaScript Ruby
branch: master

This branch is 17 commits ahead, 69 commits behind defunkt:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
builds
ext
.gitignore
Gemfile
Gemfile.lock
HACKING
LICENSE
README.markdown
Rakefile
automatically-start-couchbase.png
notes.markdown

README.markdown

Whence

Once a second, it logs the currently active tab or window (if any) in Chrome into CouchDB.

Complaints to @alexch / alex@stinky.com

Instructions

Install

  1. Install CouchBase
  2. Select "Automatically Start At Login" from CouchBase menu CouchBase menu
  3. Open builds/whence.crx in Google Chrome (double clicking might work here)
  4. Click "Continue" and "Install" and "X" and whatever other security theater hoops come up

Does it work on Windows or Linux? I don't know yet! Please tell me your experiences.

Usage

Open http://localhost:5984/_utils/database.html?whence and see your data aggregating

  • http://localhost:5984/whence/_design/sample/_view/by_start

TODO: UI :-)

Chromium vs Google Chrome

Multiple Chromes installed? Drag builds/whence.crx to whichever is your favorite.

Developers

Rebuild

gem install crxmake
rake install:chrome

Debug

From Chrome's "Extensions" window, select "Developer mode", scroll down to Whence, then click the "background.html" link to look at the console. You can also look at the console in any page.

Algorithm

Whence uses what's called a "sampling algorithm" -- approximately once a second, the currently selected tab says "hey, the user is on me". While this can miss some quick context shifts, it's reasonably accurate, and very high performance -- which is very important, since we can't gather data at all if the user disables us!

We could gather all sorts of other events as well, like tab opens and closes. But beware, since these are sometimes missed (e.g. if the computer crashes).

Discussion

http://groups.google.com/group/whence-dev

TODO

Technical chores TODO

  • UNIT TESTS (FFS)
  • Compact DB on startup
  • Include CouchDB executable(s) in distro?
  • Use IndexedDB for local storage (in case Couch is missing)
  • Include crxmake library inside project
  • Stick server inside CouchDB?

Credits

Something went wrong with that request. Please try again.