markdown guide
 

Portals have caught my eye as an interesting restructuring of the internet:

It seems like we're moving away from an internet which is organized by domain and more toward one which is organized by topic. This is, of course, ideal for Google, who has been leading the effort, which will probably make it pretty controversial.

Personally, I think this change in organization makes sense. But I want to know: What do you think of it?

 

I'm very concerned about this feature. It's very clearly something that helps ad-tech by allowing communication between the host and the embedded pages.

Of course it also allows for a lot of great features by enabling interactive embedded content. But I'm very careful with this and I'm pretty sure looking for a plugin that protects me from all the new possible advertising.

 

Yeah, exciting. But also concerning if it becomes a Chrome-only thing. What’s the latest on outlook for other browsers?

 

Not good, as far as I can discern. Chrome's incredibly fast pace and willingness to change the standards definitely echos the IE days, which is scary.

Even though each feature on its own seems like mostly a good idea, if other browsers fall behind we could be in some trouble down the road.

 

Yet another feature that should've been developed as an importable library and not native to a browser.

I actually think that Portals couldn't be developed as a library. Otherwise Google would have done to use with AMP articles in the search carousel. Promoting an iframe to be the top level content in a smooth manner is not something you can just do with JavaScript, which is why they are adding this to the standard.

I see it now, after reading web.dev/hands-on-portals/ and hope this can come to other engines soon :D

 

interesting, I was looking for something like that, thanks.

 
 

This is one of the very useful upcoming features in my opinion. All those semi magic lazy loading scripts are soon a thing of the past. The browser is anyways much better suited to make this decision (eg for deciding if content should be pre or lazy loaded or just simply together with the rest)

 

WebGPU is the working name for a future web standard and JavaScript API for accelerated graphics and compute, aiming to provide "modern 3D graphics and computation capabilities". It is developed in the W3C GPU for the Web Community Group with engineers from Apple, Mozilla, Microsoft, Google, and others.

 

Form associated custom elements. A much needed addition to custom elements spec that make handling form elements easier.

Spec: html.spec.whatwg.org/multipage/cus...

 

This is a specific case of the element internals API proposal which will also give us control over things like the a11y object model. Exciting stuff.

 

Hi, Ben.

Yes, there are two of them:

  1. The Payment Request API. For me this is a huge step forward for eCommerce. I had the opportunity of developing most of the checkout on modelorama.com.mx and this API removes a lot of friction for consumers. Support is almost there:
    caniuse.com/#search=payment

  2. Intersection observer API. It is already standard and it really helps to make websites faster.

 

Template Instantiation will provide another piece of the puzzle for web components.

Imagine something like this fake pseudocode without framework or library dependencies

<template id="user-tpl" type="repeat">
  <li>
    <article>
      <h1>{{name}}</h1>
      <img src="{{picture}}" alt="{{alt}}"/>
      <p>{{description}}</p>
    </article>
  </li>
<template>
document.getElementById{"user-tpl")
  .instantiate(users, someUl)

See github.com/w3c/webcomponents/blob/... for real examples.

 
 

Web Share and Web Share Target would be awesome to have across all browsers! That's a major part of the PWA experience that's still missing. On mobile, where share interactions are built into the OS, PWA's obviously missing out. And a nice side benefit is that it would remove the need for annoying site-specific share buttons on every site.

 

Yes! We need Safari to support share targets.

Have you noticed that DEV uses the Web Share API though? 😉

 

That's awesome to hear, but the API is only supported by Chrome right now. I use Firefox so it's not available for me. Still a win for progressive enhancement!

Web Share is actually supported in Safari (iOS and desktop) as well as Chrome on Android. It is definitely more relevant for mobile usage, but as the web share target and installable PWAs come to desktop I'd like to see it in all the browsers.

And yeah, it's all about the progressive enhancement! That's why I wrote a web component to progressively enhance share buttons with the web share API.

 

Constructable Style Sheets and ShadowRoot#adoptedStyleSheets, as well as something like CSS modules will let us write shadow styles in CSS without a build step.

that last proposal was in danger of stalling, so if you have something productive to add to the discussion, get over there.

 

Built-in Modules for Javascript! Something that imo that should've come at the same time all in one go with the introduction of script[type=module] but what can you do?

github.com/tc39/proposal-javascrip...

developers.google.com/web/updates/...

 

The Shape Detection API! It allows for detecting & scanning barcodes, text and faces (that last one is kinda creepy though😅). At first I was very afraid it was just a chrome thing because they're the only one with an available trial but there is a spec for it so we'll just have to see how other browsers respond...

The main reason I keep my eye on this is because you won't need to depend on libraries and external api's anymore. In a world where users are getting used to features like these on their phone an the web feels like a logical next step. (Definitely worried about security and privacy though).

 

I'm waiting to see just how badly the imminent webRequest limits on adblockers in Chromium affect security and the browsing experience.

 

Y'know, I thought the MediaRecorder API was pretty new. But Firefox launched it in 2014 and Chrome followed up in 2016. It's very cool though and it didn't stop me writing about it this week though.

I'm also excited that the web is getting a contacts API. This is one of those things that native apps can do and web apps can't, but this time built with the security model of the web (so apps can't just upload all your contacts without you knowing).

Also on the "well, native can do it" front, the native file system API is also going to expand the potential for web applications.

 

I've been looking for reaons to get in trouble with Promise.allSettled(). It'll make a good handful of use cases more UX friendly for me. I've got a couple posts about it, this is the first 👇

 

As I've been loving RxJS for a while now, I'm keeping an eye very close to the Observables proposal --> github.com/tc39/proposal-observable

 

Webauthn. Already support fingerprint scanner in chrome, other browsers support only hardware key for now. Will be great addition to simplify login process

 
 

Portals, Houdini, import maps and loaders... There's tons of exciting stuff in the future 🤩

 

The bluetooth API.

I can only imagine it being a real nightmare, especially for privacy.

So I'm watching its papers with hope to see it being removed/refused.

 

Ive been following this too, a little. The largest issues I have seen, is that manufacturers of bluetooth devices seemingly create their own specification for interfacing and most of the time dont provide documentation.

Solutions to this have been sniffing the traffic, but if you can sniff the traffic and figure out the API interface from this, then it is also likely insecure.

 
 
Classic DEV Post from Jun 14

Stopping Bad Habits Before They Stop You

Stop habits before they derail your life.

Ben Halpern profile image
A Canadian software developer who thinks he’s funny. He/Him.