-
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 […]
-
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 […]