Recent Posts

Is JSON better than XML?

Use JSON, not XML. You hear it all the time these days. JSON is so much better. It must be because everyone is saying it, right? I’m starting to think not. Fellow Yahoo Douglas Crockford, creator/inventor/founder/father of JSON, says that JSON is better than XML. He says it whenever he can (most recently in his... […]

Site usability: What not to do

At this point, almost every company that’s any company has a web site. Some of the sites are simple, some are complex, some are good, some are bad. What still amazes me is how little thought goes into the overall design and structure of major company sites. Case in point: American Airlines. Before digging into... […]

IE8 passes Acid2: What does it mean?

So this past week we learned that IE8 passes the Acid2 test. But what exactly does this mean? For the uninitiated, the Acid2 test was developed by the Web Standards Project to test browser support for specific CSS features. If a browser passes the test, it means that these CSS features are supported: Transparent borders... […]

Internet Explorer 8 user-agent

I was playing around with Fiddler today and found something interesting. Version 2.0 has a user-agent switch containing Internet Explorer 8. The user-agent string is as follows: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; WOW64) For those of the non-user-agent-string-understanding tribe, it basically indicates Internet Explorer 8.0 (MSIE 8.0) running on Windows 2003 (Windows NT... […]

Don’t forget navigator.platform

When discussions about JavaScript browser detection pop up, it usually is based around the user-agent string and accessing it via navigator.userAgent. However, there are a number of properties on navigator that are useful. One of the most useful is navigator.platform. navigator.platform returns a string representing the platform on which the browser is running. The platform... […]

IE: COM reers its ugly head

Most web developers have heard by now about the quirky implementation of Internet Explorer that separates JavaScript into two camps: JScript and COM. JScript represents the code you write as well as the basic ECMAScript data types and structures. While other browsers also use ECMAScript to represent DOM, Internet Explorer does not. Instead, IE uses... […]

What I’d like to see in HTML 5

There’s been a lot of discussion around HTML 5, what it should be, and what it shouldn’t be. Crockford’s post outlines his perspective on things in typical Crockford-fashion. I also have my own ideas about what I’d like to see in HTML 5. I shared this internally at Yahoo!, but thought I’d put it out... […]

YUI 2.4.0 has been released

As announced earlier today, YUI 2.4.0 has been released. I’ve contributed this time around in two areas. First, I did a major overhaul of YUI Test to allow for asynchronous tests. All tests now run asynchronously, which eliminates long-running script errors that may occur with large test suites. This asynchronous behavior also allows for tests... […]

The throttle() function

A little while ago, I blogged about downshifting your code over at the YUI Blog. In that entry, I described a pattern for throttling code such that it won’t be called as frequently. This technique proves to be invaluable when dealing with the resize event in Internet Explorer, which fires the event repeatedly as the... […]

Browsers too leniant with regular expressions

Just had an interesting issue pop up that I thought I’d share. We should all know by now that sometimes browsers are way too forgiving about the bad code we write. They insert HTML elements when tags aren’t closed properly and generally try to “help” developers as much as possible. This behavior also invades the... […]

Copyright © 2004-2016 Nicholas C. Zakas. All Rights Reserved. All code examples on all pages, unless otherwise indicated, are BSD licensed. Blog Feed