Optimal steps I believe are: - rotate (with input) - crop (with input) - scale - upload - full size: - sharpen (with input) - thumbnail: - scale - sharpen details: - rotate should be BEFORE crop, since that's the only way to ensure rectangular output - rotate/crap can be combined from the user perspective, since they can specify a rotated rectangle - to minimize upload sizes, rotate/crap/scale is done before, and sharpen is done after.