The latest version of Google Chrome arrived last week with a redesign and a slew of new features, days after the browser had turned 10 years old. The week before, I happened to be at Pluralsight Live in Salt Lake City, Utah, where Dion Almaer, Google director of engineering, and Ben Galbraith, Google senior director of product, had a talk about not just Chrome, but the web in general.
The bigger take-home message, for Google internally, its partners, and customers across the board: “If you invest in speed, you get massive payback.” They shared that Google Search is now using Service Worker, which was the first thing we dove into after their talk, but there was plenty more we discussed.
Performance as a rallying cry
Almaer and Galbraith spend a lot of time recommending that developers use this technology or that tool. I wanted to flip the question and ask them if there was anything developers should stop doing. They were reluctant to give a straight answer, because there are always multiple ways to use or abuse any technology or tool.
But the duo was happy to elaborate on the take-home message.
“Performance really matters,” Galbraith told VentureBeat. “There was a period of time on the web when developers didn’t really think that much about performance, the size of the payloads they were creating, the size of script that they’re sending down, and they really didn’t pay a lot of attention to how quickly these things happen. Mobile is all about those things coming to the fore, because it’s just so much of a difference experience where speed really, really matters. I guess the answer I would give to that is: ‘That era needs to end.'”
In short, web developers need to consider performance at every step of the way.
“The developers who don’t think about that all the time, who aren’t really, really focused on the size of the experience they’re sending down and the speed metrics associated with it — that way of thinking needs to be replaced with one that is constantly aware of the size of the experience and what they’re doing and to make that the focus of how they architect a web application,” Galbraith continued.
“Because the results are dramatic. And it benefits desktop and mobile. And when it’s right, it’s magical, it’s instant. It’s sort of what the web’s really known for. You click on a link, and you’re there. You click on another link, and you’re there. That’s what’s so special about the web platform. No one wants to click on a link and sit there and wait for who knows how long.”
Almaer, the blunter of the two, was more succinct: “It’s really about abandoning not this one technology, but it’s about abandoning these particular developer stacks that are out there and that we know don’t really work well.”
Don’t expect Google CEO Sundar Pichai to pull a Steve Jobs à la Adobe Flash anytime soon. But if you are a developer and want Google’s advice, look at all your tools and make sure they’re taking performance into account at every step.
On the other end of the performance equation, browser makers are working tirelessly to ensure the web can do more and become more performant. That means giving developers more toys to play with, while also making sure the sandbox itself becomes more robust.
“The web’s had an interesting evolution from document-rendering platform to application runtime,” Galbraith noted. “It’s gained a lot of capabilities and it’s capable of rendering some pretty amazing experiences. But there’s one aspect of the web that’s different from other platforms — and that’s the threading model.”
That’s nothing new, of course, but the duo believe that’s about to change.
“So on the web, it’s really difficult for a developer to control threading, to create these concurrent applications,” Galbraith explained. “And that’s intentional, because the web has a different model than other platforms, because you’re constantly streaming these new applications from developers with really variable skills. The web’s always been designed to be accessible and open. But yet, getting concurrency right, getting multi-threading right, has always been the bane of our existence.”
Google therefore wants the industry as a whole to move cautiously. It’s only been over the past few years that primitives have started being added to the web that make multi-threaded UIs possible — workers have been around for a bit longer, sure, “but they haven’t had any way to communicate effectively with the user interface,” Galbraith lamented. “And so, it hasn’t caught on with advanced developers, even. But we’ve been working to try to make multi-threaded user interfaces possible.”
Galbraith pointed to one primitive that the team is excited about, as it should land by the end of this year or early next year: Animation Worklet, which lets developers create rich and fluid UIs that are largely processed off of the main thread and are supposed to stay consistently high-performing no matter how complex the web application is.
The web needs primitives to enable multi-threaded UIs, many believe, because with big web applications, the thread that processes inputs from the user inevitably becomes overloaded. The user experiences lag, or more specifically “user interface jank” (poor response times).
Adding primitives isn’t the only thing Google is working on. There’s a Chrome team specifically dedicated to pushing everything possible off the main thread, optimizing the browser to return as much time is feasible to user applications that run in the browser.
“You got 16ms to do all your work before the next paint,” Almaer pointed out. “And so, browser, take as little amount of time of that as possible. Give developers the ability to put their code into workers and other things so they’re not taking up that time as much. That’s the whole name of the game. For the browser we’ve done much of that work already, and other browsers have too, of course. But now we’re really getting into the threading model. We’ve got some of these pieces, but we’ve got new things coming to make these things easier.”
What’s the end goal here? Does the Chrome team simply want to help developers build more and more powerful apps, or is the eventual hope, for example, to have web apps replace mobile apps?
Galbraith started with the usual PR boilerplate (“Our mission at Google is to organize the world’s information and make it universally accessible, as I’m sure you know. We view the web as a really compelling way for us to fulfill this mission.”), but then he really dug into the question.
The universal platform
“The web represents what the two of us sometimes call ‘this universal platform’ that is completely accessible from any device, from any operating system, by anybody. And, the more that content is available on this universal platform, the more that we are able to achieve Google’s mission, ultimately. We want to give developers the tools they need so that they can realize their creative vision and the experience they want to deliver for users on the platform. Whenever the web doesn’t have these capabilities, we want to fill in these gaps,” Galbraith said.
“I think it’s great that apps exist,” he started to say, but I interrupted: “But Google can’t index them. If they’re all on the web, Google can index them.”
“I think of it more this way,” Galbraith continued. “If the only way to get to a given service, or a given piece of information, is for you to own a specific hardware manufacture’s device and have the app on that device, that’s a worrisome outcome for us. But let me flip it a little bit. As long as there’s a way to get to that service that’s meaningful, on the web or some way that’s universally accessible, I think it’s great to imagine a world where there are some specialized versions of those experiences that take advantage of the unique characteristics of a device. It’s only when the tide turns, and services and content start to only become available in those sorts of ecosystems.”
“Silos,” I interjected again. “Silos. Great word. That’s worrisome for Google’s mission, but in terms of how I personally want the world to unfold, that’s worrisome to me.”
Galbraith then pointed to my Samsung phone lying on the table recording this interview and said he loves a world where this year he’s on a Galaxy Note and next year he’s on some other innovative device. He doesn’t want a world where you’re chained into an ecosystem and don’t have access to important information and services to you.
“And so when we look at the web, I don’t think we’re on a mission to get people to stop creating apps and services that take advantage of the unique capabilities of the device or that are tailored to the way a device wants developers to work with them,” Galbraith concluded. “I don’t think that has to be banned or abolished. I want to make the web so compelling that people bring great experiences to the web and then make sure to do that so it’s universally available to everyone.”
Almaer added, “If we get it so that UIs are just beautiful to work with, of course, great in the browser, great in PWAs, great for desktop PWAs, on the Microsoft side, Chrome OS, all of that stuff is good. And it allows you to use that content in more places. So we’re going to have, I predict, XR browsers and all of this stuff going on. And you want to be able to reuse this content like in a maps application, in a camera application, and if it can all tie into the web, then it can also reuse all of that content.”
That sounds wonderful, but my initial reaction was a security concern.
“That’s what’s great about the web is … the web has security baked into it,” Almaer excitedly pointed out. “It’s paranoid by default. And so we can enable you to actually do that kind of stuff that you can’t do anywhere else. And it’s got all the benefits of streaming, etc. So just for that multi-modal world, we think that if we can make the web as great as we want it to be, it will be a way to build these things across these devices.”
I couldn’t help but ask the duo: Do they expect they will get the web to that point they are dreaming of? A world where developers build powerful web apps that work everywhere, and only build enhanced experiences on top for specific devices?
“I think there will always be a backlog of capabilities that need to be added to the web,” Galbraith said. “But I think we could reach a point where we feel like we have reached the ROI sweet spot. But it’s still day zero. It’s kind of cheesy, but I think Bezos’ phrase is right. There’s still a ton of innovation happening. I can’t even imagine a world where we’re done. We’re going to constantly keep moving and taking the platform in new directions.”
“We would love to be where we are with desktop,” Almaer declared. “On desktop, you use web apps and you use some native apps too, obviously, to get the custom things. But we’re kind of done on desktop, not obviously, but I feel like we are at that point where we want to bring that across everywhere.”
So, uh, when does the duo think we’ll reach that point?
“I don’t know,” Galbraith said as Almaer nodded.