Smart Resizing:
The picture book Graphic User Interface takes on the challenge of reconfiguring its contents as the user resizes the Interface/Window. Depending on the screen dimensions, calculations are made at start up to configure the thumbnails at fixed dimensions. Default interface dimensions are also calculated at startup. If at any time the picture book window is resized the program will automatically add or remove thumbnail boxes. The program will also automatically readjust the cache size it utilizes with each resize. There is a minimum size to which a user can resize the window to, and the dimensions of this minimum size are determined at start up. This Smart Resizing System will ensure that nothing displayed within Picture Book will be out of proportion, while allowing the user interface to be run at any resolution without the need for extra custom configurations.
Caching Strategy:
Image processing is very costly to the JVM. A caching strategy is needed in order to relieve some of the stress on the VM. Let us consider the number of thumbnail boxes to be N, and N number of pictures to be a section. Navigating through Picture Book is similar to that of scrolling through sections of images. The current section of pictures is defined as the section of pictures presently displayed in the thumbnail panel. When Picture Book starts up, it will automatically create a set of 4 caches, each cache containing a section of images. The first cache contains the current section of images in their original sizes. The second cache contains the same section of images in their thumbnail sizes. There is a cache containing the previous section of images in their thumbnail sizes. There is also a cache containing the next section of images in their thumbnail sizes. With this caching strategy, the size cache is limited to at most 4*N image. With the correct custom configuration of the VM, Picture book is capable of working with a large number of images in its collection lists despite a limited cache size. This caching strategy also significantly improves the performance of picture display.