mo.notono.us

Friday, May 22, 2009

Gmail’s number one missing feature

IMAP Client Mode.

I can access Gmail through IMAP, using Gmail as an IMAP server.  But I can’t access, say, my work email (which is an IMAP server) through IMAP, using Gmail as the client.  I can through POP, but that is sub-optimal at best.

Come on Google, I know you can do it.

Labels: , , ,

Thursday, May 21, 2009

Looking through the source of SharePoint on SharePoint

Microsoft launched their new SharePoint site a few days ago, and for the first time the SharePoint site is actually hosted on SharePoint (!).  It’s a nice looking site, with a dynamic user interface, courtesy of AJAX and Silverlight.  I decided to take a closer look at the visible source code – that is, the rendered HTML, JS, CSS, and Xap files.

Below are some observations:

  • They’re first loading the OOTB stylesheets, including HTML Editor and core.css (all 4K+ lines of it), completely unmodified, then they override the defaults with additional stylesheets (the MSCOMP_Core.css is another 4K+ lines of css) – seems inefficient?
  • They only load Core.js if authenticated, through a custom server control:
    <!-- RegisterCoreJSIfAuthenticated web server control -->
    <span id="ctl00_RegisterCoreJsIfAuthenticated1"></span>
  • Interestingly MS uses Webtrends
  • They use custom js to get around the name dll:
    <script type="text/javascript" src="/_catalogs/masterpage/remove_name_dll_prompt.js"></script>
  • There’s extensive Control look and feel customization through Control specific CSS
  • A lot of their stylesheets reference slwp_something – SilverLight WebPart perhaps?
  • The viewstate looks pretty nasty but in the end is only 61KB, which I guess is acceptable
  • The page includes the standard minified versions of MicrosoftAjax.js, MicrosoftAjaxWebForms.js, and SilverlightControl.js
  • The on-page Silverlight initialization code is NASTY, not sure if this is standard for Silverlight, or if this is an ugly exception.  Why not use JSON?  Why use encoded javascript?  Here’s a very short random sample – note that they didn’t bother getting rid of spaces (%20) before encoding:
    SiteNavigationDefinition%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FChildSites%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FSiteNavigationDefinition%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CSiteNavigationDefinition%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3CSelected%3Efalse%3C%2FSelected%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3CSiteName%3EECM%3C%2FSiteName%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3CSiteUrl%3E%2Fproduct%2Fcapabilities%2Fecm%2FPages%2Fdefault.aspx%3C%2FSiteUrl%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C
    Best of luck debugging that.
  • There’s a mix of absolute and relative references to the same image library, (but that’s a very picky observation)
  • YSlow result:  D, pinging it on number of HTTP requests, lack of a CDN (why doesn’t MS have a CDN?), Expirations headers, ETags and not minifying JS and CSS, but overall size is not bad for a MOSS page, especially not one this visually engaging – but then it turns out YSlow does not account for loading of Silverlight content – the Xap files for the Top Nav and main control are 240KB and 632KB, respectively:
    clip_image001
  • The XAP files also contain some interesting content, like this test image for the header – but they’re not actually using fast for the search…
    clip_image003
  • They use an Image Transitioner component from Advaiya (sidenote – pure Silverlight websites are just as annoying as pure Flash websites), who has supported MS on other Silverlight initiatives – wonder if the SL pieces were outsourced to them?

So – all in all a nice looking site, but I have some questions as to the completeness of the project.  Maybe it’s just me, but if I was Tony Tai (MS SharePoint Product Manager), I would spend another week finishing things up a bit…

Labels: , , , , , ,

Thursday, May 14, 2009

Help the internets are down?!

Seriously, how can someone as big and distributed as Google have network issues?  (And when my blog is on Google, how can I gripe about it?)

This morning’s tracert (and confirmed via a quick twitter search):

C:\Users\oskar.austegard>tracert google.com

Tracing route to google.com [209.85.171.100]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  Wireless_Broadband_Router.home [192.168.1.1]
  2     6 ms     4 ms     4 ms  xx.xxx.xx.xx
  3     6 ms     5 ms     8 ms  xxxxxxx.verizon-gni.net [130.81.xxx.xxx]
  4     6 ms     8 ms     5 ms  so-3-0-0-0.LCC1-RES-BB-RTR1-RE1.verizon-gni.net [130.81.29.0]
  5     8 ms     5 ms     6 ms  0.so-1-2-0.XL3.IAD8.ALTER.NET [152.63.37.117]
  6    12 ms    14 ms     7 ms  0.ge-6-0-0.BR2.IAD8.ALTER.NET [152.63.41.149]
  7     9 ms     8 ms     9 ms  te-11-3-0.edge1.Washington4.level3.net [4.68.63.169]
  8    10 ms    16 ms    17 ms  vlan69.csw1.Washington1.Level3.net [4.68.17.62]
  9    11 ms     9 ms    10 ms  ae-62-62.ebr2.Washington1.Level3.net [4.69.134.145]
 10    28 ms    35 ms    28 ms  ae-2-2.ebr2.Chicago2.Level3.net [4.69.132.69]
 11    27 ms    27 ms    29 ms  ae-1-100.ebr1.Chicago2.Level3.net [4.69.132.113]
 12    54 ms    55 ms    54 ms  ae-3.ebr2.Denver1.Level3.net [4.69.132.61]
 13   103 ms    92 ms   104 ms  ae-2.ebr2.Seattle1.Level3.net [4.69.132.53]
 14    92 ms    92 ms    92 ms  ae-21-52.car1.Seattle1.Level3.net [4.68.105.34]
 15     *        *        *     Request timed out.
 16     *        *        *     Request timed out.
 17     *        *        *     Request timed out.
 18   369 ms     *        *     64.233.174.125
 19     *        *      285 ms  64.233.174.99
 20     *        *        *     Request timed out.
 21   375 ms   347 ms     *     74.125.30.134
 22     *        *        *     Request timed out.
 23     *        *      350 ms  cg-in-f100.google.com [209.85.171.100]

Trace complete.

Labels: , ,