Hacker News new | past | comments | ask | show | jobs | submit login
Why I'm Planning to Kill W3Schools (htmlandcsstutorial.com)
172 points by kixxauth on Sept 21, 2013 | hide | past | favorite | 156 comments

Nobody denies that W3Schools is a terrible place to learn how to program. Their examples are outdated, insecure, and don't really explain why things work in a certain way. Their tutorials are optimized for copy & paste, and God knows how many security bugs in the wild are due to somebody copying W3Schools.

But W3Schools also carries some of the most easy-to-use indexes of pretty much everything related to web development. Can't remember the exact name of that CSS property and its possible values? Can't remember the order of arguments of a JS string/array function? Go to W3Schools and browse their lists, get the answer in 5 seconds.

Of course, there's Mozilla Developer Networks, too. But MDN's CSS Reference [1] is just an alphabetical list of CSS properties with no explanation. W3Schools' CSS Reference [2] is neatly categorized, and each entry has a short explanation next to it. Very useful when you're trying to remember, for example, "word-wrap: break-word", which is not the same as "word-break: break-all".

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/Reference

[2] http://www.w3schools.com/cssref/default.asp

W3Schools is good ol' Web 1.0 stuff. Just some lists and a bunch of links. No need to ask somebody and wait for an answer. No need to watch any annoying videos. No need to follow an animated tutorial designed by someone who thinks they know how a person should learn programming. W3Schools is like an old dictionary. A dictionary isn't particularly helpful when you're trying to learn a foreign language properly, but it's quite handy when you're face to face with a foreigner and you need to think up a word for "toilet paper" quickly.

I use W3Schools when I need to remember something quickly, and MDN when I need to learn more deeply about it. When I write CSS, I always keep W3Schools open in one tab and MDN in another tab. I wish somebody would link W3Schools' lists to MDN's details. That would make the best of both worlds.

> But W3Schools also carries some of the most easy-to-use indexes of pretty much everything related to web development.

Which is why I use it. Any competitor needs to beat it in this department.

I find mozilla developer network (mdn) blows away w3schools in all ways.

e.g. compare these two for CSS "display":

http://www.w3schools.com/css/css_display_visibility.asp https://developer.mozilla.org/en-US/docs/Web/CSS/display

MDN is more detailed, more up to date, and says in which browsers it works or doesn't work. w3schools doesn't even have a list of all possible values.

Or for JS "getElementByID":

http://www.w3schools.com/jsref/met_document_getelementbyid.a... https://developer.mozilla.org/en-US/docs/Web/API/document.ge...

MDN just always explains more details and edge cases, and has much more browser compatibility info (including for mobile).

"I find mozilla developer network (mdn) blows away w3schools in all ways."

Couldn't disagree more.

Don't get me wrong, MDN has way better information but take yourself through the eyes of someone who just needs a quick reminder or sample of how to do something.

I'll use a 1280x800 screen sample since that's a common size.

Compare this: http://i.imgur.com/Tvg04Pr.png

with this: http://i.imgur.com/gG7BIJF.png

Above the fold, one is a very quick and easy way for users to copy code and modify it for their purposes. It's also stupidly simple language. To make a box shadow, do this. The other has undisputedly better technical data but forces you have to scroll below to just see a sample code. And most new coders wouldn't understand how to read their syntax section. On top of that, w3schools lays out values in tables whereas MDN has paragraphs of copy.

By no means am I arguing that MDN doesn't have more detail, but I can definitely see why W3Schools is still used by those who know better.

>MDN just always explains more details and edge cases, and has much more browser compatibility info (including for mobile).

It does so at the expense of speed of understanding. Better for some people, worse than others. As a speedy reminder of syntax or form, w3schools seems superior.

THIS! The thing that really ought to replace W3Schools is MDN.

Really? I just did a quick comparison, and w3schools was much better than MDN. Try looking for info on the 'required' attribute of the input tag. w3schools has all the attributes in a compact table making it easy to find the attribute you're looking for at a glance, whereas MDN has a big long list. In w3schools you can then click on the 'required' attribute to get more info about it and see which browsers it works on. In MDN there is no info on browser compatibility in the 'required' description - you have to scroll down to ANOTHER table (there is not even a link to it) to see what browser it is compatible with! Come on, even back in web 1.0 we had links to stuff!

The reason that w3schools is at the top of the search results is that more people find it useful that MDN. Perhaps it isn't as cool with the hipsters as MDN, but for people trying to get things done w3schools is more useful in my opinion.

I guess it's really just a matter of personal preference. I switched to adding 'MDN' to my search queries out of gut frustration with having to parse through the W3 pages.

I think the comment about 'hipsters' is a little shallow, but it's interesting that this is so divided. I really assumed that HN would be completely in the tank for MDN.

The hipster comment was related to the fact that the article is complaining about ASP, "tight layout" and "icky". I don't use ASP myself, but it really doesn't have any bearing on the content. I don't mind the ads myself (they're fairly unobtrusive), and the layout is acceptable.

I like nice designs myself (I'm currently building a new site and I'm getting inspiration from roon.io and other beautifully designed sites), but I'm also quite content using sites that have less-than-ideal designs if they do the job that I'm looking for.

I've never heard of mdn before this thread somehow. But w3schools is perfect for looking up the things I tend to look up (mostly CSS or HTML attributes) and it's really easy to parse. Plus it's always the first google result for me.

What do you use then as "official" reference for Javascript?

You never used MDN? How long are you developing web sites?

I've been developing websites since 1996 myself, and MDN hasn't really been on my radar for an html reference. I did use it extensively back in 2009 when I was doing work with <canvas>, and back then MDN didn't really have a general html reference. I think it's only in the last couple of years that MDN has really developed their reference documentation.

So, if you've always used MDN you really must be a young whippersnapper :)

I think MDN has an advantage in that they've only really been around since HTML5 has become standardized, whereas w3schools has had to deal with the changing standards of html4/xhtml/html5.

"I think MDN has an advantage in that they've only really been around since HTML5 has become standardized" => HTML5 is not a standard. Nowhere near so. Whatever you mean by that, MDN is as old as Firefox anyway.

"...whereas w3schools has had to deal with the changing standards of html4/xhtml/html5." => These differences are 99.99% additions, so don't impact documentation that much. In any case, documentations is more relevant is it documents implementations, not standards (which come after implementation most of the time, not the other way around until recently)

That's just not really needed, it's so elitist.

Since 2001.

Stackoverflow seems to be the place where my JS searches lead me.

Perhaps more useful if you already know enough to know when to ignore the awful or wrong parts of w3schools.

Damn those "hipsters" and their preference for valuing getting a real useful answer over an easy to read wrong answer!

Please give some examples of the "awful" or "wrong" parts.

w3fools.com had, at one point in time, a long list of "awful" and "wrong" parts: http://web.archive.org/web/20110117085131/http://w3fools.com...

I had a look through quite a few of these, and they all seem to be fixed now. Also quite a few of the things mentioned are opinions. There were also a few instances where I noticed w3fools was wrong.

Anyway, I see why w3fools decided to remove the list of now-fixed "errors". Thanks for wasting 15 minutes of my time - I'll bill you later :)

PS, your website fails w3c validation.

I'm also a huge fan of MDN. Fun fact, if you use Duck Duck Go you can add "!mdn" to constrain your search to just MDN. It's now my #1 way of searching for HTML tag properties and CSS syntax.

You can do that with Firefox's bookmarks (last I looked) and Chrome's "search engines" (and there's probably something in Opera or Safari) using any URL you want, %s in the URL will be replaced with your search.

Indeed. I'm always ashamed of using it, but I have a stupid tendency to forget css selectors from time to time (I don't do web design or tweaking that often) and the same goes for how string.match or regexp.test or the likes in JS.

Never be ashamed of looking up a reference if it saves you time, besides web standards are too much of a moving target to bother committing all of them to memory.

I suggest memorizing it. Knowing it from the top of your head is much faster than googling or looking it up. That being said, a reference is helpful in the beginning stage.

I been at this since the mid 90's and I really can't be bothered committing it all to memory every time it changes.

I keep meaning to buy a copy of this - http://www.visibone.com/products/everythingbook.html - although my standard memory jog for web development is still "view source", same as it ever was.

For me it's not only web development, is most of the CS stuff I need when coding.

Probably it is due to my training as a mathematician, but I usually just keep an index of what I know and what it's used for, but I don't remember the specific details. I.e. Implicit Function Theorem can be used for proofs involving X, Y and Z under hypotheses H, unless you are fancy and go for H2 and more work. I just know what I need and where I can look it up – Nirenberg for fancy, any basic Differential Analysis text for the others, that Russian book on my shelf for a neat simple proof, Moser's for a simple proof and application, the list goes on with 6 or more 7 items. Well, this is actually stretching it a little thin, I could prove the basic differential versions without much trouble, and some functional versions given enough hypotheses.

When coding I'm more or less the same. I know there's a Javascript function that returns true or false when matching against a regexp, I just don't remember its name. Since it's kind of shelved in my mind as regexp test, I just look for this, and it's hole in one. Once I learn something I may not remember it exactly, but I have a pretty good "indexed memory" in the fact that I know that piece of knowledge exists and I've seen it, so I only need a few moments to dig it up.

Of course, I'd rather remember all CSS selectors and rules, or most of the Javascript machinery and the Go standard library. But I'm not doing this every day, so I just use it, every time I do a little more sticks to memory and the rest is easily found. If it got me more than 1 minute to look something up, I'd stick a big post-it in front of me until it sank, so far I have not needed it.

Reminds me of the Einstein vs Edison story about Einstein not knowing the speed of sound when he tried the employee test that Edison had developed. I read a nice take on that here - http://www.scilogs.com/the_science_talent_project/einstein-v...

Another example of the same (or at least something similar) is Alexander Grothendieck. See http://www.ams.org/notices/200410/fea-grothendieck-part2.pdf (start at the last paragraph of page 1)

By the way: that text is in the past tense, not because Grothendieck has died, but because he retired from mathematics in a quite abrupt way. See http://en.wikipedia.org/wiki/Alexander_Grothendieck#Retireme...

I just can't memorise everything I use so sparingly. If I did I'd still remember useless VBscript (or VB for Applications,) or Pascal. When I'm in X mode (be it Go, Python, Javascript or CSS) I only need to look up things in the first few hours, after a while it's in working memory for a few days. Then it slowly fades, although I usually remember pretty well the general way to do X or at least, what to look for for what I'm interested in.

Why does speed (what, like at most a few seconds?) matter in this case? Just a waste of memory if you ask me.

Anything legal and ethical that saves you time is nothing to be ashamed of. :)

I forget function names or math formulas all the time too. :P

Exactly. I use W3Schools for reminding myself of certain CSS properties and tasks like that all the time. And I'm not ashamed.

For a long time I always forgot the order of the 4 arguments of the margin/padding properties (it's top right bottom left). I always used w3schools to look it up. I use w3schools just to lookup attribute and CSS property names/values etc. It has a nice tree at the left side and concise tables of possible values. If anyone would want to prevent me from using w3schools he/she has to replicate this. It could use some updating and better information about browser support (maybe from a shared source with caniuse.com). I didn't even know that there are tutorials and such on w3schools.

You might like to try http://devdocs.io/

This is fantastic, thanks for sharing. Now I just wish there were something like this for Python/Django...

Thanks for sharing this! I've spent only a few minutes in the site and loving it so far!

I much prefer MDN as a reference. The examples are better and overall it doesn't feel so outdated, important in web development. Just put MDN in your search query.

Agreed. Talk is big, but this person hasn't done anything. Heck, they could have thrown up a wiki and written a little one sentence starter page about each CSS tag in the time it took them to write the post, then ask for contributions.

Out of curiosity, what examples are insecure?

Pretty much every PHP + MySQL example.

For example, SQL injection: http://www.w3schools.com/php/php_mysql_insert.asp

Perhaps to their credit, they have a two-part tutorial on email sending, one titled "PHP Email" and the other "PHP Secure Email". Also, their form handling tutorial is followed by another tutorial on "validation" (by which they seem to mean a combination of HTML escaping and outdated defenses against SQL injection). But most people are just going to copy and paste the first tutorial without looking at the second.

I can't speak for anyone else as I don't and have NEVER used W3Schools for anything related to PHP or MySQL but used PHP's manual and MySQL docs for anything, but when someone needs help and asks me, I usually use my experience and write up a quick example and do not go through the whole sanitizing of inputs and that, as they're just an example and sometimes are written right on the spot but I do let them know it's only an example and not to be copy and pasted into their documents and that they should properly secure their stuff with input sanitization.

Their SQL examples don't seem to perform any kind of input sanitization. They just use raw $_POST.


I give them credit for using MySQLi and not mysql_* though. I still suggest PDO.

My background: In my free time, I teach web development to complete beginners, for the SF GirlDevelopIt chapter (using http://www.teaching-materials.org/). A few observations I've made:

1) For the sort of things that they are trying to learn (basic HTML tags), W3Schools is a great resource. It's clear and fairly up to date. No other resource has managed to overtake them for beginner friendliness. I was hoping http://docs.webplatform.org/wiki/Main_Page might, but right now it seems like just a skin over MDN and searching doesn't work so well. I don't know if they've given up or what. (One idea: You could help them)

2) After I teach the second HTML lesson, I will explicitly show students "okay, here's how you search for HTML help on the internet." At that point, I'll show them W3Schools and MDN and explain the drawbacks/benefits of each. Don't know how much of that sticks with them, but it's worth a shot.

3) It took me a long time to put together HTML/CSS/JS curriculum. I first started several years ago, when teaching our first workshop, and have been adding to it since (and there are still more topics I want to add). I did also start video taping my lectures, as I figured it could be a resource for people who didn't make it to the workshops, and that also took me a long time - about an hour to record and edit a 10 minute video. So, I support anyone putting out more great knowledge material in the world, I just hope you have a fair amount of time allocated to work on this, so that you can it proper justice.

4) I recommend having a test audience for your material, like somebody that you tutor, so you can see how they respond to it and where their knowledge holes are. Also, a feedback button. :-)

In regard to (1), I've been finding recently that I'll look up a CSS property, and it lists the properties and has an example, but I find it's really crap for actually learning anything because the example doesn't actually show you the output. And more than example with screenshots and explanations of each would be useful to actually learn how to use it...

I've been deliberately avoiding it for ages now.

Umm... don't they have that very simple (yet pretty cool) "Try it Now" button? they let you play around with the stuff they teach so you can get the hang of it

Thanks for the feedback, I really appreciate it.

Honestly, I had no idea this idea would strike a nerve like it has. Now I have more motivation than ever to incorporate feedback and make this a valuable thing for us all to have.

W3Schools has countless inaccuracies and contains multiple utter falsehoods based on conjecture from using IE6 and not from reading specs.

Funny that for all of the people in this thread who has described W3Schools as sucky (countless!), only two have supplied any examples and those were for PHP-MySQL concepts.

I've had a lot of people tell me to start using MDN, but--don't hate me--the thing is I generally find W3S easier to use and more useful (at least for the basic stuff I usually need to Google for). I hate to admit it but I continue to use W3S even if it is at least partially because it's usually the top result, even when I make the effort to scroll down to the MDN entry I'm usually rewarded with something tangentially related and/or missing the actually thing I needed to know.

That said I think there is definitely a lot of room for improvement, I just haven't found MDN fills that gap yet so I wish the author of this luck but I hope they realize MDNs folly. Ad free isn't necessarily better. W3S is, despite it's flaws, fairly simple, easy to use and understand (mostly) and the relevant results almost always show up at the top of a Google search.

I don't think one should be hated for opting for the quickest resource. W3S arguably does have a better design. Some people look for examples in finding out how to code something and as you mentioned, W3S is almost always usually at the very top of the page with browser compatibility at the bottom.

It would be interesting to test out a feature where the user could select simple vs. complex document layout.

Thanks so much :) That's great feedback.

And yeah, I totally agree. The site navigation for Mozilla Developer Network is really terrible. And the open wiki -- crowd sourced -- style of content editing means there is no consistency.

I land on W3Schools all the time when I'm looking stuff up, probably more so than StackOverflow. I just think we really deserve something better.

It never had a problem with MDN, but MDN is a lot. our detailed, so I see why it might potentially be hard to use at first.

Takes some time to get used to changes, even if said things are an improvement.


1) Excellent site look and feel.

2) Juvenile language and problem statement. Off putting pitch to developers that found W3Schools useful. At some point it'll have to switch to a more professional approach.

3) Reading between the lines, apparently the author's goal is to crowdsource basic tutorial development with a long term for profit motive involving premium content. While transparent to mention this up front, it leaves me uninterested in participation.

Juvenile language and problem statement.

You really took the high road with this understatement. If OP didn't reference he was in his senior year of college over a decade ago I would've thought he was an angry young teenager.

Yeah i got that too cant people just get a book and read it - thats what I did on my first web project back in 94.

Played around at lunch times a BT and volunteered for a month in Edinburgh on secondment brought the only book on HTML published at the time and read it through a couple of times on the train up to Waverly station.

Your own site currently consists of smack talk, memes, and a mailing list button. How about you focus on creating great content instead of link-bait headlines, and let your work speak for itself?

Exactly. Just do it, come back when you've got some content, and then ask for help promoting it.

Agree. The blog post spews a lot of hatred for a resource that is meant to "help" people.

This is part of why I think I've developed a reflex, after searching Google, to skip over the first few results after the sponsored links and start looking near the middle of the page. W3Schools, Wikipedia, and a few others. And it's a great example of the central failure of the pagerank idea: if the strongest signal is popularity measured through linkage, the highest quality results will rarely be at or even near the top. Right now Stackoverflow is good and deservedly ranks highly, but I fully expect it to be supplanted in Google's search rankings by an inferior copycat within a few years: one that just happens to generate more revenue for Google by carrying more advertising.

> W3Schools, Wikipedia, and a few others. And it's a great example of the central failure of the pagerank idea: if the strongest signal is popularity measured through linkage, the highest quality results will rarely be at or even near the top.

Actually, I find that the top ranked things usually have what I was searching for -- often that's W3Schools or Wikipedia. I'm not a big fan of W3Schools site design, and I wish they had output examples, but, really, the site design isn't bad enough that it makes it unusable as a reference, and usually when I get it at the top of a search results page, I'm usually looking for a quick reference.

>but I fully expect it to be supplanted in Google's search rankings by an inferior copycat within a few years: one that just happens to generate more revenue for Google by carrying more advertising.

Google does not take revenue into account in its ranking, or the decisions on how it changes its ranking. It is neither a signal, nor does it influence which signals are used.

I know that is what they (you?) claim, and I don't have any real evidence to the contrary. The contrary hypothesis, however, explains some otherwise puzzling behavior in Google's search results. So I would like to know if you can offer any evidence for your claim (statements by Google employees are not evidence).

What is this puzzling behavior?

For example, the frequently remarked (here on HN and elsewhere), persistent outranking of high-quality, ad-free sites by spam sites, or other lower-quality URLs, that invariably contain Adsense units.

Do you have an example query?

If you are paying attention to the subject of the article and most of the comments on this page, you should have no trouble generating one yourself. Just search for anything involving basic html or css, like, say "html title tag", and see that the first result, and often the first three results, are to an inferior site (w3schools) sporting Adsense ads. Then there are some more like that. The high quality results (w3.org, mdn) start halfway down. None of these have any advertising, and so they generate no revenue for Google.

Half of the people in this thread say that they like w3schools, or even if they don't like it they use it all the time. That is sufficient to explain why it ranks well. Now imagine that the average person issuing these queries is less sophisticated than the people commenting in this thread ...

Among people here who have commented on the comparative quality of these sites, it is almost unanimous that w3schools is far worse than the others I mentioned, to the extent of it actually being dangerous to use. Your reply amounts to a claim that w3schools outranks the higher quality sites in Google's results because it has higher pagerank. Frankly, this is the expected reply. If that is the whole story, it confirms my earlier claim that there is a fundamental flaw in the Pagerank algorithm that conflates popularity with quality. The hypothesis that potential revenue is in fact a signal influencing search rankings is still very much a contender. Not to belabor this, but the protestations of Google employees should not be considered as evidence one way or the other in evaluating whether this hypothesis explains the data.

There's a balance between popularity and quality that we try to be very careful with. Ranking isn't entirely one or the other. It doesn't help to give people a better page if they aren't going to click on it anyways.

You might be interested in this: http://searchengineland.com/too-many-ads-above-the-fold-now-... Google demotes pages that have too many ads, including Google's ads.

You seem to be saying that there is something besides "quality" that influences the ranking of search results, which I find surprising. I thought the idea was to return the best quality results, but there may simply be an issue of semantics at play. When you say "popularity" here I suspect you have in mind something different from what I had in mind when I used the word in previous comments. Can you explain what kind of popularity you mean here (how is it measured).

"It doesn't help to give people a better page if they aren't going to click on it"

I think you've lost me. Don't people tend to click on the top result? And isn't the idea to put the highest quality results at and near the top so people go there? How could it possibly be helpful to the user to not offer them the best quality results?

I looked at the link you provided, but I'm as confused as the author. Isn't there a limit of three Adsense units on a page anyway? As the author points out, Google suggests to publishers that they use the maximum number of ads, and specifically (see the heat map) that they put them above the fold. Then it appears they've decided to penalize publishers who follow this advice. The only way for this to be consistent is if they're only penalizing pages displaying competing advertising products.

The author also shows a screengrab of Google's own results page, where we can see that everything visible on the monitor is sponsored content, with no organic search results at all.

Frankly, I'm perplexed about what point you were trying to make by suggesting this link, but it was interesting.

Suppose you search for something like [pinched nerve ibuprofen]. The top two results currently are http://www.mayoclinic.com/health/pinched-nerve/DS00879/DSECT... and http://answers.yahoo.com/question/index?qid=20071010035254AA...

Almost anyone would agree that the mayoclinic result is higher quality. It's written by professional physicians at a world renowned institution. However, getting the answer to your question requires reading a lot of text. You have to be comfortable with words like "Nonsteroidal anti-inflammatory drugs," which a lot of people aren't. Half of people aren't literate enough to read their prescription drug labels: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1831578/

The answer on yahoo answers is provided by "auntcookie84." I have no idea who she is, whether she's qualified to provide this information, or whether the information is correct. However, I have no trouble whatsoever reading what she wrote, regardless of how literate I am.

That's the balance we have to strike. You could imagine that the most accurate and up to date information would be in the midst of a recent academic paper, but ranking that at 1 wouldn't actually help many people. This is likely what's going on between w3schools and MDN. MDN might be higher quality, better information, but that doesn't necessarily mean it's more useful to everyone.

I don't have the slightest idea why you're getting downvoted because I think that's a valid observation.

First downvote was < 60 seconds after I posted. There are at least a handful of Google employees here. EDIT: and yes, I deserve the downvotes I'm getting for this useless meta-comment.

Quite some people, even professionals I've encountered, think that W3Schools is related to W3C.

They leverage that misperception to sell useless 'certifications' - over 10k sold so far (at $99 each), they claim.

I dunno, seems to me that prospective applicants trumpeting W3Schools certifications is a valuable signal...

Yeah, I thought W3Schools was an endorsed site of the W3C for a long time -- like years.

This is why we have trademark law.

The W3C have explicitly asked them to disavow any connection to them, multiple times. W3Schools have, obviously, refused.

Why not throw your support at https://developer.mozilla.org/? They've done an amazing job of documenting HTML/CSS/JS.

I really love MDN, and in some ways I feel guilty for doing this. I've been a MDN contributor.

But the MDN information architecture/navigation is terrible, the crowd sourced content is inconsistent, the pages load very slowly. When you put it all together, it's difficult to focus on winning the search engine game with those flaws.

There was a "Better JS docs" movement a few years ago that moved the needle a little, but in the end it was just the wrong content to do the job.

MDN is, in the near future, launching a redesign. Might be worth checking it out.

(source: I work for Mozilla, on MDN)

> the crowd sourced content is inconsistent

You don't plan on crowd sourcing content? You're going to write all these documents, tutorials, cheat sheets and videos by yourself?

You realize there used to be these very useful, very accurate things written by either one or very few persons ... they were called "books" ...

They were kind of a crazy idea, I admit ...

What kind of support are they looking for? and will this solve the problem or is it a different kind of problem they are solving?

I've conditioned myself to prefix any HTML, CSS or JavaScript question with "mdn" so I get Mozilla's docs. They're always excellent in my experience.

I do the exact same thing; MDN is an absolutely brilliant network and anyone can contribute to it.

W3Schools is nothing more than a simple to use (google) and navigate (google) collection of pages with tons of reminders to jog your memory about what exactly it was that a specific css selector or html tag did again.

If you use it to learn PHP programming you're doing it wrong. If you use it to learn MySQL, you're doing it wrong. If you use it to learn how browsers work, you're doing it wrong. As a Cliff's notes for HTML and CSS, however, it is more than adequate.

I have a confession to make and a risky one, well to the extend of every karma I got. I own http://www.w3fool.com/, the one with missing 's' and you don't want know where it redirects to. I bought it when I saw it at an expired auction. I couldn't stand at thought of a website existing just to shame another.

On one hand, I agree with most of you that W3School isn't accurate or up-to-date or is riled with example that have security holes but on the other I am really thankful for them for getting me into web development. Back then there weren't much options, W3School was the easiest and the best we had. I remember sitting late nights learning to build simple web apps by referencing W3School every few minutes. Getting someone interested into something is very hard, to get a kid interested in sports, you don't start with a ruleset, instead you give him a start and correct him as he makes mistakes. That start was what W3School was for me.

Although I have been defending it, I think they should expire/update w3school. Times have changed and there are better resources to take its place.

> I own http://www.w3fool.com/, the one with missing 's' and you don't want know where it redirects to.

I did want to know where it redirects to. I was happy that my curiosity didn't lead me to goatse or the like.

Ah, the joys of linking W3Fools to everyone who even mentioned the word "W3Schools".

I wonder if anyone's made a Reddit bot or something of the sort to do just that automatically?

I can't really think of another article where posting that link would be more appropriate. Seriously now, we're talking about the flaws of W3Schools. How is W3Fools not relevant here?

@mathias is actually one of the contributors http://www.w3fools.com/#contributors not a bot.

I was expecting to see some examples about why there are so much hate in W3schools but I didn't find any on this rant.

I remember to have seen some bad examples showing bad habits but to be honest, I have seen more people ranting about W3S than bad examples on the website, maybe it would be more useful to show why W3S sucks that much.

Members of W3C have asked W3schools to make it clear that there's no link between W3C and W3Schools, but W3Schools declined.

W3Schools offer "certification" - (http://www.w3schools.com/cert/default.asp) - of dubious value. This is troublesome because people know of W3schools, and sometimes think there's a link between W3schools and W3C.

Indeed that is misleading but that doesn't invalidate the content though.

Its only misleading if you know what w3c is. And those who do know what it is probably figure out the difference quickly.

This points out some good reasons to dislike it. http://www.w3fools.com/

Why does nobody ever mention HTML Dog? I learned all the basics the right way reading from it, the ideas behind them, and what to avoid. It's a seriously great website (and formerly a book, I think? I was a penniless teenager back when I read it), serving as both a tutorial and reference, and it's been around for a really long time.


For everything else, there's http://www.quirksmode.org/ and Stack Overflow ;)

That and http://htmlgoodies.com

I learned everything I know about web development from htmlgoodies which has been around for long before w3schools came on the scene.

W3Schools is popular, but also note that it engages in SEO chicanery to rank highly and bypass the "block this domain" option in Google.


'Why' is easy to state for things like this. 'How' is a lot more work.

Also, given that w3schools is a non-profit, why not just help them. Yes, they have adverts, however they state that their aim is to always have everything on the site freely available, rather than a business plan of "Actually, I hope to make a living by selling high quality video tutorials", which leads to perverse incentives to keep the quality of the free stuff low, to stop it from outcompeting the paid stuff.

> given that w3schools is a non-profit

Really? According to Wikipedia it’s a commercial company.


The footer on the w3schools site states “Copyright 1999-2013 by Refsnes Data.”

Company site: http://www.cprenterprisesonline.com/elearning/about/about_re...

Why would you reference a wikipedia article to support your position without reading it through?

from the article - "W3Schools is not for profit, while maintaining normal W3Schools operation is very expensive."

The holding company may be for-profit in some things, but it would seem that w3schools itself is not a for-profit concern.

As far as the fact that they copyright things, that doesn't tell us whether they make profit from it or not.

As far as I can tell, W3Schools is not a company, it is a project by a commercial company. That means they’re not tax exempt and any donations made to them can’t be written off. The company may not make any profit from the project now, but it’s unclear whether that’s by choice. Blackberry doesn’t make any profit, but that doesn’t make them a non-profit.

I use Google's Personal Blocklist extension (https://chrome.google.com/webstore/detail/personal-blocklist...) to block W3S from my search results, which usually results in the first result pointing to MDN.

I wow, that's a great idea. Thanks!

Honestly, I don't want to be too critical, it feels mean, but why all the childish stuff? W3Schools is not hurting you. Just because you saw a video with a basketball player saying he's learning to code, is not a call to action to destroy some site that probably, if we're being honest, has helped more than hurt, though yes it has "so badly hurt us."

Boycott Google if you're so angry that they come up so much.

I'm not sure how videos are the answer ... that is a different problem, videos, despite their popularity, are pretty inefficient for a reference.

Let's face it, beginners will make mistakes no matter what. Create an alternative that is good, with quality info, and easier to use than W3Schools but let's be adults about and just do it first, then get on the soapbox. Google will award you if you succeed.

Jeff Atwood belittled EE to no end ... but he actually created Stackoverflow, so he won the game. Just hating on W3Schools will get nowhere.

Key quote: "Any one of us would be lying if we said we didn't learn plenty of web development from that site when we were getting started."

I've found w3schools to be a fanastic resource for my students. I've used it myself to learn the basics of the SVG format and as a quick way to look the syntax for arcane things I've forgotten.

If w3schools didn't exist, we would have to invent it.

The OP seems hell-bent on destroying a popular web resource. He would be better served to generate improvements rather than trying to raise an army to kill it (see the "I'm In") button at the bottom of the page (without an "I'm Out" button for those who dissent).

If you need to direct your hate somewhere (his words from the article, not mine), there are plenty of better targets (for example, MSDN could stand a few improvements).

Skimming the comments, there are two camps on W3Schools, those that find it an abomination, and those that find it useful as a quick reference.

It's replacement(s) should disaggregate the goals of programming quick reference and beginning instruction, realize those are different things with different design needs.

And maybe all other sites should learn the value of putting the information that covers 90% of use cases above the fold.

We've gotten a little too impressed with scrolling and the infinite canvas of a webpage, underrating the usability impact of scrolling around to find information, and the beauty of having everything fit on one screen. (I know, dealing with resized browser windows and different sized monitors and high-DPI is hard, but there would be gains...)

Sitepoint produced a good W3Schools alternative - http://reference.sitepoint.com

> These are really great resources, and I highly recommend them, however, they don't rank high in the search results. Like it or not, the googles is the gateway to the craft of web development, and anything more than an incremental improvement in learning needs to rank well to have an impact.

Wouldn't a much easier path be to help those resources cited improve their search results? If w3schools falls down to the second page on a Google search, no one would be having this conversation. There's nothing wrong with wanting to build yet another online learning resource, but if the goal is really to just get people to stop using w3schools, it doesn't require building yet another online learning resource.

Why does the author find the young female Java students pictured on the other site insulting?

Maybe because it is typical cheap poorly-shooped up stockphoto tripe that appears to be intended to appeal to naive but sincere neophytes for the purpose of roping them in, sucking their money, and giving them a useless certification. Such certifications are more likely to serve as a warning to the potential employers who know better, and have the tendency to discredit education in general when an unsuspecting employer is duped by one.

Double negative points for targeting women, making it harder for them to pursue a career.

Yes! I hate this innuendo. Why? What _really_ is wrong with these pictures? "Tutorial Point seems to think that Java programming students look like this." Well, they haven't claimed that at all. All they did was use some stock photos of attractive women in their ads. Is that any different that in any other ad? Why is that insulting? It doesn't insult me. Why would it insult anyone?

"I know this is starting to sound like another labor of love, where I now ask you to hit the donation button at the top of the page and contribute to a GitHub repository. Actually, I hope to make a living by selling high quality video tutorials and other material outside of all the awesomeness you can get for free here at The HTML and CSS tutorial. I plan on making a living at this someday; with your help."

Let's just put that up and center and keep it honest. It does feel pretty bait-and-switch since you even apologized for the open-source feel and are really begging to make your project #1 on web development google searches and make you rich in the process.

I have personally found that Tizag[1] provides a much better HTML, CSS, PHP, and MySQL tutorial than W3Schools while still having a really easy to navigate website. Instead of reinventing the wheel all the time, maybe we should all focus our efforts into making the Web Platform[2] better or encourage people to use higher quality websites like Tizag.

[1] http://www.tizag.com/htmlT/ [2] http://www.webplatform.org/

Wow, such hubris. And negativity. Geez. With, apparently, nothing to show yet. But big plans to be #1.

Though I appreciate the list of currently available resources and have saved the link for that reason.

more excellent points here : http://www.w3fools.com/

I have stopped going to W3C schools for various mentioned in the above website.

> "Any one of us would be lying if we said we didn't learn plenty of web development from that site when we were getting started."

W3Schools was launched in 1999. I was "getting started" with web development well before that.

I often use it, via Google, as a reference source now, because its good enough as that. I'm not real attached to it, but don't see the reason for the hate. It may be that the introductory material isn't the best for most users, but, you know, even when books were the main source of tutorial material, you couldn't always rely on whatever book was merchandised in the most prominent position with a title that seemed to be on point for what you are looking for, you comparison shopped, looked through several, and figured out which one spoke to you. I'm not going to develop "hate" because the digital equivalent of the most-prominently-merchandised title isn't necessarily the best for all people. Its a lot easier to check out multiple sources from a search results page than it was to check the limited selection at multiple bookstores to find the right resource, and, ultimately, what is the best learning resource for you is a subjective thing.

I used to use http://help.dottoro.com/ when I was learning to program. I would recommend it if someone was looking for a good go-to doc. But for quick reminders (which is rare) I use generally MDN or read the official spec.

They (help.dottoro.com) also have links (when available) to the Microsoft Developer Network, Mozilla Developer Network, Safari Developer Library, and the official W3C spec, which can be helpful. The only thing I would really change about their site is the URL structure. Completely nondescript and not user-friendly.

Once you move from using W3S to MDN or really anything else there is no going back.

CSS's display:

W3S: http://www.w3schools.com/css/css_display_visibility.asp

MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/display

Dottoro: http://help.dottoro.com/lchnsqsb.php

> ...the use of Microsoft ASP...

So the use of ASP makes a resource "unworthy" already?

Why should I buy in? just because you blamed w3schools as other guys did? you win by providing something better, at least show something instead of just talking, do you have any of those? how about one chapter for CSS3 to give me a basic idea that why you will be better? It's never a good way to start by blaming someone else publicly while you have _nothing_ to offer on the table.

If a network uses a filtering system and blocks certain keywords, we can modify the W3Schools URL as follows, and submit the URL to search engines:

cialis.w3schools.com vardenafil.w3schools.com levitra.w3schools.com milfcuckold.w3schools.com

We can't get rid of W3Schools, but we can demote and disavow the URL on Google SERPs.

We should submit the link to mechanical turk services on fiverr·com and get the links demoted on Google that way.

It is advertised that bulk submitting a URL into spam-silos helps with SEO, when infact Google hates this and implements their Panda algorithm if this occurs.

It could backfire and increase SEO temporarily - but because we are practicing 'paid links', Google will punish the site owner for this. I think a crack team of Internet vigilantes should link-blast the W3Schools URL into spam-silos, and the W3Schools problem can finally go away.

It's not W3S's fault, it's Google's fault for misjudging the value of sites they put on top. Essentially you're on a quest to win the attention of Google, and this often is not correlated with the value you trying to built.

I'm excited to see a competitor to W3Schools if only to have a more useful, up-to-date index.

That said, a large part of the problem newcomers have learning to program is not the available materials, but rather the reason. I've seen many people start these tutorials but fail to complete them. They wanted to learn to code because it's something they want to know how to do, not because they had something to build. Programming is a means to an ends, a solution to a problem.

I'm not sure what the solution is, but a product that started with the reason why someone is learning to code or, even better, could give them a reason, would be very successful.

This is a good initiative, but it's a big task, so I think it's worth nitpicking now if you're going to have any chance of displacing w3schools:

Fix the font. It's too faint and if I were a newbie landing on this and comparing it to W3Schools, I'd immediately switch to W3Schools. Your site's wide body width also hurts readability.

I'm not trying to nitpick for nitpick's sake...coming from experience, it's harder to change these things (not technically, but mustering the will to do so) later on in the process. And readability is key in winning the masses over, and is not just a minor detail in relation to the overall goal.

Thanks so much for the feedback :) I about 70% developer and 30% designer, so I'm actually looking for a designer to hire and help me out with this effort.

Know anyone?

These are really great resources, and I highly recommend them, however, they don't rank high in the search results. Like it or not, the googles is the gateway to the craft of web development...

Same in alot of other spaces. Coupon codes for online shopping for example. We operate a site which carries the exact same coupons as the largest coupon site out there does, but the latter hogs all the rankings and is impossible to displace whilst ours goes begging. No obvious reason apart from the fact that they were around earlier when coupon sites were a novelty and picked up plenty of backlinks from media outlets for that reason.

I use the Personal Blocklist app in Google Chrome to block w3schools.com results. Additionally, I saw http://mdn.io website surfacing in the internet recently. I use mdn.io to get redirected to MDN without doing a Google Search. Examples:




W3Schools is why I installed Chromes Personal Blocklist extension...

I recommend the Personal Blocklist Chrome plugin (by Google). I have it setup to remove any w3schools results from my Google searches. Suddenly a simple search for "css background-image" returns lovely looking results, with MDN on the top.


It's a fine initiative, but its angry-teen, hatred attitude isn't very appealing. I think it lost a lot of potential contributors right in the first paragraph.

I'm not amateur web developer (I can kinda hack something when my main guy busy with something).

If W3School is so bad, can somebody suggest something better?

Something which follows Edward Tufte rules on how to make information concise, organized and discoverable.

The problem with many alternatives is that they are definitely visually attractive but unfortunately not very efficiently organized and presented. Maybe MDN has a chance but I haven't see any improvements on that front.

I used to use Webmonkey but it stopped being updated.

I used to keep a website of ASP, PHP, and HTML example and learning sites as a bookmark and kept them updated until my site got hacked and files deleted. I might do that again some day. Having a web site devoted to learning different web standards in programming is always a good idea. Just make sure you keep providing examples and lessons and don't end up like Webmonkey and just quit.

I think one of the reasons http://www.webplatform.org/ was setup was for this?

"Any one of us would be lying if we said we didn't learn plenty of web development from that site when we were getting started." Well, I remember where I was sitting in the summer of 1993 when I first read about the www -- while browsing gopher. I made my first web page in 1994. I can honestly I didn't learn anything from that site when I was getting started.

I learned writing compliant HTML and CSS by reading the specifications "from cover to cover" (or rather the online equivalent of that) in 2001 or so. A few years later I learned PHP and MySQL from reading the documentation on their official websites.

(Well, reading and trying it out on my own purposeless projects.)

Never saw W3Schools until 2010 when a co-worker (web developer) showed it to me.

I was tired of W3Schools good SEO so I use this Chrome extension to remove W3Schools from my Google search results:


Now MDN's JS and CSS reference shows up on top!

I use a chrome extension to remove their entries from my search results, along with quora, experts-exchange, etc


I wish Google would bring back actual results blocking, you used to be able to maintain a list of sites that would be blocked from the results and they'd be removed before the result set was returned so you'd never run the risk of an empty page that happens with this extension. Better than nothing though.

I agree but the mozilla dev site is so slow to load i often open a new window and find the same info from another site, I hope they tune its load time as it's a great resource. The dash app on osx is now my first choice currently.... i know the free version is annoying. I'd love some kind of cli.

1. W3Fools did this post a year ago, at least.

2. Your time and effort is better served contributing to http://webplatform org, which has the collective financial might of Adobe, Apple, Facebook, Google, HP, Intel, Microsoft, Mozilla, Nokia, Opera and the W3C.

CodePupil would be interested in helping out with this initiative and doing so in an open source/free manner.

We feel strongly too that w3Schools is outdated.

here's our interactive width & height exercise for newbies http://codepupil.com/ex1.html

Even though I use Firefox, the site says that my browser is not supported and I should download e.g. Firefox http://codepupil.com/not-supported.html

reminds me of: http://www.w3fools.com/

Do you know SEO? Cause that's going to be determining factor of whether you will be killing.

Maaan, we're here wasting our times.

If anybody is angry/upset/whatever about it just do your search excluding W3Schools from the results: "your_keyword -site:w3schools.com"

Do you know SEO? Cause that's going to be determining factor of whether you will be killing. a

Disappointed this didn't link to w3schools and this is not the owner of the site talking...

Google is rubbish, im a noob at css and html... i couldnt find at all the difference between class and id... hmmm DUCKDUCKGO TIME!!!!!!! QUACK QUACK

I just want to say there ARE some thing that W3School did right, and better than MDN: 1: Navigation 2: Give what its targeted users(newbies) need and no others

1: Just look at a random page in MDN's HTML reference. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a The top navigation (DOCS/APPS/FIREFOX/DEMOS/INVOLVED) are of no use to me if I just want to look for another HTML elment. The only way to go back to the reference page is back button(not many poeple would notice the breadcrumbs), the "Table of contents" is just a fancy decoration there(thanks, I can see the boldfaced enormous headings and I know how to scroll to what I want in a less-than-two page webpage). If you look at W3School, the left navigation lets you access to the page of the element you want to learn very easily. The top navigation bar is also helpful because I might just forget some CSS tricks while learning JQuery.

2. Still a tag on MDN. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a . For a newbie does he need to know "Charset : obsolete. This attribute defines the character encoding of the linked resource. The value is a space- and/or comma-delimited list of character sets as defined in RFC 2045. The default value is ISO-8859-1."? Should this "Usage note: This attribute is obsolete in HTML5 and should not be used by authors. To achieve its effect, use the HTTP Content-Type header on the linked resource." be put on the most prominent place? I believe the most being-looked-for attribute is href. Why MDN can't you put a working example on the top and leave your verbosity to the bottom? Look at W3School, whenever you visit a page, it just gives what 95% of people need: Very short description; an intereactive editor(this feature is awesome but MDN doesn't have it); working-out-of-box example; reference at the very bottom(that's where references should be put).

I do not hate MDN. I like Firefox and Mozilla and what people there are doing. But I feel things have come to a stage where some people, to show their passionate love for so-called "open source spirit", discriminate against bussiness effort to build better things although they don't have a better open source alternative.

Back to the article. I support what the author is doing, but unless you show at least some decent work, I won't donate.

To MDN maintainers: Please read some "The Elements of Style" by Strunk & White and some "Don't make me think" by Steve Krug, and improve MDN. You guys could have done better.

W3SChools is targeted to newbies, and they succeed as a great resource for learning HTML/CSS at least(That's what I used it for. I'm not learning PHP and SQL on it). Don't deny it, unless you have a better resource for NEWBIES.

I'm one of the "MDN maintainer", volunteering my own time. It seems like you have quite a lot of good ideas to improve MDN :-)

"To MDN maintainers: Please read some "The Elements of Style" by Strunk & White and some "Don't make me think" by Steve Krug, and improve MDN. You guys could have done better."

Over the years, I have noticed that lots of people have good ideas about MDN, but no one seems to care sharing them in a Mozilla channel or better, contribute to MDN! It's a wiki! Something is wrong or inappropriate? Go fix it! (appropriate channel: https://lists.mozilla.org/listinfo/dev-mdc )

It's also been over a year now that Mozilla is building the wiki behing MDN. It's an open source project called Kuma https://github.com/mozilla/kuma/ Check it out and contribute. I have not read the 2 books you're refering to. If you have, go share your ideas!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact