<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: pthatcherg</title><link>https://news.ycombinator.com/user?id=pthatcherg</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 22 Apr 2026 18:45:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pthatcherg" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by pthatcherg in "The first Media over QUIC CDN: Cloudflare"]]></title><description><![CDATA[
<p>I'm excited to see a major use of WebTransport!</p>
]]></description><pubDate>Fri, 29 Aug 2025 03:11:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45059715</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=45059715</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45059715</guid></item><item><title><![CDATA[New comment by pthatcherg in "DOJ will push Google to sell off Chrome"]]></title><description><![CDATA[
<p>Why don't you like libwebrtc?  There's a lot of good stuff in there.</p>
]]></description><pubDate>Wed, 20 Nov 2024 06:07:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=42191198</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=42191198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42191198</guid></item><item><title><![CDATA[New comment by pthatcherg in "Local Peer-to-Peer API Draft Community Group Report"]]></title><description><![CDATA[
<p>This is just an initial proposal, and probably will reduce down to one with developer feedback and implementation experience, which is normal for API development.<p>Whether it's one shape or the other doesn't take affect the network protocol underneath.<p>If you have constructive ideas of how to simplify the protocol underneath or the API, you can share them with the authors.  The people that work on that APIs are always looking for constructive feedback</p>
]]></description><pubDate>Tue, 05 Nov 2024 13:16:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=42051247</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=42051247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42051247</guid></item><item><title><![CDATA[New comment by pthatcherg in "Local Peer-to-Peer API Draft Community Group Report"]]></title><description><![CDATA[
<p>I'm not sure what you mean.  It does work without a domain name and SSL cert.</p>
]]></description><pubDate>Tue, 05 Nov 2024 13:11:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=42051219</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=42051219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42051219</guid></item><item><title><![CDATA[New comment by pthatcherg in "Local Peer-to-Peer API Draft Community Group Report"]]></title><description><![CDATA[
<p>I did something similar a while back: <a href="https://github.com/pthatcherg/stunl">https://github.com/pthatcherg/stunl</a></p>
]]></description><pubDate>Tue, 05 Nov 2024 13:09:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=42051212</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=42051212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42051212</guid></item><item><title><![CDATA[New comment by pthatcherg in "Local Peer-to-Peer API Draft Community Group Report"]]></title><description><![CDATA[
<p>WebRTC (with p2p) was done within the W3C, as was a p2p QuicTransport.  And this new API is similar to the open screen APIs that have been done in the W3C.<p>So I'm pretty sure work like this can be done in the W3C.</p>
]]></description><pubDate>Tue, 05 Nov 2024 02:41:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=42048137</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=42048137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42048137</guid></item><item><title><![CDATA[New comment by pthatcherg in "Local Peer-to-Peer API Draft Community Group Report"]]></title><description><![CDATA[
<p>I was one of the original authors of the p2p QuicTansport API and the WebTransport API which is based on it.<p>I've also recently discussed this new local p2p API with the authors.  And I'm in the favor of it, at least in principle.<p>The difference is that <i>local</i> p2p does not require signaling like, say the p2p done by ICE, WebRTC, or p2p QuicTransport.  So for some uses cases, this would be better.  And, if done right, this would fit well into a cohesive set of APIs that cover both kinds of p2p.<p>I'm also in favor of making APIs low level, but I'm not sure if raw sockets is going to work.   Keeping congestion control working is pretty important.</p>
]]></description><pubDate>Tue, 05 Nov 2024 02:38:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=42048127</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=42048127</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42048127</guid></item><item><title><![CDATA[New comment by pthatcherg in "WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport"]]></title><description><![CDATA[
<p>The article's information about WebRTC is not accurate.  You can do client/server WebRTC without a "signaling server".  Just make the server do the signaling.  It takes a few extra round trips, but it doesn't need to be an extra server.  And WebRTC data channels work quite well as a replacement for WebSockets or SSE, especially if you want to avoid head-of-line blocking.  And there are many libraries that will do pretty much all of the work for you, like Pion or str0m.<p>I also think calling the WebTransport API complex is overblown.  If you don't want the more advanced things, you can ignore them.  If you want to use it like a WebSocket, just open one bidirectional stream and you're basically done.  If you want to avoid head-of-line blocking, just open a stream for every message.  It's a little more complex, but it's not the kind of thing you need a library for.  Github Copilot will probably write the code for you.  It's true there aren't as many server libraries out there yet, since WebTransport is still maturing.  And we're waiting for Safari to add support.</p>
]]></description><pubDate>Tue, 19 Mar 2024 18:30:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=39758798</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=39758798</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39758798</guid></item><item><title><![CDATA[New comment by pthatcherg in "WebRTC for the Curious (2020)"]]></title><description><![CDATA[
<p>There's also WebTransport</p>
]]></description><pubDate>Fri, 05 Jan 2024 15:48:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38880284</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=38880284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38880284</guid></item><item><title><![CDATA[New comment by pthatcherg in "Replacing WebRTC: real-time latency with WebTransport and WebCodecs"]]></title><description><![CDATA[
<p>From a server or a native client,  you can send whatever RTP packets  you want, but you cannot send whatever RTP packets you want from a web client, and you cannot have access to the RTP packets from a web client and do whatever you want with them, at least not very easily.  We are working on an extension to WebRTC called RtpTransport that would allow for just that, but it's in early stages of design and standardization.</p>
]]></description><pubDate>Mon, 30 Oct 2023 16:54:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=38072079</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=38072079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38072079</guid></item><item><title><![CDATA[New comment by pthatcherg in "Veilid is an open-source, P2P, mobile-ﬁrst, networked application framework"]]></title><description><![CDATA[
<p>It's shame it looks like web clients won't be able to connect to each other p2p.  If it supported the use of ICE+DTLS+SCTP or even ICE+QUIC, then it web clients could join in.<p>Or am I missing something in the docs?</p>
]]></description><pubDate>Mon, 14 Aug 2023 18:58:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=37125216</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=37125216</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37125216</guid></item><item><title><![CDATA[New comment by pthatcherg in "Using WebTransport"]]></title><description><![CDATA[
<p>So WebTransport does what you were proposing to do?</p>
]]></description><pubDate>Sat, 17 Sep 2022 15:12:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=32878152</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=32878152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32878152</guid></item><item><title><![CDATA[New comment by pthatcherg in "Using WebTransport"]]></title><description><![CDATA[
<p>It started in the W3C and the IETF group was added later. But thank you for pointing out that a lot of effort is put into making these standards a joint effort across the industry.<p>(I was one of the original authors in the W3C but left shortly after the BoF happened).</p>
]]></description><pubDate>Sat, 17 Sep 2022 07:59:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=32875640</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=32875640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32875640</guid></item><item><title><![CDATA[New comment by pthatcherg in "Using WebTransport"]]></title><description><![CDATA[
<p>How would one add datagrams to WebSockets?</p>
]]></description><pubDate>Sat, 17 Sep 2022 07:51:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=32875597</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=32875597</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32875597</guid></item><item><title><![CDATA[New comment by pthatcherg in "Using WebTransport"]]></title><description><![CDATA[
<p>You can use ICE and QUIC together.  That's what the original version of WebTransport did (back when it was called QuicTransport).</p>
]]></description><pubDate>Sat, 17 Sep 2022 07:49:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=32875589</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=32875589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32875589</guid></item><item><title><![CDATA[New comment by pthatcherg in "Using WebTransport"]]></title><description><![CDATA[
<p>There's nothing stopping QUIC from being p2p.  In fact, the original version of WebTransport was called QuicTransport and was p2p, but there was more interest in client/server use cases, so we switched focus to that.<p>(I'm one of the original authors of the WebTransort spec and when I worked at Google years ago, some excellent engineers on my team shipped the original QuicTransport behind a field trial).</p>
]]></description><pubDate>Sat, 17 Sep 2022 07:47:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=32875584</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=32875584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32875584</guid></item><item><title><![CDATA[New comment by pthatcherg in "Video Live Streaming: Notes on RTMP, HLS, and WebRTC"]]></title><description><![CDATA[
<p>It's been almost 3 years since I first presented on WebTransport + WebCodecs: <a href="https://youtu.be/VD5GBLBiSxo" rel="nofollow">https://youtu.be/VD5GBLBiSxo</a><p>Live streaming was a motivating example for both of those, as you can tell from the video.  And both of them grew out of our efforts to make WebRTC better for live streaming.</p>
]]></description><pubDate>Mon, 06 Jun 2022 21:34:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=31646596</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=31646596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31646596</guid></item><item><title><![CDATA[New comment by pthatcherg in "You’re muted – or are you? Videoconferencing apps may listen when mic is off"]]></title><description><![CDATA[
<p>That's correct.  You can't mix without decrypting.  Signal does not mix at the server because it can't.<p>More info is available at my blog post about it: <a href="https://signal.org/blog/how-to-build-encrypted-group-calls/" rel="nofollow">https://signal.org/blog/how-to-build-encrypted-group-calls/</a></p>
]]></description><pubDate>Wed, 13 Apr 2022 21:48:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=31020717</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=31020717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31020717</guid></item><item><title><![CDATA[New comment by pthatcherg in "Native Matrix VoIP with Element Call"]]></title><description><![CDATA[
<p>Hey, I'm the author of the Signal blog post about SFUs.  I have a few questions/comments:<p>1.  I don't think there are many good open source SFUs to choose from.  I know of 2, maybe 3 (including our new one).  There may be many, but few have good rate control.   But maybe I just don't know about them?  I'd be happy to learn of more good ones.<p>2.  Echo cancellation is certainly a hard problem, but it doesn't conflict with E2EE unless you do it on the server, which isn't necessary.  So perhaps it may be a somewhat harder problem because you close off one possible approach (doing it server-side), but many (most?) echo cancellation solutions are done client-side.<p>3.  You may not be completely dependent on WebRTC's echo cancellation any more because of 
the new MediaStreamTrackProcessor  and MediaStreamTrackGenerator APIs.  I don't know if it will work for echo cancellation, but it might.</p>
]]></description><pubDate>Tue, 08 Mar 2022 03:03:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=30595970</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=30595970</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30595970</guid></item><item><title><![CDATA[New comment by pthatcherg in "Pyrite – open-source video conferencing"]]></title><description><![CDATA[
<p>If you're main focus is to mostly receive 1-2 video streams while sending 0, then, yeah, I guess bundle vs non-bundle doesn't matter much.   I'm pleasantly surprised to hear that 25 PeerConnections work well for you.<p>About simulcast: why would a sender not support simulcast?   Something to do with VP8 hardware encoders?<p>I'm still interested to hear what you have learned about AQM and the like.</p>
]]></description><pubDate>Thu, 24 Feb 2022 16:01:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=30456237</link><dc:creator>pthatcherg</dc:creator><comments>https://news.ycombinator.com/item?id=30456237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30456237</guid></item></channel></rss>