First a url is submitted to the database via the form on our main website, through an image tag from another webpage, or through a bookmarklet.
Next, a cluster of screenshot generation servers running a configuration of apache/mysql/php and other custom software sits and waits for new jobs to appear in the database. Once it gets a job, it uses a Internet Explorer to connect to the website, wait for the site to load then take a screenshot and save the image. While on the site, it also grabs useful information about the page such as its title and meta tags (to be used later).
Lots of error checking is done in case the site does not respond. If there is
an error, detailed error analysis logs get put into the database so we can
investigate the problem later.
Because of the distributed nature of the screenshot generation process, the
website can scale to take 10 shots or 10,000 shots by adding more generation
machines. The generation machines can also be run in a virtual machine process
so they can be cloned and deployed quickly, and it also provides an easy way to
recover in case a malicious script sneaks it's way into a machine. We have done
a lot of work to prevent the execution of harmful scripts on our generation
machines.
As screenshots are being generated our website uses AJAX to keep visitors and administrators updated about the progress. Administrators have a comprehensive stats interface that not only shows all current and past jobs and their status, but also gives valuable information such as error percentage, average number of screenshots being generated per minute, and the time elapsed to take each screenshot. While visitors are waiting for their screenshot to be generated they get to watch a scaled down version of the admin section similar to digg spy which constantly scrolls the latest screenshots. This spy interface also pulls relevant information obtained from the site such as it's title tag, meta tags, and keywords.
|
| We need to thank Nathan Moinvaziri for the screenshot program this site uses. We will continue to work with Nathan to help him improve his software which in turn improves this website. |
|
| We also send thanks to Dyske at dyskedesign.com for inspiration on our logo. |
|
| Digg.com is an unbelievable source of traffic, and a great way to test a new idea. The horrific comments left by some diggers inspired us to keep improving the features of this site to make it better and more usable for the general public. |
|
| Thanks to Chuck from WebmediaDesign for helping us provide DiggThumbs to the digg community, please visit his motorcycle forum: http://www.cruizerforum.com |
|
| Alex makes a great program called xStarter which we run to do automate some backend and administrative tasks for this site. If you need a good xp automation software definitely check out xStarter |
|
| Carlo Zottmann is the author of BetterSearch, a Firefox plugin which adds website screenshots to search engines and other websites. His code was used as inspiration for the DigThumbs plugin provided on this site. BetterSearch now uses our screenshot generation service to display thumbnails. Huge thanks goes out to Carlo for providing code demonstrating how to make a firefox extension interact with specific websites, DiggThumbs would not be possible without his hard work. |