Skip to main content

Book Review: Hooked by Nir Eyal

Really good book for startups and designers of everyday applications and services.
Nir Eyal created model for creating habitual use of your service:

  1. Trigger (first external, then internal)
  2. Action (make sure it is easy to do)
  3. Variable Reward (just like in casino)
  4. Investment (ask user to make your service better for him)

Model is pretty easy and you can map it to our everyday activities. Email, Facebook, Twitter all of those are using this model. Of course every website has its own value so every one of them manifests those steps differently.

Book is pretty short and to my surprise I really liked two last chapters. One about morality of using such techniques and second one about startups. 

One of great quotes from this chapter is Paul Graham:
Instead of asking "what problem should I solve?" ask "what problem do I wish someone else would solve for me?"
From Want to start a startup? 

Overall: 6/10

This rating for me is a bit lower than what you can see eg. on Amazon (5/5) because of my existing knowledge that in large parts made it boring to the point of skimming to the next new thing :)


Popular posts from this blog

How to simulate slow connection (developer proxy in Node.js)

Update: If you use Chrome then you can use "Throttling" so simulate slow network for all your assets. This should be easier than proxy.

Toggle device modeChoose Network type.Refresh the page 


For some time I wanted to use some proxy for development and testing of eg. slow internet connection, but it was hard to find something useful and free. I know there is Charles but buy it to use it at most one in a month is not for me.

I started thinking about Node.js, maybe I can write proxy for me? But fortunately I found one.

With this module I can write really short code to create slow server:

var http = require('http'), httpProxy = require('http-proxy'); httpProxy.createServer(function (req, res, proxy) { var buffer = httpProxy.buffer(req); setTimeout(function () { proxy.proxyRequest(req, res, { host: 'localhost', port: 8080, …

How to use NPM packages from private repositories on bitbucket

Using Node.js you want to use NPM packages for reusable parts of the apps you create, that is a common sense. At the same time not everything makes sense as a public module unfortunately. Right now we are using Bitbucket at work for private repositories but there is a problem. How to use them as NPM modules? We do not want to publish them to the public but still want to have an ability to install them easily.

After googling and experimenting I have found simple solution.
First create new user in your organization with obscure password and give it read access to the repo. It is best to assign really obscure password but do not fool yourself. This is convenient but you must sacrifice security a bit. You should always consider how in your context that would be important.

Change example from below to:
user - username
PASS - password of the user
organization - owner of the project (you can find it in bitbucket url to your project)
project - your project name