HTML: Poison or Panacea? (HTML Part2) - Computerphile
Vložit
- čas přidán 21. 04. 2016
- SGML 'theologians' were at war with Internet browser 'pragmatists' after Sir Tim Berners-Lee released HTML on the world. Professor Brailsford watched it happen
Part one of this series: • SGML HTML XML What's t...
The Professor's Notes: www.eprg.org/computerphile/new...
/ computerphile
/ computer_phile
This video was filmed and edited by Sean Riley.
Computer Science at the University of Nottingham: bit.ly/nottscomputer
Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com
I feel like videos like these highlight very valuable areas of modern history that otherwise get overlooked. Great interview guys.
There needs to be more pub meetings in the world
Best Computerphile video yet. Prof. Brailsford is always a joy to listen to.
+Jacco van Schaik Agreed, these are fascinating war stories :D
He could read a telephone book and I would watch it.
+whuzzzup SAAAME he's my fav of the computerphile people
+whuzzzup Him and Tom Scott are my personal favorites.
And I bet if he did, he'd mention PDF more times than STD.
One would believe having multiple browsers with conflicting ommission policies would be the worlds best incentive to write well-formed complete markup, since that would be the only thing all browsers could display correctly.
Livid Imp Of course (at least nowadays), but the point is that no matter what there would be people who cannot be bothered to make their code work on all browsers, and this would make it a lot easier for them.
idealists: Oh no, we need a clean structure with matching end tags!
Browser creators: Haha, html go
Great joke. I had the terrible habit (I've since corrected) of not closing my paragraphs and part of it was how seemed like almost the same thing.
underrated comment
These days JSON structure is (debatable) more popular than HTML/XML for API's. I wonder what professor Brailsford's opinion is about JSON. Would love a follow-up video about that! Great video, the war between the "high priests" and "pragmatists" is still going on today, and this story helps me put it into perspective.
me too
I lost it at the 'high priest' part.
+Mingwei Zhang Same
I also lost it because history shows they were right and the fact that garbage was just allowed to propagate in HTML meant it would be and remain the trash heap of a markup language that it's always been and if only engineers writing the software rendering took any of this seriously at all the world would be much better for it.
@@manawa3832 okay your holiness
@@coolguy-xd1bg okay trash
This man is an international treasure trove of historical information about computer science. These are incredible stories to tell, and he tells them SO WELL.
I love the way that he puts the entire modern world of computing into context for me. So many things I have wondered about. "How did this discipline or software develop?" Well, Brailsford was probably there! Ask him!
Such an eloquent man, a joy to listen to
This is wonderful! I need a playlist of videos that are just Professor Brailsford telling stories of early computing shenanigans.
As a professional web application developer I have to say that this was the most interesting Computerphile video up to date. Even though it is quite recent, the history of SGML vs HTML vs XML is very messy and very hard to understand.
This is super interesting, because everyone I've ever talked to now thinks the "theologians" were correct. Here we are today, in a place where it's not even possible to parse most real-world html, exactly because web browsers tolerate wrong stuff. When you work in web development, the fact that all these languages are inconsistent messes is a source of daily headaches.
+EdgeOfSanity DTD is still needed if you want to check that a document contains what it is supposed to. ie. You write a KML file, you should validate it against the KML DTD because even though Google earth might be forgiving about some mistakes in it, doesn't mean all map tools will be
+EdgeOfSanity wasn't xsd a better option for xml because it is written in xml itself - a superset.
+EdgeOfSanity {Deleted}
Looking back at that discussion. The "theologians" were right. Good coding practices are always a good idea.
Right in the engineering world, not in the business world
"We needed both" we still do. A night out on town is when ideas are born and panel discussions are where they're refined.
I've been following all of Brady's channels for years now. And I suppose as a computer scientist, one might think I'm biased here. Regardless, I think this is easily in contention for one of the most fascinating videos any of his channels have yet posted; even if he did grab some delightful videos of one of my lifetime heroes, Cliff Stoll.
Seriously, I normally hate to take my work home with me at the end of the day. I normally much prefer Periodic Table of Videos. But this monologue right here is pretty much a piece of history.
Thank you.
I always wondered just how this all happened. I've come across so many snippets and reference to the history, but this is the first time I've heard it as a coherent story. Love professor Brailsford's videos.
according to the W3C markup validator there are 66 errors on this webpage. no one watch the video!
+Nuskrad
LOL and bump.
+edgeeffect
To be fair, most modern browsers will warn you about errors, if you enable the feature.
You know if that would be the case website developers would be forced to fix all errors, so we would still be able to watch videos but on a more reliable site.
I dare you to retry in 2020 -.-
@@GutnarmEVE it reaches 95 errors before it hits a fatal error and stops validating
Last weekend I attended the Vintage Computer Festival, and Ted Nelson gave a talk about his Xanadu project. It was interesting to hear his comments about how the current Web diverges so far from his original ideas in the 60s.
Computerphile videos are always a treat, and this one is no exception. Thanks for posting!
I'd love to hear Professor's comments on different data serialization methods such as ASN.1, S-expressions, JSON, etc. :3
+qbz32 JSON in particular. It seem to be more and more used where xml was.
+Arthur Vieira simply because JSON is so very concise and easier for a human to read than xml.
+JuddMan03 You should take a look at s-expressions :)
Nah, those are horrible linked lists of un-named values. cdddar
+JuddMan03 JSON is only more concise if you're trying to represent Objects, which turns out to be a very common thing to want to do in programming. XML was never intended to be a serialization for objects; but rather it was intended to be a way to add metadata to a document. Problem begins when people starts abusing XML to serialize objects.
For annotating document, XML is usually much better than JSON. XML Namespace is necessary to allow you to mix and match different vocabularies into the same document. Also, XML has a clearly defined separation between data and metadata, which is useful for annotations. As of now, JSON lacks any sane way to define namespaces or metadata; and I don't think it makes sense to add such a thing to JSON anyway, given the problem domain it's trying to solve.
ASN.1 is probably more akin to DOM than to XML, so I don't think you can compare them directly. S-expression is a serialization for a hierarchical data structure, I don't see anything particularly interesting there; it's just like CSV is a notation for a tabular data.
Where are the lecture video notes he mentioned?
+Karl Kastor now linked, sorry for the oversight! >Sean
+Computerphile
Who, what, why, Edinburgh, CERN, Geneva, Nottingham 1975?
Great reenactment, great talk. Overall very entertaining and interesting video. As someone who has vaguely heard about this before, it's really fun to see someone who actually attended one of these meetings.
Someone pointed out a question to me. Was the first spec the only one drafted during a piss up or did that become the general tradition? As a web developer it would explain a lot.
Professor Brailsford has such a beautiful delivery. A joy to learn from him. Thanks Brady
Love this speaker. His stories, delivery, and charm are flawless.
I just needed to pause at around ~6:30 to comment on how much fun I'm having with this. The professor's narrations are pretty great.
I have been truly loving these sit downs. Speaking of pub nights, it would be nearly worth it to fly there and buy a round just to hear more of these.
Being a web developer by trade, this was the best Computerphile history lesson for me so far. Thank you!
It's great to once again learn that there are impassioned people with opinions behind the markup I handle every day.
Also, Brailsford is an excellent storyteller :)
Excellent! Please continue your wonderful downloads of Professor Brailsford's experiences and knowledge.
+Yan Wo downloads :D
This is exactly the type of content I value most from Computerphile. I enjoy some of the more tutorial-like videos as well, but the historical story told in this one is hard to find elsewhere. And hard to find told as entertainingly!
I love this guy! I've been in the field since 1998 so I only witnessed some of what he talks about, but I always enjoy the Computerphile videos that feature him.
Always a pleasure to listen to the professor!
Great video, Prof. Brailsford is a pleasure to listen to. I wish back when XML first came out they had pushed harder to switch HTML over to XML. The early pragmatic solution of allowing missing end tags and other things that would be considered errors in XML has caused so many headaches over the years. I hate to think of the money that has been spent globally trying to get websites working on more than one browser.
Glad do see that the meeting and discution goes basicly exactly like 20-30 years ago !!!!
"told them they were all correct"
Is this 450iq centrism
Looking at the rest of the history, and how broken IE was for so long, I wish the "high priest" was listened to even more. Great history, though!
Just looking at all the web devs complaining here shows that it was really bad idea for those pragmatists to throw away all the research that the SGML people did. Web development has been terrible and the fuzziness and forgiving HTML is at the root of it.
Really enjoyable set of videos you've got here, and funny enough, this is still quite the debate today.
This is great stuff! It's cool to get some insight into these meetings.
+kalevader Great stuff indeed
+Peter Davidson but will it blend?
Is there going to be a video about PDF? I would love to watch that.
Watch the one on PostScript
Great video, I had no idea about this history and found it really interesting.
TIL I'm a high priest.
I love this channel so much.
This video has given me a new appreciation for SGML.
These videos are phenomenal. Thank you.
Love to listen to him.
That was an absolute throw back to when I started learning HTML on Netscape. Great video!
Boy, if they only knew where we would have ended up these days...
Still bugs me needing to worry about webkit, moz, o, ms; especially within dynamically generated pages, ha.
Thanks for the great video. I'd love to see something on PDF from Prof. Brailsford at some point.
This is historically important stuff! Excellent!
7:40 I like how he describe people's disbelief that the theologians want the browser to behave like a compiler. If only they had listened, perhaps the web would be a better place right now. Web development would be so much better if there was a browser/compiler to shout at you if you made an obvious mistake, just like there is in most programming languages.
Thanks a lot for the informative post, a bit of history is always awesome!!
This man has a gift for storytelling.
Prof. Brailsford needs to put out an audio book where he just explains the history of... something... I don't really care what. I'll buy it.
Brailsford has such a emotive characteristic about him, even without the audio, just pause the video and go frame by frame using your arrow keys, I wish I could participate in his classes and let a little bit of that passion rub off on me.
Brilliant episode.
I very much enjoy listening to this guy
And who wouldn't, right? Every time a Computerphile vid comes along, if it's by Professor Brailsford, I'M WATCHING IT !!
I wish incorrect html would just display an error rather than partially working. Debugging web code is a nightmare
+Shaun Dreclin warnings warnings. It should not refuse to display something, but should display a "compile warning" not to the user tho.
+Shaun Dreclin There are error-checking tools, mate. Ever heard of linting?
Personally I love that html tries to work, even if you have an error. I have only done small projects (I'm learning), so I may change my mind I the future, but I love that I have a visual representation of what just got massively screwed up. It makes it easier for me to isolate the part of the code that's messed up.
+Ionlymadethistoleavecoments you will change your mind in the future.
Ionlymadethistoleavecoments
Sometimes it says lines, other times it says something else. But C++ is pretty low level. HTML is much simpler, it could have very helpful error reporting if it was strict.
awesome.. what would be equivalent conversation today for web dev?
I love the fact that I can style the UI of Firefox and Thunderbird (and not just the content) using CSS3. Have done this for years before the other browsers even could do it to web pages.
It is amazing how a couple of pints can help clarify things.
2:29 The anointed solution for separating structure from presentation turned out to be CSS. That, like HTML itself, continues to be a work in progress. But it gets more powerful over time. It can even do animations now.
Superb! Love this guy.
im sure ive looked into html and xml before and left it none the wiser. in the hour since ive seen this little demo i downloaded a source code, fiddled with it and what do you know it does what i want. thanks so much!
I'm one of those strange people who think the web page should display an error and refuse to display. It would have done a GREAT deal of good for making people adopt standard tags. Not practical I guess but in my ideal world broken programs don't attempt to run on like zombies without limbs. It would have killed off all the poorly written pages until their authors learned to write proper HTML. I would also offer browser "compliance" testing so browser vendors could claim compliance. In this way the browsers compete to be the most compliant for commercial success. Non standard tags hurt compliance.
+PixelOutlaw Except in PHP. PHP actually runs like zombie without limbs instead of telling you that you typed nonsense. I think that says something about the level of insanity that seeps from web development today. 100% agree with what you're saying.
+PixelOutlaw But it makes little sense to apply programming standards to document mark-up. Different philosophies for different applications. HTML isn't a programming language, so it shouldn't be subject to the same stringent rule sets.
+Vykk Draygo It makes for consistent interpretation across browsers, something which makes a lot of sense.
*****
except it's not government that decides how pages are going to work, internet isn't tied to any single country, so there's no reason for any government to be involved. It wouldn't be a censorship, it would first force people to write proper html, but more importantly, it would force browser developers to stick to the standards. They should have done it from the beginning, any reasonable protocol does it. There are tons and tons of other languages that are strict and you never hear about them, because that strictness makes them much easier to manage and write in the end. Strictness isn't an obstacle, it's a structure against which you can lean. HTML is missing this structure, you write stuff and you can never ever confidently predict what it's going to do in various browsers on various devices. It's absolute shambles.
MsSomeonenew
You're completely missing the point. This is not about websites being written out of standards, it's about browsers allowing websites to be written out of standards. It's the same story like DVD-R and DVD+R where two companies tried to outmaneuver each other by breaking existing standards. In the end it's end users who are worse off. Except DVDs are obsolete, but websites are to stay. Just think about how much effort is wasted daily by making websites for firefox, then tweaking them for IE, then tweaking them for different versions of IE, then chrome, then safari etc... You can't fix it by starting to write correct code now, it's too late, browsers (especially IE, that's where the IE hate came from) already screwed HTML.
But the "theologians" were right! The "pragmatists" have cost us millions of hours and of billions of dollars! One should never underestimate the value of a clear error message.
+Jeffrey L. Whitledge HTML errors usually don't cause much grief but as a dev, you can display them when you want for those edge cases where it's important to not have any.
Unless you're talking about web-dev and browser compatibility ( difficulty to display the same stuff on various browsers ) which has barely anything to do with displaying HTML errors.
I also fail to see where the millions of hours/dollars are wasted. They must have been largely compensated by the development and evolution of those underlying technologies anyway. ; )
you might want to watch the video again
Commenting so I get notified when more people comment.
"What kind of real world were [the theologians] living in? Because of course with this being an interpreted system and everybody's very excited about web pages, you are going to go for the browser that tolerates your inadequacies, because we're talking about hand-coded web pages. If it tolerates you and gives you some idea of what's happening and you can sort of see where I must've gone wrong, fine! But to sort of end up with a great long list of compiler error messages saying "Your page is deficient, try again, recompile." And so on, it's obviously not ganna go down well."
I think this is the crux. Now that we're in a maturer stage of web development, we can afford to have development environments that show errors and warnings when something's done incorrectly, but back then pages were just files with text, they weren't applications with libraries. I think to say that the theologians were right kind of understates the level of change that's occurred on the web.
And because of the tolerance of crappy webpages with horrendous mistakes in them, we have modern bloated browsers and nightmarish (and slow) 'quirks' modes abounds.
Half of what web browsers have to do is not display webpages for you; it is trying to figure out WTF the dipshit who wrote the page actually meant with their sketchy markup.
+Joey now i imagine a status bar reading "parsing... dafuq?!"
+Joey
Right on.
I don't know anything about webpages or html, but coming from C++ and Python it's hard to imaging a language or spec that shady.
+Joey Even with clean code, HTML is still a pile of mish mashed together garbage in desperate need of a replacement.
*****
Doesn't that make compounding the problem with unclean code much, much worse?
Joey "You're not gonna get the same performance out of C# as you will C.
It's JIT compiled and garbage collected. xD"
/whooosh.
We're done here, at least until you get some basic reading comprehension.
HTML5 will be described in future history books as a marvel of human ingenuity if not a wonder of the world. As bad as the nitty gritty of the history is, there were good reasons development was cavalier and pioneered by mavericks; it is fundamentally higher order 'digital evolution' in action. I am particularly amazed how persistent and sticky JavaScript has been over the years driving the DHTML concept. It is stunning how much it has been optimised over the years, favoured over the lack of a viable alternative despite its horrendous flaws. It is simply amazing that it works :)
Brilliant story. Fantastic.
If the closing tag was anonymous it would have been a net gain, wouldn’t it?
hello world
or something similar.
Beautiful. Thank you!
Prof. Brailsford, der beste.
I really like his videos
Page 371
Office Depot is an early adopter of XML, which it is using to facilitate e-commerce with its large customers.
this is such a sympathetic man!
Was this the Council of Nicea of the Internet?
I dislike the pile of mud that is html/css/javascript. For the most part I agree with the "priest" fraction in that things should be clean and well-designed from the start and that errors should be corrected, but I also understand that a working product now is better than near-perfect product 5 years from now when the competitors already took over the market. Or that people would prefer a browser that kinda works over one that displays an error message.
Agreed. He spoke of the 'theologians' with disdain, but it is actually hard to really understand why, because all they were trying to ensure was that people all speak the same language!
Will he (or some other professor) talk about CSS?
I cannot believe that I just learned this, but there is a word in ancient greek that works for both descriptions: pharmakon. It means both poison and cure at the same time, a contranym practically designed for a conundrum such as this. And I learned it because of an internet book that butchers a children's story from the late 90s. Gosh darn, language can be fun!
"To alcohol! The cause of, and solution to, all of life's problems." Homer Simpsons ep. 171
Please excuse my ignorance, but how then did we end up with XHTML (4) strict/non strict then giving way to html 5...?
I've wondered the same thing. I think at least part of it has to do with theoreticians coming up with an XHTML 1.1 spec that took things in a different direction from where the browser implementers, or the market to be fair, wanted to go. Perhaps the pace of standards bodies, the way the semantically tagged web hasn't really come to be, and the relative decline in the popularity of XML all have something to do with it. These are just my impressions based on limited knowledge.
The power of pints of beer! Awesome video.
In the long run, history proved that the SGML priest were right. It's the web developer's responsibility to make sure his pages are correct. If the browser did error our when the page isn't correct, he would correct it once for all. Instead of that, we spent decades with web developers worrying how their pages will render on other browsers because none of them enforce the correctness of the markup.
+Ceelvain Try applying these lessons to operating systems, you'll be even more horrified at the prospect of creating an application for 5 different OSes.
*****
Even in C (one of the most unportable languages) you can make portable applications by using a library that would abstract away the differences in OSes. With HTML, you just have no way of sidestepping the differences in browsers implementations. Well, today you'd probably get a javascript library. But JS only took off in the last 10 years.
Ceelvain We call that Java, Apple has its own version. =P
I AM A 13 YEAR OLD AND I AM LEARNING HTML THIS VIDEO IS VERY MUCH HELPFUL THQ
Super interesting! Thanks :)
Very interesting insight into the history, just what I expected with the different factions - just like every other computer language standards process.
I have to say - having endured so many years of badly coded HTML pages - the SGML crowd were right about one thing; syntax and structure checks should have been built into both server and browser right from the start. Web authors would have learned to code properly, quickly.
With hindsight, I just wish that Sir Tim had been a LISP/Scheme fan - s-expressions are so much nicer than SGML,HTML,XML,etc.
S-expressions are mush nicer in syntax and easier to parse, but an absolutely horrific nightmare of a thing for a human brain to put together correctly, and more over to find problems.
The only thing more difficult to work with is probably pure machine code.
S-expressions have the advantage of less visual clutter compared to SGML derived languages while at the same time maintaining unambiguous structure and the simplest possible syntax (almost none).
As far as reading and writing it, it is no different to HTML, pretty printing and indentation are critical to readability.
For a taste of what might have been check out Manuel Serrano's work "Scribe" & "Skribe" and their descendant "Skribilo".
Scribe has the fullest coverage of HTML and the documentation is amazing.
Obviously these projects are somewhat outdated, but just imagine: Scheme could have formed the basis of the mark up language, both server and client side scripting, database query language and style sheets. One language.
Unfortunately today's web designer has to cope with HTML, CSS, Javascript, PHP, SQL, and many more. Some of these are terrible hack jobs that their creators should be ashamed of (Javascript and PHP in particular).
5:37 "Such a shame that people never thought to write these(spec) properly"
this is really interesting!
How about an episode on Xanadu?
I Love this guy.
Would you be so kind and do a follow-up with successors like HTML5? It seems like ommitability was somehow a thing again...?
+MKzer0 I'unno about Prof Brailsford, but I could weigh in to tide you over? :B
When he mentioned "HTML rendered as a subset of XML", of course what he was talking about was XHTML, which took forever to ratify but finally got finished as XHTML 1.0.
While I wasn't at the conference he's talking about, I started out very much on the theologian side of things and hated omitted end tags, overlapping hierarchies and partial display. As soon as browsers (ignoring IE 6.0) were up to the task of displaying them consistently (early to mid 2000's) I was creating web pages and content management systems which output pure, 100% XHTML compliant web pages (even w3c i18n and a11y compliant, hello my name is perfectionism! :P) so that, in as ideal of a setting as I ever would see, I was granted the opportunity to live the high-life that these sticklers were clamoring for. (and yes, that EVEN means that web pages with the tiniest syntax discrepancy would flatly not be displayed in the browser! xD)
And what I soaked up from the experience (especially as HTML5 with html serialization was finally released to demonstrate a cleaner ethos for contrast..) was that it was simply too much work to satisfy the absolute bureaucracy of the strict standard. It was a fine example of Perfect being the enemy of Progress.
Writing a webpage was like playing Simon Says: "Oh, but you forgot this. Oh! But you forgot this, too!" etc, and always debugging and hunting for that one pesky atom of contaminant that snuck into the cleanroom. And writing a CMS became a nightmare of what-ifs, where there always existed some new variant of sideways content which could be input that either ruined the whole page on output, or for which you had to dream up a new *way* to translate the input into a format that would both please the parser *and* render the output desired. For anybody already on guard against XSS, CSRF, and SQL injection in the middle tier the last thing you needed was an additional taskmaster, *especially* one that had absolutely no reasonable impact on something as important as site security. :P
So standardized html serialization with HTML5 did bring back the omissible end tags, but it came with it's own syntax standard right out the gate which acts as a list of instructions clarifying when it's okay to omit them and when not as well as how far the interval extends if you did choose to omit. It did allow the mixed hierarchies, but again the syntax standard described precisely how to break up those overlapping intervals to form a coherent DOM tree, the same way that every other browser would be expected to. And via "quirks mode" it did authorize the browser to display documents which were malformed, but it did so through a standardized method of gracefully converting the incorrect code into something most likely similar to what was intended.. and again, guaranteeing the precise same result as any other standards-compliant browser.
And the result was a lot more human-friendly, a lot more like a search engine with well polished spell checking than a pedantic one that pretends to not productively know what you meant whenever you typo. ;)
But for the remaining theologians you still get to run HTML5 with XML serialization.
It's an absolutely tragedy that the theologians lost. Christ. The amount of headaches and heartaches that could have been avoided over the last three decades.
That's a fascinating story. Where are the historians gathering up stories such as these and their supporting evidence? This is part of the history of computing.
Brilliant.
This is a piece of history.
Great Story!
I gotta say, I have seen things in webpages where this error tolerance translates to messes of indescribable proportions. Occasions in which the best option would have been to burn the developer at the stake, not displaying an error.
what is XHTML and UML?
Very interesting.
Long live XUL! It is still my favorite desktop app styling language.
A debug strict web browser mode would have been incredibly useful.
+Daniel Astbury I’m pretty sure recent browsers only display an error message when you give them a malformed XHTML file (with the proper application/xhtml+xml MIME type). Besides, developer tools always let you see the errors and warnings.
13:52 In fact, DTDs are a bit of an anachronism with XML nowadays.