I've read several times that if they have age, sex and zip code, they can get really pretty accurate targeting to an individual. So, why is the information about me not easily available to me to glean insights from? Why can't I follow my own trail and look back at my journey?
Well, with AttentionTrust you can keep track of the sites you visit from all of your computers. To push it a step further, and get absolute control over your clickstream and also have easy access to deep analysis, you can set up your own attention server. Which, last night, I did.
I've been running the AttentionTrust extension with local logging and logging to the RootVaults service for a while. However, the reporting at RootVaults is pretty much limited to a list of sites you visit regularly. Beyond that, I like being not just a little bit in control of my data, but completely in control of it, which is why I am not nearly as big a fan of hosted services as some others are.
See, I want to not only know what sites I visit, but what keywords are relevant for that content, to be able to search through the full text of those pages later (you know to find that stuff you know you saw "somewhere"), as well as analyze the whole big pile to train a digital agent to help dig out interesting content. I want to ferret out how what I look at in the morning is different from what I view in the evening from what I view on client sites from what I read on the weekends. I want to know lots of things I haven't even thought of yet.
Grand visions aside, I was able to get their demo server up and running and it's tracking my path diligently. The demo server is pretty simple and I'll likely replace it with something a bit more robust and secure. Especially if you wanted to run a server for multiple users, the data shouldn't be stored in plain text. I'd prefer to see the user-supplied password as an encryption key that encrypts everything as it stores it.
That would leave the data ONLY available to the owner. The site operator wouldn't be ABLE to dig through the data. Further seperate each user's data out into a seperate SQLite file and you've got a system where, even if someone breaks into the server, the data is siloed for each user and useless without the password, which isn't stored anywhere in the system. Of course, this has the downside of all of a user's data being locked up if they lose their password. There are no "resets" with this kind of system, but absolute privacy.
At the moment, this whole path is seen as a "development" setup that will get overwritten whenever you upgrade the extension. I'm digging through the extension source to see if there's a reasonable way to modify it for more of a roll-your-own kit.
Ideally, a record-your-own-attention toolkit would be a single bundle. In that bundle would be the server PHP scripts and everything else you need to run your own attention server.
You would install the PHP files and change the permissions on a directory for write access. In that directory would go the config file as well as an SQLite database (instead of the MySQL that this has at the moment) for each user. That database can be taken whole by the user from the system (for offline analysis) or deleted if they wish it to be purged. You run a setup script that asks you to create a user, which is stored only as a valid user (no password stored) with a pointer to the appropriate database file.
The user authenticates with HTTP authentication (currently the biggest security hole as the password goes in plain text) or a better login via a website to set the user id cookie (the extension sends data just like the browser would). The supplied password isn't stored, but is used as the encryption key to store everything. Reports would use the same key to unlock data for viewing.
OK, so you don't want to wait for me or someone else to make my ideal version work? Here's how to install the demo yourself.
- Install the AttentionTrust plugin for Firefox. There's also a proxy server for Safari and I'd expect something soon that will hook into Squid too. However, these instructions assume Firefox.
- Open the Extensions section of Firefox and right-click the Attention Recorder to get the Options
- Set it to record to a local file and browse for a location.
- Restart Firefox and visit a couple of websites.
- Check to see that the file you set is growing in size. If you open it and see the sites you visited, you've got the extension itself working. However, as XML files grow, they get really difficult to dig through and it won't record from your other computers, so we still want to do the server thing.
- Grab the PHP demo toolkit and upload the unpacked contents to your PHP server.
- Create a MySQL database (or make sure you won't have a problem with a new table called "at_clicks" in an existing one) and load the at.sql database table into your new MySQL database. It always bothers me that this step is necessary given that the script author could just as easily make that SQL insert as part of a setup script instead of making the user install it.
- Edit the config.inc.php file for your database parameters and set a username and password (that you'll use as a user) in that file as well.
- Visit the directory you installed it on your webserver, i.e http://www.example.com/attention/
- You should get asked for a username and password. If not, you've got a problem and it's likely the rest won't work either.
- In Firefox, go to "about:config" in the address bar.
- Refine to the key: "attention.attentionbankSendList".
- That key should contain "LOCAL". Add the path to the "record.php" script in the attention script directory. It should be something similar to "http://www.example.com/attention/record.php".
- Browse away.
Your database will now fill up with your clickstream. After a few minutes, go back to the /attention/ URL and you should see the rudimentary report.
After a few weeks or months, you can start digging deeper through the growing pile of data. Enjoy.

