Release Notes for Friday, September 16th.

Hey all,

Some notes on today’s release:

Page Load Optimizations

Yesterday I spent the better part of the day on optimization of the page load.

On the simple side of things this means reducing the over all payload of the site. Such as:

  • There was a small bug that was causing some of the CSS spriting to be greedy and create excessively large sprites, this has been resolved and trimmed the overall sprite size by ~ 150kb.
  • We use a bunch of frameworks to make the site look as snazy as it does, the downside to this is that the frameworks tend to come with a lot of extra cruft that we may or may not use. I went through an meticulously removed anything that was superfluous (also a double including of the YUI uploading framwork) this trimmed our overall JS payload by about 800 KB, we are still waiting on a Sproutcore release and we should be able to get even better reduction there.

On the more complex side, the bulk of the overhead in a JS heavy site like ours is actually parsing the payload into executing code. Yesterday after some reading I went about modularizing our code such that the parsing and executing of about 90% of the javascript that runs our site is deferred from load time.

Some numbers:

Clean page load over a 3g iPhone connection 10s (down from ~20) Cached page load from cache over a 3g iPhone connection 4s (down from ~10)

Clean page load over wifi 5.5s Cached page load over wifi 3.6s

These are a marked improvement, and we are going to continue to strive to drive these numbers down as much as possible.

As always thank you all so much for your understanding, we are very committed to a unparalleled experience on Matygo.

Cheers,

.joe (and the matygo team)