Live blogging web 2.0 expo – web performance anti patterns and listening to your customers

See table of contents for full list of web 2.0 expo posts

I think the performance anti patterns one will be more interesting, but Microsoft does have good points about your customers being important and basics for most websites. And Hotnail has changed a lot over time.

Microsoft and Hotmail

  • Hotmail was one of the first webmails but is now largely popular only outside the US.
  • Gmail did well – big inbox, text ads, smooth interface,short release cycles
  • Recognized Microsoft asked users to pay for new features
  • If people don’t use something, it is an invention, not an innovation
  • I like that he identifies “real spam” vs newsletters that you subscribed to (and can presumably unsubscribe from)
  • The things Hotmail recognized must change are now things that one must have to do email – virtually unlimited storage, must filter spam out of inbox, performance, pre-cache content, mobile
  • ok. I know i said i wasn’t going to advertise hotmail, but the “sweep” feature makes setting up a filter less steps. Gmail: please copy. Except just the part about less steps to create a filter, not the part about having to schedule.
  • Encouraging ignoring all messages from a user vs unsubscribe. One day people are going to forget what unsubscribing means while all this bandwidth gets wasted and newsletter providers get labeled spammers
  • can create email alias for temporary person. Unlike gmail, can’t derive real email from alias.
  • “it might be cool, but i am fine where i am”. Lesson: once your customers leave, it is hard to get them bacK

How to make your website slow by Yottaa

  • Lots of requests to dowhload assets – really granular css, javascript, images. Can get yottaa score at to see how bad your site is in this space (coderanch did well with 95/100)
  • Fat resources – comments and whitespace in html, css, javascript (should use gzip compression), use larger images than needed (shouldn’t compress image in browser)
  • Bad server side -poor code, bad database design, inusufficient memory or slow hard drive, sharing server with others (gives unpredictable cpu use)
  • Randomness – things are fine for everyone except a few people. It only takes one resource to slow things down. This is why twitter widgets can be the bottleneck on page speed.
  • Do not use caching – set cache control properly. Both for repeat visitors and so subsequent pages in site share assets already downloaded
  • 3rd party plugins – not loading twitter, facebook, etc asynronously slows things down. A little for most users. 30-120 seconds in China because must wait for request to time out.
  • Redirect from www to other domain on the client side (use 302 not 301)
  • Add requests to resources that do not exist (404) – takes longer to return resource that does not exist than resource that does exist because looks in multiple places
  • Run javascript code while page loading

managing my inbox

Email overload!  Must change something.


Up through November, I thought I had decently organized my gmail.  I had filters set up to direct certain kinds of mail to labels that could be read on demand/on the weekend/etc.  I was able to find most things that stayed in my inbox.  I did have a constantly growing inbox size, but it didn’t bother me.

The problem

Early this fall, I took a number of flights within six weeks.  My system sputtered and fell apart from that.  I learned I didn’t have a way to deal with “I’ll do that later” things.  I had been using gmail’s star for that, but there were too many.  When I got home from each trip, I had dozens of starred items and countless more I hadn’t even read/processed.  My inbox size shot up so I couldn’t find things.  I didn’t have a clear picture of what needed doing.  Clearly something needed to change.

What I tried – Active Inbox (Getting Things Done)

The first thing I tried was ActiveInbox‘s Getting Things Done style plugin to gmail.  Basically, you move each e-mail from your inbox to a state (action/waiting/someday/etc) and a project(javaranch/robots/blog/etc).  This gets them out of your inbox and into an organized state.  The plugin also contains some helper features like integrated access to previous mails to that person

What I liked:

  1. Forcing me to have flow
  2. Reminding me to get stuff out of the inbox
  3. Getting me in the habit of having flow

What I didn’t like:

  1. Gmail filters only let you automatically direct e-mail to  one label.  This means my filters are sending things to “S/Action/Robots” but not “P/Robots”.
  2. Gmail was very intermittent about showing me the ActiveInbox tree to view mails and the normal list of labels.  When the tree was showing, I had trouble viewing things because I couldn’t view the categories I created under “S/Action” individually.  I could only read “S/Action” in one fell swoop.
  3. When on another computer, ActiveInbox isn’t there and you have to choose the labels you want manually.

Overall impressions:

  • Active Inbox got me more organized.
  • Active Inbox trained me to think about state in my personal mail.
  • Problem #1 is bothering me too much to continue using Active Inbox, but I am creating state based labels and using them instead.

In other words, I used Active Inbox as training wheels for a bike.

What I tried – 0boxer (Zero Inbox)

While I still had Active Inbox installed, I tried the 0boxer game.  The game has a banner on top of your gmail that tells how many points you have.  It is supposed to motivate you to get to zero mails in you inbox.

What I liked:

  1. Blatant reminder to go through mails
  2. Counts of how well you do each day

What I didn’t like:

  1. It slowed down my gmail noticably.
  2. It said I got to zero inbox when I hadn’t.

Overall impressions:

0boxer was a good way to go through my “legacy” e-mails.  With Active Inbox, I declared triage and said I would only manage e-mails received after September 22nd.  0boxer helped me go through those mails.  I did uninstall 0boxer after about 900 deletions due to the negative performance implications.

Where I am now

I’m actually in a comfortable state now.  I still have about 50 pre September “triage” e-mails left.  (out of about 200 originally.)  I have a system that is working for me.  It still involves the inbox/stars for very short term things.  But now I have a consistent number of post September e-mails in my inbox and an organized set of labels for time/type of things.  Active Inbox taught me the importance of using two labels for the same mail.  Even without Active Inbox, it really helped!

find friends in social networking without a password

I’ve always been concerned about the whole “give us your e-mail password and we will tell you which of your friends are registered on our service” thing on social networking sites.  To the point that I refuse to give out the password.  If I give out my password, the sites can do whatever they want with it.  Surely there is a better way!

While I’ve been reading about open standards for such things, today was the first day I actually saw it in practice.  I registered for GoodReads this week.  When clicking on find friends, you see the usual – click yahoo/hotmail/gmail/AOL/facebook/twitter/plaxo.  When clicking you have the option to type your password.  For some, you have an alternate choice.  Marked as “new”.  This alternate choice actually looks secure.

Summary of providers

Provider Allows providing password to glean contacts Comments on Non-password access to glean contacts
Yahoo Yes Worked well – similar to google as described below
Hotmail Yes Allows, but don’t have a hotmail account so untried
Gmail Yes Worked great; see below
AOL Yes No access
Facebook No Allows, but didn’t try.  I have to allow GoodReads access to write on my wall not just see contacts and didn’t want to go through the remove process at Facebook.
Twitter Yes Have to temporarily allow more access, but easy to revoke after from twitter’s connections page.
Plaxo No Not sure.  Plaxo wasn’t clear enough about what information they would be getting so I didn’t say ok.

Walking through gmail

  1. Click “Or: sign in directly on Gmail. (new)”
  2. Takes to page at a GOOGLE URL saying “The site is requesting access to your Google Account for the product(s) listed below.  Google Contacts
  3. Choose “grant access”
  4. [do stuff on GoodReads]
  5. Optional which I did because I only want to grant one time access – remove GoodReads from accessing my contacts list:
    1. Go to Google Accounts
    2. Click “change authorized websites”
    3. Click “revoke access”

The good

I am giving google my password.  Google already has my gmail password and is just checking it is correct.  I’m not passing it through GoodReads.  Google is also telling me specifically what information they are letting GoodReads see.

The bad

Just because I e-mailed someone once and they are in my Google contact list doesn’t mean I know them.  I also have to trust GoodReads won’t spam all my contacts.  Both of these problems exist with the old “give me your password” method.  I’m willing to accept both of these on a reputable site and not willing to provide a password.  So great progress.