Hi,
I have spend a while working on a new project called HappyThumbs (Was going to go for IThumbs but then I Googled it :P)(BTW don't Google IThumbs with safe search off) but I was hoping some people could help me test it and feed back on this thread.
The website is http://happythumbs.samrudge.co.uk/
You don't have to sign up and there is currently no javascript component for adding it to your page but I am working on it so it is really more of an API type thing but please get back too me soon.
Regards,
Sam Rudge
P.S. I am aware of the black backgrounds on some images

Recommended Answers

All 10 Replies

I have a website I am building right now, that needs something like this. When I get to that point in development, I will let you know how it goes.

Also, how did you do it?

I bet he hired a good portion of the millions of people out of work and they screenshot the page and upload it! ;)

nice site btw :)

Nope, I am 16 years old, the script is a simple VB script which basicaly opens an IE window at full screen, takes a screen dump and saves it. You can see this (Kind ov) because when you request a page that does not have a cached thumbnail it takes about 30 seconds to display the image (Because it is being generated) then if you refresh the image is displayed almost instantly. Nothing to do with users, this site was designed, set up and run by me alone. Also it can thumbnail any page at all so lots of people would have to create lots of thumbnails. Just try it on any page:
http://getnail.samrudge.co.uk/generate.xml?URL=http://www.daniweb.com/forums/thread198604.html

I am thinking performance wise. If a lot of people start to use the service, does it affect the vb script. Can multiple instances run at once. I don't know anything about vb. Thats why I am asking.

You can also set up a batch type system. That will help with performance. Now I might have to go learn vb so I can do it for my site.

You might want to add a paid version that will let users get rid of the text at the top. Just make sure its cheaper than other comparable sites.

I have tested the script and I can hapily run about 50 copies of the VB script at the same time, if the number is exceeded then the PHP script just uses the sleep command within a loop to pause the request until their is a slot free. I also did not want to run it as a payed service because one I am only 16 and can't be bothered to figure out how to use tax and two I'm only doing it for the fun of it and once I have a reasonable number of requests coming in I was planning on removing the link from the image.

If you get the word out there, I think you will have a huge amount of requests.

I looked into using a service like this and it can be very expensive. If there is a free version out there, they will use it. A lot. And the fact it is almost instant makes it better.

If you get the word out there, I think you will have a huge amount of requests.

I looked into using a service like this and it can be very expensive. If there is a free version out there, they will use it. A lot. And the fact it is almost instant makes it better.

I agree, this was the idea of making the service the only problem is getting the word out there. When people want thumbnails they instantly think of thumbshots (As used here on daniweb) people very rarely look into a service such as mine and some people can even be put off by the fact it is free. Once I have the javascript thing complete that automaticaly adds thumbnails to links when people move there mouse over them i can start trying to increase the sites popularity

I agree, this was the idea of making the service the only problem is getting the word out there. When people want thumbnails they instantly think of thumbshots (As used here on daniweb) people very rarely look into a service such as mine and some people can even be put off by the fact it is free. Once I have the javascript thing complete that automaticaly adds thumbnails to links when people move there mouse over them i can start trying to increase the sites popularity

You need to use seo on the site and submit to search engines. Then get into link sharing programs, ect. That will help make the site more noticeable.

I have some javascript that can do what you want. It seems to work on all major browsers.

You need to use seo on the site and submit to search engines. Then get into link sharing programs, ect. That will help make the site more noticeable.

I have some javascript that can do what you want. It seems to work on all major browsers.

That would be really useful. Personaly I'm not very good with Javascript, I'm more of a PHP person, but for the site I really need something similar to the Thumbshots thing that scans all <a> tags and picks out certain tags (Posibly using the rel= attribute) and adds some simple javascript to show a thumbnail. If you are any good with JS then we could kind-of team up, me doing the site and PHP stuff and you sorting out the browser script to show the thumbnails, obviously you can have whatever credit you want on the site and in the code. This might be easyer over email so if you are interested drop me a message @
[removed]
Thanx,
Sam Rudge

I created somewhat of an api. I still need to add different things like the size, cropping, ect. but it loads a screen shot when you put the mouse over a link.

To make it work all you have to do is include the js file and put rel="thumb" in the anchor tag.

var offX = 10;
var offY = 10;
var curr;
window.onload = traverse;
function traverse() {
	var a = document.getElementsByTagName('a');
	for( var i = 0; i < a.length; i++ ) {
		var elem = a[i];
		if ( elem.rel == 'thumb' ) {
			elem.onmouseover = follow;
			elem.onmouseout = stop;
		}
	}
}
function follow(e) {
	if (!e) var e = window.event;
	if ( !document.getElementById('thumb') ) {
		var div = document.createElement('div');
		div.setAttribute('id','thumb');
		div.style.position = 'absolute';
		div.style.top = '0px';
		div.style.left = '0px';
		div.style.visibility = 'hidden';
		document.body.appendChild(div);
	}
	var obj = document.getElementById('thumb');
	var targ;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) {
		targ = targ.parentNode;
	}
	if ( targ.href !== curr ) {
		var img = document.createElement('img');
		img.setAttribute('src','http://getnail.samrudge.co.uk/generate.xml?URL=' + targ.href);
		img.setAttribute('alt','Loading...');
		if ( obj.childNodes.length > 0 ) {
			while( obj.childNodes.length > 0 ) {
				obj.removeChild( obj.firstChild );
			}
		}
		obj.appendChild(img);
		curr = targ.href;
	}
	obj.style.visibility = 'visible';
	var posx = 0;
	var posy = 0;
	if (e.pageX || e.pageY) {
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) {
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	obj.style.left = ( posx + offX ) + 'px';
	obj.style.top = ( posy + offY ) + 'px';
	document.onmousemove = follow;
}
function stop() {
	var obj = document.getElementById('thumb');
	obj.style.visibility = 'hidden';
	obj.style.left = '0px';
	obj.style.top = '0px';
	document.onmousemove = null;
}

Maybe someone can turn this into a class/object. I still haven't figured that out in javascript.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.