Figma Is a File Editor

In today’s digest, we’ll be discussing the challenges that developers face when creating desktop-class apps for the browser. Most desktop applications function as file editors, where users select a file on their disk, and the program loads it into memory. Web apps, on the other hand, are typically database apps that fetch data from a database as needed to render the user interface. This article explores why file editors don’t translate as smoothly to the web architecture as database apps do. The author uses Figma, a design tool that runs in the browser, as an example to explain the differences between the two types of apps. Figma loads design files in the browser and also on a server to handle changes efficiently. The article also touches on why Figma chooses to use Amazon S3 as a storage option instead of a database, citing factors such as bandwidth efficiency and data loss prevention. Additionally, Figma’s approach to durability is discussed, highlighting the use of DynamoDB as a write-ahead log. The author then mentions a desire to build an open-source document database inspired by Figma’s approach and encourages readers to share their experiences with building browser-based apps. Overall, the content provides valuable insights into the challenges and solutions involved in developing desktop-class apps for the

To top