We dont want to take screenshots of every single page load, and we definitely dont want to store every screenshot in the places database, so we cant just do it on apploaded, right now we

 1. Recieve a places update when we visit somewhere
 2. Decide if that is now a top visited places, if it is we ask for a screenshot
 3. When we ask for a screenshot, if the page has loaded, take it and save it, otherwise add to queue
 4. When we get apploaded, check if we are waiting for a screenshot for that url

The code is at https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/places.js#L119, if there are any issues with that process then can file a bug and I will address them, but right now it seems like theres a bit of confusion over what its doing