Our View of the Imaging World
Images and videos are an increasingly dominant part of enterprises’ marketing tools and consumers’ expectations and experiences. At the same time the world is going mobile. Both the growth of image and video content and the adoption of mobile devices created significant challenges for mobile device makers as well as content and network providers.
Since the beginning of the Internet the main technology to store and transfer images has never changed:
An image (or redundant copies of it, e.g. thumbnails) is compressed lossily and as heavily as possible to avoid wasting storage capacity and to enable a swift copy to a device. The user views a small image of bad quality that was transfered in its entirety, without taking the requirements of the device or the user into account.
We have changed some basic principles of how images and videos are stored, transferred and viewed. These are some of the core properties of our new ecosystem.
Looking at the size of an image file is important only for two steps in our workflow:
For the upload to a server the full information that is contained in the image file is required. The smaller the file, the faster this process step can be completed.
Once the file is stored on the server, it contributes to the costs of the storage. The larger all the files are, the higher the costs - of course.
These are the reasons why we compress the images as much as possible but without sacrificing image quality. We save 50% of those infrastructure costs on average.
In our world the image content on the server is like a database where all the properties of an image are stored. Just like with databases a client that needs a specific information
from the image repository queries it and gets just this specific piece of information returned. In our ecosystem the queries are created and placed without technical interaction by the user.
This specificity creates a subset of the information that is very user/device-specific, small, quickly available and saves costs for providers and users.
The properties contained in the stored image or video are completely scalable - based on a single file. For instance when zooming in an image new scaled representations are retrieved (not interpolated) and streamed. Other examples are the resolution/size or image quality. This feature is of course combined with the ability to query an image.
The server software keeps track of all relevant data that was sent before, it keeps a state for every connected client. If e.g. a smaller version of an image was sent before, only the missing pieces are sent.
This drastically reduces the required amount of data that needs to be transferred.
If a user looked so thoroughly at an image that the entire image was streamed, then this image can be kept locally (if the according settings are made by the administrators of the server).
The basic nature of our ecosystem is to stream required details of an image as soon as the user takes the respective action and as long as the connection to the server software is established. Never is any data loaded
in advance and kept on the device.
All requests to the server are secured by SSL connections, a very small cache is kept only for the current session. This high level of safeguarding allows to use the technology also in very restricted areas such as medicine, aerospace or military.
Some information is more important than another. If this very important information is "hidden" however for instance in a movie, then it does not make any sense to load the less important data first but rather give priority to the important part of the transfer. This reduces waiting time and avoids unnecessary transfers of data.