Browsertech Digest

Archive

Browsertech Digest: Encrypting offline storage for local-first apps

Hey folks! This issue is about IndexedDB, WebCrypto, and my surprising conclusion to the problem of where to put the key in a local-first app.

You can also listen to this issue as a Browsertech Podcast episode:

#42
December 17, 2024
Read more

Browsertech.wasm SF & AI in Prod NYC talk recordings

Hey folks! I know it's been a while, I've been busy running some IRL events. I wanted to share some talk recordings from two events we hosted recently(ish):

AI in Prod was an event we hosted with Bessemer in NYC because I wanted to see talks about the messy process of taking an AI app from a cool demo to something that works at scale -- infrastructure, data quality, performance monitoring, ongoing training, etc.

Talks:

  • ​Ben Reilly - Athena Intelligence on deploying multi-modal agents.
  • ​Nicholas Khami - Trieve on scaling RAG to 1.2B vectors with <100ms latency
  • ​Hiba Awad - Sheer Health on Building AI for health care
  • ​Tom MacWright - Val.town on building a code-writing robot and keeping it happy
#41
December 11, 2024
Read more

Browsertech Digest: NYC wasm recap; SF&NYC events

Browsertech.wasm NYC recap

WebAssembly has had a hype cycle over the last few years, but much of the hype has been about running WebAssembly outside of the browser, rather than in it.

This isn't really an accident; the creators of WebAssembly were keenly aware that all software is web software now and that tech decisions made by browsers become the standard across the stack.

But for whatever reason, it seems like use cases of WebAssembly in the browser have actually been under-hyped. Last issue, I argued that WebAssembly quietly has actually succeeded on the web. I wanted a chance to hear more about in-browser use cases of WebAssembly, so a month ago we hosted a Wasm-focused Browsertech event in NYC.

#40
October 3, 2024
Read more

Browsertech Digest: People are actually using WebAssembly

Note: we've announced Wasm events in NYC and SF; details at the end!

There’s a trope in the web development world that WebAssembly has not lived up to the hype.

#39
August 30, 2024
Read more

Browsertech Digest: Trying out Chrome's Gemini API

One of the Chrome updates at Google I/O this year was that Chrome 126 ships with Gemini Nano, a version of Google's Gemini model scaled down for edge devices like phones and browsers.

There are two versions of Nano, with 1.8B and 3.25B parameters respectively. By contrast, GPT-4 is rumored to have 1.7 trillion paramters.

I am not sure whether the version that ships in Chrome is the 1.8B or 3.25B version. The model is not currently open-source, although I did come across an unofficial dump of the weights extracted from the Chrome binary while writing this.

First impressions

#38
June 25, 2024
Read more

Browsertech Digest: LA event videos & upcoming NYC event

Hey browsertech friends, a quick one today.

Videos from our recent LA event are now online:

  • Luke McGartland talks about Sequence
  • Felicia Chang of Jamsocket talk about Renaissance Earth.

We are hosting an NYC meetup (happy hour format; no talks at this one) this coming Wednesday (26th), RSVP here.

#37
June 20, 2024
Read more

Browsertech Digest Trip Report: Local First Conf

I just got back from attending the first Local First Conf in Berlin. It was really good. Here’s my recap. (Note: this is mostly from memory, so apologies if I get anything wrong — do watch the talks when they come out as a more authoritative source than my jetlagged brain!)

You can also listen to this digest issue as a podcast:

#36
June 4, 2024
Read more

Browsertech Digest: SF&LA events, Kyle Barron interview, Arrow/Parquet

Hey folks, welcome to the digest!

Events

I'll be in SF & LA in a few weeks and hosting some Browsertech events. On May 22 in SF we're co-hosting a happy hour with Krea. Then on May 23 we're hosting the first Browsertech LA. If you're in the SF or LA area, I hope to see you there!

Kyle Barron interview

#35
May 9, 2024
Read more

Browsertech Digest: Cloudflare's durable multiplayer moat

If you'd rather listen to this post, it was also published as a podcast episode.

Cloudflare’s Workers product is probably best known among developers as a competitor to Amazon Lambda that runs on Cloudflare’s edge, but Workers has a trick up its sleeve that has also quietly made it a formidable platform for realtime multiplayer apps.

#34
April 10, 2024
Read more

Browsertech Digest: Row Zero and Viewport Data Streaming

This week on the Browsertech Podcast, I talked to Breck Fresen and Billy Littlefield of Row Zero about Row Zero, a browser-based spreadsheet that is built to be responsive even at billions of rows.

To do this, they give each spreadsheet its own EC2 instance, which loads the entire sheet into memory. This is reminiscent of a session backend, and is a big contrast to what other browser-based spreadsheets like Google Sheets do, which is to run the spreadsheet engine on the client:

Breck: Many people think of [Google Sheets] as a hosted product, but all the compute is actually happening in JavaScript on your laptop. That's one of the reasons that it's so slow, and even slower than desktop Excel.

Most serious spreadsheet users use desktop Excel, like all the New York i-bankers, none of them are using Google Sheets. And a big reason is performance.

With Row Zero, we don't run client side, we run in the cloud. So when you create a new workbook, we're spinning up compute in AWS behind the scenes. And we can scale that thing up as big as your model or your data set needs to be, and so that that's really where the performance is that, (1) we're not running in JavaScript. It's written in Rust, it’s not happening in JavaScript in the browser. And (2), we’re not constrained to the CPU and memory resources of your laptop. It's running on an arbitrarily large server on the cloud.

To make it responsive, they move the compute closer to where the user is:

#33
April 3, 2024
Read more

Browsertech Digest: Interview with Ben of Nomic

Hey folks!

Podcast episode with Nomic

On the latest episode of the Browsertech Podcast, I spoke with Ben Schmidt of Nomic.

Have a listen here, or search for “browsertech” wherever you listen to podcasts.

#32
March 18, 2024
Read more

Browsertech Digest: Prospective.co interview & NYC event

Hey folks, welcome to the digest!

A new episode of the Browsertech podcast went live this morning featuring a conversation with Andrew and Eric of Prospective.co.

As usual, an excerpt is below. But first! If you happen to be in NYC on March 7th, we are hosting the first Browsertech NYC since 2022. We’ll be announcing talks soon, but I wanted to open up registration early to give digest/podcast subscribers first dibs. RSVP here.

Excerpt of interview with Prospective

#31
February 13, 2024
Read more

Browsertech Digest: Podcast ep. 1 with Luke McGartland of Sequence.film

Hey folks, welcome to the digest!

Since I started doing interview issues last year, it has not been lost on me that a newsletter is a low-fidelity medium for these conversations, so I'm pleased to say that the Browsertech Podcast is now live! Going forward, interviews that appear here will be published in extended form on the podcast.

Episode 1 is a conversation I had with Luke McGartland of Sequence.film. Luke and team are building cinema-quality film editing in the browser. If you haven't seen their trailer video, do check it out.

The whole conversation is available on the podcast. Here are some excerpts, which have been formatted to fit your screen.

#30
February 6, 2024
Read more

Browsertech Digest: Overdue link-dump edition

Hey folks!

I've been behind on the digest lately because the Drifting team has been focused on shipping a ground-up rewrite of Plane, our session backend orchestrator.

But things have kept on happening in the browsertech world! Big thanks to Ankesh (feynon in our Discord) for sharing several of these links in our #browsertech channel -- if you've been missing the digest, head over to our #browsertech channel and say hi!

  • My colleague Felicia wrote about how a multiplayer backend can be used to integrate AI assistants, including a neat demo.
  • WebGPU is enabled in Safari Technology Preview. It's also back in Deno.
  • The Browser Company teased a reboot in a short video. It doesn't have much technical substance but I'm a sucker for a well-produced teaser video.
  • Retool published a nice nostalgic tribute to Yahoo Pipes.
#29
December 21, 2023
Read more

Browsertech Digest: Felt is making browsers make maps [interview]

Hey folks, welcome to the digest! This week, I had the pleasure of catching up with Can, CTO of Felt, about building collaborative, browser-based software in GIS world, where desktop software has dominated.

Thanks to reader Ankesh for suggesting the interview.

My highlights

  • Felt’s multiplayer backend is powered by a single scaled-up server.
  • After the initial page load, there are no fetch requests – all communication with the server goes over WebSocket.
  • When computationally-intensive work (like tiling) is needed, pipelines that run on AWS Lambda are triggered.
  • SVG was too high-level; WebGL is too low-level; HTML Canvas API is the Goldilocks pick.
#28
October 16, 2023
Read more

Browsertech Digest: Gaussian splatting and more

Hey folks, welcome to the digest.

Gaussian Splatting

Gaussian Splatting is a technique for representing real-world 3D scenes as a point cloud.

The result is similar to a point cloud generated from a LiDAR scan, but with fewer artifacts. This is remarkable given that unlike a LiDAR scan, it doesn’t require depth information, and unlike NeRFs, it doesn’t use a deep neural network.

#27
September 18, 2023
Read more

Browsertech Digest: How Rayon is making CAD collaborative

Hey folks! For this issue I had the pleasure of chatting with Bastien Dolla, co-founder of the collaborative, browser-based CAD tool Rayon.

But first: Taylor and I will be at Strange Loop and the local-first software unconference this month. If you’ll be at either, hit reply and let me know.

Interview with Bastien Dolla (Rayon)

Some tl;dr tidbits:

#26
September 5, 2023
Read more

Browsertech Digest: How Modyfi is building with Wasm and WebGPU

Hey folks, welcome to the digest.

Last issue, I wrote about applications that treat documents like files, not rows in a database using Figma’s architecture as an example.

Yesterday, we open-sourced y-sweet, a Rust Yjs server with S3 persistence, which implements the architecture laid out in that post. Try it out!

My conversation with Modyfi

#25
August 4, 2023
Read more

Browsertech Digest: Figma is a File Editor

Hey folks, welcome to the digest! Today’s issue is about a pain point developers encounter when shipping desktop-class apps to the browser.

File editors and database apps

Most desktop applications are what I call file editors.

By file editor, I mean that the user selects a file on disk, and the program loads it into memory. User changes are applied in-memory and periodically saved back to disk.

#24
July 12, 2023
Read more

Browsertech Digest: “We should stop using JavaScript”

Crockford on JavaScript

In this short video, Douglas Crockford argues that it’s time for the software industry to move on from JavaScript.

Douglas Crockford in an interview with the transcript caption “we should stop using JavaScript.”

The message is notable coming from Crockford. His 2008 book JavaScript: The Good Parts was among the first to champion the idea that JavaScript can, with some self-restraint, be used to engineer maintainable applications. (He also created JSON.)

#23
June 6, 2023
Read more

Browsertech digest: AI×UX recap and more

Welcome to the Browsertech Digest!

AI×UX

Photo of the stage before AI×UX

On Wednesday we held an AI×UX event in NYC. We had some great talks and our best turnout yet. A recording is now online.

#22
May 19, 2023
Read more

Browsertech Digest: WebGPU day and other links

Welcome to issue #20 of the digest.

Look ma, no origin trial!

Yesterday, WebGPU landed in Chrome stable.

A rotating cube rendered in Chrome using WebGPU

#21
May 4, 2023
Read more

Browsertech digest: AI×UX NYC event

Welcome to issue 19 of the digest. To not bury the lede, here's the registration meetup for AI×UX NYC on May 17.

I'm getting bored of chat interface demos.

Don't get me wrong, the tech is impressive and all that. It’s just a low-bandwidth way of interacting with computers for many tasks.

Compare the ChatGPT interface that Expedia recently launched to a search on Expedia proper:

#20
April 26, 2023
Read more

Browsertech Digest: The race to run inference in the browser

Welcome to the digest.

While a lot of the attention in AI lately has been hosted APIs, people have also been excited about getting smaller versions of these models to run in the browser.

This is appealing for a few reasons. The big one is that AI inference is still expensive to run. Prices are coming down, but the cutting-edge stuff is still prohibitively expensive to put in a freemium product -- if you run it on the server. If you run it on the user's device, you only have to pay for hosting the model weights.

The other major advantage is privacy (data never leaves your machine). Sometimes people also mention latency, but it's a bit overrated -- inference latency will usually dominate network latency anyway.

#19
April 21, 2023
Read more

Browsertech Digest: Data visualization and AI tools

Hey folks, welcome to the digest.

Today’s issue is a round-up of data visualization and AI inference tools that have popped onto my radar recently. But first:

Triplicate email post-mortem

Some of you received the last issue of the digest three times, and I apologize for that.

#18
April 6, 2023
Read more

The tug-of-war over server-side WebAssembly

There is an ongoing tug-of-war over the future of server-side WebAssembly.

One side embraces the idea that Wasm was designed in the context of a broader web platform. Their approach to running Wasm outside of the browser is to transplant relevant parts of the web platform onto the server, and run Wasm within this browser-like context.

The other side sees Wasm as a CPU-independent bytecode, for which the browser is just one use case. Their approach is to standardize a syscall-like interface (WASI), akin to the one an operating system provides to native code.

The source of the rift is that Wasm doesn't specify a particular interface with the outside world, by design. While Wasm itself is portable across platforms, it’s only really useful when paired with such an interface.

#17
March 24, 2023
Read more

Browsertech Digest: What WebGPU means for games and ML

Welcome to issue #15 of the Browsertech Digest.

In a few months, WebGPU will be enabled by default in Chrome. This issue is about why that matters for games and machine learning.

Background: GPU compute on the web

To do any sort of high-performance graphics, you need to be able to send instructions directly to the computer’s graphics processing unit (GPU).

#16
March 6, 2023
Read more

Browsertech Digest: Rust on the web, pixel streaming

Welcome to issue #14 of the digest.

The Bull Case for Rust on the Web

Over on the Drifting blog, I wrote about why we increasingly see Rust pop up in the stack of in browser-based apps.

A tl;dr:

#15
February 21, 2023
Read more

WebContainers, Rerun, and more

Welcome to issue #13 of the browsertech digest.

WebContainers

Most browser-based IDEs work by running the development toolchain — compilers, packaging tools, etc., on a VM in the cloud. One exception to this is StackBlitz, which instead compiles a version of node.js into WebAssembly and runs the entire development toolchain client-side.

This week, StackBlitz launched WebContainers, which exposes their browser-based node.js runtime for others to build on. Although the runtime itself runs entirely in the browser, it is designed to be used in conjunction with a remote network proxy, which they provide (presumably needed fetch packages from npm, among other things).

#14
February 16, 2023
Read more

GPU-backed User Interfaces

Welcome to issue #12 of the Browsertech Digest. Today’s issue is about the trend of applications rendering their entire UI directly on the GPU.

The Good Old Days, When Apps were Apps

Traditionally, if you wanted to write desktop software, you would use the operating system’s APIs to create a user interface. That’s why Windows apps looked like Windows apps, and Mac apps looked like Mac apps.

This also meant that if you wanted to turn a Windows app into a Mac app, it was an expensive and time-consuming process. As browser rendering engines became more powerful, developers realized they could be used as a foundation for a cross-platform UI framework, bypassing much (not all) of the work in maintaining a cross-platform app.

#13
February 7, 2023
Read more

Browsertech SF Recap

Hey folks, this is issue #11 of the digest.

Browsertech SF

Gabriela Trueba presents at Browsertech SF

This past week we ran our first Browsertech meetup outside of NYC, in San Francisco. I’m really happy with how things came together.

#12
February 1, 2023
Read more

Determinism is WebAssembly’s hidden superpower

Hey folks, welcome to the tenth issue of Browsertech Digest.

Apps are distributed systems now

Something that’s been fascinating me lately is how distributed systems theory has quietly snuck into the application layer of software.

Web apps have long been built on top of a distributed data layer — a replicated RDBMS, say, or a web-scale document store. But the complexity was handled by database engineers, not application engineers. Client-side code could reason about “the server” as an abstract, singular entity, blissfully unconcerned by its distributed nature.

#11
January 23, 2023
Read more

Apple silicon as a WebAssembly catalyst

Welcome to issue nine of the digest. Browsertech SF is one week away. If you’re in San Francisco, come say hi!

Apropos of Apple’s addition of two new chips to their M2 line, this issue is about how Apple silicon is breaking developer workflows, and why it could be a catalyst for server-side WebAssembly.

The golden age of universal containers is over

In the nine years since Docker was first released, container images have become the default way to package software for deployment on servers.

#10
January 19, 2023
Read more

Browsertech SF #1 and Browsertech NYC recordings

Hey folks, happy new year and welcome to the eighth issue of Browsertech Digest.

Browsertech SF

This month, we'll be hosting our first browsertech event outside of NYC. I'm very excited to have talks from Gabriela at Womp and Hamilton at Rill Data. Myself and the Drifting team will have a few things to demo as well. We are co-hosting with 8VC at their space at Pier 5.

Registrations are now open. Here's the event page.

#8
January 9, 2023
Read more

Browsertech NYC Recap: ML creative tools in the browser

Welcome to the Browsertech Digest, this is issue #7.

Browsertech NYC II

Last week we had the pleasure of hosting Yining Shi at our second in-person browsertech event in NYC.

Yining is a founding engineer at Runway, one of the original AI-based creativity tools founded back in 2018. Runway is also known for collaborating with Stability AI to develop Stable Diffusion. Yining also teaches about creative ML at NYU.

#7
December 13, 2022
Read more

Browsertech digest: You might not need a CRDT

Hey folks, this is issue #6 of the Browsertech Digest.

Welcome to the new subscribers who found it through our CRDT post.

You might not need a CRDT

Over on the Drifting blog, I published a post called “You might not need a CRDT”.

#6
December 6, 2022
Read more

Browsertech NYC #2 & the Browsertech Index

Hey folks! This is issue #5 of the browsertech digest.

The Browsertech Index

Between operating Drifting in Space, running Browsertech events, and writing this newsletter, I have a lot of exposure to people building ambitious apps that run in the browser.

In the early days, I kept a mental list of products to keep track of, but it quickly outgrew my brain and I had to start making notes.

#5
November 21, 2022
Read more

Browsertech Digest: Mighty & The Neobrowsers

Welcome back to the Browsertech Digest. This is issue #4.

Mighty

Yesterday, Mighty founder Suhail Doshi announced a pivot from building a “Chrome in the cloud” browser and into building an AI-powered Adobe Creative Suite competitor.

Mighty started in 2019, and represents the vanguard of what I think of as the neobrowsers: upstart web browsers that treat the browser not as a tool of passive consumption, but instead embrace the browser's role as an operating system of sorts for modern apps.

#4
November 14, 2022
Read more

Browsertech Digest: Womp and the rise of pixel-streamed UI

Welcome to another Browsertech Digest! This is issue #3.

Womp

Last week, the browser-based 3D editor Womp launched.

Womp is notable for a couple of reasons.

#3
November 8, 2022
Read more

SQLite in the browser & hardware simulation

SQLite gets wasm support

SQLite announced official support for wasm. Specifically, support for browser targets via emscripten. The goal is to support persisting data client-side via the Origin Private File System browser API, which isn’t ready yet.

For context, SQLite is a public-domain database that’s become the go-to embedded database across lots of software (we use it in Plane).

Previously, browsers attempted to standardize a built-in SQLite API via the Web SQL Database standard, but it failed to become a standard and browser support is currently mixed.

#2
October 31, 2022
Read more

Why Browsertech?

For this inaugural issue of Browsertech Digest, I want to talk about what we mean by browsertech, and why it matters.

Web browsers have grown in scope from humble hypertext renders to a runtime for full-fledged applications (see: Google Maps; Figma).

Along with this evolution, the term “web application” has expanded in scope to include not just webmail clients and social media sites, but anything that happens to run in the browser, from video editors to 3D games.

When we talk about browsertech, we’re talking about that latter emerging subset of web development, which consists of writing desktop-like applications on top of browser APIs like WebAssembly, WebGPU, and WebRTC.

#1
October 26, 2022
Read more
GitHub X YouTube LinkedIn