Nicholas C. Zakas

http://twitter.com/slicknet

Mountain View, California

Web developer

Areas of Expertise:

  • JavaScript
  • HTML
  • CSS
  • Ajax
  • Comet
  • consulting
  • speaking
  • programming
  • writing
Nicholas C. Zakas is a Web Software Engineer who specializes in user interface design and implementation for Web applications using JavaScript, Dynamic HTML, CSS, XML, and XSLT. He is currently principal front end engineer for the Yahoo! homepage and is a contributor to the Yahoo! User Interface (YUI) library, having written the Cookie Utility, Profiler, and YUI Test.

Nicholas is the author of Professional JavaScript for Web Developers and a co-author on Professional Ajax, and has contributed to other books. He has also written several online articles for WebReference, Sitepoint, and the YUI Blog.

Nicholas regularly gives talks about Web development, JavaScript, and best practices. He has given talks at companies such as Yahoo!, LinkedIn, Google, and NASA, and conferences such as the Ajax Experience, the Rich Web Experience, and Velocity.

Through his writing and speaking, Nicholas seeks to teach others the valuable lessons he's learned while working on some of the most popular and demanding Web applications in the world.

For more information on Nicholas: http://www.nczonline.net/about/

The Problem with Native JavaScript APIs The Problem with Native JavaScript APIs
by Nicholas C. Zakas
July 2012
Ebook: $0.00

Maintainable JavaScript Maintainable JavaScript
by Nicholas C. Zakas
May 2012
Print: $34.99
Ebook: $27.99

High Performance JavaScript High Performance JavaScript
by Nicholas C. Zakas
March 2010
Print: $34.99
Ebook: $27.99

Nicholas C. blogs at:

Blink and the end of vendor prefixes

April 30 2013

When Google announced that it was forking WebKit into Blink, there was a lot of discussion around what this would mean for web developers, and if the WebKit monoculture was truly breaking or not. Amongst the consternation and hypotheticizing was a detail that went overlooked by many: Blink’s plan to… read more

Getting the URL of an iframe’s parent

April 16 2013

Dealing with iframes is always a double-edged sword. On the one hand, you get sandboxing of content within another page, ensuring that JavaScript and CSS from one page won’t affect another. If the iframe is displayed a page from a different origin then you can also be assured that the… read more

Making accessible icon buttons

April 01 2013

Last week, Pamela Fox tweeted a question to me: @slicknet Do you know the best way to make a <button> that just has an icon accessible? title, aria-label, hidden text? — Pamela Fox (@pamelafox) March 26, 2013 As tends to happen on Twitter, we fruitlessly exchanged 140 character messages trying… read more

Internet Explorer 11′s user-agent string: What does it mean?

March 27 2013

Over the past few days, people have been going a little crazy over the announcement of the Internet Explorer 11 user-agent string. User-agent string announcements are typically met with a keen eye as we are still horribly tied to user-agent sniffing on servers around the world. And so when some… read more

What kind of a software engineer do you want to be known as?

February 26 2013

Around this time every year, companies start doing their annual reviews. Coincidentally, software engineers start wondering what their peers and managers will be saying about them. Throughout my career I’ve always watched as colleagues worried about the results of their annual review. Will they get that promotion? Will they get… read more

On joining Box

February 21 2013

I left Yahoo a year and half ago in search of new challenges. I left to chase the dream of startup life with some friends while consulting to pay my bills. I had a lot of fun doing both, starting a new company completely from scratch and getting to work… read more

Making an accessible dialog box

February 12 2013

In today’s web applications, dialog boxes are about as common place as they are in desktop applications. It’s pretty easy to show or hide an element that is overlayed on the page using a little JavaScript and CSS but few take into account how this affects accessibility. In most cases,… read more

Webcast: The Best of Fluent: Maintainable JavaScript
April 24, 2013
Join us for an exclusive presentation by Nicholas Zakas from Fluent Conference 2012. Maintainable JavaScript tackles the difficult problem of writing code as part of a large team. When you're writing code that only you will change, there aren't ...

Webcast: The Best of Velocity - JS Timers, Power Consumption, and Performance
September 07, 2012
This talk explores the browser UI thread and how timers influence it. You'll learn how timers actually work, why they behave the way they do, and whether you're using them in the most efficient manner possible. Learn how timers affect power consumption...

Nicholas C. Zakas