Alternatively or in addition, the payload 454 may include a list of where each scan from a progressive scan script begins. Accordingly, the image may be loaded as a progressive image (e.g., a progressive JPEG) by refreshing the UI each time a new scan is received. This may allow for further intermediate states within a particular image quality, if that image quality is made up of multiple scans (e.g., see the low-quality example in Table 1, below).
The payload 454 may also include the sender-calculated HMACs 462 for each image chunk. Upon receiving a chunk, the recipient may calculate its own HMAC for the chunk and compare it to the HMAC 462 in the image message 450. If the HMACs are the same, the recipient can verify the integrity of the received data. If the HMACs differ, then the data has either been corrupted or tampered with in transmission. The recipient may take appropriate action in this case, such as requesting a new copy of the data, or terminating the transmission.
Embodiment for Providing a Thumbnail and a Full Image