Re: ACTION-961: usefulness of multipart-mixed

I am the one who originally suggested to look at multipart/mixed rather than
sprites as a mechanism to reduce the number of HTTP transactions, and hence
overall latency. I try to summarize the discussion so far.


1. SPRITES

They require pre-processing (assembling a composite image and generating CSS
directives to present the individual images from the composite bitmap). 

Because of the absence of the "alt" attribute, sprites are at most only 
suitable for decorative bitmaps, without semantic properties (alt is important
for accessibility and search engine optimization).

We are not sure the CSS required for sprites is available and implemented 
correctly in a sufficiently large proportion of mobile devices.


2. MULTIPART/MIXED

Is a technique, defined by standards, to encapsulate resources of all types 
(not just images) into one package. There is a MIME type associated to it.

It can be used both at the proxy and at the server (greatest benefits) side..

Availability of implementation varies considerably:

a) Desktop browsers have been generally lacking support for multipart/mixed
(Firefox and Opera: buggy; Safari entirely absent; IE ok).

b) Mobile browsers require accurate knowledge to avoid delivering content 
that is unrecognized by the device. From what I know, Openwave and Blackberries
have had fair support for multipart/mixed, jataayu should have it too; Nokia 
was notable in not implementing it in its original mobile browser, and since it
relies upon Safari/WebKit nowadays, I am not at all surprised at the results of
Luca's quick test with a N95.

c) It is reasonable to assume that mobile browsers derived from desktop 
technology (i.e. Safari/WebKit, Opera, Ozone) do not support multipart/mixed.
Information about other major mobile browsers (NetFront, Obigo) or newcomers
(UCWeb, Bolt, Skyfire, Android) is missing. Maybe representatives of the
respective companies in the W3C can shed some light onto this.


3. CONCLUDING REMARKS

Sprites appear to be a hack of a restricted scope and of limited interest, not
really suitable as a best practice.

I share the opinion of Magnus Lönnroth and John Hardi that multipart/mixed is
not an obsolete technology, and can really help reduce latency while keeping
resources of different types separate. However, one must be very knowledgeable
about the target devices, and hence this is not a technique to apply blindly.
It seems like a good practice for experts -- whether it is a best practice is 
doubtful.

The fact that there are discussions about how to reduce the number of HTTP 
transactions for one page, whether by bundling resources into one page, using
sprites or relying upon multipart/mixed, and that some of these approaches 
were developed or proposed in the _wireline_ Internet (and recently at that)
means that 3G or 3.75G or 4G or whatever, latency remains and will remain an
important factor when developing mobile services. I wish browser manufacturers
would keep this in mind and implement standards that help address this problem.



E.Casais


      

Received on Wednesday, 3 June 2009 10:45:46 UTC