Photo of Nathan Shubert-Harbison Nathan Shubert-Harbison


Main content

Less creepy geolocation : Making it user initiated

You don’t have to dig too far into the HTML5 geolocation API before you find web developers asking the wrong question: how do you use the geolocation API without asking user permission?

Fortunately the geolocation API can’t be invoked without user permission, as mandated by the spec. I know I wouldn’t want web browsers sharing my exact location with any old website without my permission. But that leaves an…

Using the HTML5 custom data-* attribute

There are a lot of exciting new features in HTML 5. Video, audio, and canvas seem to be the most discussed around the watercooler, but the data-* attribute—though seemingly less earth shattering—is extremely useful.

data-* what?!

The data-* attribute is a way to store custom metadata about an element within its own markup. In the past we might have done this with a class or the rel attribute, but data-* gives…

Progressive enhancement & graceful degradation with Modernizr

So many different devices are used to access the web—from the top of the line, full-feature smartphone to the decade-old desktop running a legacy browser.

The former totes support for everything new and shiny and a touchscreen to boot, while the latter is limited in features. The two examples are disparate, but we need to develop websites for this very spectrum. Modernizr helps us do that.

What is Modernizr?

Modernizr is…

Content Folding With harvey.js and jQuery

There was a time when designing a website implicitly meant creating a 640px-wide design. Eventually, 960px became the norm, and a bounty of grid systems based on that screen width sprung forth.

In those days, nearly all internet users were browsing on desktop computers—at a desk, using monitors of predictable resolutions. Since then something changed: the smartphone was created and the internet became mobile. What was once an activity confined…