And now, a brief definition of the web ++++++++++++++++++++++++++++++++++++++ Linkable; agnostic to the client ================================ by Dieter Bohn | @backlon May 24, 2017, 11:01am EDT Illustrations by James Bareham What exactly is the web? It seems like a stupid question because we all know the answer: the web is the thing Tim Berners-Lee invented in 1989. It's not the same thing as "the internet," which is what we use to access the web, apps, and streaming video. It's what we visit every day with our web browsers on our phones and laptops. Simple, right? Well, no. Traditionally, we think of the web as a combination of a set of specific technologies paired with some core philosophical principles. The problem -- the reason this question even matters -- is that there are a lot of potential replacements for the parts of the web that fix what's broken with technology, while undermining the principles that ought to go with it. The web is more than HTML, CSS, and Javascript The tech you think of as "the web" is HTML, Javascript, and CSS. (For simplicity, I'll just refer to it at the "HTML stack.") Those technologies are so open and flexible that they've taken over the world. That very flexibility also means that they've been abused, slowing down the mobile web with trackers that invade our privacy and deplete our batteries. So a lot of tech companies are flailing around looking for ways to fix this problem. There are web apps that work in Chrome but not really all that well elsewhere . There are Instant Articles in Facebook and AMP pages on Google . There are Instant Android apps that stream to your phone over the internet instead of being installed, which go away when you're done with them just like a browser tab. Google claims to be trying to bring some of the open ethos of the web to smart speakers . Hell, go back to 2014 and you'll find Apple pundit John Gruber arguing we should consider apps and "anything transmitted using HTTP and HTTPS" as part of the web . In theory, I don't think there's anything essential about the HTML stack when it comes to what the web is. I don't have the visceral hate for that technology that many do, but I do have a deep and abiding love for the principles of the open web. So as a thought exercise, I'd like to define those principles without reference to the technology. The HTML web may be slow and annoying and processor intensive, but before we rush too fast into replacing it, let's not lose what's good about it. And now, a brief definition of the web: To count as being part of the web, your app or page must: 1. Be linkable, and 2. Allow any client to access it. That's it. Okay, not really. There are a lot of details to get into here, specifically with the second point. But let's tackle the first, because it's easy. Whatever it is you're publishing should be linkable : it should have a URL that other things can point to. --- If it dictates what app is allowed to access it, it's not really part of the web --- But links aren't the complicated part; it's the part where your thing should allow any client to access it. For the web, that rule is pretty clear: whether you use Chrome or Safari or Edge or Opera or whatever, when you click a link or type in a URL, you get the page you wanted (more or less). Those pages are agnostic to the client . That agnosticism isn't easy; it's driven by web standards and the W3C organization that crafts them. They have periodically been problematic as this or that browser becomes popular and the company behind it encourages web developers to code specifically to their browser (Internet Explorer 6, Mobile Safari, Chrome), but those issues have tended to resolve themselves over time. When people talk about the "open web," agnosticism to the client is really at the heart of it. A page or app may be free ( as in beer ) and linkable, but if it only works on specifically proscribed platforms (iOS, Android, Facebook, Chrome), it's not really open . So you can run through all the web-like things in that list above, look at that two-part test, and just say straight up that these things don't count as part of the open web. Google is making a lot of things that could undercut the web Android Instant Apps: only work on Android. Not the web. Facebook Instant Articles and Apple News: pay no attention to their weird URL redirecting and HTML-esque code, they only work on their respective platforms. Not the web. It can get messy, though, especially with technologies like Instant Articles or AMP. Particularly AMP, which is build on a subset of the same HTML stack that powers the web. Any normal web browser can view an AMP page, so, as a technology to supplant the traditional full HTML stack, AMP seems promising. But it's tricky. The only reason that works is thanks to Google's largess. Setting aside how AMP's URL scheme and core business case can be problematic , the real issue for AMP being part of the web is that Google defines the terms of what does and doesn't work on AMP and could limit it whenever it likes. The question is whether any technology with specs that are solely defined by a single company can truly be trusted to be agnostic to the client. Sure, Google has been good for the web (or, better stated, vice versa), but that's no guarantee it won't undercut it if it's profitable. Instant Android apps and custom app indexing are just two ways that the company is hedging its web bets. Twitter's history is instructive on this question. Once upon a time, anybody could make an app that would work directly with Twitter's raw data. It was essentially a real-time news service / social network that anybody could make a client for on any platform. That is, until Twitter capped how many users those apps could have. Twitter is part of the web, but it could have been the progenitor of another kind of non-HTML web had it not locked down its APIs. --- The open web is a vital part of the open internet; we shouldn't let it fade away --- Speaking of questions, I'll re-pose one from earlier: who cares? Well, I do. The openness of the web allowed small companies to become big ones without seeking permission from the biggest ones. Preserving the web, or more specifically the open principles behind it, means protecting one of the few paths for innovation left in the modern tech world that doesn't have a giant company acting as a gatekeeper. And there's reason not to trust those giant companies: there's much less incentive to encourage openness when you have a massive empire to defend. Not everything has to be as open as the web, but some things should be. As we gear up to argue about net neutrality, it's worth remembering that ISPs aren't the only gatekeepers on the internet. I don't have anything against apps or proprietary services. I use them every day. Many of them look like the web and work like the web. But they're not the web.