About Nicholas C. Zakas

Recent Posts

The future of IE and the Web

Today felt like a nuclear bomb was dropped on the web development community. It didn’t seem so at first, but as the day went on and person after person chipped into the argument, I can honestly say I don’t remember such an uproar since I’ve been working in the industry. The reason for the uproar?... […]

Introducing JSONLib

A little while ago, I was complaining about the proposed JSON extensions to JavaScript 2.0 (Keep JSON out of JavaScript). At that time, Garrett challenged me to come up with a better way of doing it. He was right, it’s pointless to complain about something without suggesting a solution. Since that time, I’ve been formulating... […]

getElementsByClassName() weirdness

As I’m working on the next edition of Professional JavaScript, I’ve been updating rewriting a large amount of it to include more of the vendor-specific JavaScript extensions. Today I took a look at getElementsByClassName(), which is implemented in Firefox 3 Beta 2 and the latest builds of WebKit. This method is specified in HTML 5... […]

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