Background

A framework for thinking about SaaS

There are many different types of business software. They go by various names and categories for marketing purposes, but as engineers we know that it’s all just code. One level of abstraction above code, it’s a good approximation to say that every piece of software is some combination of the following:

  1. Visualization through documents, graphs, tables, images, reports, etc.
  2. Input through text, buttons, forms, etc.
  3. Access controls like authentication, sharing, approvals
  4. Data Storage in a cloud file system or database
  5. Notifications in the application or via email or text

Using these five tools, there are two main categories of business software one can build:

In theory, one could build a Vertical SaaS system that encompassed the entirety of an end user’s job (”Vertical SaaS Completeness”) in which case the end user would no longer need any Horizontal SaaS, because every workflow would exist in the single specialized tool. In practice this never happens because:

Document Apps

Document Apps are a type of Horizontal SaaS that enable users to express their ideas visually and create their own content. Most document apps can be characterized by the following features:

  1. Document UI: the Document UI is what the end user cares about and the reason they pay for the software. It could be a spreadsheet, no-code builder, word processor, whiteboard software, or some combination of these, or anything that has to do with creating content.