 I'll let you start. You let me start? Yeah. You want to start? It's your show. OK, I'll start then. Hello. I don't know, it's your episode. You start it. All right, that's in the, all right. So I'm going to be like, all right, guess I'm starting then. Yeah, you start it. Hi, I'm Ada Rose Cannon from Samsung Internet. You've done full conference mode. You've just, you've walked on stage. It's like, hello, everyone. Welcome to HTTP 203 with my guest, Jake Archibald. Hello. We're going to talk to you today about the web browser, Samsung Internet. Never heard of it. What is it? What does it do? So Samsung Internet is a mobile web browser. You can download from the Google Play Store. It sounds like an advert at the start. People are going to be like, where's the skip button? This is the, this includes sponsored promotion. Yeah, no, I'm just here to talk about the browser, which I work for, because Samsung Internet, it's a huge browser. Like we have really a lot of users. And not a lot of developers have actually ever heard of us, which is a bit of a pain and also a bit of a shame on me. Because I've been doing dev advocacy for them for like five years now. Oh, you can't take that whole thing on your shoulders. I mean, hopefully this will help as well. I'm hoping this will help. So hopefully by the end of this, like we'll have developers being like, wow, Samsung Internet, I should load it up on my testing devices in order to test our websites to make sure they work well. So do you get, that's an interesting question. Do you get many things that don't work on it? Like what kind of things would, if someone was going to install this on their testing device, what should they be looking out for that might not work? Viewport issues, like the viewport might be slightly different to Chrome. Obviously like the sizes of our stuff is going to be slightly different. Also users can turn on stuff like a tab bar or a bookmark bar, which like really handy for browsing because a lot of Samsung devices have really tool screens. So we make the most of that by giving you more options to put into that vertical space. Oh, cool. So that kind of stuff. Also some of the APIs we do like implement ourselves or they will require hooking up behind the scenes. So some of the more like device-specific APIs that might hook into particular hardware functions, they might not be hooked up as expected. And if it behaves very differently from Chrome or is in an unexpected way, like we do need to hear about that because that could definitely be an issue. We should say like it's a Chromium browser, right? Yeah, it's a Chromium browser. And I want to say like it's a fork of Chromium. Like it's a version of Chromium maintained by Samsung. We pull in upstream changes. We're not just a wrapper around the Chromium custom tab. So that's like, that's the big difference, like. Yeah, it's running a different, like if you have Chrome and Samsung internet on your Android phone, they could be running different versions of the Chromium engine and obviously the Samsung version is going to have extra things. Yeah, and there's like all the kind of features which aren't part of the core Chromium engine that kind of like hook into it where if you're building your own Chromium browser, you have to implement them yourselves. So yeah, but one misconception with Samsung internet is that like it only runs on Samsung devices. I did assume that at first. Yeah, everyone, it's in the name, right? Like Samsung internet. And actually until I think like version seven or eight, that was actually the case. Oh, so that's probably why I thought that. I remember it coming out and I remember I couldn't install it. Like for, yeah, for the longest time it was a Samsung only browser. Like it started off as just being like kind of an OEM browser, like a wrapped thing. And then around like five or six years ago, Samsung like went all in on, we want to have a web browser that is ours and where we can do web things in it, which we can't do if we are just relying on someone else's code base all the time. And so they forked Chromium and have like maintained it for quite a long while now to have Samsung internet. But even then it was still only on Samsung devices because it was kind of viewed as like this is such a good thing. We don't want to give it to our competitors. And us a developer advocacy team had to have a long fight to say like, hey, it would be super if it could run on other devices. So that developers who don't own Samsung devices can test in Samsung internet. It seems easier for you as a developer advocate to persuade people to install a browser rather than go out and buy a phone. Yeah, absolutely. And so yeah, they worked hard and made sure that it does run well on any Android device. There are some features that rely on Samsung hardware to work well. The main one that jumps to mind is web APK because if you're a Chromium browser, you can't sign APKs on Android because you're not Google. So APK is like this is when you're installing a website to your home screen, right? Because it has to wrap it as an Android app, which is an APK. Yes, so most of the Chromium browsers on Android when they install an app, it'll just be like a bookmark that opens up in full screen or stand alone. But it won't have a separate APK file and it won't be able to have any of the benefits that come with that. But on Samsung, because we have the Samsung Store on Samsung devices, we can generate APKs. So if you're running Samsung Internet on Samsung devices and you install a website to your home screen, it will generate an APK and install it. Whereas if you do the same thing on a Google device or any other manufacturer of Android phone that isn't Samsung, it will just generate you your standard. Bookmark, yeah. Because it doesn't have the certificates to do that. Right, okay. Yeah, so there's like a few small differences. And we also have extensions and ad blockers. So this is it, because Chrome on Android doesn't have extensions. So this is a feature that is unique to, well, maybe not unique to Samsung Internet, but certainly different from Chrome. And the extensions come through the Samsung Store. So the screenshot on the right is the Samsung Store. So I don't think extensions work on non-Samsung devices. Yeah, okay. But I think a lot of the content blockers are delivered through the Play Store. So can be installed. But if you want a Samsung device, we can like hook into the Samsung Store direct, the Galaxy Store directly and install it. So if I was to click on the download button, say next to Unicorn ad blocker, it would just install it there and then turn it on for me. Whereas you'd have to go through the Play Store if you're on a different brand of Android device, right? Okay, yeah. You can't show me adverts. I'm behind five ad blockers. Did you seriously run that many? Like why not, right? Like there's very little overhead. I suppose. And I get to run one. And I don't get any adverts. It's great. I love it. I like that. It's behind an army, that is great. Also, like I use them for testing and stuff as well. So yeah, that's actually kind of fun. Every now and then, like I, so I have two versions of internet installed on my phone. I have internet and internet beta. Internet beta I use as my daily driver. It's usually about six weeks ahead of the stable one. Similar to how in Chrome we've got Canary and the normal one, right? The independent engines. Exactly, yeah. Completely different apps, I suppose. Yeah, totally different apps. Every now and then I will open up internet, which has no ad blockers turned on and be like, what is this? This isn't the internet I remember. Back to the beta. Yeah. So I run, I keep the internet one for testing the default installation and the beta for actually using as my day to day driver. That is, I do the same with Chrome and Canary. I use Canary as my, yeah. I feel it's my responsibility to when I go, like look at the web in the morning and everything's broken. It's like, right, I have to file the bugs, hopefully before they get to beta and stable. Yeah, it's exactly the same with me. Like whenever I go to a site and it's broken in Samsung internet beta, I'm just like, okay, is this also broken in stable Samsung internet? And if it is, file a bug. Which by the way, if anyone else wants to do that same thing, please do. If you come across a bug, email it to browser at samsung.com. So I guess they would only do that if it was a, would they only do that if it was a bug in Samsung only? Like would it be, or? Yeah, so essentially, if you find a bug in Samsung internet, load it up in Chrome stable, see if it's a bug there. And if it's a bug there, then we are matching Chrome's behavior, which in our opinion is like the... Works as intended. Works as intended. We're doing what developers expect. If it does work in Chrome, it means that either we've messed something up and we need to fix it, which is probably the case, or the website owner themselves haven't tested it in Samsung internet and there's a slightly different viewport or like some small difference between, and they've built a very fragile website, which I hopefully isn't the case. So I guess Samsung internet, if you're forking Chrome, the release schedule could be at a step, right? It is, yes. So that could be another reason that you could see a difference between the two browsers. I guess it would be worth, like if you really wanted to do the maximum you would be testing in sort of equal engine numbers. Yes, ideally you'd be looking at, and this is what I do, like if someone says there's a bug in Samsung internet, I will download an older version of Chrome and compare them, because yeah, like in an ideal world, our releases would be in lockstep with Chrome. But that would essentially require like infinite engineers to implement all of the changes as Chrome puts them, whilst at the same time, ensuring that all of our own particular browser features also work and it's just a nightmare. So we usually go up in jumps of like two to four Chrome releases. Each... Is that major, not major version, is that major version releases or? Yeah, major version. Okay, so it would be like... Chrome 100 and then it would be Chrome 104 or something like that. Okay. And we only do the updates in the major version of Samsung, like you can tell there's been an engine upgrade because we've updated the major version number. So Samsung internet 16 and Samsung internet 15 have different engines, but 16 and 16.0 and 16.2 have the same engines, but there might be some more features turned on. Like UI stuff around it and hooks into the engine. Right, okay. Or more like UE features or like we might have improved our smart anti-tracking or sometimes we've like... Actually, we have done that. We've turned on web Bluetooth. Oh, interesting. In a minor version number, even though we haven't changed the engine, we've turned it on by default. The flags have changed. Yeah, but it's still significant therefore, like changing how websites might work and changing that feature. Okay. I have a slide here that's like a page where you can see like our open source, like Chromium build, like how we commit changes and stuff like that. I used to say we're the second biggest contributor to Chrome after Google. Unfortunately, Microsoft is more engineers than us. And they've kind of stolen the silver medal from us, but we are still a major contributor into Chromium. We upstream like bug fixes and stuff like that. So earlier on, I was being a little bit snarky and because we were talking about like, the amount of contribution like Samsung makes to Chromium and also like how much usage the browser gets. And I was like, it's jokingly said, so why don't you make a desktop browser then? Because it's Chromium, it runs on desktop. Why don't you just go ahead and do that? And then you show me something interesting. Yeah, so we have a desktop browser. So the same APK which runs the mobile browser has a desktop version that runs in Samsung Dex. So yeah, so this, you've been running your slides off your phone. Yeah, so this is my, running off my telephone here. And if I minimize this, you can see it's just like, it's just like a desktop operating system that runs off Samsung devices. It's called Samsung Dex. I think it's cool as heck. I don't, Samsung need to advertise this because no one knows about this. But yeah, if you have a Samsung device, plug it into a HDMI. And this is, because I, well, I've tried to use the web version of slides on my phone. And I know, because it, you know, with a mobile user agent, you just get a redirect to the app. Yeah. As a fan of the web, I hate. But this, I mean, this is running on your phone, but because you're in this Dex mode, like it's sending the full user agent and you're running the full version of Google Slides in Samsung internet, but on your phone. Yes, it's a, it's fantastic for all kinds of things. Like it runs progressive web apps incredibly. Like, I'm like, I'm a developer. So one of the ways I work is that I open Turmux. I have the, there's a project called Code Server, which lets you run a server version of Visual Studio Code. I run that in Turmux. I open it my browser and install it as a PWA. And now I have what is essentially, which I believe is the way a lot of people run Visual Studio Code on Chromebooks as well. Yes, yeah. And it's, it's fantastic because I have a full like web development environment in my pocket, which I can just go into the office and plug in and work. And I'll be honest, I don't do that much these days because every day I work from my home office. Why, why is that? What happened in the world that resulted in that? I'm not going to put this, this video at a particular point in time by saying what it was that causes me to work from home every day for the past two years. But when, like this was the, like, one of the best well actually smackdowns I've ever received. Yeah. I was like, well actually, like, okay, fine. Yeah. All right. You win. Mobile browser is also a desktop browser, which I think is pretty cool. Oh yeah. Some of the other things we do, that's a bit different to Chromium. All right. We have two modes for our dark theme settings. So you can choose to use the web, the dark theme built into the website, which is defined by the CSS, right? Yeah, the CSS, right. The app media, like. Preferred color scheme. Yeah. Or if you turn that off and you have dark mode turned on, we will generate a dark theme for any websites algorithmically. And it actually works really well. Really? It even changes SVG files and stuff like that. And it's pretty good. Interesting. Like if you really, really, really want a dark theme and don't trust websites to deliver one, you can do that. Cool. One that's pretty nice is that you can change the system. You can use the system font for all web pages. So basically disable the website font loading. And what's kind of neat about that is that if you use a dyslexic font on your phone or use a particular font to help with dyslexia, you can turn this on, have all websites use the same font. I turn it on just because I really like Samsung Sans. So that's it being overridden there on a Wikipedia page, I guess. Yes. All right. And also we have HTTPS everywhere kind of built in, which you can turn on. So does that just then block anything HTTP? Is that? Or is it time? No, it's more if there is a HTTPS alternative, it will redirect you to it. Makes sense. Yeah. But the one on the left what I want to show is that the text size slider, as well as like a standard zoom in, will push the text size on websites larger than the defaults. So you can make slides. But it leaves the label as it is, right? Like it's, yeah. Yeah, it's not like a pinch zoom. Yeah. It's not a pinch zoom, it just makes the text bigger. It's a bit like I guess command plus or control plus on a desktop site. Exactly, yeah. So you can make it smaller if you want to. I have mine defaulting to like 125%, which now it made me realize I'm like getting the age where I need that kind of. I literally find myself squinting at just this screen and I was like, oh, where are my glasses? They're over there. Never mind, that's okay. So yeah, you can do like stuff like, so we have lots of stuff for like accessibility, as well as like the ad blocking and content blocking stuff, we do, we have like a smart anti-tracking, which is like a machine learning based, like tracker blocker, which is pretty handy. You can block third party cookies, you can. I guess that's something else that people would want to like test with as well, is like to make sure that federated login systems still continue to work with that sort of thing enabled. Yeah, so that's a great thing to test with. And so a lot of stuff would tend to be aimed a bit more at power users who really want to customize the browser, just like decide what they want to do. Like we take the term user agent really seriously. Like we are the user's agent. We're making the web work for them. Like there's content you don't want to see, you don't have to see it. Like, I think this is like, what this shows is that although, you know, this is Chromium, and so is Chrome, that there are significant differences here and it's not just like, we know the situation on iOS where browsers can only be, it's the same engine underneath, it's the same one that's installed with the operating system. So like if you run Chrome on iOS, it is just the shell. That's not what's happening here. This is not just a shell, it's running an entirely different version of the engine. It's got its own hooks in, it's enabling different APIs. It kind of shows that you can have like diversity even with the same engine. Exactly, yeah, like there's an entirely different ethos going into designing Samsung Internet versus the design thinking that goes into Chrome. And even though we're running the same engine, like the people who use our browser versus like standard Chrome will have different, will experience different versions of the web. Cause that's how the web is meant to be experienced. Like the web is, the web isn't the same for everyone. Like not everyone's going to experience the web in the same way, depending on the device they're using, the browser they're using, the preferences and extensions they turn on. And that's a fantastic thing. And the web is, the web is, like the web itself is designed to be flexible enough to account for these changes. Like, like- I think that's like, that was, the web was born with that in mind. And we saw that like the early days of the web were things like user styles. Yeah, exactly. And that sort of died off, I felt, like when in the desktop era of the web. But then, yeah, when smartphones became a thing, you now had a situation where there were like, lots of people experiencing the web in a very different way. And it wasn't just like the technical users that were installing extra like stuff. It is people just using like different browsers with features which are like, you know, interesting for users. It's not just like nerd customization. It's like, yeah, user features. Yeah, it's really, I think it's really interesting about how the web, because when you have, if you're building an app, you would never build an app with expectation that some of the elements in your app might randomly be deleted by the operating system. Yet it's a perfectly standard expectation in the web that, yeah, users may delete some of the elements in your web page because they don't like them and they've got a thing to block them. Or they might be running it with the fonts like twice as big because they need that to be able to see them clearly. And I think that's a great thing about the web and I think that's really like a power. And I'd really like to see like more chromium engines like choosing to strongly differentiate themselves from the underlying experience. But yeah, one thing I wanted to mention was just like how big we are. Like Samsung Internet is really is like the little giant. Very few developers have heard of us. But like in some regions, we have 25% of all mobile browsing. Granted, that region is South Korea where Samsung's from. So it's a big place. It's a big place. But like even in Europe, like Germany, we have 12%. So like some regions, we have significant like browser usage, like... It's probably bigger than Firefox, right? And yeah. Yeah, we're basically the third browser these days. Like Chrome, Safari, us. But yeah, and we're not super well-known, which is unfortunate. Like worldwide, we're at 7%, which may sound small, but when you remember it's 7% of all mobile browsing. Yeah. That's a pretty big number. The numbers get big. Like we have over half a billion users. So I guess what's the takeaway for this then, I guess, is to like, there's this browser, it's used by a massive number of people, but maybe isn't getting the developer attention that it should. Like what I'd really like is for developers to be like, wow, all these features in Samsung Internet sound amazing. I'm gonna use it as my daily driver. But people like the browsers they like. Like give it a go. But like even if you don't use it day to day, please install it on your like testing devices in your device lab. We work with Selenium and like the browser testing tools. Like you can plug us in and open up the inspector in Chrome and inspect us like you would a Chrome browser. And if people find any bugs, they can tweet you on Twitter. Yeah, so either tweet them at me directly. I'm at Ada Rose Cannon or tweet them at Samsung Internet, which is at Samsung Internet. Or you can email, but the best way is just to email them directly to the engineers, which is a browser at samsung.com. And it'll pretty much go straight into their bug tracker. Yeah, go do that then. I will, I promise I will. I might actually already have it installed. You do? I haven't filed a bug before. So I need to do more testing. Go find a bug and report it. I shall. Cool, thank you so much for having me and thank you for coming to HTTP203. Right, yeah. Bye. You've got, you have to now find someone else to... Oh, is that how this one is? Yeah, this is one in one out. Like you find someone else and... So good luck. Your curse now. Good luck. Bye. Well, I guess I'm stuck here now. I guess I'll see you next week for HTTP203.