Our blog

  • Collateral Damage

    Prateek Rungta

    With the release of iOS 9 and its support for content blocking APIs, there has been an explosion of ad blockers that are proving only too popular with users. This has kicked off the long overdue debate about the malpractices of contemporary online advertisers, and the ethics of blocking said advertising. There have been numerous interesting perspectives on this issue, and rather than recounting them here, I urge you to read them for yourself:

    Instead, I wish to draw your attention to web fonts. A lot (if not most) of the ad blocker apps also support blocking of web fonts. Some restrict themselves to blocking font hosting services such as Typekit and Google Fonts, while others block all web fonts, self-hosted or otherwise. Designers, as some might have expected, have something to say about that.

    So designers are not happy. But if you’re a user, chances are, you’re quite relieved (or even ecstatic) at the ability to block web fonts and experience a faster web. And web designers and front-end engineers have no one but themselves to blame for this.

    How did we get here?

    The web is primarily textual. Typography, thus, becomes an essential component of web design. CSS features such as @font-face allow us web designers to enhance the typographic quality of our designs by giving us the freedom to use any font at our disposal. This is a good thing. No two ways about that (and more of the same, please).

    But somewhere along the way, we forgot (or chose to ignore) that a user’s experience of the web is made up of a wide range of factors, of which fonts are an important but not all encompassing part. Smooth performance and fast access to content are just as (if not more) important factors.


    Far too many websites, far too often started resulting in situations such as this:

    quartz home page with the base design rendered but no fonts and no readable text or headlines

    The page has been rendered. The content is available, but it isn’t accessible to be read until the web fonts finish downloading. This behaviour is called Flash of Invisible Text, or FOIT.

    FOIT is bad if you’re on a low-speed connection, because the text might be the last thing that becomes accessible on the page. FOIT is worse if you experience bad latency or lose network connection altogether and the fonts fail to download, leaving you with blank spaces where the text might’ve been.


    There is an alternate method, which starts off with making the text available on first render using local fallback fonts from the user’s system and applying the web fonts after — and if — they finish downloading. This behaviour is called Flash of Unstyled Text, or FOUT.

    Default browser handling of @font-face embeds has changed over the last few years, but web designers have more or less had control over going the FOIT or FOUT route right since web fonts gained popularity 1. Sadly, most websites chose invisible (FOIT) over accessible. They chose to hide the text until their preferred typefaces would finish downloading, resulting in longer wait times for the user. They treated web fonts not as an enhancement but as a requirement, seceding the functional high ground for higher quality typography.

    It shouldn’t come as a surprise that people want to be able to read the news report in Georgia or Roboto, or carry on with their shopping in Arial rather than stare at a blank screen for the rest of their train ride. Hence their joy and support for web font blockers.

    The sense of dismay amongst designers hints at a deeper negligence. Why are designers disappointed on hearing that a certain feature might not be available to a certain subset of the people visiting their site? Is that not true for pretty much everything but the vanilla HTML we write? Or do we only concern ourselves for users with the latest software releases running on the most powerful hardware devices connected via the fastest networks?

    Web designers should know better. Websites should not come with minimum software requirements. Websites should not feel doomed if one, or two (or three, or more) of the enhancements are unavailable in a certain browser. Granted, typography is a vital component of web design given the percentage of text on our pages, but it should not come at the cost of the ability to read. The dependence on web fonts for delivering great reading experiences further highlights our mis-treatment of those web users that fall outside our local map.

    Users are pushing back against the abusive practises of the online advertising industry. Some might feel that in between this fight, web font blocking is the unfortunate collateral damage, but I disagree. I feel the culprits are the websites that chose FOIT over progressive enhacement. In the process of users reclaiming faster access to content, even the FOUT style web fonts have been blocked. That is the real collateral damage.

    1. Bram Stein has a great slide deck on the current state of web font loading and performance. Bram is also the author of the FontFaceObserver script, which is our weapon of choice to implement a progressive font loading strategy, based on the excellent work done by Filament Group. Recommended reading for web designers and front-end engineers. ↩︎

  • Let Your Designers Design

    Souvik Das Gupta

    No matter how selective a designer may be while taking up work, projects often fall victim to design interference by clients — knowingly or unknowingly. The web is full of posters, comics and anecdotes that share how the quality of work gets compromised when designers try to appease their clients. Under rare circumstances, if the issues under contention are non trivial, it could result in a failure of the project. Regardless, such projects end in a note of discontentment from both sides.

    We live in a world where design, designers and design services are largely misunderstood and yet a must-have. As long as this remains true, the occurrence of client intervention in design is inevitable.

    What follows is part rant and part discourse on why clients attempt to govern design.

    On design

    Design has been an integral part of various disciplines for a long time now. Yet even today, it is hard to define design. There are plenty of reasonable definitions and a recent paper proposing a formal definition, but there’s none that is definitive and accepted universally. Needless to say, this makes it hard to in turn define the job of a designer, and hard to recognise the value created by a designer.

    To make matters worse, the word design’ is commonly used to refer to appearance, which is imprecise even by its dictionary definition.

    Everything is designed

    It may be hard to nail the definition of design, but it would not be wrong to say that design is a prerequisite for the existence of any (man-made) product. Everything — be it the space around you, the chair you’re sitting on or even the dress that you’re wearing — has been designed at some point in time. Someone has taken a decision about how it’ll look, feel, taste, work etc. However, not every aspect is necessarily designed i.e. not every aspect gets the same amount of deliberation or conscious thought. Those aspects get left to chance, e.g. the taste of a chair.

    Everyone is a designer

    With reasonable intelligence and experience anyone can start taking design decisions. These decisions may be good, bad or terrible, but nevertheless, in some capacity, everyone can be called a designer. However, everyone is not adequately equipped (skill, time, tools etc.) to execute these decisions. In such a case these decisions are imposed on a skilled workman hired to simply to execute the decisions and bring the product to life e.g. designing a writing desk for yourself and hiring a carpenter to build it.

    Everyone is not a good designer

    Just because anyone can design doesn’t mean that everyone should — especially if the designer is himself not the only (or the primary) consumer of the design. Design decisions directly affect the consumers, and therefore these decisions should not be at the mercy of trends, personal whims or tastes of an individual. A good designer understands this and works with great amount of care, responsibility and humility. His trained tastes and rationale makes him competent to uphold the right principles, make the right compromises and take wise decisions.

    Everyone wants a designer”

    It is 2013 and the world has never been more design conscious”. Everyone — be it brands, communities, influential voices, and even consumers — is proactively talking about design. More and more people are getting exposed to good experiences, and behind every such experience there is design”, and in turn, a designer”. This notion has gone viral (perhaps for the better), but with a superficial understanding of a designer’s job. Consequently, looking for a designer” has become a norm, because without one a product is unlikely to succeed.

    Design happens one stage at a time

    Most design problems are complex, sizeable, and are solved by breaking them down into stages. Each stage demands specific expertise and introduces discrete roles. Design at every stage is constrained by the design decisions made in the previous stages.

    As an example, a restaurateur designs the business i.e. decides the goals, strategies, cuisine, target customers, rates, margins, etc. A chef designs the menu within the constraints of the business (cuisine, rates, target customers, etc.). The cutlery designer, in turn, is constrained by both the business and the menu.

    It is hard to identify when an unnecessary constraint is forced upon subsequent stages of design and to understand its impact on the end goal of serving the consumer.

    Irony in design services

    Design solves problems. But design as a service isn’t as straightforward as it sounds. Let me share two oddities:

    These two characteristics lead to disorder in an already difficult process. There are plenty of ideas, suggestions, opinions, principles, whims and demands battling against one another, looking to emerge victorious. And amidst the chaos, the sensitivity of the consumers takes a blow.

    If all we have are opinions, let’s go with mine

    Design starts by identifying constraints and setting goals. What follows is an exercise to churn out a solution that has the best odds of achieving the goals within the constraints. Throughout the process the designer deliberates with multiple stakeholders (including the client) and collects important insights that aid decision making. The final decision taken by the designer can often conflict with a client’s preferences.

    Are you not going to consider my personal tastes?”
    But it is my product and I should be proud of showing it to people!”

    Unless the project goal calls for representing the client’s personal inclination (say, a personal website), a good designer rarely lets it trump factors like research, statistics and experience. In the absence of any conclusive reasoning, the final thing a designer counts upon are instincts. People usually mistake instincts for personal preferences, which is why designers often have to resort to bullshit. No, really.

    sudo make me a sandwich

    The clients have paid for the work, own the work and (justifiably) enjoy a veto over how the work gets used. If they disagree with the designer’s decisions, there is an obvious urge to enforce their own. The easier it is to make a modification, the higher the chances of the client making them. In the context of web design, rarely does a designer’s work remain pristine for long.

    Hiring a designer and not trusting his decisions is like taking an advisor on board and ignoring his advice. The designer, being a professional, moves on to the next problem on his plate, but carries a bitter feeling about the client and the final output.

    Discussing design services a while back, we were hardly surprised when a fellow designer (and friend) — one of the best around — replied the following to our question:

    How many clients who you’ve worked with in the past, would you be happy to work for again?”
    Can’t think of any.”

    Over the past two and a half years we’ve worked with a handful of clients — some we love and some we don’t. It took me a while to figure that the clients who we’ve loved working with are generally the ones who recognise and embrace the value that a designer brings to the team. This is not to say that all our favourite clients walked in with that knowledge, but they quickly discovered it and our relationship only got better over the course of the project.

    If you happen to hire a designer, present your problems instead of a solution. Do share your opinions, and especially your experience. A good designer will certainly take them into account and will be happy to explain his decisions. It’s only fair that you reason out the points of contention rather than forcing a viewpoint or your preferences. After all, you chose to hire a designer.

    Let your designers design.

  • Coming Soon

    Souvik Das Gupta

    Watch this space for our upcoming blog post!

    Imagine for a second that this post had ended with just that one line. After making an effort to reach this blog, how would you have felt?

    If I were to guess, it would’ve been one of the following:

    • The post isn’t even out. Pointless!
    • What a waste of a visit!
    • Crap! Made a fool of myself by following a worthless link.
    • Dickheads!

    Now suppose this weren’t a mere blog post, but a really promising product that managed to catch your attention. You need want this product. You are excited about it and land on this page only to find out that it’ll be coming soon.

    This time what could possibly be your reaction? Perhaps—

    Can’t wait! When is this coming?

    In both cases, the user undergoes a certain level of discomfort, anxiety and isn’t really happy about the situation. Yet the internet is littered with such heartless coming soon” pages. In earlier days an under-construction” sign (at times accompanied by a short animation) was put up when a website or a webpage was under development. The trends changed over the years and this was replaced by an optimistic, future-oriented and more promising coming soon” sign. The plan is to generate excitement, build traction and finally a big bang on release day! The motive is undoubtedly good, but seldom do plans work out as expected. A more likely outcome is a frustrated user. We’ve been victims ourselves.

    Recently, one of our friends who was quite disturbed about the coming soon” sections on his family business website confessed, No one is working on it to bring it up soon!”. Very few stakeholders foresee these problems early enough, counting instead on their clear plan”. Let’s analyse a couple of them:

    We plan to build a product. Let’s quickly put up a coming soon page to keep people interested in our idea and then start building the product.

    This move might serve as a promise and commitment to deliver, but it suffers from some fundamental flaws. First, the real’ work is pushed for later and instead a coming soon” page is worked upon. Second, it is extremely hard to visualise the final product. In a software project, where change is a lot easier than in a traditional brick-and-mortar project, plans change very often (even while the product is being developed); the final product rarely matches the creator’s original vision. Chances are quite high that the coming soon” page would have promised something different. Finally, there is an assumption that the project will ship and not turn into vapourware.

    We plan to launch this application with Use Cases A, B & C. We’ll launch the website as soon as Use Case A is ready and Use Cases B & C can link to a coming soon page. While our Use Case A seeks traction we’ll work on the remaining features.

    Again in this case, once a product goes live the focus from the pending features can easily be lost. User feedback, bugs and scalability are just a few things that might de-prioritise the work on Use Cases B & C. Trust us, refinements can take forever. Not to mention the possibility of a new use case being born. Ain’t it better to not pre-emptively market Use Cases B & C?

    So, when to do a coming soon” page?

    For starters, certainly not before the product itself is ready. Once the product is built, nothing like taking the audience directly to the product instead of painting a rosy image in their minds and letting it rot by the time they get to the real product. Important to note, soon” indicates an amount of time that is subjective. It is hard to tell by when the excitement completely dies out, or worse, turns into contempt.

    However, in case one does wish to put up a teaser, setting the right expectations (both in terms of the product features/​offerings and the timelines) is important. Only once the product has been built can that be achieved. Build the product, set clear expectations and promise a date. Just how Apple does. Heck, even Virgle conveyed clear timelines!

    Now come back soon for our next post. Just kidding!