Moving the web forward: Microsoft Edge for web developers | BRK3099
![Moving the web forward: Microsoft Edge for web developers | BRK3099 Moving the web forward: Microsoft Edge for web developers | BRK3099](/pic/moving_the_web_forward_microsoft_edge_for_web_developers_brk3099/ZlJTV1NIaWpldDA_.jpeg)
All. Right good afternoon everyone how are you doing today I know, we're in the home stretch now it is a Thursday. It is lunchtime and it is the day of theme. Parks so I am extra honored to have everyone here today so. I'll try and make this interesting, and move. Pretty quickly so we can all get you on to the rest of your day and your in trip Selma my. Name is Kyle fluke I am a p.m. lead on the developer, experiences, team at Microsoft edge, house we build things like dev tools and web applications, and work, with the developer community to really to try and make sure that we are meeting your needs so what I'll be talking about in this talk is, what is new for the new Microsoft, edge for, web developers, so, we'll be starting by walking through some of the pain points you told us about web applications, the web platform itself, developer, tools and how, the new edge coming in January is going to address those needs we'll. Also walk through what's. Next so how we're collaborating, an open-source working with the chromium project and other browser vendors and with web standards to. Make a better web for you whether it's in Microsoft, edge and, other chromium based browsers on every, device. So. To get started here hopefully, this, isn't a surprise to anyone at this point but Microsoft. Edge is coming out with a brand, new Microsoft edge On January 15th so it'll be generally available, starting. Early. Next year this, is going to be adopting, chromium as the foundation, for our browser so. What that means is, we. Will be working in open source upstream, in the chromium project and the, improvements that we make there will be improving. Not just edge but all browsers, and frameworks built on chromium so that could be chrome it could be opera. Could be Vivaldi, it could be the, electron, or the chromium embedded framework. And. These this, really has a lot of good news and a lot of improvements, for web developers, before, I dive into all the specifics there I wanted, to take a little bit of a step back to. How we got to this decision into, the philosophy, that, we're really trying to drive in the, edge team, in. All of our product development so, there's really this habit we're trying to drive across the edge team which is all about listening. And, when, I say habit like this is really something we're trying to get. Into Armero as we go through the product development lifecycle to. Really be attentive to the unmet needs of all the constituencies. Use the browser so. This could be developers, it could be consumers, it could be enterprises, and administrators. It could be educators in. This talk we'll be talking, specifically, about web. Developers, and so, for web developers, you know we really started about two, years ago on this journey of evaluating, what. We needed to do to really. Make edge, better, and meet your needs and that led to the announcement, back almost, 12 months ago now last December to switch to chromium so. I'm gonna walk through what, we heard from web developers, and, then what we did to address that feedback and what that means to you, before, I dive into that can I get a quick show of hands if you consider yourself a web developer, or whether it's professional kind of dabbling. About. 2/3. The, room 3 course the rooms that's pretty good. So. Hopefully some of this rings true. Here's. Some of what we heard from web developers, the. First thing is that capabilities. Are inconsistent, across browsers so you have compatibility, issues that show up so. Often how this shows. Up in the real world is you, might have one browser or a couple browsers that are sort of first-class where you do your web development or your you know sort of your primary test target and, then as you, develop, you know maybe add you, know certain iterations, during that process or, at the end you might step back and look at other, browsers, and evaluate, okay what broke what's not supported, and this might result in things like having, to re-implement features that aren't available in those browsers or, deploy, polyfills, or actually to remove capabilities.
That You really want to take advantage of but, they're not supported, or it could result in just not supporting those browsers and your customers sort of bear the pain of having to you know upgrade to a different browser and, so. When we try and look at this kind of quantitatively, over. Time this, is a map or, a graph, of html5, test scores over time so. This is essentially, the number of web standards implemented. In different browsers and the light blue line they're sort of in the in the middle is edge, and, you know dark blue before that was IE and. What you see here is that there's sort of this valiant struggle across browsers to have you, know a a high level of support at parity, with each other over time but. Ultimately with. Edge and with IE we were never able to fully close that gap and actually, that number you see there at the top can be a little deceptive because you know it's like 45 points on this benchmark which well what does that mean you, know it's a couple big features and maybe a handful of small features and. Then there's you know different differences. In implementation, or bugs between different browsers but, you take that relatively small number and you multiply that by 35. Trillion URLs on the web and suddenly, you start to have a pretty big problem. So. What we're doing with edges we're moving to the, chromium open source project, which means we have the exact same set of capabilities and the same implementation, of these capabilities as other, browsers, like chrome like opera like Samsung and Internet which. Really means that it's less fragmentation. Less headache for web developers and this, is actually magnified by the fact that because. We, are still behaving as an implementer in chromium when. We implement new features it. Can be implemented across all these browsers so you can rely on those capabilities across a wider set of your customers and I'll talk a little bit more about in the about that in a bit. The. Second big theme and feedback we heard is fragmentation, across versions. So versions of the operating system specifically, so. Historically, Edge has been bundled to the operating system version of Windows which meant that on Windows 10 you.
Might Actually have to support multiple versions, of edge in, mark at any given time so, you know here we have four different versions of Windows 10 with four different versions of edge that, are all actively supported, and that you might have to support. For your sites and, so this means you're never quite sure what, set of capabilities come with edge you. Might actually not, be able to take advantage of something that came out in the latest version because most of your users are on an older version or, some you know substantial, subset of your users so. With the new edge we're, shipping independently, of the operating system so the same version of the web platform will actually be available regardless. Of which, version. Of Windows you're on. In. Addition we're taking that same support and we're taking it from just being on Windows 10 to, being across all, modern desktop platforms, as well as mobile devices so. If you're on Windows Windows, 7, Windows 8 Windows 10 including, server versions of Windows you will have the same version of Microsoft edge available, as well, as on Mac OS and then. We also have it for mobile. Devices as well using the same the platform that's available on those devices, we're. Also planning to bring edge to Linux at some point in the future as well so we can truly make it available wherever, you're doing your development or your CI CD pipelines so what, this means is if your home development, environment, is not the latest version of Windows 10 maybe, you're on a Mac maybe run Windows 7 maybe you are on Windows 10 you, can rely on the fact that edge is going to be that behaving. The same for you as it, is for your customers on any one of these platforms. The. Next thing we heard is that long, update intervals increase. They. Cause. Compatibility, issues they make it so you can't take advantage of the latest capabilities. As soon as they come to the web platform and they, also mean that if there's a bug in our implementation it takes a long time to get a fix out so, in the current version of edge and market typically, we've updated with Windows every six months so that means if there's, a bug that's there on the day we ship it's probably gonna take at least six months to get a fix out if there's, a new web platform feature, it could take six months it could even take a year or more to get that new feature available after, we implement it, so. The new version of Microsoft edge ships at the speed of the web so, we'll have stable, releases coming every six weeks sorry, every six weeks at. The same Cadence's chromium and. Will actually have preview, channels available at a much faster cadence, as well so, already. Today we shipped these three preview channels canary beta and dev canary, ships daily, based on our nightly build of edge so this is what we use on the engineering team to actually build edge to test the latest capabilities, to find bugs this. Is great if you are you, know a browser engineer if you're really into, web standards, or if you just sort of love to have the latest what. We'll do is we'll take the best canary, build each week and we'll promote that to the dev channel so, this is really what we recommend, for web developers, who want to try the latest capabilities. But, have kind of a higher bar for stability and you know make sure you're not a too much risk of reliability. In turn and, then the, beta Channel is shipping every six weeks so essentially, the same cadence is stable but, you can think of beta as kind of a crystal ball into what the next stable, channel looks like so, this is great if you primarily, want to evaluate compatibility. Impact for, your organization, or for your sites you, can take the beta Channel and know roughly what's coming in six weeks for edge so, for example the beta release from this week that we've declared the release candidate is, representative, of what we end tend to ship on January, 15th in the stable channel of edge and that same pattern will continue going forward.
Now. Another, thing we heard is about web application so the browser is actually just one of the places where web content, appears in fact web apps we actually know there are over 2 million native. Applications, on Windows that use web content some way whether it's you, know a hosted. Web application, or a PWA or a, webview within a native app and what. We heard from web developers, is you want the flexibility, to choose, between. Pure, web standards, power to cross-platform, web apps as well, as an option for integrating. Web code with your native applications, and so. Web applications, on Windows have sort of been on this journey over time introduced. In Windows 8 with Windows web applications, or dub dub ace evolved. Into window or sorry hosted web applications, in Windows 10 and then, progressive, web applications, later in the Lynda Windows 10 life cycle as well these. All had in common the ability to integrate win our key capabilities, so you could access sort of native device capabilities, from. The web application, using WinRT so, this would be things like using the WinRT contact. Picker or you, know jump lists or live tiles in Windows 10 and then. These all ran in the Windows web application, host so, it's actually a separate context, from the browser, now. What we heard from web developers, is a couple things one. Is that the capabilities, via WinRT, are great in terms of the ability. They offer your application, but. They actually sort of compromised, the cross-platform, nature, of what you want from a progressive web application, so because those abilities aren't, available on, other platforms like, Windows 7 like Mac OS or another browsers, it, sort of forces you to do extra work to integrate per device per operating system, the. Second thing we heard is that the application. Host actually matters so the fact that they're, in dub dub a host versus the browser context, has, a couple of side effects first it means the capabilities, may actually not be consistent with what you expect from the browser for, the same reasons we talked about for edge so it's. Tied to the version of the operating system, it may not be in sync with the latest capabilities, across platforms, the. Second is that it actually limits, options for discoverability, so if you can't discover these apps from the browser and install them from the browser then, you're really restricted to what you can get from packaged and you know deploying something and either, directly, or via or something like the Windows Store. So. We've done is actually evolved our support for progressive, web applications, with the new version of Microsoft edge so, it's now in a browser-based host and purely, powered by web standards so. What that means is we're trying to take the same capabilities, that you have today via WinRT for, device integrations, and move, those into web. Standards, so that they're available not just on Windows 10 but, across versions, of Windows as well as on other operating systems like Mac OS and. Because. It's in a browser-based host, the, rendering. Engine that powers these apps is in sync with the new version of edge so, it's always up-to-date consistent.
Across Operating, systems and platforms. And. It's discoverable, via the browser so you can actually install these applications directly, from the browser without having to package them or take them to a store. If. You want to learn more about progressive, web applications, in the new edge and in Windows I really, encourage you to go visit my colleague Jeff Burt off who's hiding in the back here, he'll. Be giving a talk just, in a couple hours over, in OCCC. He'll. Talk a lot more about how you build progressive web apps and walk through some cool stuff there so. The, next thing we heard is also. For web applications, but specifically, for web views so. There are a lot of developers who actually want to integrate, web. Content, into a native app so, this is similar to the hosted web app and the dub-dub a scenario I talked about but. This could be anything it could be a win32. App it could be a uwp app and it could be anything from integrating, simple content like maybe an advertisement, to something a little more sophisticated, like a component, that you're reusing that might have originally been built for the web or that you might want to make available across platforms, like an add-in, now. Windows has supported web view controls for a long time but we've actually had a pretty fragmented, story so. Until just recently we, actually only had, the IE, Trident. Web view available to win32 apps which. Is just, a little out of date and. Then the web, view is only available to you WP apps. So. We're actually introducing, a new web view control with the new Microsoft, edge like. Our PWA offering, it'll be always up to date in, sync with the browser on, the device it'll. Be consistent, across operating, system versions so this will be available to windows 7 and up and regardless. Of the version of the operating system this will be up-to-date with the browser and. It'll. Be available across win32, and uwp apps so regardless of your language regardless of you know what app environment, you're targeting you'll, be able to use this webview. Now. For some app developers, we hear that you want something a little bit more stable for, application, compatibility so, you might have a higher bar for app compat you want to be able to test every version of the web platform to make sure that it works great with your app before. You take the update so we're actually gonna be offering and always up to date option, is we're sorry I bring your own version option as well so we call this webview choice so. With the bring your own version webview it's a similar model to what you'd get with open source frameworks, like the chromium embedded framework for example you, can package a specific, version of the webview with your application, it'll, still be consistent, across Windows versions so that happen you have the same behavior regardless of which version of Windows you're on and again. It'll be available across, win32. Uwp apps in different languages. Always. Up-to-date webview is available to preview now so, if you try this you, can go to a KDKA. Ems. You, and try, the always up-to-date web view control now we really, encourage you to try it out give us your feedback that's.
Available For c++ now with additional language options coming soon and then. The bring your own version webview will. Be coming later next year so. Both of these will be in the first half of next year following, the initial gif, edge. So. To give a quick example of, the new webview I'm gonna show you an example for my friends in the power toys team. So, power toys you may be familiar with from the sort, of heyday of Windows 95 these are awesome utilities. To provide a great power user experience, on Windows and this, has recently been brought back as a project by, the windows team the. New power toys app is actually built as a, webview in a win32 app so this is the new edge webview, 2 in. A win32 app all powered, by by. The new edge chromium, engine so, you can see all this content on the screen here is edge and we can you know navigate around select, some controls everything behaves just like you'd expect so, if we actually go up and right-click we can bring up the edge dev tools and we can modify this content and prove this is real, live web content, powered by edge, of, course if you're building your own application, you can choose to log out the dev tools so nobody you know forges screenshots the. Web. YouTube project is all open source on github and we've made a lot of Awesome progress already this year so since we announced this webview back at build we've, been updating the preview SDK every, six weeks we've, already added new features like support, for Windows 7 and Windows 8, support, for native object injection, as well as support for vs and vs code debugging all. Of these features are driven by developer, feedback and by feedback from the community so. We would love it if you could join us in this project go, ahead and come to a kms, web, view feedback give, us your feedback tell us what you want next tell. Us if you have issues. You're really we're, relying on the developer community to help us prioritize, this and really appreciate your help here. So. Just to take a quick recap across web applications, so we talked about progressive. Web applications, which are fully, standards-based, they're, available across operating. Systems and devices they're. Available across browsers actually so modern browsers that support pwace, and your, set of capabilities is consistent, regardless of where you install this installable, directly via the browser and it's available today in the release candidate of edge coming in January 15th. It's. Always up to date we're sorry always up to date web view too is in preview now so. This is for embedding, web content, in your native, applications, so, the C++, preview is available at AKA ms web, view - and. You. Can try this out today other. Options, like other languages and the bring your own version web view are coming soon. Now. You might hear all this and think okay so there's like a bunch of new options for building applications. With the web what about the application, already built with the web so, we talked about some of those options for Windows web apps hosted web apps PWA is in the store today you, might have a web view already using, the edge engine or the IE engine, the good news is all of this continues to work we have no plans to break the applications, that you've already built what. We'd love to do is provide, an offering that is compelling, enough that you want to move forward and if it's not yet we really want to hear from you what's, missing or where's the friction so we really appreciate your feedback if you have one of these existing application, types let, us know what, would prevent you from moving forward but. In the meantime your, apps continue to work as is, modified. The. Last category of feedback we heard is really around developer, tools so. We heard there's, a desire for a couple things from dev tools you want good, dev tools you know high quality they, have the capabilities, you want they're reliable and you want them to be consistent so whether you're modifying. A PWA inspecting, a PWA a, website. A web view you want to have the same tools through all of that, quick. Show of hands if you if I e 11 dev tools are your favorite dev tools raise your hand. Well. I try, so. Yeah that's about what we heard in fact the edge dev tools are pretty closely based on the I 11 dev tools with some bitter rivet of updates over time but, we got pretty strong feedback that we had not we. Had not kept, the edge' dev tools up to par with what you expected, and in fact some of the feedback was to the tune of boy. It would make my life easier if you just had, the chromium dev tools so. The really good news here is we have the chromium dev tools so.
We, As part of the new edge chromium. Dev tools are available and we've actually made them available for any Content, that's powered by the new edge so, if it's a PWA if it's a webview if, it's a website you. Can inspect all of that content and debug it with the same dev tools, regardless. Of which platform you're on for any edge powered content and then, we're actually working in the chromium, project with. Other browser teams to. Improve, these dev tools so, we've already made, over 250. Commits back to the dev tools specifically, adding things like accessibility. Support, localization. In 11 different languages which the dev tools never had before, and we have lots of other things in the pipe so, the good news is that the dev tools are now you know fully at parity with what you expect today and they're only going to get better from here. We. Also expect you, know people, have the expectation, that their test automation just works so if you're using existing. Test automation frameworks, like puppeteer, or webdriver, those, will continue to work an edge today as well so. Recap. A little bit of kind of what we've talked about in, this feedback cycle, we, heard that the inconsistent, web platform, capabilities. Across browsers, were, causing. Fragmentation, increasing, costs so. Now we have one chromium based web platform, that has a standard set of capabilities, we. Heard fragmentation, across OS versions. Was causing again. Similar fragmentation, problems we, now are consistent, across versions, of the operating system, as well as across platforms, we. Heard that the update interval was, too long and we now update at the speed of the web, we. Heard that you want options for, cross-platform, web, apps that are purely standards-based, so. We now have new standards-based pwace, that worked across platforms. We, also heard you want options for web views that are always up to date with options for app compat and so the new webview too provides those options and. We, heard that you, need consistent, powerful tools for all your web content and so the new chromium based dev tools provide, that, so. We're really excited about being. Able to address a lot of the needs that we heard from web developers, with, this new version of edge that's coming and we really, think this is going to reduce, a lot of pain reduce, a lot of headaches and. A natural thing is to look at the slide and say okay well if you think you checked off the whole lists like do you still have a job and I, do so that's good news for me and the reason is because we've, got an awful lot that's on deck too so the next day I'd like to talk about is what's next so, now that we've switched to chromium what do we do to.
Make The web better for everyone and, so, this is really about improving, the web together. With web, standards bodies with, other browser vendors through. The chromium open source project and so, we, intend to contribute, upstream, to chromium to improve the experience for, all web browsers. So. The first thing I want to acknowledge here is that as, a principle we really think that the best place to evolve the web forward is in web standards, so, I think that everybody's, experience is better if, there's, open, debate and a variety of diverse, voices different. Business priorities different, perspectives, taking place as we consider new web platform features so, Microsoft remains vigorously, engaged in standards bodies like the w3c, the what working group Akuma, and other standards groups as an. Implement, or building, new features in the web platform we're. Now implementing, them in chromium open source so. Microsoft edge is joining a number of other browsers that are built on the chromium open source project, which, means that we implement a feature it. Has implemented an upstream, and open source and that feature becomes available in all of these browsers so, instead of just implementing, for a minority of users on, one platform on one operating system and the latest version we, can actually do that not just across, all versions, of edge on all platforms and operating systems but, other browsers, like chrome like Opera as well so, this is really about accelerating, the ability to have a positive impact for you and for your customers. We're. Super excited about having a warm reception in the chromium project so far in, fact in the last 12 months we've already contributed. 1600 more, than 1600, commits upstream, into chromium open source and I'll, walk through a little bit of what these cover. So. Really there's three areas I'll walk through our commitment to accessibility, how. We're improving the Windows experience, and then, what we're going to do to evolve the web forward, so. Accessibility is one that's sort of near and dear to our hearts on the edge team we actually spent several, years of work in the, current version of edge trying to really. Provide a you. Know class-leading experience. For accessibility in fact we were the first browser and, today the only browser to score. A hundred percent on the html5, accessibility, benchmark and when. We made the decision to switch to chromium we, really wanted to make sure we carried that same level of support forward, so, we've done a lot of work in the chromium project to bring a great accessibility, support, we, started by implementing UI automation this, is the modern, accessibility. Framework that Windows uses to essentially. Present application, content to assistive, technologies, like screen readers so. We've added support for UI automation to chromium so browsers, like Edge and chrome can. Now work effectively with screen reader tools like narrator. The. Next thing we did is added support for Windows high-contrast so we've done this this, is actually the most used. Assistive, technology on Windows I. Think, about 4% of Windows desktops, worldwide, use high contrast which. 4%, doesn't sound like that big a number but across a billion, devices you. Know that's more than a couple users who are depending on high contrast for, a good experience, and. Previously if you were using high contrast mode in a chromium based browser you. Get an experience like this which is notably. Not high contrast, you, know it's the exact same experience you got with high contrast turned off with a couple of changes to some of the you know fields.
Of The browser itself but not the web content so. We've actually implemented, support for Windows high contrast in chromium so, if you're in the new edge or other chromium browsers you now get a full fidelity high contrast. This is without any extra, work for you as a developer if you're using good you, know semantics, standards-based markup, this all works just. Out of the box. We're. Also taking that same support to browser controls, so if you're using the default form controls in chromium you'll, get accessible, controls now that work with high contrast that, have more, accessible focused rectangles, and so on. Similarly. In the developer tools we've been working on adding better accessibility so we've improved keyboard accessibility you can navigate even the most sophisticated tools, like the performance profile here using just the keyboard and these, now support high contrast as well. The. Other thing that we really think we can add value to or we've been working on adding value I should say too in the chromium project is the experience on Windows itself so, Microsoft has been building browsers for Windows for quite some time and so when we showed up in chromium we really wanted to focus on areas where we, could sort of bring differential, value as we grow confidence, and grow momentum, in the chromium project, so. A number of the areas that we know that our users love the experience and edge today are, things like touch and, so in fact we, had, great support for the touch keyboard in edge and. When, we chose. To move to chromium we found that actually the touch keyboard didn't work very well you couldn't do things like shape writing you, didn't get text suggestions, in chromium and so we did a bunch of work in chromium to add support for this keyboard so you can now you know you'll see on the right we have before. Shape, reading isn't working there's no suggestions, after, everything, works that you would expect it to we've. Also improved the touch experience for form controls so just as we were adding the accessibility, support we, worked with the chromium engineers to actually. Redesign. All the form controls in chrome, and edge so, they're now more modern-looking they're more finger friendly you can scroll and pan with your finger the padding is better they, look, like.
They're From you. Know 20 19 which. Is awesome so it's actually you know where the previous controls were designed, for like a precise input device like a mouse these are now much more friendly to different kinds of input modalities. We. Also heard a lot about scrolling. Which is that users. Want the fluid, feeling, scrolling that we have an edge and. So we took a look at how, we could take some of the investments we've done in edge over the years and bring, those forward to chromium, so for example an edge we've moved a lot of scrolling off of the main thread so it can't it does it's less likely to hang if the page is super busy if it's loading a bunch of content and, we've been porting those investments, forward to chromium as well so, today we've actually already moved a number of scrolling models, such as the scroll, bar itself off, of that main thread so the page won't hang or the scrolling won't hang if the page is busy and this has the effect of making your pages feel, more performant, we're, working on bringing that same support to other scrolling, methods like mouse wheel and light touch as well and. Then. We're also doing other things for scrolling personality, specifically, so adjusting things like the velocity of scrolling the rubber, banding effect of the top and bottom of a scroll region the momentum of scrolling all of that we're modifying to make it feel a little bit more Windows II. Another. Thing I want to talk about for a windows expertise, specifically is protected media so. If some of you in the room are media developers you may be familiar with the encrypted. Media extensions, standard, which is how how. Media streaming services implement, premium, content like you know Hollywood movies in, web, browsers, so. The encrypted media extensions standard, works with content, decryption modules, on the device, provided, by the browser or the operating system to decrypt, media so you can have you know a secure experience that makes you confident enough to stream, that media to browsers. The. Content decryption module on Windows is called play ready now, play ready is the only hardware backed, CDM, available, on Windows devices so, this is what gives premium, media providers the confidence to do things like stream 4k or 1080p or HDR content over. The browser to, edge. Another. Advantage of being a hardware backed is that it is more performant, and, more power efficient so you get things like better battery life when you have PlayReady, this. Is actually a big part of why Edge has historically had a battery.
Life Advantage, as things like PlayReady. Now. A downside. Of PlayReady is that not every site supports it so in fact some, of you may have seen a page like this in the past which is essentially. You. Use PlayReady we don't support PlayReady go fish and. So we're actually adding support for Widevine, which, is Google's content, decryption, module that's available in chromium as well so. Regardless of whether a site uses Widevine or, PlayReady it. Working edge, now. We think that PlayReady is a great starting place for the you know highest quality and most power efficient, playback, experiences, but, if you want to have broad interoperability, across platforms, we actually recommend supporting, Widevine as well so. Windows. 7 and Mac OS for, example don't support play ready today, so. To support multiple, CDMS, you, can use the Navigator not request media key system access feature here to detect, what, CDMS, are available we, actually recommend starting, by detecting floor play ready if, it's available you should select that for the best experience and if it's not you can use Widevine for broader interoperability. Now. When you're thinking about interoperability. And. Feature, detection that. Sort of leads to the topic of the user agent string pretty inevitably so we want to touch on that briefly. This, is the chromium user agent string which if you're familiar with UA strings you might see. Sort of a little bit of history of the web in here this is actually how the browser identifies, itself to websites and you'll see there's things in the chromium UA string like Mozilla. Which is not chromium WebKit. Which is not chromium, KHTML. Which is not chromium gecko she's, not chromium Safari which is not chromium so it's sort of just everything's, in there right and that's because browsers want, to get the most, interoperable, content that they can and. Sites, often or you. Know have detection logic that is not up to date with the, latest browser strings and so, we're sort of continuing this grand tradition with edge we. Have the exact, same user agent string and we're adding an EDG token to identify edge two, websites we. Sometimes get questions about why EDG, did you it's like a typo it's. Actually because the current version of edge and market has the full edge token and so we want to make sure we're not tripping, up your detection logic if you are already you, know serving workarounds, for edge so. The EDG token, we tested pretty extensively, to make sure it gets the most modern content. Now. We, recommend, you not use the user agent string to do, feature detection as is, a super brittle pattern it means you always have to be updating your detection, logic to be aware of what the Lay's latest browsers, are and what their capabilities are so. Instead we encourage you to use feature detection like, in the play ready example, I showed you. So. That's a little bit about, what. We've done in those 1,600 commits to improve the experience on Windows already so.
A Bunch of features and accessibility. In. Touch and scrolling and media. What's. Next for the web you know how does Microsoft use our position in the chromium project to move the web forward. So. We're beginning to explore with our customers what's next for the web there's, a couple things I want to walk through here the, first is this, exciting, project about moving, native, capabilities to the web this is related to what I mentioned earlier with WinRT API is moving to web standards, for pwace, so. There's this project called project fugu in the, chromium project it's also known as the web capabilities project. This, is all about leveling the playing field between web apps and between native. Apps so, all the capabilities, that native apps have that make them you, know feel more integrated feel more powerful than web apps those, are opportunities for us to extend, the web platform and, make it more, competitive. So. Some examples were really excited about that we're working with chromium. Project on are things like native file system so this is about providing access to the file system in, a secure way for web. Apps to be able to do things like save to disk or read from disk so. You can imagine if you had a word processor, PWA, you'd, expect it to be able to open a file from your disk to do things like auto save to disk and it, can't do that today it has to you know upload to the browser through an open dialog and it can be pretty cumbersome so, this aims to fix that. There's. Also titlebar customizations so this is about giving. Pwace. The same control over styling, the whole window as you get in a native app so, for example you might want to add a search bar or navigation. Controls to the title bar and windows like you can in an electron app or a native app we're. Working on bringing that to the web platform as well. Shortcuts. Is actually a really fun one because this actually just this week hit web standards status so, our team has been working on standardizing, this feature which was previously only, available to web apps as.
Pwace, On Windows 10 that, used to win our key projections, in, the Windows Store so, is this very proprietary pretty. Narrowly defined set of abilities that only worked on Windows we've, actually standardized, this and it's now available across platforms, so, this is the ability to like right-click on something in the Barn windows and you get a little bits of shortcuts there there, are some rule or metaphors, on Mac OS with the dock menu or on mobile devices with things like force touch on iOS I. Should. Actually say before I move on this, is recently under standard, status and the web app manifest standard, we've also started the process of implementing, this in chromium in open source so soon this will be available to pwace, in, edge as well as other browsers across platforms. There. Are a couple other ones here which are about making. Web apps interact. With native apps in a way that feels super normal and organic so, for example protocol. Handling you can imagine if you had an email PWA, you'd. Want to be able to click on a mail to link somewhere on the system so if I click on you know my email address at Microsoft comm if I click on that right. Now you can't open a web page it'll open up a native app we, want to make web apps able to register for that protocol so you could pop right into an email PWA and open the compose sheet just like you'd expect with a native app we. Also want pwace and other web apps to be able to register as a shared target so, if I'm in an app like photos, on Windows and I want to share a photo I could just select a web app there just like I can with a native app today. In. Addition to sort of these capabilities, that, are generally. Applicable to web apps we, also really want to focus on capabilities, that are specific to new. Form factors natural, input and kind of future. Device types so, you've probably heard in the news over the last couple years there's a number of vendors including Microsoft that are shipping devices with different kinds, of postures. Different kinds of form factors including. Multiple screens or foldable screens and right now the web can't do anything about that you know you can spend content, across two. Monitors and you just get wide, content, right so. We're actually proposing, a new web standard that's currently. In our open-source explainers, repo called the window segments and numeration api this. Is about giving you the ability to detect multiple, screen segments, and span, content, intelligently, about those so. If we go back to our example of an email PWA you, might have multiple, screens, or a multi screen device and, you might want to layout messages. On one side and message, intent on another side. Similarly. We're working on making natural input, options like pen feel. More native in Web Apps and on the web so, we have, a bunch of proposals published, on our open source repository, for things like making. Pen input feel, more performant, closer to native this, is actually the web working together with, the operating system compositor. To fill in sort, of the last few pixels behind the pen tip as you're writing on the web we're. Also adding the ability or working on adding the ability for pen. Buttons to trigger actions, on the web so you could advance slides in PowerPoint by, clicking a pen as. Well as doing, things like multi-touch, input on a web canvas with, your fingers while you're illustrating with a pen which is a pretty common pattern and native apps you, can't do that on the web today, so. All these examples are actually from our explainers, repository, on github I'd really encourage you to check out this repository it's something our team has actually been publishing for. The. Last 12 months since we announced this project and this is where you can find sort of the earliest ideas that we're kind of just stating as we think about what's next for the web we'd, love your feedback here, come on in and file an issue or you know add comments let us know what you think of these proposals you. Know your feedback on the API design or gaps we'd, love to hear that. So. The last area I want to touch briefly in terms of what's next for the web in edge specifically, is tracking prevention so, we've talked this week about privacy hopefully. You've kind of heard a theme about us being committed to protecting privacy, and giving users options, for control. And transparency, as they think about their privacy on the web I want, to talk a little bit about what that means to web developers, and specifically, about compatibility, so.
When We look at tracking prevention and edge there's kind of three steps that take place as we evaluate how, to protect. Privacy in any given situation, the, first is classification. Where we use trust protection, lists that are built-in to edge to. Classify a tracker and figure out what, is this is this like federated, authentication is, this social media is this, analytics, is this malicious, is it like a crypto minor or some kind of fingerprinting, tracker and we, classify. Them and identify them to the to our tracking protection for, tracking prevention, feature, this. Is actually built today we, actually used to disconnect tracking, prevention list which is provided, by Mozilla where, we. Built a modular design here so we can build in multiple lists or modify lists on-the-fly over time to provide the best experience. The. Next stage is enforcement, so this is okay we've identified the tracker we've classified it what can we do about it so, our tracking prevention, engine has options to block resource, loads so we can actually prevent. Tracking, requests from reaching the network which. Is really about preventing any data from you about you from reaching trackers, depending. On you, know the type of tracker and the relationship, with a site as, well as restricting storage access so, we prevent reading or writing cookies, we, prevent access to storage API is like local storage and like indexdb. And. Then the third step is mitigation, so, we have all these options for classifying, and taking action and so, what we need to do is figure out which of these actions are appropriate in which context, and that depends on the user setting for tracking prevention, whether it's balanced. Or strict. Whether. The. Tracker itself, is malicious as well, as the users relationship, with the tracker so, you can imagine a scenario scenario, for example where I'm on a news site and there, might be a commenting, widget on that site and that commenting widget might be served from a social, networking site now. If the user has an active relationship with that social networking site it's, reasonable, to expect that they would expect that script to load and be compatible and we don't want to break that so, we actually will, evaluate, the, users previous, relationship, with that site as part of one, of the factors that helps, us decide whether to block that resource so, if you visit that site a lot we, might allow it if you've never been there before it's, probably reasonable that the user wouldn't expect that to load. This. Has actually allowed us to be more aggressive in blocking scripts, that are not important, for compatibility, so, since we started introducing these sort of organization, and relationship, based mitigations, we've, actually found that in the latest version of Microsoft, this, week's release candidate actually version.
79 We, now block 25%. More trackers, in the default balanced setting than, we did in previous versions, so. What this means is that we can block more trackers but, we actually closely monitor, signals, from users around satisfaction. And compatibility, and this, is without any impact to compatibility. So this means sites still work as you expect but. Users have a higher Verity, of privacy. So. The last thing I want to talk about here is listening I think I opened by. Telling, you you know we have had this this goal. To really drive a habit of listening to web developers and so, here we've talked through some of the things we've done some, of the ideas we have for what's next but, really the biggest category of what's next is your unmet needs and, so. You, know we talked about our new focus we talked about the new consistent platform and tools we talked about making the web better I want, to invite you to come and build it together with Microsoft, you, can do that by trying out the new edge at Microsoft edge insider com. There are builds you can download there the canary dev and beta channels are available now and you can actually send feedback directly from within the browser so if there are capabilities you want if the dev tools aren't what you expect or you want a new tool if the web platform isn't meeting your needs for any reason or, if you have user experience, feedback you can do that directly from within the browser if you're. Interested in building web applications. Sorry. If you're interested in integrating web content, into native applications, we, encourage you to try out our new webview give. Feedback there let us know again help us prioritize what. You need for your scenarios, you. Can come find me directly I'll, be up here answering questions after the talk my contact information is on the screen come, find us at the edge booth for the remainder of the day today we'd, love to chat with you and hear more about your unmet needs I. Would. Love it if you could write and evaluate the session I think there's some instructions that will be looping up here after I in the talk you, can also find this online after the fact in the Microsoft tech community but, I'll just close by saying and, we really appreciate you coming on this journey with us we hope you've downloaded a build already if you haven't please, do let, us know what you think we think it will really, reduce a lot of pain for web developers and we're super excited to, go. On the journey of building what's next together so. Thank you.
2020-01-19 16:32