Warning, this post assumes you are familiar with Svelte and the history of the project. If you're not, you're better off checking out the home page than reading this.

I've been thinking a lot about Svelte 3 in the last few days since its release. Some of it is ideas that I haven't fully fleshed out. I might write more about it in the future. I first wanted to get out this thought, though, first.

Any successful product, including programming libraries, must contain a narrative; an essence of what it is about. Svelte established its narrative right from the start, with version 1. It was about performance.

Its early, but signs seem to indicate that Svelte 3 is going to be a success. Its made a compelling case, both from a UX and DX perspective and that's a winning combination.

There are likely many reasons why it will be successful, and some are more obvious than others. What has occurred to me, though, is how it has successfully shifted its narrative.

In version 1 there was a lot of emphasis put on how small apps compiled to. Whether right or wrong, there was some pushback on this front and some claimed it wouldn't scale.

With version 3, Svelte is still about performance, but the narrative has shifted to be about runtime performance moreso than file size. Rich Harris gave a talk (which I encourage everyone to watch) in which he talks about precisely that.

The narrative makes sense. A view that compiles to minimal imperative JavaScript should be extremely performant. It's easy to understand the argument and hard to knock holes in.

The narrative about file size was/is a good one, but this one is simply better. It's an interesting lesson on how a small tweak to a narrative can have a large impact on a product's success.