Not all applications are created equal. Some are built to process transactions and maintain state, while others focus on delivering content, data, or experiences to users. For software architects and engineering leaders, distinguishing between these core application types is critical for making sound decisions about scalability, infrastructure, security, and data management.
Why?
Because how you design, build, construct, and operate your application is different based on your customer use patterns. Experiential applications are applications that provide an experience to your users. The longer the experience goes on, the more value your customers get from your application and, hence, the more valuable your application is to them. What are some examples of experiential applications? Look no further than your social media feed. By its very nature, social media provides experiences to their customers. The value of social media is directly related to the amount of time their customers spend in the application. The longer the user is around, the more valuable the service is to them. For the application owner of a social media application, this translates directly to more eyeballs watching more advertisements. More ads mean more money.
But not all applications are experiential. There are other types of applications, called transactional applications, that have the exact opposite expectation. They want their customers to get in, do something, and then leave again. Their customers are happier — corresponding to seeing more value — if they can get in and out of the application quickly. The more time they spend in the application, the less productive they are, and the less value the application has.
This is the exact opposite of experiential applications.
What are examples of transactional applications? Many e-commerce applications, such as Amazon.com, are transactional applications. When someone wants to check the status of an outstanding order, they want to g