« All Episodes

Answering Front-end Developer Interview Questions: Explaining the Importance of Standards for the Web

Published 5/1/2015

In today's episode, we discuss the importance of standards and standards bodies for web technologies, specifically for HTML, CSS, and JavaScript specs.

Links:

Today's episode is sponsored by DigitalOcean. Go to https://digitalocean.com to get started, and use the promo code "DeveloperTea" on the billing page after you create your account to get a $10 credit!

Transcript (Generated by OpenAI Whisper)

Hey everyone and welcome to Developer Tea. My name is Jonathan Cottrell and today I'm going to be talking to you about front-end developer interview questions. Now we aren't talking about just any front-end developer interview questions. There is a GitHub repository, a very popular repository under the HTML5 boilerplate organization that's actually called front-end developer interview questions. And this repository has gained 15,217 stars and over 2,000 forks at the time of the recording of this episode. So it's very popular. It was updated just 12 hours ago. Very active. If you aren't familiar with the HTML5 boilerplate, that was basically a project that started out to unify the starting point for a given HTML page. When you do an index.html, with a hello world, you would probably start with something very similar to the HTML5 boilerplate. The organization has people on the team like Paul Irish and Chris Coyier. Quite a few people that you are probably familiar with. It's definitely something that you would trust. The HTML5 boilerplate repository itself has over 29,000 stars and over 7,000 forks. So this is a very popular repository. If you haven't heard of it yet, go and check it out. So the question I want to cover today has very little to do with actual implementation details or coding questions. It's actually a discussion question that is under the general questions headline. And this is the question. It says, explain the importance of standards and standards bodies. Now, standards on the web are developed by a consortium. It's called the W3C. Which is the World Wide Web Consortium. A consortium is a group of people. Usually it's a group of companies. And in fact, W3C is exactly that. You can gain membership to W3C, but you have to pay dues to be a part of W3C. You can involve yourself in their public discussions via their mailing lists and that kind of thing. There's forums and that kind of thing. But typically, the most influence. Over web standards comes from people who have paid memberships. I'm going to take a quick break to tell you about our sponsor for today's episode. But then I'm going to come back and tell you what a standard actually is and why they are so important to the web. Today's episode of Developer Tea is sponsored by DigitalOcean. DigitalOcean is simple cloud hosting built for developers. They're dedicated to offering the most intuitive and easy way to spin up a cloud server. And in just 55 seconds. You can deploy a solid state drive cloud server. Plans start at only $5 per month for 512 megabytes of RAM, a 20 gigabyte solid state drive, one CPU and a full terabyte of transfer. In addition to offering simple and affordable SSD cloud hosting. DigitalOcean is dedicated to building out a strong community and supports open source software. They offer a vast collection of hosting tutorials and invite developers to submit articles. And they pay $50 per published piece. Deploy your SSD cloud server with DigitalOcean today by going to DigitalOcean.com. Now DigitalOcean has been kind enough to provide Developer Tea listeners a discount of $10 when you use the code DeveloperTea. So go to DigitalOcean.com and use the code DeveloperTea to get $10 off today. And you'll get up and running with your own SSD cloud server in just 55 seconds. That's DigitalOcean.com. So what do we mean when we say, DigitalOcean.com. A web standard. Well, let's talk a little bit about what the web actually is. The web is a base of protocols. Specifically, hypertext transfer protocol is kind of the backbone of the internet. And each of our computers has specific software that participates with the web over hypertext transfer protocol in a non-raw format. In other words, there is a user interface and that's called a browser. Which you're obviously familiar with. There are quite a few different browsers available, but there are some primary ones that have gained exposure enough to be considered important. And those are Chrome, Safari, Internet Explorer, Opera, Firefox, and a few others. Now these browsers implement different features that are a part of the HTML specification. Now that specification is determined by W3C. The important part to understand here is that each of those different browsers are created by different companies or groups of people that have separate interests from each other. Safari is created by Apple. Chrome is made by Google. Firefox is made by Mozilla. But the one thing that they all have in common is that they're accessing the same internet. No matter which browser you're using, DeveloperT.com serves up the same HTML. So as a user, if you were to go to DeveloperT.com in Safari and it looks completely different and broken in comparison to Chrome, then naturally you are going to choose Chrome over Safari. So how can we be sure that each of our different browsers looks proper? Well, we develop what is called a standard. Now the standards that W3C develops are not just about looks. They're also about underlying functionality as well as accessibility and semantics. And this is actually one of the many reasons why the early days of Internet Explorer were considered such a failure by many web developers. Because there were so many different pieces of functional APIs in JavaScript that were different in Internet Explorer than they were in other browsers. Of course, the web has grown significantly since the early days of Internet Explorer. And we aren't just talking about the differences between web and Internet Explorer. We're talking about the differences between implementations of XHR or AJAX. We're talking about creating specifications for entire layout rendering engines that will affect the work of web developers like you and I for the rest of our careers. So why are specifications important? Well, they're important because they are the defining roadmap for the things that we build with. They are the materials that we build with as web developers. Now if you aren't a web developer, then specifications certainly also exist for your language of choice or your environment of choice. But in many cases where the environment or the language or the framework is controlled by the people who use it, the people who create the language or the framework determine the standards of that framework. So having something like the W3C for a programming language is much less likely and much less necessary than it is for a web developer. I hope this episode has helped you understand the importance of standards and standards bodies for the open web. Thanks so much for listening to this episode of Developer Tea. You can always reach me on Twitter at developertea or on Gmail at developertea at gmail.com. If you enjoyed this episode and you'd like for me to do more developer interview questions, leave a comment as a review in iTunes. The link to do that will be in the description. The link to do that will be in the show notes. Of course, you can leave comments on developertea.com. And that's where the show notes are as well. And until next time, enjoy your tea.