Skip to main content

From "Personalized Search for everyone" to "Personalized recommendations" to "User behavior control"

Google took a big step from generic search to customized and personalized one with the announcement of Official Google Blog: Personalized Search for everyone. Do we like personal attention? Sure! What's the price? Privacy. Since technology is relying on tracking user behavior from cookies embedded by Google. Privacy advocates, I am sure, will be furious over the "big brother" watching every step and move. As for me, I think, privacy battle is lost for general Internet user. Those who care should be using anonymizer software and other tricks and tools.
So what's next? I think - personalized recommendations. Google is sitting on the top of goldmine of ratings and reviews crawled from the Web, extracted and normalized from RDF and microformats (http://googlewebmastercentral.blogspot.com/2009/05/introducing-rich-snippets.html). And that will be a huge step for the giant - whoever can tinker with recommendations can control user buying behavior. And as you can guess, how much money is behind that... Advertising market will be a part of a bigger "user behavior control" market not too far in the future.

Comments

Popular posts from this blog

Posting to FaceBook feed using Graph API

Graph API was announced at F8 with a promise to dramatically simplify the FB API. I checked the read access over the new interface during the presentations and to my big surprise it worked flawlessly and from the first time. When I tried https://graph.facebook.com/facebook, JSON-formatted info about the FaceBook page was returned (as expected).
Then I tried OAuth 2.0 way of accessing the API to post a message to the feed. And to my even bigger surprise it worked too!
Here is what you need to do to access Graph API over OAuth: 1. Create a FB app, store app properties to a file:
$appkey='7925873fbfb5347e571744515a9d2804'; $appsecret='THE SECRET'; $canvas='http://apps.facebook.com/graphapi/'; 2. Create a page that will prompt user the access permission (I am prompting for the publish_stream and offline_access permissions at the same time)
//http://apps.facebook.com/graphapi/ require'settings.php';
$url="https://graph.facebook.com/oauth/authorize?"; $url.=…

Respect Coin

Respect I think it's time to talk about currency. Let's create a Respect Coin.
Step 1. Install OpenZeppelin library npm install zeppelin-solidity
When it comes to coins, I like to use some functions that smart people already implemented and other smart people verified. I think that Zeppelin is a nice collection of Solidity contracts that can be trusted. Let's use the StandardToken contract and use it as a parent class for our own RespectCoin contract.
Step 2. Create RespectCoin contract and store it in "contracts/RespectCoin.sol" file pragma solidity ^0.4.4; import "../node_modules/zeppelin-solidity/contracts/token/StandardToken.sol"; /** * @title RespectCoin * @dev ERC20 Token example, where all tokens are pre-assigned to th e creator. * Note they can later distribute these tokens as they wish using `transfer` and other * `StandardToken` functions. */ contract RespectCoin is StandardToken { string public constant name = "RespectCoin&quo…

"Hello World" from Solidity

How to say "Hello World" in the era of blockchain? Reflections Once upon a time, I worked in CTO role of a great startup, and in order to find talented code developers, we ran a competition for the most creative "Hello World" application. It was a lot of fun! I was not able to participate in the competition back then, but here is my delayed entry.

Step 1. Environment Configuration# Installing Truffle framework (http://truffleframework.com/) $ sudo npm install -g truffle# Creating project $ mkdir solidity-experiments $ cd solidity-experiments/ $ truffle init# Installing and starting Etherium local test network $ sudo npm install -g ethereumjs-testrpc $ testrpc &
Step 2. Point truffle framework to the test network Update truffle.js file created by the init to point to your test network. File content should look like this:
module.exports = { networks: { development: { host: "localhost", port: 8545, network_id: "*" // Match any netwo…