I had a situation when I want to display thumbnails of the images that my user had uploaded to my web application. A straightforward way could be to return the images in its entirety and use css techniques to scale down the image into a thumbnail. However, this is costly for my users who mainly access my web application from mobile devices.
One strategy for optimizing the web experiences of my users would be to generate the thumbnails at the server end so as to reduce the sizes of the HTTP responses that my server sends back to the mobile devices. And to reduce bloat from external libraries, I decided to use the facilities provided from Java standard libraries.
This post documents how I create a thumbnail from an image without using external Java libraries. For the sake of brevity, let's assume that we had downloaded an image via HTTP GET from a web server and saved that image to the path /images/sample.jpg.
There is a number dial that changes rapidly and a text field for the user to enter his name. When the user clicks on the "get lucky number" button, jQuery is used to send the lucky number on the number dial and the user name to the server.
The server generates a text file based on the input from the user and sends the file back to the browser. The browser will then show a download dialog box for the user to decide whether to save a copy of the file or view the file using one of the native applications found in his/her computer.