A little bit about how Easel works

I once had a teacher who often advised the class "When I ask what time it is, don't tell me how the watch works!" I'm going to ignore his advice just for a minute, because I think that if you read through the short and only slightly technical discussion below, it will help you better understand and get the most out of Easel.

The other day I started Easel, loaded a composition containing portions of 72 5 megapixel images, and printed it on 13"x19" paper at 1,440 dots-per-inch (dpi). It took a long time to complete, not surprising since the print spooler showed Easel sending over 200 megabytes of image data to the printer, but the excellent quality of the result made it worth the wait. If you looked at the Easel data file (an ESL file) that I loaded to create the image, however, you'd see that all it contained was a few hundred lines of text and took an insignificant 40 kilobytes to store. How does this work?

Pretty simply. An ESL file is small because it does not contain the (potentially huge) image that Easel displays and prints when the file is loaded. Instead, the file stores a description of the composition; a list of the image files used; your instructions for cropping, processing and positioning the images; and descriptions of any captions and/or frames. When you instruct Easel to load an ESL file, it uses this information to contruct the composition on the fly for display. When you instruct Easel to print the composition, it constructs the composition again, this time optimized for your printer and its current settings.

Easel can create a conventional image file of any composition; it's as simple as selecting Save Image from the file menu, then setting the size, quality, format, and file name that you want. There will be times when you want to do this. You can also generate image files by using the Online Printer. However, there are significant advantages to saving instructions rather than images as standard procedure. Most important is editability, i.e. the ease with which you can make precise changes to a composition at any time. Because Easel keeps track separately of each element (image, caption, or frame), it is simple to modify any one without affecting others; just point, click, drag and/or use the popup menus to reposition, recrop, adjust colors, etc. Editing a single image to achieve the same result would be much more difficult.

Another advantage is the ability to work with very large images without slowing your computer to a crawl, perhaps crashing it. While Easel's ability to create very large, very high resolution images is a key feature, it generates them only when needed to print or save an image; it does not waste time and computer power building images for display that contain more data than your monitor can handle. In addition, Easel has automated (though overrideable) capabilities to help you work with images so large that they challenge your system's intrinsic limits. For details, see Working with large compositions.

A final advantage, less compelling now that multi-gigabyte hard drives are ubiquitous, is simply that you don't need huge amounts of disk space to store Easel data files. In the time I've been developing it, I've created several hundred ESL files that together require only 5 megabytes of disk space. If saved as images at the best resolution, however, they would consume about 60 gigabytes. No matter how cheap storage gets, 12,000 to 1 is a nifty compression ratio.

The only disadvantage of storing instructions rather than images, at least the only one I can think of, is that ESL files do not stand alone. When you command Easel to load one, it also needs the image files used to create it, and it expects to find them in the same folder(s) on your hard drive where they were located at the time they were added. If you have moved any of them in the interim, Easel is going to complain, but give you the chance to find them in their new location. If you have deleted them, however, Easel will not be able to reconstruct the original composition.