Home > business, smugblogs, smugmug, smugmug releases, web 2.0 > Hello Speed, Beauty & Brains – Goodbye Alexa

Hello Speed, Beauty & Brains – Goodbye Alexa

January 22, 2007

Michael Arrington at TechCrunch just broke the story of our latest release and it’s a great write-up. We’re really thrilled to have this puppy out the door and let everyone play with it.

This is a pretty fundamental shift for us, and while I don’t want to give us too much credit, I really think it’s the beginning of a sea change on the web. There have been plenty of apps which launched with 100% AJAX, like GMail, but I can’t think of any that have yet made the plunge to change an existing, entrenched product with lots of users. I’m sure there have been a few, so forgive me if I overlooked you, but certainly not many – most of the big apps are still HTML driven. But I believe that’s going to change because the customer experience just gets so much better.

Everyone is going to do this. The only question is when? (Ok, two questions: And who will be left behind?)

We’ve been playing with 100% JavaScript/AJAX interfaces like this internally for quite some time, but there were some huge pitfalls that kept us from actually releasing it. When we finally solved the last hurdle we got really really excited – this was gonna be great for customers. The minor downside is that I expect our Alexa rank to plummet – we’re no longer really doing page views, which I think they track. (We already get unfairly penalized because so many of our customers use their own custom domain names, but this should really do us in). I could really care less from a business point of view – this is good for customers, after all, but the geek in me thinks that’ll be fascinating to watch and see what happens.

The benefits of this release are obvious: the interface is faster, prettier, and smarter. But the pitfalls are less obvious. Here are a few of the biggies:

  • Search engines. I know Google’s been testing a more JavaScript-aware version of Googlebot, but how aware it really is is anyone’s guess. Certainly no crawlers I’m aware of do even a marginal job of crawling AJAX pages. But our customers spend tons of time captioning, describing, and keywording the 120+ million photos at SmugMug.
  • Backwards compatiblity. We built our URLs from day one to be “permalinks” so they wouldn’t change if you used them in your blog and forum posts. We had to make sure that things still worked going forward.
  • AJAX Permalinks. Now we needed new permalinks that describe various pieces of data for browsing SmugMug, but we also needed to keep them short so people could copy & paste easily, so they wouldn’t wrap in emails, etc.
  • Stats tracking. Specifically external sources like StatCounter and Google Analytics which only track page views, not JavaScript UI interactions. Our customers, especially the tens of thousands of hardworking Pros who build their photography businesses at SmugMug, expect to still get useful and meaningful statistics on who’s viewing what.
  • Browser interfaces. People expect the Back & Forward buttons to work properly, along with History and Bookmarks. Doing so in all three major browsers was thought to be impossible, and we failed many times. We solved this one, and this was the last biggie. I believe it’s an internet first. Jimmy will be updating his blog about exactly how we do it so anyone else can follow suit. It’s good for the web as a whole for this stuff to move forward.

It was an amazing team effort over here to get this thing done, including tons of our customers. GreenJimmy, our resident Web Superhero, especially drove this project long and hard. Hopefully we can talk more about what we did, technically, so others can avoid making the same mistakes we did.

I really have to also give props to the awesome team over at Yahoo! working on YUI. We couldn’t have pulled this off without their library (easily the best JavaScript library around). They did a profile on us just a week and a half ago, but that was before this release. Now we’re even more hardcore with all the YUI stuff. 🙂

Enjoy the release, and just wait to see what we’ve got coming next….🙂

  1. January 22, 2007 at 7:27 am

    Congratulations and more importantly ….. thanks!

  2. January 22, 2007 at 7:35 am

    Congratulations on the launch, but I wanted to point out that Yahoo Maps, Yahoo Mail, Windows Live Mail and possibly other sites have all moved on from HTML UIs to AJAX ones.

  3. January 22, 2007 at 7:37 am

    Yahoo Maps is probably a good example, yeah.

    Yahoo Mail (Oddpost) and Windows Live Mail aren’t released products, though.

  4. January 22, 2007 at 11:12 am

    You can track JavaScript events using the urchinTracker JavaScript function in Google Analytics or Urchin. Just pass along the new permalink you’ve loaded whenever you feel the new “page” loaded is statistically significant.

  5. January 22, 2007 at 1:27 pm


    Yes, except there’s a bug (or design?) in Google Analytics that drops everything after the hash, which nukes most AJAX apps tracking:

    http://www.smugmug.com/gallery/123#456 becomes http://www.smugmug.com/gallery/123, and so does every other “page” in that gallery.

    We’ve worked around it, but it’s nasty. We’d love to a real fix.

  6. January 22, 2007 at 2:04 pm


    Your example refers to page “123” containing a subsection identifier of “456.”

    Looking at a real SmugMug example such as today’s popular picture of a Wren, I see you are referencing the originally loaded URL as the page identifier, and then treating each subsequently loaded picture as a referenced subsection. Example: 124727245#53105411

    It would make more sense to me if you instead used the URL of each picture being loaded, changing the displayed URL of the second picture to just 53105411, as the entire page has changed to represent that picture and its associated data, including the photographer, set, comments, etc. When that URL is shared you would be better representing the photographer and better tracking his photos by using his photo as the loaded page URL.

    Basically what I’m saying is the destination photo becomes the newly loaded “page” loaded into urchinTracker and the last “page” is the referrer. Currently the entrance point receives too much weight, especially in the user-facing display URL.

  7. January 22, 2007 at 3:37 pm


    That’s an artifact from the old site that we haven’t gotten rid of yet. Most links do not contain the page # and the photo # in them anymore – just the root reference (gallery #, popular scope, etc) and then the photo # after the hash.

    We’ll track down the remaining lagged ones and sort them out.

    Still doesn’t solve the urchinTracker problem, though, AFAICT.

  8. January 22, 2007 at 4:04 pm

    I was curious why you picked the Yahoo toolkit over Dojo and the other libraries out there.

  9. August 23, 2007 at 2:38 pm

    We’re going thru the same shift and, yes, our alexa rank plummeted from a 33k to 78k when we moved some of our beta pages to Ajax applications.

  1. February 20, 2007 at 4:43 pm
  2. February 22, 2007 at 11:47 am
Comments are closed.
%d bloggers like this: