Don't Underestimate the Power of the Web

Episode #032: Ada Rose Cannon, Developer Advocate at Samsung and Co-Chair of the W3C Immersive Web Working Group

How much time have you spent educating yourself on what’s possible on the web in recent years? The web has changed tremendously over the past few years and we’re able to do so much more on it than ever before, but there is still a major knowledge gap that exists between what people think the web can do compared to all that it can actually do today. For instance, progressive web apps (PWAs) now enable mobile app-like experiences that happen to be delivered via the web. PWAs can cache offline, install to the homescreen, integrate with phone functionality such as the camera, push notifications, and more. Also, there is ongoing work to bring augmented reality (AR) and virtual reality (VR) to the web. And, these are just a few examples that showcase how much progress has been made on the web and why it’s so critical for all of us to truly understand what possible on the web today rather than relying on our historical knowledge. In this episode of Mobile Matters, we talk to the co-chair of the W3C Immersive Web Working Group and a Developer Advocate at Samsung, Ada Rose Cannon, about how we’re going to bring augmented reality (AR)  and virtual reality (VR) to the web, why brands should be using progressive web apps (PWAs), and where she believes the future of the web is headed.

If you’re interested in learning more from Ada, check out her blog or follow her on Twitter.

Key Takeaways

  1. The web has advanced tremendously over the past few years and it’s imperative that all of us better understand what’s possible on the web today.
  2. We have to be in the mindset of creating delightful digital experiences that our users actually want to engage with and don’t dread using. This means we can’t be immediately prompting them for information the first time they come to our website.
  3. There is so much potential with progressive web apps (PWAs) and companies need to start incorporating this technology in their digital strategy now.

Interview Transcription

Stephanie Cox (VP of Sales and Marketing at Lumavate): So, now you’re at Samsung and you’re a developer advocate. What does that mean, exactly? What are you charged with doing? 

Ada Rose Cannon (Developer Advocate/Principal Engineer at Samsung): So, as a developer advocate for Samsung, the very core goal of the role is: Samsung has a Web browser that not a lot of people have heard of. It’s called Samsung Internet and we have a surprisingly huge market share. We have 7 percent mobile usage worldwide, coming in behind Chrome and Safari. And in some European countries, we have up to 16 percent mobile market share, which is huge. 

SC: Woah, that’s huge! 

ARC: Yeah! On the scale of the web, these are millions of people using our Web browser. But not a lot developers have heard about us, because they get their brand new phone and the first thing they do is install Chrome on it, which for us isn’t that great. But lots of normal phone users out there still use Samsung Internet, which is really fantastic. And we try and implement enough features now that people on other non-Samsung devices–we’re trying to get them to want to install our browser because we’re a really good browser. So we’re based on the Chromium project. So we’re like Chrome-ish, but because we’re a fork of Chrome, every time we have to upstream the browser to update, it takes a long time. So we’re usually lagging around six months behind Chrome, in terms of browser features. But if there’s something that’s really important, then we’ll try and get it into the browser a bit earlier. But we have open beta, so developers can try out the next version. And yeah, we’re really responsive to feedback and try to make our browser good as it can be. But that’s just the core goal. Everything else I do around that probably takes the majority of my time. So, as well as raising awareness for the browser, we try and get feedback from developers and find out what they think is really important in the web and make sure that’s something which we’re covering, as well. We’re also involved in lots of standardization work. I personally am co-chair of the immersive web working group ,which looks to bring virtual reality and augmented reality to the web. 

SC: Which I am excited about and cannot wait for. 

ARC: Yeah, it’s hopefully it’s going to be really good. The prototype WebVR API were incredibly popular and I’m hoping to see the same kind of uptake with browser manufacturers and developers with the WebXR device APIs than I was with the WebVR API. So, fingers crossed there. Hopefully there should be more information about stuff happening in the immersive web space soon. 

SC: So, for those people who don’t understand what WC3 is and how that works and what the goal is, can you just explain that for the audience if they’re not familiar?

ARC: So, the W3C is a standardization body for web APIs. They don’t decide what gets into web browsers, because that’s what web browser manufacturers do. What they do is they gather together all of the interested parties of people who are involved in the web. So, companies with big investment in web projects, like media organizations like the Financial Times or The Guardian or the BBC or companies that have a browser of their own, like Samsung, Mozilla, Google, Apple, Microsoft. These are all the companies that are involved in the W3C. And they contribute to standards to try and get agreement on what the web should look like, and whether or not browsers implement those features is up to the browser. So, in an ideal world, every web browser would implement every single feature they get standardized.

SC: Wouldn’t that be wonderful? 

ARC: That would be really wonderful. But, building a browser is really, really difficult. So browsers often have to pick and choose which features get prioritized.

SC: Well, and then the other thing about it that I think a lot of people don’t understand–because one of the things that I hear all the time around Apple is, why is their web browser not able to do the same things that Google is and things like that? And one of the things I say is, part of that is their investment in the web itself and whether or not they’re putting enough resources to even be able to do some of the standardization or functionality that you guys might all agree on. 

ARC: Yeah, building a web browser is a humongous financial investment. Like huge! And so, not everyone has the resources Google does to focus on on building a web browser. Because for Google, the web is one of their key markets. Like if there wasn’t a web, there probably wouldn’t be a Google, as we know it today. In addition, when you have these limited resources, companies have to pick and choose what they work on. So, there are features which Safari has, which are head and shoulders above that of any other browser or in WebKit, in general. Because that’s the people in charge of what gets developed in the browser choose to focus on. And it’s the same in all browsers like at Samsung, we have really invested in progressive web apps and web payment and and virtual reality. And other browser manufacturers might choose to be involved in some of the really cutting features that come out of CSS and making sure they get implemented really early. So I wouldn’t say they’re far behind, because there’s definitely areas where Safari are ahead. But it would be really nice if they could get on board the PWA bandwagon a bit more and really get up to the same level, which some of the other parts manufacturers are at. 

SC: Preach, preach.

ARC: And yeah, saying that I hope that we see the same level uptake with the WebXR device API. That’s what I really hope, as well. 

SC: So, you mentioned PWAs, so Progressive Web Apps, one of my personal favorite topics. So how did you get started into PWAs? Like, what was your story around how you first heard about them, got involved with them? 

ARC: So, I started working on PWAs at the Financial Times. So, Financial Times were building like a web-only app before anyone else was that I’m aware of. So, this was before PWAs were even a sparkle in Alex Russell’s eyes. 

SC: I love that! 

ARC: So it all comes about due to an interesting point of contention with parketplace of a particular mobile phone manufacturer, who wanted to take a cut of the Financial Times’ subscriptions, whereas the subscriptions were the majority of the income for the Financial Times, which wouldn’t really work. So, what they figured instead is that, instead of releasing an app through a particular app store, they would release it through the Web instead. And so, they did this by building a web page that did offline using app cache. So, app cache is an old API for making pages work offline. It is not a good API, it is horrible to use. And, if you make a mistake you can get your app into a state where it’s impossible to update ever again and will just remain in a broken state. 

SC: Oh, wow. 

ARC: Yeah it’s a scary thing to do. So, we had to do lots of clever stuff to work around the fragility of the app cache API. But we used stuff like, we synced data to the device and we use app cache to like bootstrap the site, which we then put all the information, how to buy the local storage or for index DB and build a fully responsive app. Which, with one URL would work great on BlackBerry phones, back in the day. It worked great on the early iOS devices, on early Android devices. It was a Windows 8 application. It was also just like a desktop-optimized site. So, if you go to the web browser. And it really showed me the power of what you can do with the web. One distribution, we were hitting all of these platforms, all at the same time. And initially, I was like well, sure this is great but there’s no way we’re gonna get, like, businessmen to open up the menu, tap at the home screen to install this app to their device. But they were! Like, I’d be on the tube to London and I would see all these businessmen in suits around me using the Financial Times web app on their phones, and I would know that they installed that through the web browser. 

SC: How cool is that to see in real life something that you’ve built being used? 

ARC: It was pretty amazing, especially when I see a feature, which I personally developed getting use, it would just be a real moment of pride. And, it was amazing to see because it was so performance. So, my background has always been in real time performance. So, not just performance of loading a web app over the network, but the speed it runs at whilst it’s running on the device. So seeing this web app running at great frame rates, on low powered BlackBerry devices was just beautiful to see. And I said, yes! This is really paying off! 

SC: And then you had Progressive Web Apps come out, and what have you thought about the movement really since Google gave them a name and started promoting PWAs? What have you seen just from an industry perspective happen? 

ARC: So, because I was there at the start and watched Progressive Web Apps grow out of the work of Andrew Betts, who was my boss at the time, and Alex Russell and everyone else involved in the Progressive Web App conversation, it’s been heartwarming to see it slowly gain traction. And when Samsung asked me to join them, to be a web developer advocate, one of the things that really struck me was that they were really interested in pushing Progressive Web Apps as part of their platform. And that’s when I felt like, yes, it’s not just a single browser pushing their vision, it’s multiple browsers coming together is to build something that could enable developers to have this great experience that I’d been doing for years.

SC: That’s where it feels like it’s a movement, right? It’s not just an initiative, it’s a movement that’s happening across so many different browsers, so many developers. To me, it’s been really exciting to see the last three and a half, four years where I feel like it’s the name has started to gain traction. But also, you mentioned slowly growing. Do you think there’s a reason why PWAs haven’t had that hockey stick growth, where literally there’s thousands of brands using them? 

ARC: I think there’s a few things that come into this. So, partly it’s companies will initially, when they’re looking to build their first app-like experience, they want to build an app so that the CEO can have it on his mobile phone and show it to his friends. And so, they wouldn’t even think about other platforms. The CEO will have top of the line iPhone and will want to build an app for the Apple Store. 

 SC: I can’t tell you how many conversations I’ve had with people, with senior leaders that are like we need an app. Why do we need an app? Well, so we can have it on your phone! But what would it do? Well, we need an app!!

ARC: It’s this kind of thinking, it’s the thinking “We need an app” before they’re thinking about what their requirements are. So, if we’re lucky, they’ll be like, oh yeah we’re going to build an app that both works on iOS and Android. And then, they’ll be like, oh yeah we should probably have a website or something for people looking on the desktop, I guess, which would then link to the App Store and for their respective platforms. So, web apps are definitely an afterthought. So, it seems to be that when companies have exhausted all other options, then they’re like OK, let’s give this give this web thing a go. We seem to have consistent engagement through our Web, but they seem to drop off when they go to the App Store. Maybe we could do something and actually make the web the product. And that’s when people start to start looking to the web is as a main platform. It also doesn’t help that the companies that have had huge successes with web apps don’t like to talk about it. Because suddenly it turns from, ah is an interesting experiment, to, this is now our edge over our competitors. So, we don’t want to talk about it. So, it’s definitely the thing where I wish more startups when they think of building something, think about that their target platform before they think about what’s gonna look great to show to my friends in the pub. 

SC: That’s a really great point. One of the things that I have noticed when I talk to people, whether they’re business leaders or developers, unless you are a web developer, you have experience doing that. If you’re just a traditional software engineer, that maybe is more focused on developing for iOS or Android or something like that, they don’t necessarily always understand how much progress the web has made and how much more you can do on it today. How do you think about educating people on that?

ARC: So, yeah educating people about the amazing new things the Web can do is literally a cornerstone of my job. 

SC: That’s one of the things I love and why I wanted to have you on the show, is you write so much great content about different ways to think about different things or how you implemented something that to some extent–it’s like a how-to for some amazing stuff on the web. 

ARC: Yeah, the web is so powerful. Like, the APIs, which I think a lot people wouldn’t even think would be on the web. Like, the Web Bluetooth API is a low level API for controlling Bluetooth devices through the Web. So, you can get a drone, go to a website, and then remotely control that drone from the web, which is amazingly cool. And that’s just like one small feature, like the web is getting incredibly performant. And it feels to me, there’s also like an issue of, not just app developers have given up on the web and don’t think it can do all that much. I think a lot of web developers feel the same way, because it feels to me that, when I was–Here’s a bit background on where I’m coming from here–So, when I was building web apps for the Financial Times, building for the web was incredibly difficult. Browser support was extremely flaky. There was a lot of APIs that had very patchy implementation across browsers. The rendering engines for the browsers behaved extremely differently. There was lots of edge cases in all kinds of browsers. And this made it, as a developer, this made it extremely difficult because you had to choose between, do I manually handle every edge case I encounter? Or do I just use a library that I assume will handle everything? But the Web has come a long way in the past six years. And so now the rendering engines for the different browsers have much fewer differences. As in, they’re still separate implementations, but there’s much more robust testing and working together between the browsers to ensure a consistent experience. On top of that, a lot of the features which we used to rely on libraries for are now baked into the web itself. So, we used to include libraries for doing grid layouts. Well, CSS Grid has that framework built into the browser. We used to include library for doing DOM manipulation like jQuery. That’s all built into the into the DOM APIs these days. For stuff like detecting whether a certain element is on the screen, we don’t need to live proof that anymore, that’s the section observer. And then even on a higher level, so loads of developers really want to build suites of components, which they can use and combine together. So, the first thing they do is go to a component framework, like React or Angular. Whereas, web components have amazing support, across all major browsers these days. You don’t have to build websites to, which still work exactly the same on IE 6. And I think we need to get developers to stop thinking about, look at the platform, see what’s there. You don’t have to build the same experience everywhere. So, at places where features aren’t available, fallback or to assemble a feature, you don’t have to deliver the same experience to every browser. So, Internet Explorer 6 can get to a fallback render of the content just using normal HTML and CSS. And then on an evergreen browser like new Chrome or new Firefox or Edge or Safari, you’re going to see the latest greatest experience, using all of the new APIs the Web has to offer. So, I really hope we start seeing more web developers taking advantage of what’s there already. Because, if we start using these big frameworks, you end up shipping this huge package to the user, which doesn’t work for a lot of people. Because when you’re shipping four megabytes of JavaScript, all of that four megabytes has to load, and if a single byte fails on the wire, then you’ve lost it. The whole thing has failed. The user is going to get nothing. They’re just going to see a white page. And this is unacceptable, because this is the kind of thing that that gives the Web itself a bad experience and then stops people viewing the Web as a viable platform for building their apps on. So it’s like a negative spiral of developers building bad experiences because they’ve only had bad experiences and and goes round and round. 

 SC: It’s interesting that you say that. A lot times when I talk to people, I feel the same way about native mobile apps. When they first came out, the ones that were built when the App Store launched in 2008 and there was only like 550. Some of them were actually helpful. But now, we’ve got millions in the App Store and there’s so many bad examples of them, where people have delivered a bad user experience, done completely wrong things with the data that you give them. And now it’s created from consumers, this kind of like backlash of, I don’t want to go download an app anymore. Because there’s a lot of friction to it, it takes up space on my phone but also half the time it’s not helpful to me. It doesn’t really help me do what I want to do. And it’s the same point with the Web is, a lot of times an entire platform can be impacted by people not making the right choices. 

ARC: And I think that’s a real shame about apps, because one advantage apps have with them being inside the wall gardens of app stores is the app stores have the power to create apps that go on to their stores. And often, they’ll just let anything go up there, whether they ripped off another app or they’re doing something bad with user data. And it’s these kind of bad experiences where no one is having the best situation they could. And, I think that’s one definite advantage the Web has, especially these days where its users are a lot more concerned about privacy. The Web has a lot of privacy guarantees built in by default, because the Web platform is user-first. Like, features are implemented so that they will benefit the user before and protect the user’s privacy and security. So there are some features that apps have which isn’t the web and which the Web will never implement because they’ll impact the privacy of users. So it’s one of the things where apps have dropped the ball a little bit and I’m hoping the Web can pick it up and run. 

SC: I always say that with every new technology or an enhancement we have, we have an opportunity to do the right thing and create the best user experience and really think about things the way that we would want to be treated as consumers. Otherwise, what ends up happening is consumers hate it and then we end up getting regulated, which is a lot of the reason why GDPR existed is that a lot of companies made bad decisions with data. And so, the government said, we need to come in and put some regulations on it because you guys couldn’t make it could make good choices. 

ARC: That’s actually a really good point, and there’s a very similar story in the web. So, I think one of the places where the Web messed up a little bit is push notifications. Push notifications were a technology I was very excited about initially, because it brought to the Web a power which apps have had for a long time. And granted, we should have seen it then that apps weren’t doing push notifications very well. And then we brought them to the web, with a warning of, hey, push notifications are really good, but if you do push notifications badly, then you’re probably going to give users a bad taste for push notifications, not just for you, but for all websites. And, unfortunately, that’s exactly what’s happened. Push notifications had been abused by many website builders. 

SC: Everyone!  

ARC: Yeah, they just got stuck on every website, asking for push notifications when you first land on the page and now everyone hates push notifications. And what could have been something that would have been really powerful and beneficial to everyone in the web has become something which, unfortunately, is now something which web browsers are, I don’t want to say rolling back, but providing a lot more features to control them. For example, don’t show me any more push notifications from this domain. Or just disable push notifications, entirely. 

SC: Or just think, as a web site, think about even when you ask for it. One of the things I hate is, when I go to a website for the first time, it’s like, would you like to opt in for notifications? I just went to your website, I don’t even know if I like your company or if it’s a media place, I don’t know if I like the articles and the content you have. Why don’t you wait a few minutes to see if I’m engaging with a couple of pages, spending time, and then ask me?

ARC: Yeah. Or even ask the user in the page itself, like at the bottom of an article and it’s just like “Oh, you might have read that entire article. If you want to read more, click here and we’ll ask if you want push notifications”, rather than doing it on first load. Because it’s all these kind of empty patterns where often users don’t love your content enough to stick with it. Often, I will land on a page and then if I can’t immediately decline the GDPR notification with a single button, I’m just gonna bounce. There’s not a lot of things, which I’m going to let them waste my time. And so, I think it’s this when you go to a website now and you’ve got OK. No I don’t want push notifications. I don’t want to let you track me, yes ok. I see you have cookies and then by the time you close the popup advert, you’ve done four clicks before you even seen any content. And it’s this kind of experience which is making the making the Web worse, and it’s taking value out of the web.

SC: I completely agree. 

ARC: And it’s not just damaging the brands of the companies who are actually doing the bad practices, it damages the Web as a whole, which is incredibly sad.

SC: Well, and hearing you talk about it, one of the things that popped into my mind was, how many companies still do an interstitial when you come to their page? And they’re like go to the app store and download my app and I’m like, I’m on my desktop, I’m not going to go to the app store and download your app. 

ARC: Yeah. 

SC: Why can’t you just give me what I want now? And why can’t you tell me what the app is going to do and look like, and why I should bother. Stop forcing me to go download an app, and I’m so thankful for face ID, because I never remember my app store password! So, it’s just interesting. So, speaking of just the Web in general, what do you see as the biggest opportunities the Web has moving forward and what do you want to see happen?  

ARC: I really, really see immersive devices being the future of handsets. Like, being the future of how we’re going to engage with Web content. And I don’t mean in the next two years, I mean in the next 7 to 10 years, like long term future. Immersive devices, like augmented reality devices, are getting better and better and smaller and smaller. And it’s going to become a tipping point when they just enter our lives as a normal way to experience technology. And just like mobile phones haven’t replaced the desktop, I don’t think immersive devices are going to replace the handset, but I can definitely see them being engaged with our life a lot more. So that we can engage with the web, without actually looking at a screen and having stuff in our peripheral vision and on our wrists and through our Web connected devices. Like, I think the Web is going to become part of our environment, rather than part of it all little black rectangles. So, I think by having the web ready to engage with virtual reality and artificial reality devices and with WebXR technologies. I think the Web will still have a place in the future, because nothing lasts forever and I don’t think the Web is going to be around for all eternity. I think all we can do is, make the Web last longer. And I think by being prepared for the new ways we’ll engage with content, the Web will have a place in the future.  

SC: So, now let’s talk about what you would like to see brands do on the web? So, if you could wave a magic wand, what would you want some of the biggest brands in the world to be doing on the web?

ARC: OK, so I have a few things here. So, just from a technical architecture thing, I would love to see a lot more brands weighing the weight of their products, so that instead of shipping multi-megabyte reactor apps that require the latest smartphones to use, I’d like to see brands start shipping apps which come in at under 100 kilobytes. Like extremely light, that run very well on low-end hardware, because the future of the Web isn’t English speaking and on high-end state of the iPhones. It’s running on much lower power devices in non-English speaking countries. And I’d love to see brands engage with audiences they don’t even know they have yet. So, doing a lot more internationalization of their products and making building websites that work for everyone. And there is one thing which I’d like to see happen culturally in the web, rather than as a technological thing. So, the Web is having a large problem with hate speech at the moment. And I’d love to see a lot more active moderation to remove hate speech from social media platforms like YouTube and Twitter. 

SC: That would be amazing. 

ARC: So yeah, there’s some of the ways I’d love to see the web go in the future. 

SC: So, let’s say I come to you and I am getting ready to go on to college and I think I want a career in web development. What’s the advice that you’re going to give me? 

ARC: All right, so there’s lots of really amazing tools out there and there’s a lot of really clever work people have done. But, to get started quickly using gigantic frameworks, because if people who use larger frameworks like React and Angular like other people to use those same frameworks. Unfortunately, I don’t think that they’re great for the long-term future of the web. Just like jQuery didn’t stick around forever, and I think these big frameworks might go in the same direction. Learn what the Web as a platform has to offer, because there’s a lot in there, in which a lot of people don’t know about already. And so, by picking up a few technologies and learning how to use them well–so, getting good at just the CSS and HTML will get you very, very far indeed. And, it’s amazing how much you can do with only a few hundred kilobytes of JavaScript. There’s lots of amazing stuff out there. You don’t have to stay on the bleeding edge of the community work, on the work the community does. There’s way too much. The JavaScript community is huge nowadays. Like I’m a developer advocate and keeping up with this stuff is my job, and I can barely manage it. Instead, just look at what the platform has, because that’s what’s still gonna be around in five or 10 years. 

SC: One of the areas I know that you’re passionate about is just diversity and tech overall. So how would you think about getting more women in tech? 

ARC: So, this is a big issue and unfortunately, getting women into tech is not something which women can do alone. So, we need support from big companies, from our colleagues, from the support at every level. Because at the moment, there is pressure against you when you go into tech. You’re constantly fighting the system by being a minority in the industry. And this is not just for women, but for people of color, too. Like it’s very challenging to enter a space where you are not considered the default. So, part of it comes from, as a community making sure that the conferences we attend represent the industry, as we’d like to see it. So, ensuring that there’s good representation of all kinds, at every level of organizing community events. From the organization team, to the staff managing the event, to the lineup of speakers and the attendees visiting the conference. And often this means doing a lot of work and reaching out to people long before you start planning anything. The same comes with open source projects and standard work. If you want to do an open source project or or do a standard, and you want to have diverse people working to it. Because I know ensuring diversity in our teams is the right thing to do. And it is, that that should be reason enough. But for a lot of people, that’s not enough. So to this I say, if you need a business excuse for having diversity in your teams, diverse teams give better results. By having developers from from a wide range of backgrounds, you’re going to solve problems you didn’t even know you had until you released a product. And that it shouldn’t be necessary for me to give that as an excuse for people to use. But sometimes you have to justify it with money and the justification is there, it makes business sense. But yeah, it’s definitely an uphill battle. Like, it helps that people are talking about it, but there’s still a lot of work that needs to be done. So constantly having to fight to prove that women and other groups underrepresented in tech have a space in the industry is a tiring thing to do. And if you’re lucky enough to be successful like I’ve fortunately had a very successful career, so a lot of work I do now is to put down ladders wherever I can and to help other people and provide support networks and make stuff better. That’s all we can do is make stuff better, wherever we can and try and get our colleagues to do the same. 

SC: So, one last question for you. If you could tell every web developer in the world one thing, what would it be? 

ARC: If I could tell one thing to every single web developer, it’s that basically I wish I could let all web developers realize that they’re not just building for their own devices or for the devices of their family and friends. They’re building for everyone and the World Wide Web is a worldwide web, and when building stuff, they shouldn’t focus their Web site to a single market in a single country. They should be building something that works for everyone, everywhere on all kinds of devices, from low-end mobile to high-end mobile and high-end desktop computers. The world is not just for them. And the web is not just for them. And by building a web that works well for everyone, they’ll be building a web that lasts long into the future. And if the Web lasts as long as their own future, then they’ll have some career longevity. 

 

Listen Your Way With These Platforms

Other Information

How do I subscribe?
You can subscribe to Mobile Matters in iTunes, here.

Where can I find all episodes?
To see all Mobile Matters episodes, click here.

Mobile Matters can be found on iTunes, Google Play, Stitcher, SoundCloud, and Spotify. If you enjoy our show, we would love it if you would listen, rate, and review.