We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Webmasters, Full Stack Developers, and Other Legendary Creatures

00:00

Formal Metadata

Title
Webmasters, Full Stack Developers, and Other Legendary Creatures
Title of Series
Number of Parts
96
Author
N. N.
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Once upon a time, when the web was young, phones were dumb and people still thought progressive JPEGs were a pretty neat idea, there was a legendary race of beings known as... THE WEBMASTERS. They were brave, they were bold. Armed with a 56k modem and a stack of O'Reilly books, the webmasters were fearless in their ongoing quest, driven by one humble vision... to connect the entire world together. Using Netscape Navigator. Of course, that was a long time ago, and nobody really believes the stories any more. Some say the webmasters are gone. Some say they never existed in the first place - it was just a bunch of marketing people with delusions of grandeur. But a few, a select few, believe they changed. They evolved. They learned new skills, they embraced new technology... and the Legend of the Full Stack Developer was born. The history of software development is rich with tales of extraordinary individuals, whose knowledge of their own systems was absolutely unrivalled. But here in 2016, in a world where distributed systems, machine learning and autoscaling cloud systems are ubiquitous and the average web app uses three JavaScript frameworks, four server-side languages and six different kinds of caching technology, does it really make any sense to talk about full stack developers? Are we clinging to outdated paradigms, nostalgic for the simple days when one person really could know all the answers - or does overspecialisation represent a genuine threat to the established discipline of software development? And if it does - should we be resisting it, or embracing it as a change that's long overdue? Dylan Beattie wrote his first web page in July 1992 (11 months after Tim Berners-Lee wrote HIS first web page), and he's been building websites ever since. In this talk, Dylan will reflect on the history of the World Wide Web, exploring what we've learned - and forgotten - along the way. He'll share lessons learned over a quarter century of building sites, writing code, designing systems, hiring developers, managing teams and delivering working software, and take a speculative look at the next 25 years of the web, and how it's going to keep on changing the world.
Software developerPhysical systemMonster groupWordFloppy diskWeb-DesignerWeb 2.0Point (geometry)Physical lawSemiconductor memoryBitPlastikkarteMiniDiscWebsiteSoftwareQuicksortGoodness of fitComputer animation
SoftwarePhysical systemQuicksortInternetworkingProcess (computing)LaptopWeb 2.02 (number)Thomas BayesCopyright infringementEmailRight angleDifferent (Kate Ryan album)Entire functionWebsiteCollaborationismMessage passingUniverse (mathematics)Axiom of choiceCodeWeightMobile WebBoss CorporationMetreCASE <Informatik>Electronic mailing listHypermediaBit19 (number)Civil engineeringStandard deviationReflection (mathematics)Telecommunication
Web pageQuicksortPhysical systemHyperlinkWebsiteEndliche ModelltheorieSoftwarePoint (geometry)2 (number)File formatMarkup languageCartesian coordinate systemElectric generatorWeb 2.0Radical (chemistry)Web browserConnectivity (graph theory)Different (Kate Ryan album)Berners-Lee, TimCommunications protocolComputer fontFormal languageLatent heatMultiplication signBuildingComa BerenicesHypermediaLine (geometry)MathematicsComputer animation
AreaExecution unitMenu (computing)Hydraulic jumpSystem callLine (geometry)Medical imagingQuicksortBitWeb 2.0CodeWeb browserPhotographic mosaicWeb pageWindowProduct (business)Reading (process)NumberMobile WebInternetworkingElectric generatorGoodness of fitGraphical user interfacePoint (geometry)Multiplication signOperating systemVirtual machineCommodore VIC-20Metropolitan area networkElectronic visual displayFreewareCovering spaceSoftware testingFacebookSubject indexingNavigationPresentation of a groupRevision controlFamilySocial classAuthorizationLevel (video gaming)SoftwareBusiness modelLatent heatSharewareCommunications protocolSearch engine (computing)Home pageClient (computing)Shared memoryVolumenvisualisierungTable (information)Bookmark (World Wide Web)State observer1 (number)Physical systemSoftware developerNeuroinformatikVector potentialServer (computing)Open setLink (knot theory)Coma BerenicesCore dumpEmailComputer iconBerners-Lee, TimInstallation artWebsiteTelnetDirection (geometry)Type theorySubsetFrequencyComputer animation
Virtual machineWeb 2.0Multiplication signWeb pageCovering spaceFloppy diskWeb browserHome pageConnectivity (graph theory)BitInternetworkingModemMathematicsEmailDifferent (Kate Ryan album)Cartesian coordinate systemDisk read-and-write headSpacetimeLatent heatDirected graphObject modelAcoustic shadowDrop (liquid)Quicksort1 (number)Physical systemProcess (computing)Goodness of fitNeuroinformatikServer (computing)World Wide Web ConsortiumWorkstation <Musikinstrument>CASE <Informatik>WindowStandard deviationDemosceneBerners-Lee, TimWritingDampingComputer fileWebsiteFreewareCodeAutomatic differentiationCuboidHTTP cookieRevision controlForm (programming)Parameter (computer programming)Electronic signatureScripting languageData managementFile archiverData storage deviceElement (mathematics)Endliche ModelltheorieDescriptive statisticsInsertion lossPoint (geometry)Group actionUniform boundedness principleGame theory19 (number)Letterpress printingAreaWeb applicationNumberAsynchronous Transfer ModeFamilySpecial unitary groupPhysical lawComputer animation
Floppy diskData storage deviceData managementInterface (computing)Product (business)NeuroinformatikTerm (mathematics)InternetworkingSmartphoneFamilyTouch typingQuicksortNormal (geometry)Web 2.0Client (computing)Graph coloringWeb browserModemMusical ensembleTouchscreenMobile appWorld Wide Web ConsortiumVirtual machineMathematicsMassSoftware testingWater vaporStandard deviationMiniDiscPhysicalismProfil (magazine)WindowMatching (graph theory)Electronic mailing listDisk read-and-write headValidity (statistics)Medical imagingNumberSelectivity (electronic)Phase transitionTablet computerSquare numberIntegrated development environmentCurveMenu (computing)Independence (probability theory)Context awarenessRight angleMultiplication signCausalityComputer animation
InternetworkingSoftware developerBand matrixIntegrated development environmentProcess (computing)Core dumpSoftware development kitOpen sourcePattern languageNeuroinformatikWeb browserWeb 2.0BitProjective planeWater vaporMultiplication signSystem callQuicksortPlanningElectric generatorComputer animation
Medical imaging2 (number)Hard disk driveClient (computing)TouchscreenSingle-precision floating-point formatComputer fileWeb browserMereologyService (economics)InformationTelecommunicationThumbnailQuicksortCountingDivision (mathematics)Term (mathematics)Multiplication signStandard deviationWeb 2.0Mobile WebGoogolNintendo Co. Ltd.Shared memorySoftwareSmartphoneCommodore VIC-20Integrated development environmentText editorAsynchronous Transfer ModeOffice suiteConnected spaceCommunications protocolVolume (thermodynamics)Coefficient of determinationRight angleWebsiteGoodness of fitPiComputer architectureChaos (cosmogony)BitDialectFrequency
Component-based software engineeringSoftware frameworkWeb browserQuery languageVirtualizationBuildingInformation securityNumberMultiplication signMiniDiscVirtual machineInterface (computing)Beta functionMIDIWeb browserConnected spaceWaveType theoryBitEnterprise architectureComputer clusterProcess (computing)System callFormal languageEndliche ModelltheorieServer (computing)Computer programmingQuicksortFunctional (mathematics)Scripting languageStandard deviationComa BerenicesObject (grammar)Application service providerKey (cryptography)Data managementSurjective functionPlanningGoodness of fitEuler anglesPerfect groupInternetworkingDisk read-and-write headCodeCore dumpGraphics tabletSoftware frameworkEntire functionWave packetSlide ruleEmailGroup actionConnectivity (graph theory)SpacetimePoint cloudGame theoryRewritingBand matrixAbstractionDifferent (Kate Ryan album)Complete metric spaceHome pageSoftware testingAsynchronous Transfer ModeMusical ensembleClient (computing)Table (information)Universe (mathematics)Field (computer science)Point (geometry)String (computer science)MereologyControl flowParameter (computer programming)CASE <Informatik>Revision controlSound effectWater vaporLibrary (computing)Markup languageGraphical user interfaceJava appletWeightRun time (program lifecycle phase)Software maintenance9K33 OsaPlug-in (computing)outputGastropod shellMathematicsStack (abstract data type)Web 2.0DatabaseVolumenvisualisierungDampingIterationTwitterService (economics)MassConstructor (object-oriented programming)Element (mathematics)Computing platformFitness functionOverhead (computing)Greatest elementUbiquitous computingVirtual realityBootstrap aggregatingBoilerplate (text)Physical systemNP-hardFloppy diskSorting algorithmSound card1 (number)Jackson-MethodeAlpha (investment)Streaming mediaOperating systemWeb-DesignerShared memoryDataflowPairwise comparisonSoftware development kitGoogolEscape characterECosProduct (business)Hand fanSingle-precision floating-point formatSoftware bugFile formatAnalytic continuationVideo gameWordElectric generatorCompilation albumMoving averageMetropolitan area networkModeling languagePublic domainAmerica OnlineProcedural programmingExistenceElectronic visual displayUniform boundedness principleRight angle40 (number)FacebookPrototypeCuboidTheory of relativityProjective planeAlgorithmArmSource codeInsertion lossReal numberMilitary baseFiber bundleJSON
Transcript: English(auto-generated)
Hello, hello, hello, hello, hello at the back. Hey, everyone doing okay? Good party last night? Little bit fuzzy headed this morning, maybe one or two. Yes, good morning, my name is Dylan Beatty.
I'm a systems architect, developer. Let's kick this off, everybody stand up. Do this the fun way. Okay, now I want you to stay standing up if you have ever had a business card with the word webmaster on it.
Pretty cool, all right. How many have we got? One. Have you ever had any other business cards? Okay, so anybody who has ever had a business card
with the word webmaster on it is probably gonna find some of what we're talking about today, a little bit of a wander down memory lane. You know, you'll laugh, you'll cry, you might have some flashbacks to things you thought you'd completely blanked out. But for the sort of rest of the audience, and you know, generally the point of the talk is, it's, you can argue the toss about
when the World Wide Web was actually invented. But it's been 25 years, give or take, since the web happened. And along the way, a lot of very significant things have happened with software, with business, with technology, and it's interesting, I just sort of wanted to reflect on those lessons and you know, there is an idiom,
people who don't learn from history's mistakes are doomed to repeat them. And I just, I thought it would be interesting to do a riff over 25 years of web development and what went right and what went wrong and what could have gone right and didn't and what should have gone wrong and didn't. But first of all, I just, I'm gonna throw out some swag here. I got some high def floppy disks.
So you get one of these for being a webmaster. Catch. Ooh, who else wants a disk? Come on, fabulous prizes to be won. Hey, yeah, I'm here, you get one. Let's get one up there.
You got it? And there you go, one more. Okay, so hang on to those because those are gonna be important at the end. Right, so, I want you all to imagine
you've done something dreadful, something really, really awful, like, I don't know, you wrote code in PHP or something. And you've been arrested and you've been put on trial, you've been found guilty. And the judge says to you, we are gonna offer you a choice of sentences.
Under the first sentence, you are under house arrest. You cannot leave your home. You can vote, you can go to hospital. You cannot have visitors. So no one visits you, you can't go outside, you can't travel, but you have broadband. And anything you can order on the web, you can have delivered to your house. You can get takeaway food delivered,
you can order laptops, you can use Netflix, you can use Skype, you can use email. If you can find a job that lets you work from home, you can work, you can earn money, you're just not allowed to go outside. Or you can go anywhere you like, you can do anything you want, but you cannot use the internet. No email, no web, no Skype, no Netflix, no Amazon,
no Pirate Bay, no special interest websites, nothing. Which one would you choose? If you were sentenced for one week. You already chose the first one.
So one week, anyone here who would spend one week under house arrest at home with full internet and could probably do it fine without losing their job or anything. I broke my leg in a skiing accident two years ago and I was at home for six weeks and literally only left the house to go to hospital. And it was actually all right. It was really strange, you know?
It's like you can't go out and, you know, I had people come to visit and stuff, but it was really interesting how so much of, you know, media, retail, shopping, all this kind of stuff, we just do it online now without really thinking about it. Whereas the second case, you know, you go where you like, you got a passport, you can travel, can't use the internet, can't use the web. Hands up, who would go offline for one week?
A month? A year? How about being offline for the entire history of human civilization up until 1982? Because that was normal. That's what everybody did until I was four years old. And now it is unthinkable that anyone would actually try
and live their entire life like that. That is how much the internet and the web have changed the world we live in. So just to, you know, the history a little bit, it's 1960s, they started working on packet switch networks. You know, there was ARPANET, there was stuff going on at Xerox PARC. 1974, a guy called Bob Metcalf
who was working for Xerox invented ethernet. It's actually, there's a funny story. Bob was trying to invent ethernet and he got bored and he got obsessed by how reflective the ceiling tiles above his desk were because he was convinced when he was typing that they were echoing off the ceiling. So he stopped working on ethernet and he stopped working on a system to measure the ceiling tiles instead.
And his bosses are like, how do we get them back on the ethernet thing? And they're like, we don't know. Someone go out and buy him an acoustic reflector meter or something so he can do it. And they did, and he did, and he got on with it. Ethernet. So, you know, I reckon the internet was probably, if you're gonna put a date on it, I'd say 1982.
1982, one, they agreed that TCPIP was gonna be how different networks, so it was an inter-networking agreement. TCPIP is how different networks on different sites talk to each other. The other interesting thing, 1982, was when SMTP was ratified. So suddenly, one, you had a standard where different, you know, most people didn't have home internet
and mobile internet didn't exist, but if you had a company job or you worked for a lab or a university or something, you were online, you could talk to other universities, and suddenly you had a way of sending messages, sending mail. Effectively, the cost of communication for academic and research and collaboration was reduced to zero. And people started inventing things.
And around the sort of late 1980s, a couple of people working at CERN realized that it was a bit silly that they could talk to each other, you know, instantly all over the world, but when any of them actually did some research, they still had to publish it in a journal and wait for the journal to come out. So, this guy, this guy, this is Tim.
Hello, Tim. Tim Berners-Lee decided that it would be quite nice if they had a way of putting their research papers on the network somewhere. You know, it wasn't the web because the web didn't exist yet. And so he started working on something which was gonna become known as the World Wide Web.
Tim, I think, got, there's one very significant thing that I think he got right. He actually invented three things. So, here's the publication that he did in 1991, which kind of laid the foundation for the World Wide Web, outlined three new pieces of technology. He wants to tell me what they were.
Yes. Hyperlinks was one. Or more specifically, he effectively published three protocols. Hyperlinks was one of the things covered by those protocols, those specifications. So, one of them was HTML, which is a markup language for text which allows you to link one document to another.
Second one, anybody? URIs. It seems funny to think that the URI had to be invented because they're so ubiquitous now. You know, you see them on advertisements. I always think when I hear someone reading a URI on the radio that kind of technology has evolved past the point where it's no longer compatible anymore. Go to our KNAC.com forward slash morning brew forward slash
and you just think, no, no, no, come on. We've jumped a generation here. This doesn't really work. But yes, URIs was the other one. And the third one? HTTP. Three things. And the thing I love about that, the sort of beauty of that engineering model is that they are separate.
The World Wide Web is HTTP, HTML, URIs. But you can use URIs without using the other two. You can use HTML offline to mark up documents, even documents that don't necessarily have hypermedia in them. And HTTP is a sort of general purpose transport format for text-based data. So that's the first of the sort of, you know,
big lessons from the history of the web is this idea of instead of building, you know, there were things that the, around that sort of time, more shortly after that, things like CompuServe and AOL, which were walled garden applications that did everything in a single system. And what Tim did was he broke the thing up into different components and said, look,
I can put them together this way, but you can do anything you like with them. Second big thing he did was he didn't patent it and he didn't copyright it. He made it free. Anyone who wants to do it can do it. First website at CERN went online in 1990, late 1990, but it was around 91 that people at other institutions
started putting web pages up and linking them together. I built my first web page in 1992 and I'm probably one of the few people in the world who wrote a web page before I ever read one because the system that I wrote it on when I was doing work experience didn't have a browser on it. So I wrote it in VI with someone helping me
and telling me what to do. And then we had to go to a different lab where they had a terminal with a browser so we could see what it looked like. So I'm now gonna invite up on stage Chris Heilman because we're gonna talk about browsers and we're gonna talk about browser wars. We're gonna talk about basically the history
of how the internet went from being a research or the web went from being research to being the web we all know and love. So that's a big hand for Chris. If you're into public speaking and you're quite afraid of things, if you're too drunk the night before to finish your slides, this is how you can fix that.
Nothing to do with being drunk, Chris. Just talking with you was more fun than going back to the hotel. And I thought I'd share the joy of that experience with all these people here today. Excellent, so you're gonna hear two old men of the internet ranting about what it was like and how lucky you young whippersnappers are with all the great browsers that you have these days. And it was uphill both ways.
Yeah, I did my first website two years after yours so I've waited a bit more. But yeah, it was quite interesting. And my favorite about this is when people talk about the good old days of the internet. And I remember what I had to jump through to make the things display just in a sensible manner. There was never a good old time of the internet. Well, there was. I think it lasted about seven days in 1992.
Okay, so NCSA Mosaic was the, so this, did you ever run this, Chris? Was Mosaic ever run? For test periods and stuff, but not really. I mean, I never, I couldn't afford a PC for a long time so I used my Amiga and my Commodore 64 and they had browsers on them as well which was kind of based on those things,
but even a subset of HTML. But yeah, I tried it in for like test runs and stuff, but I never used it in Anger. My first browser I used in Anger was Netscape 3. So the Mosaic was the first visual browser. Up until that point, you could have a document that linked to images, but it would not display images in line. Mosaic came out of NCSA,
same people who developed Telnet and a bunch of other things. Mosaic is kind of a footnote from history apart from two very interesting things. One, the core Mosaic team, led by a guy called Marc Andreessen, they left. And they left to go and start a company that was going to be a Mosaic killer. And then they got bored of saying Mosaic killer so they started saying Mozilla.
And that's where Mozilla comes from. So all the talent jumped ship from Mosaic and the code base was bought by a company out of Seattle called Microsoft. And we're gonna talk a little bit about what they did with it. But so Mosaic was the first visual browser, started popularizing it, suddenly the potential of the World Wide Web
started becoming apparent. And then Netscape happened. What was your first experience with Netscape? Back then, I was still very much in the leftist computer activism scene. So I used Netscape because I didn't like Microsoft as a large corporation, which is ironic, so I work for them. But for me it was the great browser
because it had features like the sidebar, which was RSS reading already and you could subscribe not only to favorites but you can also put things in there. It also was the honest browser because if you didn't close a table, it didn't render it. So it punished you for making HTML mistakes,
which was seen as too intrusive for a lot of developers. But I liked it because if I do bad code, I wanna be punished for it. Well, not like begging type, but generally I think it was an interesting one. And when it became the big suit, it got really weird when it got the mail client in there and the Composer. And I built a few websites with Composer
and then I realized you cannot re-edit it in Composer without creating the most horrible HTML code. And that's when I finally started like, okay, let's learn HTML properly instead of using some tool and then fixing things around. And Composer is an interesting one to talk about because HTTP basically defined the core verbs of HTTP,
the ways that your client can interact with your server. Get and post, which all of us use all day, every day without even thinking about it, and put and delete. And they were originally intended to kind of be all first-class citizens. And put and delete were there to support authoring because the World Wide Web as envisaged by Tim Berners-Lee
was not intended to be a read-only medium. It was intended to be something where you could write and publish as easily as you could read and you could link. So the protocol includes the support for two very simple things for, I wanna put a webpage online and I wanna take a webpage offline. And Netscape Composer was one of the few, Composer lasted a surprisingly long time.
It was still around as recently as, well, the last release of Netscape, which was Netscape 7, wasn't it? But Composer would let you compose pages and put them on the web. And it kind of died, you know, it's crazy. 25 years ago, they came up with the specification that effectively said, this is how you read pages, this is how you publish pages. And we sort of ignored it.
The only people doing put and delete now are people building HTTP APIs and REST systems and so on. Meanwhile, everyone else is fighting over whether Mbraco is better than WordPress. And you're like, someone tried to solve this 25 years ago, why weren't you listening, you know? But the other, so Netscape, I think, did two interesting things. One is it completely and totally changed the world and got everyone online. And, you know, Marc Andreessen ended up barefoot
on the cover of Time magazine. And the first day they floated, they were worth, what, 2.9 billion by the end of the day or something? Which is small potatoes nowadays when you get 18 billion for a GIF search engine. But the other thing they did, which is at the time was absolutely shocking, is they got Microsoft to give something away for free.
Because Microsoft sold software for lots and lots of money. And when Netscape came out, Netscape cost $50. It was, you got a 90-day free trial and then you were supposed to pay for it. Who's ever paid money for a web browser? Yeah, hands up if it was Opera.
Yeah, we'll talk about Opera in a minute. Best browser ever to come out of Norway. For a long time, best browser in the world, I reckon. But yes, and Netscape came out with this navigator thing and, you know, that was the interesting thing. You know, the business models that surrounded first the dot-com bubble and now, you know, things like indexing data and Facebook's business model,
we've become completely accustomed to the idea that everything on the web should be free and the only way to make money is to gather our data and sell it to someone else. But Netscape were like, well, this is, you know, a piece of engineering that people had to work on and those people need to eat, so we're gonna pay them salaries, so we're going to sell the thing they built. And it's interesting to think what direction the web might have gone in if Microsoft hadn't come thundering in.
And you know, the first version of Internet Explorer, basically Microsoft were terrified because Netscape was winning, you know. And so Microsoft come out of nowhere and they're like, we can't compete with them on first to market because they're already there. We can't compete with them on product quality because they're streets ahead of where we are. The only way we can compete with them is,
one, we have a monopoly because of Windows and two, we can be free because we're Microsoft. We have money in the bank. We can afford to bankroll this thing. And it was also very much tied to the operating system. On Windows, it was the better browser because it could take advantage of all the com links and all the different things inside the Windows machine that a third party software could not do.
And that was also the biggest mistake we made for me as an open web evangelist and type because out of a sudden, everybody said that, okay, it comes with Windows, so that's the browser to support. I don't need to support any of the others. And I was one of those freaks back then and said like, oh, make it to the standard already and across different browsers. And that became very much a confusion point to people.
Like, why should I bother when there's already one on the machine? And that's still a thing. We nowadays, I said in my talk yesterday, we think people choose Chrome, choose Safari, choose whatever we like because they like browsers. People don't know what browsers are. They just click the world icon and go online and check and play Angry Birds or whatever, or check their time or what the weather is outside
rather than opening the window and seeing what the weather is like. Yeah, but sometimes you look out the window, you get a weather forecast you don't like, so you go online and find a better one. Oh yeah. You do that? You can test that. If you please, as a Microsoft guy or as me, not as a Microsoft guy, please don't say that. If you find somebody with a Windows older than Windows 7 or older than Windows 10, fuck it, older than Windows 10,
and they have Internet Explorer as their main browser, take that icon, install Firefox, the newest version, and connect that icon with Firefox. People will not know it. They just click the icon and tell them, yeah, Internet Explorer looks different now. So thank you because that old browser needs to die.
Yes, there's a whole generation of people who think that Blue E means internet, and they click that. Yeah. So if you need them to click something, put a Blue E on it. When I worked for Mozilla, I did that. Like a user experience 101 from MDC. When I did that, when I worked for Mozilla, I did that at the city airport in London because the Internet access was an Internet Explorer logo and I put Firefox logos, stickers on there every week.
Who's it you work for now, Chris? I work for Microsoft now. On Edge, a really good evergreen browser. Of sorts, yeah. It's a slightly different E. If you look at the white space in the Edge logo, it looks like a shower head going into a sink and you will never ever be able to unsee that now.
So just to reflect on Netscape a little bit. So Netscape did a couple of interesting things. One was they tried to sell a web browser and it didn't succeed because Microsoft out-competed them. Netscape also eventually they,
well, first of all, they then introduced something called the Blink tag. The Blink tag was the first shot fired in the browser wars because it was not in the specification and Netscape came along and they went, you know what, this needs to flash. These pages aren't very readable because they're all black Times New Roman
on a gray background. I think flashing would make them better. And Microsoft with their Internet Explorer went, hang on, no, no, flashing is not enough. We need scrolling, we need marquee. And so suddenly, this was, it sounds like a joke, but the whole, the browser wars or the, what do they call it now, browser war one
or the first browser wars or something. And you hope. The Phantom Menace, I think. You had this thing where there was a standard, this is HTML, this is what it does and then the browsers people are actually using, they begin to deviate from those standards in their own way and sometimes they do it for interesting, innovative reasons.
And sometimes they do it because they're frustrated at how slow it is to ratify standards with the W3C. And sometimes they just do it because, I don't know why Microsoft thought marquee needed to be an Internet Explorer, but it did. It came from PowerPoint, didn't it? Yeah. A lot of the features that, a lot of the flashy features that weren't Internet Explorer came from the PowerPoint engine and that was using the same rendering engine,
so they just shifted over. So colored scroll bars and Internet Explorer 5 already had page transitions, rotation, drop shadow and blur filters. The things that we ratified in CSS a year ago across all browsers, Internet Explorer 5 had that, but it looked like us, so nobody used it or should use it.
No, they used it. It looked like us, but they used it anyway. So yeah, Blink and Marquee kind of started this thing and it got people who were there. You can tell them, they're the ones in the bar with the thousand yard stare. You know, you just go up to them and whisper in their ear, document.layers.
And they'll go, document.all. Yeah, because there was no, you know, nowadays we have document.getElementByID. If you've got a thing on a page, your JavaScript can just find it by going, I want that one and that one and that one. But we couldn't do that. GetElementByID didn't exist yet. There was a completely different document object model in, so by this point, we're up to Internet Explorer 4
and Netscape 4 and they were horrible, you know. I mean, so Netscape 4 and then 4.5 and then 4.08 came after 0.5 and then with five and six and seven, everything went downhill. So what happened around this time? So this is the other, you know, another one of the lessons we can learn from the internet.
Netscape tried to do the big rewrite and it killed them. It killed the brand, it pretty much killed the company, the code base. So what happened was Netscape was bought by AOL. Yeah. And so at the time, AOL had just bought Time Warner. So a company who do dial-up internet with free CDs
was so big that it bought Warner Brothers and Time Magazine. And then dial-up proved actually not to be the big money spinner everyone thought it was gonna be because broadband got invented and the free CDs just, you know, some people would hang them up in the garden to stop birds eating seeds and stuff. But does anyone remember the days
when every like petrol station and gas station and convenience store would have a stack of AOL CDs on the counter free to anyone who wanted them? It was, they came with magazines as well, like 15 CDs in every magazine and you're like, what is this really bizarre? I love that the original, the first AOL website had floppy disks, you know, the 3D printed safe I can study throughout earlier.
Yeah, I got some more hits. And the fun thing is the form didn't have any crumbing or timing or basically it was a get parameter going through, so a friend of mine embedded the AOL form in his website and told people free floppy disks. And they kept ordering from AOL to get it sent
through his website and he made money with ads around it, it was quite fun. So, but yeah, so AOL owned Netscape and they decided that the, they couldn't evolve the code base any further. They sort of said, you know, technically this is dead, we need to start again. And they started rewriting it from scratch
and they went dark for three years. So between Netscape four, Netscape five never happened. Netscape five was just, you know. So Netscape went dark for three years and Microsoft meanwhile are rolling out so many copies of Internet Explorer that they're in the Supreme Court in the United States accused of antitrust because they're basically saying, look,
you're putting your browser on Windows means you effectively have a monopoly on the web browser market and it's not fair. And so this case dragged on for a couple of years, but you know, there was a time though where Microsoft had basically won. Netscape was doing nothing. Now while this is going on, there's two interesting things happening behind the scenes.
One of them is Steve Jobs. Steve Jobs and Steve Wozniak started Apple in 1977, 78. Runs very successfully, the Apple II, Apple Lisa. 1985, there's a hostile takeover. Steve Jobs basically gets booted out on his ass. So he goes and he starts a company called Next.
Now this is interesting. Next made a computer called the Next Station. It was a black thing the size of a pizza box in an age when all computers were gray or beige. And it ran a Next OS, which was a sort of industrial strength Unix operating system. It had Next Step, which is a windowing system. Almost all the Next Stations ever built got sold to Pixar. And eventually Steve Jobs went,
I wanna go and see these people who are buying all our computers. And he looked at them and he thought that's pretty good. He invested money in it. And that's what made him his first billionaire was his Pixar stock. But one of the ones that didn't go to Pixar went to CERN because Tim Berners-Lee was using a Next Station when he originally wrote World Wide Web dot application. So the first machine that ever ran a web server
on a web browser was a Next system, which was designed by Steve Jobs when he was working at Next. And he based HTML on the HyperCard system of Next as well. So yeah. So there's a lot of sort of interesting shared lineage and shared ancestry in all these components. One of the things I love about the first web browser or the World Wide Web dot application is that people who downloaded it
had to download it over FTP because they didn't have a web browser. Because no one had a web browser. So you think, oh you must have put up a download page and then you think that wouldn't work. Because no one had ever seen a download page before because how could you view it? This is literally bootstrapping the first step. And from then on, once you got there, you can use that to get a Netscape to download them,
to go to IE to download them, and then you get stuff in the mail. On these magazine CDs back then, you also got a browser on the CD because they couldn't expect people to have a browser on their computer, like the Windows 3.11 machines and stuff like that. And most of the time it was Opera because it was the smallest one. It was 1.3 Mac, was Opera 4, and it could fit on a floppy disk or not take much space up on a CD.
So that's how I got the full version of Opera by just extracting it from the signature. And I used to, me and several people I know, learn to write HTML, because we used to get, as well as getting free browsers on magazines, some of them actually had websites. They would download all of the pages and all the images and save it in a folder, and you could get it on the cover of a magazine.
And I learned to write web pages without a modem by taking apart HTML files that came on the cover of PC Pro magazine or something and seeing how they worked. So yeah, a lot of the web is basically copying and pasting what you saw in other people's websites, especially in the DHTML days. There were like four or five people who wrote JavaScript properly, and other people just copied and pasted
and changed numbers around, and when nothing broke, they released it as theirs. It's a bit like Perl with like math script archive and these kind of things, you know? And then they invented the node package manager so you didn't even need to copy and paste anymore. It will just install it for free. You're old. So Steve Jobs is off doing Next and everything,
and about 1997, he goes back to Apple. Apple basically buy Next, and Steve Jobs becomes the head of Apple again. And he's learned a couple of things about building computers in the time he's been away, and he comes out with this, and the entire world goes, wow, what's that? It's so shiny. Apart from the people going, that'll never work.
It doesn't have a floppy disk drive. So it was revolutionary. You know, the first iMac, it wasn't beige. It wasn't square. You know, it was the first computer most people had ever seen that was, you'd actually want in your living room. And it came, it had a modem built in, and it didn't have a floppy disk drive. And the browser was Internet Explorer 502 Mac?
Yeah, IE502. Written by Tantek, or the product manager was Tantek. Charlie could then did a lot of CSS standards and microformats and these things. This thing used to drive us nuts when I was working, because I was working in a Windows-based web shop. And so you'd get something working, and it would work on IE4 and IE5, and it would work on Netscape, and you'd test it on Opera, and you'd test it with the W3C validator,
and then you'd discover that your client was using IE5 on a Mac. And so you'd need to go out and get a Mac just to test it on this one weird, sort of esoteric browser. And every hotel and every internet cafe used them as back then as well, because Apple was very aggressive getting them cheaper for these kind of environments, because they look cool in the lobby of a hotel room back then.
And it's interesting, you know, to sort of set a precedent. So, you know, Apple come out with a computer that doesn't have a disk drive, and everyone's like, that'll never work. No one wants a computer without a disk drive. And nowadays, yeah, so the floppy disks that I throw out in the audience, I don't know how many of you could actually read those if you had to. And then, you know, a couple of years later,
Apple came out with a music player that had no removable storage, and you can change the batteries, and people went, that's never gonna work. And it was the iPod, and it was a massive success. Yeah, but is that a good thing? I mean, I'm getting very angry about this, because people say like, oh, well, you don't change batteries anymore. And I'm like, where does the thing go then when it's dead? Is it getting recycled,
or do we put it on a barge somewhere and set it out to see, and it's there? I mean, computing used to be a thing where you could upgrade your machines, and you had to understand your computer, which, of course, is a curb too high for a normal end user. But in terms of environmentally awareness, it's much, much better, because, I mean, it drives me crazy. By now, what we buy is already outdated.
It's already not available anymore. And I think this is where the first step started, of like, computing becoming pure consumerism, and not owning the machine and understanding what you're doing, which gives you lots more users, but at the same time, it's not good for the environment, and it's not good for us, because I see with my MacBook Air,
I mean, the battery is dead. They're gonna replace the whole computer, and they're gonna wipe my computer. I don't even have a say in this. You all heard that, right? Yeah. But anyways, I mean, you're absolutely right about the consumerism thing. The thing that's interesting is people said it wouldn't sell, and it did. And then, you know, Apple came out with,
we're gonna make a mobile phone that doesn't have a keypad, and people went, that's not gonna work. And, you know, Hanzo, anybody in here got a phone that actually has a physical keypad on it? Anyone? No. See, that completely, the idea of touchscreen smartphone was, you can't make a phone without a keypad, it's heresy, you know, how will people dial numbers?
And they're like, touchscreen, we're just gonna make it work, and they did. And the irony was it was really good for blind people, the first one, as well. The accessibility of the first iPhone for blind users was amazing, and people were like, no, blind people can never buy a touch phone, but they could. You can make it work, if you think about it hard enough. Fascinating article online, written by someone who's blind, who uses an iPhone,
you know, not just as a phone, but it's like, it will read them their emails, it will describe, there's an app where you can effectively point it at things, and it will try and describe what it is that the camera's pointing at. Like, it'll describe the colors that it can see and stuff. And this idea that a touchscreen phone could actually be a massive accessibility boon for people who have, you know, visual problems
is just, never occurred to me, but I think it's astonishing. Well, dyslexic people, as well, people with dyslexia, people who have, who have fat finger syndrome, it's like, the great thing about the mobile revolution, on the web especially, is it was a great opportunity for us to simplify our interfaces. Sadly enough, that never happened,
because the desktop interfaces are still like 10,000 buttons and blinky things in my face, rather than like two or three buttons that do one thing, like it should be on a mobile device. That is, again, like, we always take what we have, and we use it up as much as we can, rather than thinking about the easiest use case, and then enhance it, and that's where a big problem's happening right now.
There is a website whose name I shan't repeat, because this is a family show, which basically talks about how great it is, because it's written in HTML, and it works on every single computer, and every mobile, and every device, and every tablet, and everything. No JavaScript, no dynamic HTML, no images, no nothing. It's just headings, and texts, and lists.
If you want to know what it's called, you can come and see me afterwards, but it's quite entertaining. It's also kind of smug, because it also, it still looks terrible. I mean, like, it's like, people expect more. We, as the old people of the internet, who realize, amazing, it almost looks like an image. We get really excited about these things, but for kids nowadays, the internet is like running water.
They don't understand it. They don't know what offline is, so we cannot, so when we tell them, this is really flexible, and it works everywhere, so what, it looks horrible. I want to have something blinky and shiny, so we have to understand that we don't get people excited by telling them about the, how the web can actually apply to different environments, when they only know one environment anyways.
So that's a tricky thing. We always try to sell our dream to the next generation, who don't have that dream anymore, because they see it as a given. Yeah. And it's interesting looking at the way cheap bandwidths and people being connected 24-7 has really affected development patterns. We're gonna talk about that a little later. So, Microsoft are winning the browser wars.
Steve Jobs comes back to Apple, brings out shiny blue computer. Couple years later, out of the blue, Apple are like, we made a browser. We took KHTML, which was the open source rendering kit from Conqueror, and they said, this is WebKit. This is our open source rendering engine, and it's a new browser. So OS X had just come out around this time,
so suddenly we've got computers running, not Linux on the desktop, but Unix on the desktop, because it's a VST core underneath Mac OS X, with this brand new browser, and nobody saw this thing coming, because Apple are always very secretive until they do the announcement. And so suddenly you've got Safari on Macs everywhere, and it's a lot better than Internet Explorer 5
for Mac ever was. You know, IE for Mac continued a little bit, but the second Safari was out, it was dead in the water. It was also a bit of a side project inside Microsoft. Nobody really, most of the team left, and kept it basically there. The same with IE6. IE6 was abandoned for years. It was basically like, okay, keep it alive, but don't do anything beautiful with it.
And the other thing that's going on this time, so anyone here staying at the Clarion Christiania Hotel? You know when you gotta connect to the Wi-Fi in the hotel, you connect to a network called Telenor? Telenor's big Norwegian communications telecoms company. And 1995, so pretty early on,
you know around the time of Netscape 2 and that kind of thing, Telenor decided that they wanted to build a browser. So they set up a division called Opera, and they made a browser. And Opera was amazing. Opera was fantastically powerful. Opera fast. Yeah, it was fast, it was really slick. It had tabbed browsing, and then about five years later,
you know Firefox comes along and goes, look, we invented tabbed browsing, and people are going, you kind of didn't. It had speed dial, which is where you open the thing up, and it shows you your most sort of recently visited websites. There's these nice big thumbnails you can click on. Had the best CSS support. It had DOM1 support before Netscape 6 had it. Netscape 6.1 was the other one with DOM1, which was a horrible browser
because it crashed every two minutes. Opera was super fast, super small as well. The only thing, they became very creative with what you can put in a browser that nobody needs. You know, they had this like Opera home thing where you can share parts of your hard drive to your friends in like a file sharing kind of like BitTorrent kind of thing. They had an FTP client in the browser.
They had an RSC chat client in the browser. They had a Commodore 64 mode in the browser, which I thought was awesome, but I was the only person to do that. Nah, me too, me too. But it was a properly engineering-led company. You could see that. They're just like, oh, I've got a feature. Yeah, put it in, that's gotta be awesome. People like that, you know? The interesting thing, the guy called Hookum Lee,
I believe is how you pronounce his name. The inventor of CSS? The inventor of CSS was the chief technical officer at Opera. So Opera was very much the sort of pioneer in terms of determining the CSS standard. And for a lot of, certainly when I was doing web dev in the early 2000s, I ran Opera. The reason I ran Opera is because I liked it
and because you never fell into the trap of thinking that because it worked on your machine, it looked good for your client because none of your clients were running Opera. So you'd use Opera to get the information architecture, the navigation, the markup, the layout right, and then effectively all of the browsers became secondary citizens who you had to test your layouts on. And it's a workflow that I quite enjoyed. And you know, Opera had some nice stuff.
You could right-click on a page and say refresh this every five seconds. And then you sit in the other screen in your editor and you change CSS, save, boop, okay, that didn't work. Save, boop, that didn't work. He now did the Vivaldi browser now that he is out of Opera because Opera went to Blink instead of the Presto engine, which was bad for the standard because we don't have another standard to test against. And now he did the Vivaldi browser that is roaring,
I don't know who uses it really. And it's interesting, you know, people think Opera is a sort of footnote. So by show of hands, anyone here running Opera now? One, two, three, four, five. Anyone got a Nintendo DS? Or anyone got kids who have a Nintendo DS?
Yeah, they're running Opera. Anyone know anyone who's ever bought a smartphone in Africa or China or Southeast Asia? Because they all run, Opera is massive. Opera Mini and Opera Mobile have enormous market share. In Africa, it's the biggest browser by user count. And it doesn't get, you know, a whole lot of press for that, but it's actually, you know, it's still out there.
Well, it's also more a service than a browser. It actually takes your HTML and makes it into a single HTML file, downsizing your images and all the things. So it's a browser for like low connectivity environments. It doesn't do all the things that other browsers do. But for that, they're leader and Google are trying to take that market now and it's gotta be tricky. We gotta move on quicker, don't we?
We do gotta move on quicker. But, so anyhow, we had this period, you know, the browser wars. So Safari's just come out, Internet Explorer's still around. The Mozilla team who started the big rewrite, it killed the company. Netscape effectively died, but they started, the core of it, the technology that came out of this rewrite,
some of it was pretty good. And what they did was they decided that all of the extra cruft, so the composer bit, the mail client, the Calabra, which was the Netscape Usenet discussion group client, they dumped all of that. They took the core, the browser and the rendering engine, and they released it. And they released it as Phoenix because it was rising from the ashes of its predecessor,
like the bird in mythology. And they immediately got sued by Phoenix Technologies who make biases. Firebird was the next iteration. And then they immediately got sued by the Firebird database server vendors. Then they called it Firefox. And they looked, they said, just give us a name that no one else is using for anything, and they came up with Firefox.
There was actually a plugin for a little while, which was quite good fun. It would randomly rename it every time you opened the browser. All these combinations. And one of them actually, it stuck. So you'd, you know, one day it would load up and you'd be like, what are you on? Earth donkey. And you'd reload it and it would be like cloud shark. And you'd reload it. And one of them came up with Iceweasel. And the Debian package maintainer people went,
and actually we like that. Because Debian won't redistribute, or for a long time wouldn't redistribute Firefox out of the box, because it included some rendering components and plugins that weren't under the new public license. So they forked their own code base and they had Iceweasel. Iceweasel and Ice Dove and Ice Ape instead of Firefox and Thunderbird and something like that. When we did Project Spartan
and we renamed it to Edge, I proposed Microsoft Water Weasel, but they didn't want to do it. I think we should go back and get them to do that. This was on the desk of just about every web developer I knew who knew what they were doing. This was a Bible. This book was about two inches thick. It was the O'Reilly book. It is the least interesting book you have ever read.
It lists almost, so every tag, every CSS tag, every HTML piece of markup tells you what it does. And then it has this great big table of which versions of which browsers support it. And if there's any quirks and idiosyncrasies. I'm just like, can I use .com as nowadays? Yeah. And this was business as usual for a long, long time.
You'd want to do something. You'd look it up. You'd go, okay, which browsers are we supporting on this one? Are we supporting IE6 anymore? Are we supporting IE7? Are we supporting IE8? And it was around about this time that JavaScript frameworks started becoming a thing because writing good cross-browser code was very, very difficult. About a year after, yeah.
Dojo was the first one. Then YUI was one of them that I worked on. Scriptaculous? Yeah, and they were basically there to even out the differences between browsers and made it much easier for people
to build a lot of code really, really quickly, which was great and made JavaScript become the number one language. At the same time, people didn't understand what they were doing anymore. They were relying on lots of abstractions to do the things that they wanted to do. And I love it when people say the DOM is not working. It's slow, and then they write jQuery code that runs rough shot through the DOM in every single access.
And you're like, well, how many times do you read the same element that hasn't changed? Stop doing that. But this is what happened back then. Thankfully, these times are over. Now all browsers are standardized and follow the same standards. So please never become a fanboy of one browser again because it's over. That was exactly the point I was going to make.
So there was a day where JavaScript frameworks were by far the best solution to the problem we were trying to solve. Because you had four or five different browser, different document object models, and using a JavaScript framework as an abstraction over those allowed you to be more productive. The days have kind of gone. So Google Chrome and Safari both use WebKit,
which is the same engine. Edge, which is the new Internet Explorer, or it's not Internet Explorer, is it? Actually, Edge is the product, though, isn't it? Yeah, well, Edge is the engine. No, Edge is a totally new browser. It's basically taken Internet Explorer, taken all the crap out. We didn't need rewriting the HTML
render on the JavaScript engine from scratch. Chrome is Blink, which used to be WebKit, but is its own renderer now. Safari is WebKit. Opera is now Blink as well. And that's about it. And Firefox is Gecko and will stay Gecko for quite a while. And everything that says it's another browser on iOS is basically a shell on top of WebKit.
So as soon as it's on iOS, it has to be the WebKit JavaScript rendering engine, because Apple doesn't allow any other engine on their operating system. Did any of you know this, that even if you've got Chrome running on your iPhone, it's actually running the Safari rendering engine with Chrome's interface around it? Because I had no idea. I found this out long after I switched to using Chrome on my phone all the time.
It's an interesting insight into the way Apple restrict what you can do with their platforms and stuff. But so the point there, the thing I want people to think about, there was a day when JavaScript frameworks were absolutely necessary to get your job done effectively. And that day is not here anymore. And even the JavaScript engines or the JavaScript libraries have understood that. jQuery 3, that's now in alpha or beta by now,
has given up on the compatibility mode. So you cannot say, I support Internet Explorer 8 because I use jQuery, because that one doesn't support these dead browsers that should be in the pond and playing with ducks instead of annoying people. So yeah, it's over. It's like, think about standards, think about features, don't think about browsers,
because there's new browsers every three weeks. And there will be new features. There's HoloLens, there's VR, there's so many new things. You cannot think about one browser and one desktop any longer if you want to build stuff for the web. And when you have a problem, don't reach for a framework. Try and solve the problem. Engineering works. Which brings us on to, so bandwidth is cheap.
Everyone is online all the time, even sometimes when you're on an airplane. I was coming back from Brussels last weekend. I had 4G internet all the way through the channel tunnel. I am in a train in a metal container doing 100 miles an hour under the sea, and I am still able to stream video off the internet.
That blows my mind. You know, that is just astonishing. Probably somebody faking a hotspot next to him and all his data stolen already. Yeah, they totally nicked all my slides for this talk. I had to rewrite them this morning. Oh, yeah. Oh, that's what happened. Yeah, OK. So this thing happened, assuming some of you
were familiar with the left pad fiasco that happened, what, a month or two ago? So basically, there's Node.js, and Node has the Node package manager. And the Node package manager gives you access to lots and lots of libraries. It's like, you know, Matt's Perl script toolkit. It's W-D-U in Australia, because if you look at the logo
the other way around. I'll be sure to tell Troy Hunt to check that one out. So yeah, somebody who put a lot of packages on the Node package manager, there was a dispute about something,
and he unpublished all his packages. And this basically broke the entire Node ecosystem, because every other tool it turned out, people who were building build scripts, and packaging scripts, and bundlers, none of them knew how to build a string padding function. Instead, they were downloading left pad
every time they built it. And the two things about this, I think, are interesting. One, most languages have a standard library. NCC came with the standard IO libraries and the standard maths libraries. .NET comes with the .NET runtime. Java has the Java virtual machine and the Java class
library. JavaScript never had that. JavaScript was kind of a language that got thrown out there. Well, that's why it was so lightweight, why it was so wonderful and easy to use. That was the whole concept of it. And now we're putting these massive constructs of other languages onto JavaScript, which is necessary, because seeing how much big things we built with it, but the brittleness of it
was the real issue. So instead of people using shrink wrap, and taking left pad, and making it into an include on their own machine, they just randomly got it from the internet and broke that way, that kind of attitude. That kind of attitude is normal. People expect things just to be available to them. And that's where it becomes brittle.
And it's interesting. So the first sort of server-side scripting I did was Microsoft ASP, Active Server Pages. Sorry. No, it was great, because I did it in JavaScript. Jscript, yeah? Jscript, yeah. 2002, running Jscript, or running JavaScript on web servers, which no one else was doing.
LiveScript, Netscape, 1997. Was anyone using it? No. Inside Netscape, yeah. Because classic ASP was actually quite a powerful model. It was very simple. And it played to this ethos of having heavyweight components connected by a lightweight scripting language. So you didn't use JavaScript. Most people used VBScript, which is horrible.
And if anyone needs a hug afterwards, I can help out. VBScript was dreadful. But the idea of scripting these heavyweight com objects using this lightweight scripting language was quite a nice approach. JavaScript was never supposed to be used to build the whole stack. JavaScript was used to glue the bits and pieces together.
And I think that what is happening now. So one, I think we've moved away from that model quite a lot. And I still think it's quite a powerful model, and one that I'd like to see more. Browsers do it all the time. You don't build the DOM in JavaScript. The DOM is written natively or in Zula, whatever the language is. You wished. I mean, with React and virtual DOM engines,
we actually write the whole DOM in JavaScript. The problem is JavaScript is still brittle, because the whole thing end users that turn off JavaScript, they don't exist. That's only paranoid security researchers and people who want to mess with you. But everybody else has a problem that JavaScript is broken until it has been fully downloaded,
executed, and found the thing it needed to find in the browser. So JavaScript can never be fully trusted to build a whole interface. And it goes too many things can go wrong. But sadly enough, us on fast connections and great machines and only testing it in one browser, we always think that's how the web works. It sadly enough has come to this where we cannot even
pretend anymore that people write HTML by hand, because anything is generated with JavaScript nowadays. In universal JavaScript server side and client side, that's good, because then server side, at least it spits out an HTML string at the end, which is, again, quite good for the end user, because that cannot break. Exactly. So right.
So we have a few minutes. We're just going to wrap up, and then we'll have time, hopefully, to take a couple of questions. So what we've got, I threw out five floppy disks. We're going to summarize what we've been talking about today in five lessons I want you to take away. So who got floppy disk number one? Oh, that really works, doesn't it? You got one?
So you, sir, are the lucky recipient of a copy of Elite, the space combat trading game with the procedurally generated galaxies that basically define gaming for a generation. It's a masterpiece. It's an almost perfect piece of programming. And it's now yours to enjoy on one floppy disk. So congratulations. So to go with disk one, we have lesson number one.
Build small components that work together. One of the reasons the web worked. HTTP was simple, HTML was simple, URIs were simple. This is why we have the web now instead of CompuServe or America Online. Who got floppy disk number two? America Online keywords. Number two. So you have the collected symphonies of Wolfgang
Amadeus Mozart in MIDI format. When you get that back, plug it in. Every note that Mozart ever wrote is on that disk. Plug it into your machine. Play it through a wave table sound card. It won't be the London Philharmonic. But you'll still get to enjoy some of the greatest work that humankind has ever produced in the field of music.
And to go with that, lesson number two. Don't reinvent the wheel. HTTP put and delete were put out there, part of the standard, and the web has basically spent 25 years ignoring them in favor of continually trying to come up with its own ways of putting pages on the internet and then taking them down again when they decide they don't want them to be there.
Who got disk number three? You have the complete works of William Shakespeare in ASCII format, so you'll need to do the voices in your head. But you've got them there, this great, great corpus of work that has stood the test of time and been the gold standard by which English literature is measured. So that's yours.
It's in the public domain, so take it away and enjoy it. To go with that, lesson number three? Three? Yeah, three. Avoid the big rewrite. Don't do a Netscape. You cannot, no matter how compelling the engineering case. Now in Netscape's case, the technical argument worked, but it killed the company. If you want to have continuity, you cannot afford
to go dark. There is, no matter how bad you think your code base is, if there's real people using it to do real things, there is value in it. And when you do the big rewrite, you take your eyes off the ball, and while you're looking the other way, you're going to lose your market share, and it is going to hurt. Disk number four. Who got disk number four?
Up there. You, sir, have got every single paper I wrote in three years of undergraduate university. You've got my bubble sort algorithm in C. You've got the paper I wrote about Vermal, the virtual reality modeling language, and how it was going to be the future. You've got my essay on pervasive computing.
You've got three years of hard graft, the sweat on my brow, take it away, enjoy it. It's all there. It's yours to enjoy. And to go with that, lesson number four, remember why we used frameworks. JavaScript frameworks, they were necessary, once upon a time, because they were the only way to get work done. The market has moved on.
Browsers are better. They are more capable. You don't need frameworks anymore. Don't automatically reach for your boilerplate and your bootstrap and your Angular and your tempo and your whatever. Look at the problem. Think about what you're actually trying to solve, and understand the capabilities of the platform that is at the bottom of your stack, because you want to put the smallest number of layers between the platform and the
solution that you can ship, because that way you spend a smaller amount of time working on it, and you have less code, less bugs, less maintenance, less overheads to worry about. Who got this number five? You, sir, have the JavaScript from one page of BuzzFeed.
Actually, you don't. It wouldn't fit on that disk. It's 1.7 meg, yeah. Here is the second, third, fourth. We take bandwidth for granted. It's cheap. So we use bloat. And something like BuzzFeed, Twitter, Twitter prides itself
on making this amazing service where people communicate in 140 characters. And if you look at one tweet on twitter.com, there's nearly two megabytes of JavaScript and CS in there to display 140 characters. And 40 emojis. So yeah, that's the fifth of our lucky winners.
And to go with that, the fifth and final lesson today is lesson from left pad is understand your dependencies. If you're going to take a hit on something, if you're going to bring some other code, copy and paste, package library, package management into your stack, understand what it's doing, understand why it's there, understand why you're using it, and have at least a
plan in your head for what you're going to do if suddenly one day it's not there anymore. Because when you take dependencies, you're trusting that somebody else is going to, one, they're going to give you the code they said they were going to give you. Two, it's going to be reliable. It's going to be available. It's going to work. They're not going to change it. They're not going to introduce incompatibilities. So there you go.
Almost bang on time, two old men talking about the history of the World Wide Web and how you youngsters have never had it so good. The good fallout of left pad, though, is that now in ES7, we have a native function for that. So we realize there's so much need for that thing, we put it in the JavaScript standard now. I'm going to put a thing on NPM later, which is a function called zero that returns zero for people who
can't type zero because the key's broken or because they can't reach it. So you can download this. Have you seen the enterprise NPM fizzbuzz? Well, don't call it zero then because they can't type zero to get your dependency. No, it's called return underscore zer0. Oh, OK, that makes sense, yeah. So people can do that. There's an NPM enterprise fizzbuzz out there, which imports three, imports five, imports multiply, imports
string comparison. It's brilliant. Well, even better is the guy in the job interview that was asked to do fizzbuzz and use TensorFlow for it. He created like a server farm and tamed it on the systems of fizzbuzz and then basically showed that in the job interview. Let's hope he didn't get the job. Anyway, does anyone have any questions?
No questions? You're all completely enlightened. Brilliant. I love it when that happens. Thank you very much to Chris for coming on and joining me, being a very entertaining guest. Thank you very much to all of you. Enjoy the rest of the conference. If you're here for the weekend, come to PubConf on Saturday night because it's going to be like this only
louder and faster and with free beer. Thank you very much. Goodbye.