This is a chrome extension I made because, one day, I wanted to download all emoji images from emojipedia. In this particular case, images load dynamically when user scrolls and images are not rendered until they are scrolled into view in the browser. Also there are about 2000+ images.
Difficult to do manually; perfect task to do using code.
Comparing existing solutions
Enter “Download All Images”
Ultimately after enough searching I decided to make a solution to fit my initial requirements. Preferably I also wanted this solution to generalize well across other similar batch download tasks. With this new solution I solved the previously encountered problems in following ways:
The interface for this application is a single launch button. The motivation here was to eliminate the navigational and configurational issues that occured with many of the pre-existing solutions. This makes it really easy to learn how to use this solution and reduces duplication of effort since the image collection can be manipulated by the OS after download has occurred.
Package images in .zip file
This approach eliminates the problem of firing too many download events which can freeze the browser. By using a zip file there will be exactly one download event at the end. The drawback with this approach is the memory requirement while download is ongoing.
The absence of interface combined with packaging files introduces a new problem which is to indicate progress during these operations which may take a long time. Without direct user feedback it would be difficult to know application is doing anything. Therefore the solution was to transform the launch button into a progress indicator while download is ongoing thus providing this necessary feedback to user.
This project is named image zipper, but because that name is not exactly a hot keyword to search, it is better known as “Download all Images”. The latter works better wrt. SEO and helps people to find it. Either name is equally valid.