Paul Irish

Paul is a Consultant with the Emerging Interactions practice and a black beret operative of the Delta Force, Molecular's rag-tag team of front-end developers. He blogs about JavaScript, jQuery and front-end development: http://paulirish.com He's on twitter, naturally: http://twitter.com/paul_irish

Posts written by Paul Irish

April 30

Our front-end development best practices

Today, we’re releasing our front-end development coding standards and best practices.

This document contains a wealth of information for people doing standards-based development on:

  • Coding Principles
  • Performance Guidelines
  • How to approach performance issues with the client
  • Browser resolutions
  • Browser testing and support
  • SEO and accessibility
  • … and all the tools that we have at our disposal

I hope others can find it useful in determining the best way for your team to approach high-quality front-end work.

February 25

A Proposed Front-end Performance Policy

I’ve been using this when working with clients to come up with an agreement on how we handle older and slower browsers. I’m eager to hear your thoughts on it.

There are two major truths when it comes to in-browser experience:

  1. Both we and the client want the most responsive experience possible.
  2. Everything added to the page slows it down.

So with these two facts of life, what steps do we need to take so everyone is happy? Onward! (more…)

August 10

The direction forward with web fonts

In the current discussions around fonts on the web, there is much confusion between the techniques. Most seem to think that TypeKit and .webfont are our only options. They are not, but the rest of the landscape is quite busy.

Things have been moving very quickly in the last three weeks, so let me break it down like this:

  • Webfont services: TypeKit, fontdeck, Typotheque
  • Proposals: EOT-Lite, .webfont, ZOT, webOTF
  • Implemented standards: @font-face using EOT and TTF
  • JavaScript-based font solutions: sIFR, Facelift, Cufón

The commercial webfont services players

While many have considered TypeKit as an alternative to .webfont, it’s just a smart implementation of CSS and JavaScript along with a shop and licensing model. I agree with Pablo Impallari who commented:

You don’t need typekit, .webfont or any other solution. You can start using real fonts on the web right now.

Typekit makes a somewhat complicated implementation drop-dead easy, but if you’ve used sIFR before, than I’m confident you can handle this on your own.

The licensing legwork that TypeKit is doing is a significant value-add and may be worth it for people who don’t want to deal directly with font resellers. I’m quite interested in how the smart folks at Clearleft expect to differentiate their competing service, fontdeck.

Typotheque and Kernest are also new entrants to watch, both created by font shops. Both seem to only license their own foundries’ typefaces, so their library size may end up being quite small, but I can say right now Typotheque’s offering looks strong.

At the same time, we’ve had web font services already: Fontburner and Flir Premium, but they never really gained popularity, so I’m surprised people expect such a different outcome from these new players.

The EOT-Lite and .webfont proposals

The general complaint from the type community around non-EOT @font-face is that the naked font is so accessible, anyone could trivially take it off a webserver and install it on their machine. These two proposals offer a “garden fence” approach to protection; it’s still quite easy to get inside and snag the font, but it’s harder than if there were no protection at all.

.webfont, the format proposed by Tal Leming and Erik van Blokland is a great compromise solution: basically a zip file containing both an xml file of metadata and the font. While it uses the same css @font-face syntax, and everyone seems to love it, having it work in all browsers is at least three years off.

EOT-Lite, on the other hand, seems to be covered much less in roundups to date. The basic idea is that it’s the same as EOT but without the two major complaints of the format: domain binding and MTX compression. (Interesting as, the compression’s patent owner is offering to free it up.)

The huge plus of EOT-Lite is that the format works, right now, in IE4-IE8. Adobe, Monotype, Microsoft and a cadre of type shops support it. Perhaps surprising for some, Mozilla is also quite involved in the EOT-Lite discussion, not only helping to define the spec, but also making a test build of Firefox that handles the new format.

ZOT is a new format proposed by Mozilla; essentially TTF with compression. It’s well considered, but as .webfont comes with the same advantages and already has a wave of support, I think ZOT is best left as an academic discussion. Oh, and Berlow’s OpenType permissions table – which would have been a great idea to have in 2000, but not now.

Update 2009.08.10: .webfont and ZOT merged their proposals. It’s now called WebOTF.

The @font-face standard

By my calculations, the current implementation (using EOT or TTF/OTF) covers ~70% of users. When Firefox 3.0 users upgrade to 3.5 that figure will increase to ~90% of users (I bet we’ll see that within six months). Things still do visually look a little different across browser implementations, but they currently work cross-browser and with fixes like forcing Cleartype on for web fonts in Firefox, render quality is improving steadily.

/* it's this easy: */
@font-face {
  font-family: 'Gentium';
  src: url(Gentium.eot); /* EOT for IE */
}
@font-face {
  font-family: 'Gentium';
  /* IE ignores this one because of the format value */
  src: url(Gentium.ttf) format("opentype");
}
h1,h2,h3 { font-family: 'Gentium', Tahoma, sans-serif;

I generally side with the concerns of type foundries here, rather than the Fuck The Foundries crowd. I want myself and other designers to have access to the best of typography, but understand the fonts used for Firefox/Webkit are a little too naked at this point. While we’re waiting for the rest of this to pan out we may see a new market of type designers that are comfortable with naked fonts (like David Březina), but I’m skeptical about the efficacy of that.

JavaScript-based custom font solutions

We’ve had sIFR for nearly 5 years and I’m glad we have, but we now have better options. After significant research I think Cufón is the best library in this space; it’s small, clever, and very performant. However, many foundries aren’t ready to license their typefaces for use with Cufon. Facelift is a great alternative here, as it doesn’t expose the font data to the browser (instead generating PNGs via PHP), thus very licensing-friendly.


These libraries will be useful in bringing custom fonts to older browsers (currently: Firefox 3.0, Chrome, and Opera 9), but still lack flexibility when it comes to rtl languages.

It’s also possible that they won’t be treated only as a fallback solution. If  foundries remain unwilling to license for the naked @font-face implementation in Firefox and Webkit, we may have no choice but to use Cufón while we’re waiting for these browsers to adopt EOT-Lite or .webfont. In fact, Monotype’s web embedding EULA currently allows use with siFR and Cufón, as long as there is domain-binding.

Conclusions

I don’t think webfont services are the future, but I do think the landscape is hairy enough now to convince web developers to take the easy route by relying on a TypeKit or Fontdeck for their custom type. Taking advantage of the best techniques available isn’t insurmountable without a hosted webfont service, and I think we’ll see developers going it alone with their own implementations and licensing directly with the font resellers.

I believe EOT-Lite is the right direction for webfonts right now. It already works in the most stubborn browser, and since Firefox just released a test build with support for EOT-Lite, it’s looking more reasonable than ever. It’s also quite interesting that after the months of debate at the W3C surrounding Microsoft’s proposal of making EOT the standard, it took quite some time for the sensible proposal of EOT-Lite to emerge. I guess both sides had to soften a little. :)

If you have any comments or questions, please leave them below.

June 3

Best Practices for Tweeting as a Company?

We’ve had a thread going internally on how we want to use Twitter as a company with @MolecularInc. We all want to open up this conversation to a broader audience and get all our good ideas together. So let me bring everyone up to speed:

Options

Some feel that one employee should own the account and can act as editor or contributed tweets. (That is, take any tweets employees wish to offer and post them).

The primary advantages of a singular editor are:

  • ultimately accountable for quality
  • a unified and consistent voice — not all over the place

CoTweet was offered a solution, which offers companies a unified publishing platform and (we assume) some sort of workflow option. While we don’t have access yet, a number of tweeting companies leverage it and presumably enjoy it.

A suggestion (from Bryan) is for @Molecularinc to retweet a tweet from an employee. Retweets have emerged as a de-facto standard for sharing someone else’s thoughts/links/etc. This would require employees (that wish to contribute) to have their own twitter account, of course.

Voices

Steve said, “My experience is that Twitter is a bit different than other channels in that it works best when there is a consistent human voice behind the tweets. Blogs and conferences work well with disparate voices and perspectives, but the business Twitter accounts that seem to be most effective (Zappos, Comcast, etc.) are written by one person or (in Comcast’s case) one voice that feels like one person even though it isn’t.”

Heather offered, “I understand that the ideal state of affairs for companies and brands to take advantage of the Twitter platform is to engage an audience- be it peers in the digital community, existing clients, prospective clients, or just interested parties- in a lively and active conversation.
“In doing so, the brand/company demonstrates transparency and authenticity, and as such, accepts that they have exposed themselves to some degree of risk. But, I think we’d agree that the payoff in customer trust and loyalty far exceeds it.”

Bryan said, “I second Steve that a consistent voice is an important element of organizational success with Twitter, but I also agree with Heather that the power of the Twitter platform is the potential for “lively and active conversation” – something that generally requires a diverse set of voices. ”

What are your thoughts?

June 25

Taking interfaces beyond the usable

Stephen Anderson (aka poetpainter) recently shared an inspiring presentation on elevating interfaces beyond the functional, reliable and usable… to the convenient, pleasurable and meaningful.

Technorati Profile

Browse posts by month

Browse by author

We're always looking for rockstars

Come take a look at careers with Molecular