Last Updated on Thursday, 28 July 2011
- Tested on: Windows XP SP3, Windows 7 (both 32-bit)
- Tested with: MS Internet Explorer 7 libraries
- System Requirements: Used ~55Mb RAM on 1.6Ghz PC
- Free Disk space to store your pictures
- Installed MS Internet Explorer (only uses libraries)
- Program Size: 1,190Kb (fits on a floppy disk)
- Setup/Install: None, it's portable (can run off USB or media)
- Program Name: WebsiteThumbnailer_v0_6.exe
- Prefix: JWT
There are websites that do this for me? Yay! for free as well, as long as my page isn't loaded more than 100,000 times a month. I don't understand, one website visitor can generate 1000 hits, so thereafter I have to pay every time someone sees that picture through my site; when I could just go to each website and press the print screen key and save this as an image for FREE. I don't get it.
So I wrote a program that does exactly that: visits each website in a list, takes a picture, converts it to a thumbnail. I then upload the images to my server and this Joomla! CMS uses them. Maybe I'll run this program again in a month, maybe a year. My websites don't depend on real-time screenshots and the sites I link to don't generally change their website design everyday...
It's 100% FREE Open Source, (well as long as you have your own internet connection) mainly because it's not just my code. I simply combined three technologies into one:
- Basic Website browser (in its own window - uses installed MS Internet Explorer libraries)
- Uses GDIPlus libraries for screenshots and to convert images.
- Autohotkey (my favourite automation tool) to combine the two into an executable and interface (almost as quick as google's chrome :c).
Version 0.6 beta is ready. I've left it in BETA stage without an official release because I'm the only one to have tested it and it works perfectly for me. And I guess I'll just keep testing but there is the issue that you can't do anything else while it's sitting there taking pictures; unless you have more than one screen.
It's automation. The situation is that the program takes a picture of whatever that section of the screen is displaying. I made this program stay on top of all the other windows, much like the start menu/task bar (only this program is beneath the task bar). It's currently set to 15 seconds between each photo and it happily did my 153 (has done a few times over quite quickly due to testing).
- Source Browser Size: Sets what the original picture dimensions are.
- Output Thumbnail Size: Only several presets but there are free image editors out there that will batch convert your images: 150x100, 200x150, 300x200, and 1:1
- Output Thumbnail Quality: allows you to specify smaller/bigger files (haven't noticed much difference in how they display, only in the actual size the image uses of disk space).
- Output Thumbnail File Type: can be BMP, GIF, JPG, PNG or TIF
- Time between page load and picture taken: in case your internet connection is slow, or your average website takes longer to load or not. The fastest it will go is 15 seconds between each photo (~240/hour ?).
- Take an Immediate Picture
- Batch Process a text file of websites (-> see "TEXT file example" below)
TEXT file example
- http://www.joellipman.com|screenshot of the best site ever
Output names for the thumbnails follow the same restrictions as the MS Windows filesystem (so no colons, back/forward slashes, etc). If there is nothing specified, it will name it something like "000065.bmp". Do not include the file extension (and the dot/period) as this is set in the program options (specifying output thumbnail file type). For example: the line "www.joellipman.com | best_site_ever" (without the double-quotes) will result in an image file called "best_site_ever.bmp".
Pros/Cons - Advantages/Disadvantages
- On-Demand: Run this program in the morning, in the afternoon, once, twice, however and whenever YOU want.
- Unlimited: You are only limited by the resources of your environment setup, in terms of processing and disk space. The program doesn't care what sites you've done or how many times you used it (no audit trail).
- Client-side: Server solutions take up processing power in order to convert/download these on-the-fly. Use this program to generate the thumbnails and upload the images to your server. This solution means your server will access images in the quickest and most efficient way it knows how.
- Semi-Portable? can run off a floppy disk/USB but will need an installed version of MS Internet Explorer on the computer it's run. If you think you don't have MSIE but you have Windows XP, it's likely you have it anyway.
- Open Source: Open to view/modify the source code as long as you attribute credit where it's due. License is GNU General Public License v3 (www.opensource.org/licenses/GPL-3.0).
- FREE / Gratis Did I not mention this already?
- Support Not amazing when my support team consists of me, myself and I. Saying this I'm in discussion with commercial solutions that still haven't answered some of my questions or even raised as issues. I'm not them; add as a comment to this article or email me and that will be the support ticket.
- Microsoft Windows Only I know, what has the world come to? No Linux/Mac versions as I don't know how to program for these.
- Not real-time If you need screenshots taken every second of every day or your affiliates will jump down your throat because they changed the "Welcome" word to "Hello" on their site and with extreme squinting, you can distinguish between the two, then this may not be your solution. Otherwise really? Are you Alexa.com? Preview accuracy is accurate to the time you ran the program and generated the thumbnail...
- Do more? If you have more than one monitor then this isn't an issue, but because the program runs on top of every other window, not even "dual-core" will let you "do more" (eg. run a batch process and read your emails at the same time on the same monitor).
JoelLipman.Com is my repository for scripts, programs and extensions to existing web-development systems. I use it to store notes that other websites either do not have or have stopped providing, or just because it's easier for me.
This program can be downloaded by visiting www.joellipman.com and selecting "Features", then "Downloads", then "Standalone programs" (or click here). There is no charge, you just need your own internet connection.
If anyone has any cool ideas, I'd love to hear them.
Why do I have to sign up?
I develop lots of weird monstrosities that I release on to the web. But to gauge the usefulness of a program, I need to monitor how many times it's downloaded and it's worth. Is it worth signing up for (even if it's FREE) or is it only worth a click? If this saves you money, it'll be great to hear how much on average ( also as a giant kick up the backside to the commercial solutions and for them to perhaps invest/develop/improve on their services, or re-evaluate their fees, hint hint ).
By the way, it's hard for me to tell which of my members are humans and which are just for fun, so don't share any of your details with other members (in fact do the opposite of a social network - joellipman.com is not a social networking site). I don't have a newsletter so it's unlikely you'll ever hear from my site. I never email for personal details, passwords etc so if something comes from my site it should only be if you contacted me first :c)
What's the "lastscreenshot.bmp" image for?
The program initially takes a picture and saves this as an image file called "lastscreenshot.bmp". It then converts this image into the format with the quality/size that is set in the program options. Consider this file temporary and if you want to delete/rename this and the images folder, the program will just create another one.
How does the thumbnail name generating work?
The program loops through the images folder and finds a name that isn't taken (something like "000065.bmp"). It won't overwrite existing pictures. If you are batch processing a text file, you need to separate the website address and the given name with a pipe character ("|" - see "TEXT file example" mentioned earlier). It ignores spaces before and after any text. If you haven't specified a name, then it just reverts to using 6 digit numbers.
Something has happened to my images folder, does it matter?
No, the program checks if a folder called "screenshots" exists in the folder this program is run from. If it doesn't see one, it tries to create one. I personally empty that folder after a batch process but no, the program doesn't care.
How can this be 100% FREE?
I'm being asked why not charge for this. First of all it's incredibly difficult to charge for a program that integrates other people's code; but it also betrays its advantage over all other limited Website Thumbnail Generator Services that occupy the first 2 pages of Google under so-called "Free" services. It's a combination of three technologies that are already completely free (Open Source) as well, so wouldn't I be charging for someone else's work and breaching the Open Source licence agreements? Also you still need an Internet connection to download the program then allow the program to visit each website, so it'd only be 100% free if your Internet connection was free as well :c)
Why would I want preview screenshots of sites I link to?
Apparently it's big business but I fail to see why any business specialising in website thumbnail generator services, puts all its eggs in one basket. Put simply, human readable text is good but little in comparison to pictures and shiny objects. Studies show people more likely to click on an image to an external website then the usual http://theothercompany.com textual link.
Something wrong? Troubleshooting?
The program is built with what I call help 2.0. Visit the Help page in the program and it will check a few things to make sure it works on your computer. I've specified that that's all it scans for, it's not interested in your personal details or what you had for breakfast, it's my years as IT support that push me to make software self-analyze in order to reduce support calls in the first place.
How do I ask a question here?
Just post a comment, anonymously or as a member, at the bottom of this article. You can post website links but they aren't active for non-registered members of JoelLipman.Com.
Open URL This opens a webpage for you (well an inputbox for you to type the web address in and then an ok button) in the program. You can then go to Tools > Take a picture...
Open File This will prompt you to open a text file. The text file should be a list of website addresses, each on their own line. The program will confirm that it will begin batch processing, (if more than 20 then it won't list them all), it processes them based on the options you set under "Tools > Options". When it's done it will popup an alert and then try to open the folder containing all the images it just created.
Take a picture Go to Tools > then select "Take a picture". Wait a few seconds (default is 15) for the program to do it's business and a dialog should alert you when it's done. To see the image it created, go to File > and then select "Open Images Folder".
Help If you make changes to the program, you'll need to re-run the Help. The Help will tell you what to correct but it doesn't currently refresh its data until you request the Help page again. It only self-analyzes when the Help page loads, it isn't a persistent check. Just re-load the Help page to get up-to-date data.
Installing There is no setup. Run the EXE program or if you have AutoHotkey installed, just run the AHK file (which if you open in a text editor will show you all the code).
Autohotkey Source Code:
Line 88: Specify images folder (currently set to A_ScriptDir but you could put A_WorkingDir and then start it as a shortcut with the working directory specified.
Line 408: MENU TICKS: these don't just tick and untick but also change the global variables at the same time (interface options). Their counterparts in the GUI menu have to exist as well.
Line 653: CaptureScreen(aRect, bCursor, sFileTo, nQuality) --> 3rd-party DO NOT TOUCH (can't help you if you do)
Line 1015: HELP 2.0: Generates a web page but the code before it does the self-analysis.
Help 2.0: Automated Self-Analysis Visit the HELP section in the program if it isn't playing ball. Comments in RED are what you should fix (only if it's broken) and comments in GREEN are what it found to be ok. It currently checks for
- Enough disk space to store the image screenshots (at least 50Mb = space for about 10 mp3 songs or 5000 pictures)
- Checks your computer can connect to the Internet (accesses http://news.google.com/)
- Checks you are a local administrator on your computer (should just need normal user credentials but if you get prompted to run the program as a different user and can't run the program this may be why)
- Checks the two libraries accompanying this program still exist (cwebpage.dll and gdiplus.dll).
Website Errors Be on the lookout of websites that generate popup script alerts (just switch these off in MS Internet Explorer - Internet Options - Advanced - Untick "display notification of each error") as these may affect the way the program takes a screenshot (shouldn't but these can sometimes confuse the program)
It's flimsy, crude but does what it has to do. The program itself took only about 6 days to make, it was a quick solution to a service that could not be obtained for free or without a lot of work (setting up my web server to capture real-time screenshots of websites? My server is already under enough processing pressure). If your business doesn't need to update its screenshots every second of every day (my top 5 links have not changed their website for the past decade - you can tell) then I don't see why this isn't the better option. I needed a program that generates thumbnails based on a text file list of websites, and it's a one-off on-demand process. I then upload the thumbnails for use by my website.
The combination of these Open Source (FREE) technologies reminds the commercial sector that we were on the Internet long before and that if you want to sell something, it had better be better than the free option. Long Live Open Source!
Want to support this project? Every donation is a blessing.
- v? (future)
- - Option to loop text file? note to overwrite images;
- does this just add more options?
- - Option to specify target folder.
- - Option to FTP upload the thumbnail files to a server
- (more laziness - security concerns)
- - Consider using IECapt (problem with modals/lightboxes -
- IECapt only sees the dark background and not the modal)
- - Rewrite whole program to use COM/DOM/AHK: Would suppress website error
- notifications, reduced code, read webpage content, check when page has
- loaded accurately.
- - Use equivalent COM for screen capture so that program can run in background.
- ---> create a drag-n-drop website browser supporting SMS and email
- for administering a Joomla! CMS website :D
- v0.6 (03/07/2011)
- - Option to specify name for thumbnails in a batch process.
- v0.5 (02/07/2011)
- - Make status bar text describe program events.
- - Documented more on the help.
- - GUI now starts resized if it doesn't fit in the computer screen.
- - Renamed to Website Thumbnailer.
- - Option to set seconds between when the webpage loads and the screenshot.
- - RELEASED FOR DOWNLOAD!
- v0.4 (01/07/2011)
- - Accepts a text file containing a list of websites and batch processes the list.
- - Enabled output thumbnail quality options: 100`%, 75`%, 50`%, 25`%, 10`%
- - "Help 2.0" programmed to diagnose new features.
- v0.3 (30/06/2011)
- - Resize GUI Presets enabled: 800x600, 1024x768, 1280x800, 1440x960, 1680x1050, 1920x1200
- - Enabled BMP, GIF, JPG, PNG and TIF as output thumbnail file formats.
- - Enabled 150x100, 200x150, 300x200, and 1:1 as output thumbnail size formats.
- v0.2 (29/06/2011)
- - Resize GUI feature enabled
- - "Take a picture" now only takes a screenshot of the inner GUI.
- - Added credits: Sean (ScreenCapture.ahk)
- v0.1 (28/06/2011)
- - Added documentation and help 2.0 (auto-troubleshoot).
- - Added update server and "check for updates" feature.
- - Website Thumbnailer can now take a picture of a website and save to disk.
- - Added credits: not-logged-in-daonlyfreez (basic browser using cwebpage.dll)
- Tested on: Windows XP SP3, Windows 7 (both 32-bit)
- Tested with: MS Internet Explorer 7 libraries
- System Requirements: 1Ghz 512Mb RAM (just to load IE libraries)
- (only used ~55Mb RAM on my computer)
- 50Mb minimum disk space (to store pictures)
- Program Size: 1,217Kb (fits on a floppy disk)
- Setup/Install: None, it's portable (can run off USB or media)