• Asynchronous Ad Loading With Iframes

    I’ve written a few posts about working with ad servers (see here and here) and in both, the discussion in the comments sections steered into questions about ad performance. There are numerous performance issues related to ad loading but the main issue is the blocking effect caused by third-party network requests implemented with document.write(). Here’s […]

  • Tracking iOS Web App Usage

    Via a handful of meta tags and link tags, web apps on iOS can be launched from the home screen and run in fullscreen mode to enable a more native-like experience for the user. Turning your website or app into a “home screen web app” is not difficult but it does require a chunk of […]

  • Interaction design pattern for brand interaction

    Github does this clever thing where if you right-click on their logo, a modal window opens with options to download Github’s brand assets. Pretty slick. It anticipates a common action (right-clicking a logo to download it as an image) and it provides the most logical, most direct path possible for accessing the logo itself: clicking […]

  • Squander

    A few weeks ago Aaron Gustafson wrote a post explaining how third-party widgets can compromise user privacy by tracking users’ browsing activity. It’s something many developers are familiar with but Aaron took the additional step of detailing a roll-your-own solution for popular third-party widgets. It’s good. If you make websites you should check it out. The […]

  • Third-Party Cookies Explained

    For reasons I don’t understand, the subject of HTTP cookies tends to attract confusion, vague understanding, and outright misinformation. For instance, you may have read that cookies are scripts, or “programs”, or software, all of which are untrue. You may have read that cookies can transmit viruses or install malware on your computer. Also untrue. […]

  • Should optional link disabling for touch interfaces be a thing?

    I don’t know if this happens to you but every now and then when I’m reading an article on my iPhone or iPad, I touch the screen to scroll and my finger inadvertently bumps into a link. Woops. Most times it’s not a problem but it can be annoying if I’m on a low-bandwidth connection, […]

  • Tracking Scroll Depth with jQuery and Google Analytics

    (Update: You can view the updated plugin and new project page here.) Scroll depth—the measure of how far a user scrolls on a particular page—is an interesting but lesser-known engagement metric. It’s not something you can find in your Google Analytics or Omniture account but you may be familiar with it from other analytics services […]

  • firstImpression.js: A micro-library for detecting new visitors

    firstImpression.js is a micro/nano-library (1 kb minified) that answers the simple question, “Has this user visited this site before?” The detection doesn’t require much logic, so the majority of the code is just a Plain JavaScript port of the popular jquery.cookie plugin. Using it Writing and reading your own cookies is easy enough but if […]

  • Responsive Ads in the Real World: Ad Server Implementation

    The last time I wrote about responsive design + advertising I put together a few examples demonstrating how an ad unit could respond to its environment. The demos were fun but in the real world, ads need to integrate with an ad server. This is a slightly greater challenge but I’ve had a few thoughts […]