10/10 would buy this t-shirt at Hot Topic, @AdamWathan
There are a few companies I wouldn't want to compete with, the top being Stripe, Vercel, and our bootstrapped friends at Tailwind. Like the Steak-umms's Twitter account, – they don't miss. With the release of Headless UI v1.0, they're once again making everyone else look bad.
Quick review: I've been doing this for a while and at this point I'm fairly certain we all get paid way too much just to build the same things over and over – lists, modals, tabs, or a handful of other UI components. Now I know building these things correctly (with a11y in mind) is difficult, but maybe it shouldn't have to be? That's the whole idea behind Headless UI – "completely unstyled, fully accessible UI components."
Headless UI v1.0 doesn't introduce any huge changes as much as it just doubles down (literally) on last October's release by expanding the number of component types by 2x. That's four new components for React and five more for Vue (if you're keeping score at home), including some crowd favorites like dialog modals, radio groups, and popovers.
v1 also comes with some shiny new docs that are as beautiful as you'd expect from a team that clearly eats their own design dogfood (in a good way) and is led by Steve Schoger.
By design, Headless UI components are completely unstyled. This allows you to BYOS and have the components fit nicely into any application you're building. This also allows Tailwind to upsell you on TailwindUI, which is like Headless UI, but styled, and not free. Brilliant.
We couldn't think of a good Meme so here's a nice diagram
WebRTC has been around for over a decade now, but you only ever see it in real-time audio and video apps. Well, a few projects came across our radar this week that reminded us how you can use WebRTC for some real-time, peer-to-peer goodness too (besides just t*rrenting), so we decided to take a closer look.
Quick review: The internet works with two protocols -- slow-but-reliable TCP, and fast-but-unreliable UDP. Before WebRTC, browsers only ever used TCP (even for things like WebSockets), because putting UDP in a browser is asking for a DDOS disaster. The other issue was that browsers (just like many of us back in middle school) weren't good at "peer-to-peer communication." WebRTC solves both of these problems.
WebRTC is a protocol that lets two or more web browsers communicate in real time with low latency. It's perfect for things like video and audio chat apps, where missing a packet isn't a huge deal. The two browsers do need an intermediary server to exchange some secret voodoo, but once the connection is in place, the messages only go between the browsers.
It's designed to avoid the security dangers of enabling UDP in a browser, and it includes a data channel, so you can send any text-based data too (not just video and audio).
Here are a few WebRTC projects & tools that might inspire you to use it in a future project:
PeerJS simplifies the whole WebRTC protocol, making it easy to create connections for video, audio, or data
Geckos.io is a Socket.io replacement, using WebRTC instead of WebSockets -- perfect for P2P video games
FoxQL is an open-source, peer-to-peer social network built with WebRTC that just launched last week. Apparently, they're about to launch a crypto token (not kidding), so you may want to liquidate some of your Dogecoin, because our analysts indicate that FoxCoin could go a heck of a lot higher than that.
WebRTC is included in every modern browser -- so hopefully you get a chance to use it to build some ~~high-quality t*rrent sites that don't crash my laptop~~ fun, real-time web apps with it in the future!
Priscila and Mark wrote about converting Sentry’s entire frontend to TypeScript, which varies slightly from the current best practice of "change jobs before ever being forced to confront significant technical debt." But hey, to each their own.
Rauno created uiw.tf -- a fun collection of experimental UI patterns and interactions, mixed with some sneaky profanity. He's a UI designer at Vercel, so that edgy-yet-tasteful aesthetic is in his blood.
Speaking of someone else that doesn't miss, Sarah Drasner created an open-source career ladder framework that shows what expectations are at, at different levels of a role. We're sad to see once you hit "Senior Developer Advocate", your bonus comp isn't directly tied to how many Clubhouse followers you have though.
console.log("buttz") didn't make the list so not sure how helpful this will be tbh.
Delivered to 70,048 developers every Monday
This is the first ever newsletter that I open a music playlist for and maximize my browser window just to read it in peace. Kudos to @uidotdev for great weekly content.
The Bytes newsletter is a work of art! It's the only dev newsletter I'm subscribed too. They somehow take semi boring stuff and infuse it with just the right amount of comedy to make you chuckle.
Bytes has been my favorite newsletter since its inception. It's my favorite thing I look forward to on Mondays. Goes great with a hot cup of coffee!
I subscribe to A LOT of dev (especially JS/TS/Node) newsletters and Bytes by @uidotdev is always such a welcomed, enjoyable change of pace to most (funny, lighthearted, etc) but still comprehensive/useful.
Literally the only newsletter I’m waiting for every week.
Bytes is the developer newsletter I most look forward to each week. Great balance of content and context! Thanks @uidotdev.
The sense of humor and structure of the Bytes Newsletter is first class and the information that comes with it is enough to make a mini course.
Very few newsletters manage to be useful and not very boring. @uidotdev manages to achieve these pretty effortlessly. You can almost see Tyler chuckle as he writes them.