The JPEG codec used in RealWorld Photos applications since version 2008.1 supports lossless and partially lossless operations with a JPEG image.
JPEG compression was designed to be lossy, which means the encoded image is not saved exactly, but at a relatively very high compression ratio. The small loss of quality outweighs the high compression ratio if the image in question is a photograph. Unfortunately, when a JPEG image is repeatedly modified and saved, the loss caused by the compression accumulates.
A JPEG image is divided into tiles (called MCUs - minimum compression units) and each tile is processed separately. The size of the tiles is 8x8 pixels, but JPEG can save chrominance (hue) information at smaller resolution and therefore a 8x8 pixels of chrominance information can effectively affect for example 16x16 pixels.
The JPEG codec in RW apps detects which tiles were not changed since the original JPEG image was opened and if such tiles are found, they are copied from the original image without any loss.
To modify your JPEG images losslessly, no special care needs to be taken. If you for example watermark an image and save it, only the portion affected with the watermark will be re-encoded. When cropping or extending the canvas, make sure to make the cuts on tile (MCU) boundaries if you want to have the image saved losslessly. To simplify this task, the crop tool supports tiled mode that only allows you to crop at 16 pixel boundaries.