Chapter 1. Evolution of Microsoft Power Apps

Today, Microsoft Power Apps is an incredible suite of apps that empowers everyone to build custom business applications. As they say, Rome was not built in a day, and neither was Power Apps. In this chapter, you’ll learn about the history of Microsoft Power Apps and how it evolved into what it is today. Figure 1-1 illustrates the progression of each product rather than a full replacement of the preceding one, just as we humans have grown from the day of our birth to the present.

Figure 1-1. Power Apps evolution

Microsoft Dynamics CRM

All businesses, whether they are large or small, local or global, rely on customers to survive and thrive. The success of each business depends on managing its customer base. Therefore, every industry must try its hardest to manage the relationship with the customer by effectively utilizing its people, processes, and products. And this is what CRM (customer relationship management) is all about.

Good customer relations are largely dependent on how well you manage and use your customers’ data within an organization. Without reliable and accurate data, organizations cannot make well-informed decisions about how to engage with their customers, how to improve the sales and service experience for them, or how to use resources for more targeted marketing. For these reasons, data management is the heart of CRM, and any organization’s ability to succeed also depends on how well it manages its customers’ data. In today’s fast-paced digital world, every customer expects their sales and service experience to be as seamless as possible. For effective management of customer data and to store that data in a centralized database, companies have developed CRM software. The most common advantages of using any CRM software are:

  • It facilitates quicker deal closure, more effective cross- and up-selling of products, and better lead management for the sales team.

  • It enables the customer support team to respond to inquiries from customers in a more effective manner.

  • It aids the marketing team in targeting the right customers for campaigns and advertising.

  • It helps organizations to do the analytics, which helps sales managers to track sales performance and make smarter business decisions.

  • It improves communication between customers and companies by centralizing customer data and automating tasks like emails and follow-ups, ensuring timely and consistent interactions.

  • It enables businesses to develop AI capabilities by using their customers’ data (compliant with GDPR) to make wiser business decisions. For instance, if customers are automatically notified by text or email whenever a discount is available on a product, they buy more frequently.

CRM became popular in the 1990s, and, as a result of its success, we now have many CRM products offered by different companies such as Oracle, Salesforce, SAP, Freshsales, Zoho, Pipedrive, and Monday Sales. You can find the complete list on Wikipedia. In response to the rising demand for CRM products, Microsoft released Microsoft CRM 1.2 in 2003 as its first CRM offering. This product had a basic sales and service module, and developers could add their own custom fields and use JavaScript code to augment its capabilities. In 2005, Microsoft released Microsoft Dynamics CRM 3.0, which had a marketing module as well and allowed users to add custom tables and store additional information regarding sales and service activities.

So now, Microsoft Dynamics CRM has three core modules: Sales, Service, and Marketing. This is significant because sales, service, and marketing operations form the backbone of customer relationship management in medium to large industries (Figure 1-2). Let’s look at how sales, service, and marketing are part of the customer relationship management process.

Marketing is critical to every business in the world, no matter how big or small, because it helps customers become aware of your products or services, and helps you engage with those customers and influence their purchasing decisions. Businesses use a variety of media to promote their products. Email, SMS, newspapers, billboards and banners, commercials, and events are a few examples that make up a marketing campaign.

Figure 1-2. Microsoft Dynamics CRM modules

As a result of a marketing campaign, a customer may show interest in purchasing a business’s product, either from a physical store or from an online shop. This is now part of the Sales domain. The success of any organization is mostly dependent on the sales department. The crucial function of sales is to close the gap between the needs of a potential customer and the goods or services that the company provides that can meet those needs.

Customers who purchase your product might have inquiries about it as they use it, want to offer feedback, or have issues while using it, in which case they might need to submit a complaint or get in touch with the business for assistance. This is part of the Service domain, which covers post-purchase customer support.

At first, Microsoft’s only goal when it launched the CRM product was to manage customers, sales, service, and marketing. However, to maintain market leadership and stay ahead in the competition, Microsoft sought to make its CRM product dynamic so that businesses could expand their functionalities, combine it with other Microsoft products/applications, and create their own CRM apps to suit their business requirements.

xRM

Today, every company wants to improve, broaden, and customize the CRM system to meet its unique business needs. Manufacturing businesses want to use CRM software to manage their assets, health care businesses want to use CRM software to manage their health care staff and patients, colleges and universities want to use CRM software to manage their faculty and students, IT businesses want to use CRM software to manage their employees and IT operations, and some companies need CRM software to manage their vendors, compliance and governance, suppliers, insurance policies, and the list goes on infinitely. Also, each business sector has its unique procedures for handling sales, marketing, and customer service.

Microsoft decided to extend the CRM product capabilities under the name xRM (Figure 1-3) and promoted it under the slogan “One Platform, Many Applications, Infinite Possibilities” in response to the demand for the creation of numerous apps using CRM products and their extension based on business needs. Similar to how x is used to represent any value in mathematics, Microsoft introduced X into its CRM product, envisioning that the software could adeptly manage various business applications through its extension capabilities, including:

  • Extend the data model made available by Microsoft.

  • Use a CRM product as a web-based application.

  • Customize the user interface.

  • Write workflows to automate processes and tasks.

  • Let developers modify the platform using their own C# and JavaScript code.

  • Build custom modules (or applications) on top of Dynamics CRM to suit business needs.

Figure 1-3. xRM modules

Following the popularity and positive customer feedback of the CRM product, Microsoft continued the concept of “One platform, Many applications” and released four ERP (enterprise resource planning) applications onto the market: Microsoft Dynamics Great Plains (GP), Microsoft Dynamics Navision (NAV), Microsoft Dynamics Axapta (AX), and Microsoft Dynamics Solomon (SL).

Although CRM and ERP are connected and have similar goals, the two products serve different purposes, as shown in Figure 1-4. CRM, as previously mentioned, is all about managing customers and their sales, marketing, and services to increase business profit; whereas ERP focuses on managing finances, supply chain, accounting, resource planning, and handling operations that save costs while boosting profits.

CRM focuses on and attempts to improve external customer interactions. Businesses must provide excellent customer support since customers are the major drivers of success. ERP focuses on the business’s essential operations. It includes streamlining processes to reduce costs, supplying workers with information to keep them focused on their jobs, and completing a certain process or production as quickly as is feasible. Hence managing front-office activities is the sole responsibility of CRM, whereas back-office tasks are the sole responsibility of ERP.

Every industry needs ERP and CRM systems to run its business. So let’s say if your car were a company, the car’s engine would be a CRM, and the car’s steering wheel would be an ERP. As it boosts sales and boosts profitability, CRM will be your company’s engine and driving force. The ERP system will act as your precise compass and steering wheel. Both the employees and the customers benefit from the integration of CRM and ERP.

Figure 1-4. Microsoft Dynamics CRM versus Microsoft Dynamics ERP

Microsoft wanted to develop CRM and ERP together. In contrast to Microsoft CRM, the major challenge with ERP products was that they were ill-suited to offer cloud-based solutions and to create unique line-of-business application solutions. As a result, compared to CRM software, the rise of ERP applications was slower.

Between 2005 and 2015, five new versions of Microsoft Dynamics CRM were released with a variety of new features and capabilities. Table 1-1 illustrates the multiple iterations and releases of Microsoft Dynamics CRM with improved capabilities from 2003 to 2016. I will discuss product updates beyond 2016 in the next section.

Table 1-1. Evolution of Microsoft Dynamics CRM
Microsoft CRM versions Release date Mainstream support
end date
Extended support
end date
Microsoft CRM 1.2 31 October, 2003 09 January, 2007
Microsoft Dynamics CRM 3.0 01 December, 2005 12 April, 2011 12 April, 2016
Microsoft Dynamics CRM 4.0 29 February, 2008 09 April, 2013 10 April, 2018
Microsoft Dynamics CRM 2011 18 May, 2011 12 July, 2016 13 July, 2021
Microsoft Dynamics CRM 2013 12 January, 2014 08 January, 2019 09 January, 2024
Microsoft Dynamics CRM 2015 11 February, 2015 14 January, 2020 14 January, 2025
Microsoft Dynamics CRM 2016 30 November, 2015 12 January, 2021 13 January, 2026

You can find information about the difference between Mainstream and Extended Microsoft Support on the Microsoft website.

Microsoft prioritized migrating their ERP systems to the cloud. Out of their four ERP applications, only Microsoft Dynamics AX and Microsoft Dynamics Navision were found suitable for cloud solutions. However, to the general public, having a mix of different cloud-based CRM and ERP applications might seem confusing.

Dynamics 365

In November 2016, Microsoft Dynamics 365 was released to incorporate the capabilities of Microsoft Dynamics CRM and Microsoft Dynamics ERP.

Microsoft Dynamics 365 came about because the Microsoft marketing team suggested that since their primary goal was to provide a single platform or cloud-based solution, why couldn’t they merge all of the Microsoft CRM and Microsoft ERP applications into a single cloud-based solution? They also brought up that the nomenclature of all these products appeared to be a bit muddled because all ERP and CRM applications shared the same name (Microsoft Dynamics), but each one had a different appearance. They should have a single name for all groupings of business applications, regardless of whether they come from CRM or ERP.

Microsoft consolidated its ERP and CRM business applications under the unified brand Dynamics 365. This initiative involved renaming Microsoft Dynamics CRM to Dynamics 365 for Customer Engagement (CE), transforming Microsoft Dynamics AX into Dynamics 365 Finance and Dynamics 365 Supply Chain Management, and rebranding Microsoft Dynamics NAV as Dynamics 365 Business Central. Despite these updates, Dynamics GP and SL have maintained their original branding and remain independently supported by Microsoft as ERP solutions, receiving ongoing updates and support.

And it was time to say goodbye to Microsoft Dynamics CRM, AX, and Nav…

As of this writing, Dynamics 365 is a large collection of CRM and ERP-based business applications that enables all-in-one solutions so you don’t have to pick and choose from the plethora of application options.

And, in short, and as illustrated in Figure 1-5, Microsoft Dynamics 365 = Dynamics 365 Customer Engagement Apps (Microsoft Dynamics CRM) + Dynamics 365 ERP Products (Microsoft Dynamics ERP).

Additionally, Dynamics 365 includes a number of new apps that address a variety of business functions. A single integrated solution contains all the necessary components for managing client relationships, finances, logistics, and human resources.

Figure 1-5. Dynamics 365 is the combination of Microsoft Dynamics CRM and Microsoft Dynamics ERP

Dynamics 365 launched the following CRM and ERP business applications:

  • Dynamics 365 Sales (CRM)

  • Dynamics 365 Customer Service (CRM)

  • Dynamics 365 Customer Insights or Marketing (CRM)

  • Dynamics 365 Field Service (CRM)

  • Dynamics 365 Finance (ERP)

  • Dynamics 365 Supply Chain Management (ERP)

  • Dynamics 365 Project Operations (ERP)

  • Dynamics 365 Business Central (ERP)

Since the major objective of all the CRM applications is to attract customers and build a strong relationship with them over time by making sure they want to do business with your organization, all CRM-based apps were later renamed as Dynamics 365 Customer Engagement (CE) Apps.

From that point on, users didn’t have to keep track of as many Microsoft Dynamics CRM and ERP application names. I’ll refer to them collectively as Dynamics 365. Obviously, this was a significant product release from the previous years. However, the product continued to be updated and innovated after this point.

The Start of Low-Code, No-Code Development

In the past, only professional developers could customize software or business applications by writing code to meet business requirements. As a result, there was a high demand for professional developers and technical experts to build business applications. At the same time, organizations all over the world were embracing digital technologies as a result of a rise in demand for new business apps and modernization as well as a shortage of development resources. These organizations are now turning to low-code enterprise solutions to lead their digital transformation initiatives.

This was made evident during the COVID-19 pandemic, when businesses needed to supply their services to customers despite having a reduced workforce, international conflicts, less production, supply chain disruptions, a slow economy, and a reshuffling of their workforce. At that time, the demand for developing websites, online business applications, mobile apps, and chatbots rapidly increased to enable organizations of all sizes to build the digital capability required to address these challenges.

Here are the most common business challenges that enterprises face today:

Evolving demands of the workforce

With rising digital transformation, organizations continue to shift and evolve. They want their processes to be automated and digitalized. They want to build more and more custom applications, websites, mobile apps, and collaboration tools to boost productivity and customer satisfaction. Additionally, they need a scalable system that can be transformed to fit every business need and flexible applications that can be easily adapted with minimal development effort. This demands the adoption of technology that keeps up with the speed at which the world is changing.

Costs for developing custom applications have gone up

Costs associated with developing software and applications are currently a problem for the majority of industries. Companies wish to create software and modify business applications in accordance with their requirements, which requires hiring qualified developers. This can be expensive and time-consuming. The cost of maintaining the application after it has been developed is another expense.

App development must be scaled up

Due to the present surge in digital transformation, where every industry tries to digitize its business processes, the demand for business application development has increased. Depending on IT professionals and developers for the creation of apps can be risky and time-consuming. Thus, organizations want to reduce their dependency on professional developers and, instead, want everyone to be able to develop apps, creating a trend toward hybrid development teams that enable the expansion of the entire organization.

A need for increased agility

In software development, agility refers to a quick, iterative development process. Historically, it took years to build and release software to end users. And if there were any problems, suggestions, or requests for changes, it would take months to resolve them. But in today’s fast-paced world, that privilege is no longer available. Organizations must be able to quickly develop solutions based on fast-changing business strategies and demands.

Customer expectations

In today’s rapidly changing digital industry, customers expect their business demands and requirements to be rolled out as soon as possible in the form of a live application. Additionally, they need a highly extensive and scalable development platform to rapidly customize the live applications to meet future demands in less time. So, if a particular development platform doesn’t meet their business requirements and deliver the expected outcome within agreed timelines, they will simply move on and choose a different product or technology to build the application. As a result, in order to satisfy customer expectations, technology must be advanced, and the software development cycle must be efficient and quick.

To overcome these challenges, Microsoft decided to alter its perspective and process for creating software. This began with Satya Nadella’s appointment as the new CEO in 2014.

He said in this interview given to CNET: “You join [Microsoft] not to be cool, but to make others cool.” This quote may seem simple at first, but there is a lot to unpack. Nadella went on to explain that many years ago, Microsoft was known for being a product-based company that always wanted to “be cool” by only selling products (Windows, Microsoft Office, Visual Studio, Surface, XBOX, etc.) and squeezing the maximum number of sales from each customer, rather than focusing on innovation and advancing its technology and making it available to everyone.

So how is it beneficial to put an emphasis on “making others cool”?

As per Satya Nadella, “Together we can do more, and people naturally gravitate toward you and your brand when you concentrate on serving others and adding value.” He encouraged a collaborative working style rather than a competitive one to empower individuals to achieve more in their personal and professional lives. Hence, with partnerships and collaborations with other software giants Salesforce, LinkedIn, GitHub, OpenAI, and others, Microsoft generated more income than ever in the second quarter of 2024, exceeding $62 billion, and aims to reach $500 billion by the 2030 fiscal year.1

With the vision of “making others cool,” Microsoft has modernized its software development process and updated its technology and products in such a way that everyone, whether an employee or a customer, may profit from it. This is how the low-code, no-code development platform came about, and it’s quickly becoming an integral part of the business world. Because of this, Microsoft has emerged as a global leader in technology innovation, advancing not just its CRM and ERP products, but also Windows, Visual Studio, GitHub, Microsoft 365 Apps, and other products.

Microsoft wanted to extend its “One Platform, Many Applications” concept to “One Low-Code, No-Code Platform, Many Applications” (Figure 1-6), with the primary objectives of:

  • Enabling anybody to create an application based on business requirements without relying on professional developers.

  • Reducing development cost and time.

  • Providing simple interfaces and drag-and-drop features to expedite app development.

  • Integrating seamlessly with a wide range of other Microsoft applications. This includes robust compatibility with SharePoint for document management and collaboration, Teams for communication and teamwork, and other applications within the Microsoft 365 suite such as Word, Excel, and Outlook.

  • Developing greater flexibility so that team members can readily step in and assist if professional developers aren’t available.

Figure 1-6. Transition of app development from custom code to low-code and no-code

Birth of Power Apps

It’s important to understand that everyone has a different perspective about how Power Apps evolved and changed over time, and I truly respect and appreciate that. But only the Microsoft product team, which actually worked on the development of Power Apps and Dynamics 365, knows exactly what happened at Microsoft. So a lot of what I am going to describe to you probably did not happen exactly with Power Apps; the details have been provided to better portray the story in a more compelling way, similar to what you read in celebrity biographies. And for this story, I am inspired by famous Power Platform experts Nick Doelman and Scott Durow.

With the vision of developing a low-code, no-code app development platform to allow citizen developers, or nondevelopers, to build business applications, Microsoft put together a project team to develop it. The low-code, no-code app development project team launched its first low-code, no-code tool/product on the market called Microsoft Power Apps (later called Power Apps) with the objective of allowing users to design web- and mobile-/tablet-based apps without writing a single line of code. The goal was to provide a platform where everyone can simply drag-and-drop controls, similar to the experience of using PowerPoint, to design business applications and use Excel-like formula expressions to write the business logic.

Parallel Development of Dynamics 365 Customer Engagement Apps and Power Apps

After launching Power Apps, the project team held a demo to showcase the product’s low-code, no-code capabilities to other Microsoft project teams. To their surprise, team members discovered that the Dynamics 365 CE team had also been developing business applications for the past few years. The teams were unaware of each other’s work, and, although their intentions of developing business application development software were similar, their development approaches and app features were different.

The major advantage of Power Apps at the time was that it had low-code and no-code development features. However, it lacked many of the pro-code features and components that Dynamics 365 CE had been utilizing for the past few years. (Pro-code refers to the use of advanced coding techniques or languages, such as C#, JavaScript, or TypeScript, to extend the functionality of Power Platform applications beyond what can be achieved through low-code or no-code methods alone.) For instance, Dynamics 365 has a built-in database with several prebuilt tables, enables developers to design their own data models, and provides a strong security approach to give business apps a granular level of authorization. The business application components can be packaged, deployed to multiple environments, and much more using its solution management features.

Dynamics 365 CE, on the other hand, was derived from Microsoft Dynamics CRM. Additionally, its features and components were all designed with professional developers in mind.

So, both project teams separately created useful features and components. However, if they worked together, it would be a huge success for Microsoft to develop a standard business application development platform.

Handshakes Between Dynamics 365 Customer Engagement Apps and Power Apps

The Microsoft marketing team came to the rescue by recommending that Dynamics 365 CE apps be combined with Power Apps as a single offering and advised developing a new product name that would be simpler for customers to understand. As a result of the collaboration, illustrated in Figure 1-7, all Dynamics 365 CE apps are now model-driven apps, as they were largely driven by data models, and Power Apps have been transformed into canvas apps, because they offer a way to create business apps utilizing any data sources from a screen that looks like a blank canvas.

And that is how the Power Apps we have today originated. It is a common misconception that Power Apps are just canvas apps, but, in reality, they are a combination of model-driven apps and canvas apps and offer everyone the ability to develop business applications with distinctive features using various low-code, no-code and pro-code components. In the subsequent chapters, you will dive deeply into each feature and component with practical examples.

Note

After this point, I will be referring to Dynamics 365 Customer Engagement apps or Dynamics 365 CE apps as model-driven apps.

Figure 1-7. Merger of Power Apps and Dynamics 365 CE apps

Summary

In this chapter, you learned how Microsoft transformed its basic CRM product into low-code, no-code apps so that anybody, not just professionals but also citizen developers, could create business applications. Also, you discovered that all prior Microsoft Dynamics CRM applications were transformed into Dynamics 365 CE apps, later referred to as model-driven apps, and combined with canvas apps to form a new product called Power Apps.

In the next chapter, I will discuss Microsoft’s ongoing innovation in the low-code, no-code development platform known as Microsoft Power Platform to expand the capabilities of Power Apps. Additionally, I will discuss Microsoft Dataverse, which dynamically stores Power Apps data and metadata in a scalable and secure environment.

Get Learning Microsoft Power Apps now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.