

Google Maps - Diffable: only download the deltas - Husafan
http://www.stevesouders.com/blog/2010/07/09/diffable-only-download-the-deltas/

======
olegk
Notice how that the chart scale doesn't start with zero. In reality they win
maybe 10-15% in speed, but they have all the crap overhead to support and
manage.

------
dennisgorelik
I think in this case speed/size benefits would NOT worth additional level of
complexity that Diffable would introduce.

~~~
dandelany
In _which_ case? Google Maps? You're right that in most cases, it's major
overkill, but I'd guess there are many applications where it makes a lot of
sense. Big sites with many millions daily visitors could save a decent chunk
of bandwidth.

~~~
philfreo
In Google's case, speed/latency for their users is what they're really trying
to optimize.

------
kvs
Why not use HTTP Content-Range (along with javascript) to make the latest
version cacheable (instead of getting a patch every time)?

~~~
dandelany
Correct me if I'm wrong, but wouldn't you then have to make a separate HTTP
request for each non-contiguous block of modified lines that you request?
Also, wouldn't the client have to know in advance which lines were changed in
the new version? Maybe I'm misinformed about how Content-Range works.

Also, in regards to getting a patch every time, Josh Harrison (one of the
creators) responds in a comment on the blog post:

    
    
      You are correct in noticing that the patched version is
      not cached. However, the v1->v2 patch itself IS cached,
      meaning that the next time the user visits, if there has
      not been a new release, then both v1 and the v1->v2 patch
      are retrieved from cache. Also, we are working on
      incorporating local storage, which would allow the
      updated version to be persisted each time it is patched.

------
Asa-Nisse
Yeah... most peoples js code-base is more like 3kb.

~~~
dandelany
This isn't made for "most peoples" web sites, it's designed specifically for
web apps with large Javascript footprints. Of which there are _quite a few_ \-
the site I work on has ~200kB-400kB of JS resources.

~~~
chime
It is for sites with large JS code, very high volume, and frequent revisions.
I wouldn't do this if my site only had 1k logged in users per day or if I
changed the code once a month.

