Chris Webb

Front-end Engineer

Page 3


Open source community mentors: Thank you!

As a front-end developer, I’ve never had a mentor; at least not a face to face mentor. The closest I’ve had to a coding mentor was my ActionScript instructor, Liza Brown from Inkling, when I was in design school. Like many other front-end developers, I’ve learned through books, blogs, studying the code of others, experimenting and of course through doing — tackling the problems I come across as I work.

In a profession that is full of the self-taught, mentors and teachers are important. Mentors and teachers play a significant role in passing on the collected wisdom and knowledge of the community — to the community.

The past weeks, I’ve been reflecting on my development as a front-end developer, and I wanted to stop and say thank you to three people who have inspired me and served as my mentors along the way without knowing it: Michael Hartl, Addy Osmani and Rebecca Murphey. Through

Continue reading →


App.net isn’t like other social media networks

I’ve recently joined App.net, the ad-free, subscription-based social media platform, founded by Dalton Caldwell and Bryan Berg. I’ve been meaning to try out App.net for a while but hadn’t taken the plunge until a couple weeks ago.

 I love what’s missing in App.net.

There’s a lot I love about App.net. Not only is the network ad-free, it’s not yet been overrun by corporate and individual brands attempting to advertise themselves — looking to gain all the followers they can with a steady stream of “content” delivery and a low rate of interaction. I’m hoping
( possibly naively ) that this isn’t just a side-effect of how new App.net is, but that it’s also fostered by the ad-free culture of the company.

App.net still has a global stream and it’s still engaging and not completely overrun with junk. Unlike Twitter, there seems to be relatively few App.net celebrities who enjoy the luxury of a

Continue reading →


JavaScript books to take your skills to the next level

Since originally writing 4 “best” Books for learning JavaScript targeting beginning to intermediate readers, I’ve wanted to follow up with a list of JavaScript books that I consider invaluable resources to front-end developers or programmers looking to take their JavaScript knowledge to a deeper level. The following books contain a wealth of wisdom gained from years of experience with JavaScript.

You’ll want to read on if you are looking for deep knowledge in one of these areas:

  • The DOM and cross-browser compatible JavaScript
  • Application architecture and design patterns
  • Language patterns, best practices and use cases
  • MV* patterns
  • Modern / modular patterns (AMD, CommonJS and Require JS )
  • JQuery development and design patterns
  • Best practices when working on a team
  • Automation, build processes and testing
  • Best practices and understanding JavaScript idiosyncrasies

 Browsers, DOM and

Continue reading →


IE10 Release: Useful front-end developer tips to prepare.

In case you’ve missed it, Internet Explorer 10 is being released with Windows 8 at the end of October for desktops and tablets as is the Surface tablet. Windows 7 users will be able to install IE10 in the middle of November.

With this release, not only do the worlds of mobile and desktop browsing come closer to each other, so do the worlds of mobile front-end development and desktop front-end development. IE10 comes in two versions: Metro and Desktop with Metro being the default. IE10 Metro is touch optimized and does not support plugins (aka: Flash ) while IE10 desktop does. Both versions will run on tablets and desktop computers.

From a front-end development perspective, there’s a large number of changes to be aware of including long awaited and vastly improved HTML5, CSS3 and touch device support. I’ve put together a couple useful tips to help ensure a smooth transition.

 Tip 1:

Continue reading →


Leadership, transition, and improving our codebases

In the real world there is frequently a gap between an ideal codebase and the codebase we currently have. Fighting codebase entropy certainly involves good coding practice, writing clean code, refactoring code or removing code and testing code, but it also has more abstract organizational and human layers. Managing codebase improvement is actually a process of leadership and transition management. With that in mind, I’m going to skip talking about code specifics and focus on: vision, organizational culture and leadership.

Deep programming knowledge and clean code is only one part of what great developers bring to the table. The best developers are critical practitioners and problem-solvers, aware of the big picture and applying their deep knowledge and craftsmanship to create solutions that will provide value to both the organization they work for and the end user. When solving

Continue reading →


Clean code and codebase entropy

Given enough time, no matter which best programming practices and design patterns were used, which coding standards were adhered to and how thoughtfully and elegantly code has been designed, the forces of entropy will still take their toll. Nothing is perfect. The moment will come when clean code is no longer clean code and needs to be adjusted, refactored or rethought. These moments - opportunities - probably occur more frequently than we think.

Researchers have discovered that in urban environments there is a triggering factor that escalates the speed of entropy. In one experiment, a car in good condition was left on the street for a week and remained untouched and in good repair until a window was broken. Within mere hours of the broken window, the entire car was stripped. Research has pointed in similar directions when it pertains to broken windows and dilapidated structures. Damage

Continue reading →


On refactoring 8 lines of CSS.

Yesterday, I spent a few hours refactoring CSS. Specifically, I replaced 8 full rules along with parts of a number of other rules with 7 new rules. The CSS rules impact every single form field over 5 sites. I didn’t alter any HTML and visually the best part is that every form looks identical to it’s original, with the exception of fixing a bug in Firefox, another in Internet Explorer and improving visual consistency across browsers and elements, while eliminating some browser specific hacks and !important declarations.

It doesn’t sound like an enormous refactoring success. After all, why spend hours refactoring CSS to merely replace 8 old lines of CSS with 7 new lines?

The secret lies in selector specificity. The original CSS selectors targeted inputs nested within divs to which a certain class name is applied. The new rules target inputs based on their specific class and type

Continue reading →


6 Best Books for Learning or Advancing your Ruby Knowledge

Searching for the right programming book can be a challenge. I don’t like wasting time or money, so when I buy a programming book it’s typically the result of reading a large number of opinions and reviews to narrow down my selection and then reading parts of the books in a bookstore if possible. Of course, what I’m looking for in a book varies: sometimes I want to know what the best reference is; sometimes it’s looking for the best in depth insights into how and why a language works the way it does; and other times, I’m looking for a book with good hands-on tutorials so I can actually play with a language and learn. No matter which type of book I’m looking for, I expect it to have insights into the “best practices” of the language it’s written about. Typically, I look for the good tutorial book first, followed by the how and why and eventually progress to needing the ultimate reference

Continue reading →


The surprise of stopping.

I spend a lot of time and brain space on my professional life. I code, I write, I attend meetings and I code some more. I spend hours wrapped up in solving problems — usually with and in code.

Yesterday however I stopped. I read to my kids, I had light saber fights with my son, I played. I hung out with friends and laughed a lot.

It reminded me of how critical stopping is.

I came back with a few less items checked off my to-do list but, at the same time, refreshed and with new solutions to the problems I was working on.

There’s a designer’s maxim: steep yourself in the problem and then do something completely different and let your subconscious play with the pieces. It holds true for programmers and front-end developers too.

I don’t have to work at being steeped in problems, I do have to work at unplugging from it all. The funny part is when I make a habit of stopping I end up

Continue reading →


Front-end development is a UX issue

Front-end development is about more than translating designs into working websites, it’s about more than “beautiful” code, and yes, its about more than technical expertise. Front-end development is about harnessing technical expertise, creative thinking, and problem solving on behalf of users. After all, without users there is little demand for front-enders.

Front-end development encompasses a broad spectrum. The breadth and level of skillset mastery varies with the developer as does the numerous contexts and projects in which they may work. What front-end developers definitely have in common is this: the quality of our work and our code ultimately impacts users.

Front-end developers build websites/products that will be used by users. We put systems into place (i.e. content management systems) that will be used by those responsible for site maintenance and updates. We write code that

Continue reading →