Log — Latest

Display:

  1. Growing OmniTI

    Grow Collective and OmniTI logomarks, merged.

    ’Twas the week before Christmas, and all was hectic in the house.
 Or, at least, that’s how it seems! The last few weeks have been a little wild, culminating in one big event: I’m excited to announce that I’m the new Creative Director at OmniTI.

    One reason it’s such big news for me is because this is the first time I’ve been employed for many years. I’ve spent a long time in the fertile fields of freedom, or so it seems looking back. Before the turn of the new millennium, I spent most of my time skipping around the country and the world trying life on for size — finding amazing moments to punctuate the scrapes and mischief. Since then I’ve spent most of my time working with like-minded people from within Grow Collective. So, this event was a long time coming — over a year in fact — and all the better for it!

    The truth be told, I doubted if I would ever take a ‘proper job’ again. It may sound dramatic, but it was true! The ability to measure my actions by my own standards, decide what jobs I took, and report only to myself was too precious to me; I thought I’d be unemployable. It had to be something extraordinary to turn my head, and OmniTI is. In my view, it is the most important web company you’ve never heard of (especially if you’re a designer). If you’re a sysadmin, developer, or involved with the open source community, you’ll probably know that there’s hardly a single significant technology deployed on the Web today that someone at OmniTI hasn’t contributed to. If you use Apache, PHP, Perl, PostgreSQL (to name but a few), or frameworks like Cake and Solar, you’re probably reading books, using code or documentation that people at OmniTI have written, or helped create. They also have an awesome client list, featuring the likes of National Geographic, Digg, Facebook, Friendster and Ning. All that is exceptional, but not enough to pry me away from Grow Collective. The thing that tipped the balance was the culture.

    How I work is equally as important to me as what I work on, as anyone familiar with Grow will know. OmniTI started life as a family-run Internet and web operations company. It was founded by Theo, one of the world’s foremost authorities on Internet architectures, scalability and performance. Also there from the start were Theo’s equally talented brother, George, and mother Sherry. Since 1997, a lot of people I admire — like Chris — have found a home at OmniTI. They’ve grown in almost the exact opposite direction to most other companies: from operations, to data management, to web application development, and now to interface design and user experience. It means OmniTI can create and build complex web applications, but also deploy the infrastructure to support the hundreds of millions of people who might use them. They have a special approach to their work with an engineering rigor to what they create and manage. They’re a family-orientated and collaborative culture, with one of the lowest staff turnaround rates in the industry. I think it’s exceptional.

    So, when my equally exceptional friend, Chris, asked me if I’d consider joining them, I had to give it serious thought. A year or so later, and here we are. I’m stoked! Chris has also shared his generous thoughts on behalf of the company in the official article.

    A few people have asked about Grow. Up ’til now I’ve been unable to talk about it, but now I’m happy to also announce that Jon Gibbins is joining me at OmniTI! He’ll be a core component of the interface design team. Officially, he’ll be an accessibility engineer. A posh-sounding title that basically means he’ll be doing what he does best: accessibility consulting and training, interface development and quality assurance. So, that effectively means that we’ve ported ourselves to OmniTI; the core of our small interface design team at Grow has been acquired!

    Our ambition, for a long time, was to expand the co-op to take on larger, more meaty projects, and work with more amazing people. However, being so busy with client work always made managing that problematic. We had some notable successes like Alan, who’s going to continue to practice his outstanding user experience design skills from Ezyas. However, there were a couple of disappointing experiences. It became obvious that some people were not suited to working within a co-op. Especially one with such a rigorous ethical and qualitative bias. The ambitions remained, though. As the deal with OmniTI was being fleshed out, it also became obvious that we could skip the pain of growing organically, and jump straight into an organisation that already had exactly the kind of people we wanted to work with, and the kind of projects we love to work on. Not only that, but the culture had strong similarities to the one we wished to create. So, effective from now, Grow is no more. The domain and the organisation is in stasis from this point. My emotions are mixed. Looking back, I’m proud of what was accomplished over the last six or seven years, and a little sad to see Grow Collective retire. Looking forward, I’m already engaged with fantastic projects, and thrilled to be working with such great people. I have a feeling that we’ll be working with Alan again soon, as well. The best is definitely yet to come, and I’m excited to be part of OmniTI — 2009 is going to be a great year!

    Share

  2. PHP Advent Seasoning

    Ladies and gentlefolk, I give you the two-thousand and eight PHP Advent Calendar!

    PHP Advent Calendar screenshot.

    As an aside in a season that gets rudely interrupted every year with a huge, great party, the PHP Advent Calendar is adding to the fray. Some of the denizens of PHP are sharing their wisdom from a beat-up old soap box in our quiet, geeky corner of the Web.

    The entire project was launched in a mad, two-day rush, which featured the guys with real talent setting up the server, propagating the DNS, and gathering the initial content. A couple of days after the first article, for my sins, I applied some style to the interface. Twenty-four hours of key-smacking later — and with a good dose of help from the indomitable Jon Gibbins — it was done.

    The project is edited by Chris and Sean with nuts and bolts help from Jon. It is kindly sponsored by OmniTI. I have to tell you, with almost no time to get it done, deadlines looming, colleagues sweating, and the world in general turning far too fast, I’m pretty pleased with the result.

    A single typeface is used throughout. It changes depending on availability, but this seemed like a good opportunity to stretch a face or two. (Writing that made me smile.)

    Although we would have loved to license and use various typefaces not currently available in operating systems, there just wasn’t the time. Without knowing the full range of glyphs the content might need, the faces currently licensed for @font-face linking (many with slightly abridged character sets) might not have had the range we need. So, I chose Baskerville as the primary face with various fall-backs from there. Hopefully the epidemic of the Baskerville italic ampersand will ebb soon, but there are many worse things in life to see on an almost daily basis.

    You might notice the use of the golden ratio, and an attempt to coerce our awkwardly independent browsers into rendering a baseline grid.

    As always, the content was king, queen, barkeep and god: I veered away from images as decoration, considering them unnecessary. I hope nothing overshadows the reading experience. With that in mind the interface is fluid, with a minimum width to stop it all collapsing into a narrow abyss. Most significantly though, the content is genuinely interesting. There are some choice pieces over there, and if you’re interested in PHP at all, swing by, grab the feed, or follow ‘phpadvent’ Twitter for fast updates.

    Share

  3. Display Type & the Raster Wars

    ClearType is 10 years old this Autumn. For most of that time it lay hidden until Vista brought it to the fore by default. Font rendering in Internet Explorer using ClearType is good for body copy at smaller sizes; it’s a huge improvement on the Standard rendering that preceded it. However, larger display text is badly rendered. I don’t say it lightly, but every time I load a page for testing in IE7, I wince at the jaggies. What makes this worse is that Standard rendering is better at display size anti-aliasing. I used to compose scales and size headers to take advantage of smoother Standard rendering at larger sizes.

    The context in which I view the text has the most influence over my reaction: Apple. I use a Mac. My browser of choice is Safari which uses OS X’s native ATSUI font rasterisation engine. Text is as beautiful as it can be on the Web right now. If text rendering in Firefox is disappointing in comparison because of the added weight, rendering in IE on Windows is positively distressing.

    The quality of the rendering is dependent on various factors like the display type (LCD or CRT), the display resolution that has limited pixel density, the rendering engine itself, and the quality of the font file — specifically the hinting of the typeface.

    ClearType was launched in 1998 at COMDEX by a celebratory Bill Gates. In a press release, the director responsible for the ClearType project, Dick Brass, was quoted as saying:

    ClearType makes inexpensive screens look as good as the finest displays, and it makes the finest displays look almost as good as paper.

    If only that were true. OK, it’s a press release, so we assume a degree of hyperbole from exaggerateers, AKA marketeers, writing the copy. But still. Let’s look at the evidence. I built a quick test suite using Georgia, Verdana and Arial because they’re some of the more commonly used Core Web Fonts. Here are screenshots of a heading set in Arial at 36px in different browsers:

    1. IE7 with ClearType on XP Pro:

    2. IE7 with ClearType on Vista:

      Sample thanks to Ryan Brill (he was the first of many kind replies via Twitter). Thanks, all!

    3. IE6 with Standard on XP Pro:

    4. Firefox 3 OS X:

    5. Opera 9 OS X:

    6. Safari 3 OS X:

    Compare the jaggies and dire anti-aliasing in IE7 using ClearType with the Standard Windows rendering of IE6. Also compare the heavier weight of Firefox using its own platform-independent engine with that of Safari using ATSUI.

    Factual insights about the differences from professional font, browser, or raster engine developers would be welcome in the comments.

    One of the reasons for the glaring difference between IE and Safari is a fundamentally different approach to web typography from Apple and Microsoft. Apple tries to render type as true to the original typeface design as possible, Microsoft uses grid-fitting when rasterising a font. There’s more in a previous article for those interested. Studies have shown ClearType to be more legible than Standard rendering, but they only compared the two. Expanding the study to test Macs and Linux-based PCs, as well as ensuring the test group was populated equally by people who use machines other than Windows PCs, would have all helped the results be more interesting.

    Type rendering anomalies are a serious issue for web design. Designers and clients with an eye for detail want typefaces to render accurately and smoothly. Shaun Inman is right:

    Until anti-aliasing discrepancies between platforms can be resolved I don’t see even a standardized approach being accepted by discerning designers.

    ClearType fails to deliver good anti-aliasing. In my view it is a backward step from the old Windows Standard rendering. I am at a complete loss to explain why it is allowed to persist. Especially because Microsoft Typography seems packed full of experts in the field. Surely they’ve noticed?

    Typography on the Web should at least equal the sophistication of print typography, if not enrich it. To do so, type needs to be rasterised correctly, and web designers need the ability to set it with much of the same subtlety and detail available in print. Until that time, technologies like Flash, PDF, and hacks like embedding type in images, will continue to thrive. Designers will use them not just because they ‘do type better’, but because they won’t have to deal with painful inconsistencies between user agents; the bane of the browser wars, and in this instance, the bane of web typography in what seems like the age of the raster wars.

    Share

  4. Happy Birthday, Son!

    Dear Xen, you’re five today. Five years old! You left for school this morning and I was reminded, without the prompting of sentiment, but by the eloquence of your words, and the agility of your thoughts, and the serenity of your actions at such a young age, of why I am so proud of you and the young person that you are becoming.

    Every time a birthday passes I think back to how much has changed since you were born, and I look forward to how much will change in your lifetime, and hope I will be around long enough to give you the tools you need to navigate the world and grow into yourself. So, it seems apt that on the day that Guy Fawkes tried to spark a revolution in 1605, and on the day that Barack Obama won an election in 2008 to become the first black president of the United States, I share some of his words with you in the hope that when you’re ready to read them they might be useful:

    Re-affirm that fundamental truth: Out of many we are one, that while we breathe, we hope, and where we are met with cynicism and doubt and those who tell us that we can’t, we will respond with that timeless creed that sums up the spirit of a people: Yes we can.

    Happy birthday, son. I love you.

    Share

  5. @font-face in IE: Making Web Fonts Work

    All Hallows’ Eve seems the perfect time for something a little spooky. Getting @font-face working in IE may just be spooky enough. As you probably know @font-face already works in Safari 3 via WebKit and is supported in the latest Firefox 3.1 beta. With IE, that means around 75% of the world audience could see custom typefaces today if their EULAs allowed it. Fortunately, there are good free faces available to us already, as well as some commercial faces that permit embedding. Fontin is one of them and I’ve built it into this example page:

    Before we get into the nitty-gritty of making this work, which you can skip to if you wish, I thought a little history and a brief summary of the current status of the web fonts debate might be useful.

    Web Fonts: Then & Now

    Web fonts have been with us for a decade. They were an original part of the CSS2 recommendation in 1998. Recently, the godfather of CSS, Håkon Wium Lie, brought them sharply into focus with articles in CNet and A List Apart. The ironic thing is, IE has supported web fonts using the Embedded Open Type (EOT) format since 1997. The problem was that EOT was a proprietary format, belonging to Microsoft. Not for much longer: it’s been submitted to the W3C and is going through the process towards becoming a web standard.

    Since the debate opened up, the web and type communities have both been busy discussing how the future will unfold. More collaboration between the disciplines would be beneficial to both, and I’d encourage any interested designers or developers to get involved with organisations like the Association Typographique International (ATypI).

    Recently, Bert Bos of the W3C paid a visit to the ATypI Conference in St Petersburg to meet with type designers face to face. His summary of the current situation is essential reading. The debate has continued apace on the ATypI mailing list, which unfortunately has no public archives. However, if you are member of the ATypI, you can see this summary about the conference panel on web fonts by Nadine Chahine that started the debate in earnest. Simply put, type designers seem anxious about @font-face linking making it too easy to steal a font. Both Microsoft’s EOT format and direct font linking are under consideration with EOT a favourite with many. However, rather than paraphrase a wide-ranging set of opinions, I’d encourage you to join the ATypI yourselves as designers and developers to participate or observe.

    If you have other favourite comments or posts about the future of web fonts, please add them to the comments.

    As a designer, I want a straightforward way of licensing and including fonts for my work. I will pay, respect the rights of type designers as I expect mine to be respected, then get on with the glorious business of merging content with type. It’s not as simple as it sounds, though. The licensing of fonts, and the protection of the rights of smaller designers in particular, is a sticky issue. DRM does not work, so what then? Richard Rutter has shared thoughtful insights which are very much worth a read. My view is that I would be perfectly prepared to pay a separate or extra licence fee to use quality fonts on the Web. I would have no problem selling this to my clients. Embedding or linking to fonts has to be straightforward though. I get paid to think about, plan and implement design, not grapple with obstructive software (more on that later). If fonts were delivered through a third-party web service as Richard suggests, the one proviso must be that it would have to be done by someone who knows exactly what it means to scale a service for millions of users. Like most designers though, I have very little knowledge of the real security and scalability issues, but hope to see a comment from a real security expert, shortly.

    User agents are currently taking divergent routes. Bert Bos’ summary reports:

    Mozilla has stated that they don’t want EOT. But they are not opposed to letting the browser check the license, as evidenced by the proposal to let HTTP headers carry license data.

    Microsoft has said that it is impossible for them to support linking to native OpenType as long as font vendors oppose it.

    Apple’s Safari has implemented font download with no checking of licenses. They said they are against EOT, but would not be against browsers checking licenses, e.g., using Mozilla’s proposal.

    Opera remarked that there are more existing and announced implementations for downloading native OpenType than for EOT. They conclude that the market apparently doesn’t need EOT and thus they see no need to support it themselves either. W3C’s limited resources should be spend on more important standards.

    That means that designers and developers have the same perennial problem: Two different implementations to achieve the same result. Safari 3 and Firefox 3.1 beta both support direct linking to OpenType (.otf) font files. Presumably Opera will soon. Only IE 4 to IE 7 support Embedded Open Type (.eot) files. IE8 does not, but will at some point. So, to see Fontin display in standards complaint browsers like Safari 3 and IE, we need to provide two separate fonts.

    @font-face Example

    The @font-face example uses Fontin Regular by Jos Buivenga — a free face kindly provided by Jos with a licensing permitting embedding with attribution. Jos also has many other fine faces available via his foundry site, Exljbris. The example is a quick one using a traditional scale, with all of the CSS available in the <head> of the file.

    1. Set the basic font-family:

      h1, h2, h3, p, td{
      font-family:'Fontin-Regular', georgia, serif;
      }
      

      Notice the 'Fontin-Regular' name — this is an arbitrary name that can be whatever you like. All it does is tell the browser when to apply the font file referenced in the @font-face rule.

    2. @font-face and .otf for standards compliant browsers:

      Ed: White space inserted for clarity.

      @font-face{
      font-family:'Fontin-Regular';
      src: url('Fontin-Regular.otf') format('opentype');
      }

      Note the 'Fontin-Regular' name, again. This rules basically tells the browser, when the @font-face is set to 'Fontin-Regular', use the font found at this URL.

      Screen sample of Fontin Regular in Safari 3 set at 16px with 24px line height from the example:

      Fontin in Safari 3

      When Safari renders the page, it will look for the font file, then render the text accordingly. There’s a slight delay as WebKit works. In the example you might notice that the text not requiring the loading of a font file renders quickly, but the rest is blank until the browser catches up. For reference, the Fontin-Regular.otf file is 32KB in size. Some font files can be much larger.

    3. Create the .eot file with WEFT:

      To do this you will need to download and install WEFT3, a Microsoft application for creating EOT files from TT fonts. WEFT is not able to create EOT files from an OTF. It must be converted to a TrueType file, first. WEFT is the only tool for this as far as I’m aware, although I believe there is an open source one in development. If it wasn’t for WEFT, embedding EOT files would be easy. What I want WEFT to do is convert the font to EOT, and allow me to create a subset if required. It does that, but in a nightmarish, frighteningly over-complicated way. Perfect for an All Hallows’ Eve entry. Here are a few tips I learnt the hard way:

      1. WEFT requires the URL of the page or site where the EOT font will be used. It will then ‘scan’ the pages by crawling the site to see what glyphs are used and try and create a subset of the EOT file accordingly. If it refuses to analyse a valid URL as it did for me, get granular and specify pages or sub-directories in your information architecture.
      2. If you’re using WEFT via Parallels and XP Pro, it may refuse to add some fonts in your windows/fonts directory to its database of available fonts. Try using a standalone PC if you can. I haven’t tested in any other virtual machine.
      3. Use the wizard to set up your project, but after that try it manually using the View menu item to see what fonts are available to convert, and the Tools menu item to convert them.
      4. WEFT will try to save the EOT file to a remote location. You can over-ride this manually to save the file wherever you please for you to upload yourself.
      5. Disable your original OTF fonts on your system before testing (obvious but worth a prompt).

      Be warned, WEFT is awful to use, in every way. It did not work for me running Parallels with XP Pro on a Mac. 7th Nov: After more experiments, Weft will accept TrueType (.ttf) files in Parallels. It also worked with the gracious help of Jon Gibbins and his standalone PC running XP Pro. Because it is so painful, I cannot give support for WEFT. You can try the Microsoft WEFT user community, but I can’t comment as to its usefulness, and I could not find any other support avenues.

      Hopefully, you now have an .eot file to use.

    4. @font-face and .eot for IE using conditional comments:

      Ed: White space inserted for clarity.

      <!--[if IE]>
      <style type="text/css" media="screen">
      
      @font-face{
      font-family:'Fontin-Regular';
      src: url('Fontin-Regular.eot');
      }
      
      </style>
      <![endif]-->
      

      These are screen samples from IE:

      Screen sample of Fontin Regular in IE6 set at 16px with 24px line height from the example:

      Fontin in IE6

      Notice the bar missing from the capital ‘A’ towards the end of the second line. The tyepface designer, Jos Buivenga is currently looking into the font hinting, with input from John Boardley.

      IE7 sample:

      Fontin in IE7

    See a full size Safari 3 screenshot, and IE6 screenshot on Flickr.

    That’s all! Try the example in different browsers to see how it works for yourself (but please don’t blame me for ClearType’s poor anti-alias at larger font sizes).

    Summary

    We have only a few web fonts with a EULA that permits embedding right now, unless they are free. Please respect the EULAs of any typefaces you try out until the type community resolves the issue for all commercial fonts.

    My feeling after doing this is that EOT has potential advantages in file size over OTF, but OTF files could always be edited (as far as I’m aware) to create subsets just like EOT. Although EOT is not a DRM solution per se, it feels like one. If it achieves widespread acceptance, no doubt some clever soul will be reverse-engineering an OTF file from EOT before too long.

    What we need to encourage designers and developers to use EOT today is a good tool to create EOT files in the first place. Perhaps even one hosted remotely, where we can buy a licence, convert the font to EOT, grab the same OTF subset for complaint browsers, and get the work using the typefaces we’ve always dreamed of. WEFT is not the tool right now to enable EOT usage. In fact it discourages it.

    Regardless of what security is implemented, the font file will have to be on the audience’s machine somewhere, even temporarily. ‘Defense in depth’ is a term used by web app security experts. It would seem that the question is how much depth will satisfy foundries and type designers, and what form that depth will take.

    As a designer, I can only speak for myself to say that if OTF and TTF were supported, regardless of how easy it was to steal the file, I would still pay as required by the EULA. I have a strong feeling the vast majority of my colleagues feel exactly the same.

    Share

Lately in the Log

  1. Growing OmniTI Sun, 21st Dec 2008 {21}

    ’Twas the week before Christmas, and all was hectic in the…

  2. PHP Advent Seasoning Tue, 16th Dec 2008 {5}

    Ladies and gentlefolk, I give you the two-thousand and eight PHP Advent…

  3. Display Type & the Raster Wars Thu, 6th Nov 2008 {21}

    ClearType is 10 years old this Autumn. For most of that time it lay hidden…

  4. Happy Birthday, Son! Wed, 5th Nov 2008

    Dear Xen, you’re five today. Five years old! You left for school this…

Remarks from the log

  1. By Leicester in The Incredible Em & Elastic Layouts with CSS:

    Really well written and explained article, had always wondered what the uses of ems were.

  2. By flashoyun in The Incredible Em & Elastic Layouts with CSS:

    thanks for nice stuff

  3. By oyunlar in The Incredible Em & Elastic Layouts with CSS:

    It really inspired me to build elastic layout. thanks.

  4. By Leicester in Smoothing out the Creases in Web Fonts:

    Hey I found that table extremely useful, thanks for sharing it.

  5. By Jawad Farooq in The Incredible Em & Elastic Layouts with CSS:

    Thanks, Very easy and and complete explanation Great, much appreciate

People and XFN

Friends, colleagues and authors with interesting voices:

  1. Jon Gibbins (dotjay)

  2. Alan Colville

  3. Andrei Zmievski

  4. Ben Ramsey

  5. Chris Shiflett

  6. Denna Jones

  7. Ed Finkler

  8. Elizabeth Naramore

  9. Elliot Jay Stocks

  10. John D. Boardley

  11. Kester Limb

  12. Molly E. Holzschlag

  13. Nicola Pressi

  14. Peoples’ Republic of Stokes Croft

  15. Piotr Fedorczyk

  16. Richard Rutter

  17. Simon Pascal Klein

  18. Terry Chay

  19. Theo Schlossnagle

Work with me via ~ OmniTI ~ creative engineers.