Thursday, 11 June, 2009
Developer Zone: Web Access Enhancements
In the past few weeks, we've implemented some major enhancements which resulted in a faster and better presentation of content (especially pictures) in Wuala. In this posting, I would like to present some of these improvements:
Slideshow
We use the Lightbox clone prettyPhoto for our image slideshow. An update to the latest version resulted in a noticeable speedup. Furthermore, we prefetch images: As soon as a slideshow is started, the previous and the following image in the gallery is loaded into the browser cache. Thus, browsing through your online photo gallery is much faster and more enjoyable.
Medium Version for Images
Currently we only store the original image and some thumbnails to show them within Wuala and on the website. For the website it was necessary to download the original image (between 2 and 5 MB depending on the image resolution) which was scaled down afterwards. Since the last update, Wuala additionally stores a medium version of newly inserted images (maximal size: 1024x768 pixel). The webserver can now load and serve these images much faster due to the small file size compared to the orginal image. By switching to a better shrinking algorithm, we also improved the quality of the scaled image. By the way, this additional image does not affect your storage quota - you get it for free! The medium images are generated on-the-fly for "old" images.
New Thumbnail Servers
We introduced special api servers for small thumbnails (see this example). Since these servers are not (over-)loaded by other requests (e.g. file downloads), they are very fast and responsive. Furthermore, availability is much better as there are less error sources. From a technical point of view this may not sound very groundbreaking. However, it helped us improve the overall web experience.
HTTP 206 / Partial Content Support
The latest version of the API (more precisly the contents servlet) now supports range requests. For example, this is used by the Adobe Acrobat Reader for its "Fast Web View" feature (fast browsing through a pdf even it is not yet fully loaded). The api response includes a "Accept-Ranges" header to indicate range requests are supported. The Acrobat Reader aborts now the full download and sends a particular request containing the needed byte ranges of the file (usually the current site and some more). This enables you to jump to the end of the pdf even if the file is not yet completely loaded. This feature can be used by other applications as well, e.g. video players could use it to support streaming.
You've just read the major changes we introduced during the last weeks. I'd also like to mention that we are constantly improving the core functionality to speed up the web experience.
Feel free to post your questions or ideas.
Slideshow
We use the Lightbox clone prettyPhoto for our image slideshow. An update to the latest version resulted in a noticeable speedup. Furthermore, we prefetch images: As soon as a slideshow is started, the previous and the following image in the gallery is loaded into the browser cache. Thus, browsing through your online photo gallery is much faster and more enjoyable.
Medium Version for Images
Currently we only store the original image and some thumbnails to show them within Wuala and on the website. For the website it was necessary to download the original image (between 2 and 5 MB depending on the image resolution) which was scaled down afterwards. Since the last update, Wuala additionally stores a medium version of newly inserted images (maximal size: 1024x768 pixel). The webserver can now load and serve these images much faster due to the small file size compared to the orginal image. By switching to a better shrinking algorithm, we also improved the quality of the scaled image. By the way, this additional image does not affect your storage quota - you get it for free! The medium images are generated on-the-fly for "old" images.
New Thumbnail Servers
We introduced special api servers for small thumbnails (see this example). Since these servers are not (over-)loaded by other requests (e.g. file downloads), they are very fast and responsive. Furthermore, availability is much better as there are less error sources. From a technical point of view this may not sound very groundbreaking. However, it helped us improve the overall web experience.
HTTP 206 / Partial Content Support
The latest version of the API (more precisly the contents servlet) now supports range requests. For example, this is used by the Adobe Acrobat Reader for its "Fast Web View" feature (fast browsing through a pdf even it is not yet fully loaded). The api response includes a "Accept-Ranges" header to indicate range requests are supported. The Acrobat Reader aborts now the full download and sends a particular request containing the needed byte ranges of the file (usually the current site and some more). This enables you to jump to the end of the pdf even if the file is not yet completely loaded. This feature can be used by other applications as well, e.g. video players could use it to support streaming.
You've just read the major changes we introduced during the last weeks. I'd also like to mention that we are constantly improving the core functionality to speed up the web experience.
Feel free to post your questions or ideas.
Post Comments
Nice work. Secret links with photos work much better now :)
I would just like to point out one thing: small pictures with long names don't look too good (check the last picture in http://www.wuala.com/pepefndez/kubuntu ). Maybe there could be a minimum "window size" during the slideshow?
Thanks for the hint, Nuno.
A minimum window size is a good idea and now on my list for the next webside update!
Nice, partial content support is one of the best features of the client, great to see support in the API as well.
Post a Comment