Send “models” rather than code.  Low-level code is relatively unexpressive, contains considerable redundancy, and as a result, is relatively large.  By sending high-level models instead, which are then expanded on the client to working code, application download size can be greatly decreased.  Models typically provide one to two orders of magnitude of compression over code.<p>This video shows how we do it: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=S4LbUv5FsGQ" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=S4LbUv5FsGQ</a><p>This document gives some results (like a GMail client that is 100X smaller): <a href="https:&#x2F;&#x2F;docs.google.com&#x2F;a&#x2F;google.com&#x2F;document&#x2F;d&#x2F;1Kuw6_sMCKE72Ut0EsoPNFr9YKDkaw6DIfCDgExYkS2k&#x2F;pub" rel="nofollow">https:&#x2F;&#x2F;docs.google.com&#x2F;a&#x2F;google.com&#x2F;document&#x2F;d&#x2F;1Kuw6_sMCKE7...</a>