December 24, 2010

My Launch Checklist

Before you think about launching a site, make sure you have your bases covered! Here are the top three things I always have on my "checklist".

Cross-browser Compatibility

This seems like a no-brainer, but I'm usually pretty bad with this because I like to test and debug all of my designs and applications in Chrome and ignore Firefox and (cringe) Internet Explorer (well, with the exception of IE9). I was brought back to my senses after I foolishly released the new version of my portfolio with a gaping Javascript bug that broke in all versions of Firefox. Ever since, I've been testing my websites in all browsers - even going to great lengths to install Internet Explorer on my Macbook Pro.

There are a couple of websites I'd recommend for doing this:

  • BrowserShots is a website that takes a URL (mind that this doesn't work with localhost) and a list of browsers, returning a collection of screenshots taken of your site rendered in each of the different browsers. I've found this website pretty useful with making sure that my CSS styling and images are showing up correctly, but of course you can't actually play around with the website or test the Javascript. Did I mention it's free?

  • Adobe BrowserLab is another super cool screenshot service with a really nice interface (what do you expect, it's Adobe) and handy features like viewing screenshots from what they call "browser sets" side by side and overlaying screenshots on top of each other. There are lots more features that I'm too lazy to put in this post, but you can view them here! I don't think it's free, but I was able to sign up for a complimentary one year subscription.

  • If you'd like to actually like to test out your application, you might consider using CrossBrowserTesting (aptly named), which allows you to remote into their testing machines and actually try out your application in a bunch of different browsers and operating systems. I've never actually tried them before, but I've heard good things about the service. It's a little pricey, around $20 a month for 150 minutes of testing time a month.

    Pro Tip: don't accidentally leave your session with them open on your browser.

Analytics

If you're like me, aka you take great pleasure in looking in all the page view statistics on all of your websites, you'll love having analytics installed. Make sure you install analytics BEFORE your launch, or you'll be sorry you missed out on the exciting graphs (I deeply regretted forgetting to install analytics on REOrganize before I launched).

I highly, highly recommend Google Analytics (free, as with almost every Google product). It's really easy to set up - you just insert a Javascript snippet on the page(s) you want to be tracked, and let Google do the rest of work! There are too many cool features to name, and I won't pretend to be an analytics expert. If you're really into analytics, you should check out Avinash Kaushik, a guru over at Google who has pretty interesting analytics insights over at his blog.

Exception Notification

If you're launching a web application (vs. a static page), it's essential that you have exception notification. Standard exception notification services will email you if any exception is raised in your application along with a log/stack trace, and may even offer premium features. You can usually find plugins for whatever app framework you're using - for example, Rails has an exception notification plugin you can install that uses your server's mailer.

(Update: I've written a post on how to use exception_notification here)

If you don't want to worry about installing anything, you can go for one of the many web services out there. I've used HopToad before, which offers a free "Egg" plan for one application and comes packaged with a gem you can easily install in a Rails application. Exceptional is quite good as well, but only for Rails (I basically only know about Rails services, if you haven't noticed already).

Conclusion

These are the top things that I'd recommend that most people never think to do before launching a website; maybe I'll mention some smaller (but still important!) things to check for in a future post.

PS: Merry Christmas/Happy Holidays!