Tag Archive / web development

  • The State of Front-End Development in 2017 (…well, at least, my version of it…)

    A response I gave to Roger Johansson‏ (@rogerjohansson) on Twitter (please read through the whole thread):

  • A Brief Note on Responsive Design and Constraints

    (In response to Adam Silver’s Stop using device breakpoints)

    There are two points that I like to add –

    The relationship between Constraints, Content, and Context

    Content

    Content will always affect Constraints (i.e. breakpoints) and vice versa.

    What I do is a) use the familiar set of breakpoints as initial guesses and b) treat them as assumptions that need to be tested and verified.

    If you’re getting more breakpoints, maybe you need to reconsider your initial ones. Some may just need to be:

    1. Moved or
    2. Removed completely

    Experience

    This is probably more a developer than designer problem(?) but depends on your background. It comes down to hands-on knowledge of various devices.

    1. Don’t assume the device you have on hand is the one [definite] solutions. Just because you have an iPhone doesn’t mean everyone else does…sounds sensible but you’ll be surprised how many people don’t follow that advice. I have experience because most of my work involved non-American clients (more likely to see a Samsung than an iPhone).
    2. Comes back to testing on multiple devices – using BrowserStack (or other simulators) helps testing for both iOS/Android devices or just get a few old/borrowed devices on hand.

    The idea here is to get use to the idea of breakpoints as initial guides, not fixed points.

  • A Brief Note on Container Queries and RWD

    Well, while making the first steps in writing my next lecture about responsive design, I came upon a Tweeter discussion last week. Ethan Marcotte, author/mastermind behind RWD, talked about container queries and his support for them. Very interesting read.

    Ethan Marcotte “On container queries.”

    I’ve heard about container queries before during the last year or two. But I decided to read this article with much more intent because of topic relevance.

    To describe container queries, you need to think about web apps/sites as a system. Changes via media queries are macro, that is, applied to the whole system. It’s what we been doing for years. We build the base (preferable mobile first but any sort of initial state we want) and apply changes at certain breakpoints. So when we write the following media queries:

    @media (global conditions/breakpoints #1) {

    … some changes here...

    }

    @media (global conditions/breakpoints #2) {

    … some changes here...

    }

    etc..

    what we are doing is

    Global Media Queries (Ottawa Model)

    Even though these changes are to certain areas such as footer/header/etc.., these are applied as if the whole app is one big container.

    But with container queries, we are applying changes at the micro level. Instead of the previous example, we are applying changes to local containers. The queries will be influenced by the container conditions, not by the overall viewport. So now instead of the previous model, we have the following:

    Container Media Queries (Ottawa Model)

    and with each part

    Container Media Queries - Expanded (Ottawa Model)

    we are applying changes on the local level/containers. These media queries are not global and [could] be different from other containers. You could have a combination of global and local conditions in this system as well (don’t know if this would happen but you never know):

    Container/Global Media Queries (Ottawa Model)

    As for the talk/lecture, nothing had really changed. The main focus of the talk is the “why’s” of what we do in terms of RWD. However, it is obviously something to think about further.

  • The Secret Life of Forms

    CSS Dev Conference 2016 - San Antonio, Texas

    Slides – http://www.slideshare.net/IvanWilson3/the-secret-life-of-form-67435952
    Lecture – https://cssdevconf2016.sched.com/event/7Q0d/the-secret-life-of-forms-secretforms

    One of the highlights of the year was lecturing for the first time at a conference. In this case, CSS Dev Conference at San Antonio, TX. Basically, I decided to take some advice and take a chance. After sending my proposal, I was shocked and thrilled to be selected via anonymous vote in July.

    Of course, getting the talk ready was even harder than the waiting. It took months of writing and editing and practice. But I was able to get it together and delivered it a small audience at the conference on October 17, 2016. This talk was about UX, coding, and forms. However, it was peppered with things that I’ve done during the last ten years. That said, I want to thank Brian Schlansky for his time and his ear while prepping the talk.

    I also want to thank the other speakers at the conference in helping me not only relax but also giving me advice for speaking not just for the first time but also their experiences in giving lectures as well.

    And finally, I want to thank Christopher Schmitt, Ari Stiles, and Elizabeth Moore in helping me make my first-time experience as a lecturer a wonderful and memorable one. It means so much when for years I was attendee, to be not only speaking but giving back to the community that I respect.

    Thank you all 🙂

    Lecture - The Secret Life of Forms, left - notebook, right - presenter pass

  • Coding The Problem

    There is this “thing” that has been nagging me for almost a year.

    Basically, it’s a conversion that I had with a CEO of a company. Anyways, during the course of the conversation, he brings out this remark:

    “Your job is to code, just like the designer’s job is to design.”

    That comment bothered me. It wasn’t a comment bore of malice or ignorance. It had some truth to it. But it missed an important point. It was the equivalent of saying “My job is to write HTML.”

    Now, there’s nothing bad; that is part of my job. But only a part.

    No, my annoyance is this:

    If my job was just coding, then I’m not doing a good enough job.

    OK. Let me explain.

    Coding is (relatively) easy. Businesses can pick and choose what company or freelancers to do the work. For a cheap price, the work can be farmed out to anyone of the many off-shore companies at will.

    Altogether, that the big talent pool of coding talent.

    You, (client/CEO) have to go through this massive pool to find the right person. But that is not what you are looking for. The truth is that you are not looking for someone to code.

    You need someone to solve your problem.

    As for coding? It’s a means to an end. Employers don’t hire people who code; they hire people who can solve their problems. (And also it’s the same thing that will keep them around…)

    Now, I wish he was around when I said this. I have no doubt that both of us would be agreement.

    There was another thing that he said, in jest, but in hindsight just as important. Basically, people like myself like the “shiny, new projects”. And yes, I admit, they are the nice ones to work on.

    But. There is a group of problems, the “old – fixed it just for now” problems that really need attention. The ones that are begging for someone to just look at and say “you know, if you give me some time, I think I could make this better.”

    There are lots of those problems that need serious attention, not the million dollar, new app of the month ones.

    Then, there is The Content Problem.