In order to transmit media and/or attachments, the communications system may also include a blob server 208 hosting a blob store 210 (this may be hosted as a part of the intermediate server 204, or may be provided separately). When sending a message including a media item (such as an image or video), the media item may be uploaded to the blob store 210 as the message is pushed out to the receiving clients 212-i. Optionally, a low-quality thumbnail may be provided to the receiving clients 212-i, while the original media item is stored in the blob store 210. When the receiving clients 212-i attempt to access the media item, the receiving client 212-i may request the media item from the blob server 208, which retrieves the requested media item from the blob store 210 and sends it to the receiving client 212-i. This may be done by establishing a streaming connection to the receiving client 212-i and transmitting the data as part of the stream.
Use of the blob store 210 to transmit content (particularly in conjunction with sending an encrypted message) can facilitate providing the content to the receiving clients 212-i, particularly if a client is offline when the update is sent and/or if different clients 212-i attempt to access the content at different times.