Some personal perspectives on recent CDS terminology changes

14 November 2020
Daniel Cai

For most of you who work in the Dynamics or Power Platform community, you must have heard, Microsoft has recently announced some of the terminology changes for the CDS and Power Platform. In this blog post, I would like to share some of my personal perspectives on those changes.

Let’s first have a quick look of the changes announced. The following is an excerpt from the announcement made at on November 10, 2020.

After my quick read of this announcement, my heartbeat went like a skyrocket. Let me share with you why.

  • Working with CDS and Microsoft Dynamics platform, I take great pride and confidence on what the platform can do as a rapid development platform, in a very sensible and logical way.
  • This wave of terminology changes brings little to no values to the platform, but rather it is causing a lot of confusions using those traditional database terminologies on an application platform. Such changes show some very poor taste in Microsoft Power Platform marketing department. As many of you might recall, there was a similar attempt not long ago in which Microsoft was trying to lose the name of CDS, but rebrand the platform under a different name called Dataflex and Dataflex Pro. Although I won’t say that CDS is a perfect name, but it has created a community that many of us in the community breathes and lives with the technology for the past few years, and Dataflex was simply a disaster with my many years of working experience with Microsoft technology, after witnessing numerous Microsoft marketing and branding efforts. The above newly introduced terminology changes make me think that we, the CDS and Power Platform community, are consuming the leftover of the previous Dataflex effort, which is just as bad as that – we are fortunate that the Dataflex renaming was eventually retracted by Microsoft – I am thankful for the impact that the community has made in voicing up when the rebranding was announced. I sincerely hope to see a turnaround this time as well. While on this topic, I am adding a follow-up update on Nov 16, 2020, Microsoft introduced Dataverse today as the new brand for CDS, the naming might be slightly better, but as the community has already pointed out, Dataverse is an in-use trademark just like Dataflex last time. It does show that Microsoft is persistent in losing the CDS name, it is a huge disruption to the community after a few years of development. On that note, it just shows that Microsoft does not always care what we really care about in community, or they don't think the same way that we think. Let's put it this way, as a gigantic multi-billion business publicly traded on stock market, Microsoft has all their power to make whatever changes they like to make without losing anyone's job. We, the community, will have to, one way or another, absorb the damages brought by such changes. This generally hits partners the most, since partners spent all their efforts building their practice around a particular product brand over the years. When such branding changes come, they would be losing all of that by literally starting from scratches again, there is a lot of work to be done to pick up the new branding, including marketing collateral, documentation, training materials, online content, and so on. Worse yet, as many community members responded to my social posts or shared in their own social posts, the community has built so much content around the CDS name (and its terminologies that we will be discussing further below), they all become irrelevant in Google searches (or Bing if you prefer so) going forward after the changes have settled. Of course, we have to understand, there are purposes for Microsoft branding changes, they should be generally geared towards attracting new market, new customer audience, or in some cases to simply drop a failing or dismal brand (I suppose this reminds you Lync, Live and a few more). In such cases, it could be a win for the partners and community. I can hardly apply either of two situations to the CDS renaming, even though I can sense that CDS has never been a major brand in Microsoft business. At the business scale of Microsoft, anything not making into a major brand will become a victim of their rebranding and restructuring effort, sooner or later. We, the community, are simply at the mercy of Microsoft marketing when the situation comes. I would argue that CDS is mostly a backbone technology, which does not necessarily have to have a fancy name or even have to become a popular brand. In my humble opinion, a low-profile brand is even better for a backbone technology. However, that is apparently not how Microsoft marketing sees things.
  • Let me try to get it straight, what makes CDS stands out is not its database capability, but rather it is a sophisticated application development platform. For someone who really just look for a data modeling or data storage solution, they should not really look at using CDS, there are tons of other database applications that do a better job and at lower cost, such as the Microsoft SQL Server itself. If you try to use CDS to attract people for general data modeling or relational data store, you really don’t have much a chance. Let me make it clear again, what CDS attracts people is not just data modeling, but its overall application development experience, the sophisticated security system, the flexible platform infrastructure that enables extensions and customizations. With that being said, Microsoft, you really should not try to please everyone, or even try to disguise the platform as a general data modeling and storage platform, which it isn’t in the first place. Should that become the reality, many of us will have to find a new job, since that does not simply resonate the values we provide, as an application developer. We, as a Power Platform developer, take pride of using the platform to develop flexible applications, not use it as a data dump.

Having said that, I want to make a few points on why the old names are better.

  • Entity, as the name goes, indicates me that we are working with a virtual representation of database table behind the scene. In some cases, it may not even be one single table. More importantly, it gives me a sense that this is different from a plain database table, but rather a number of managed platform capabilities in supporting the terminology, such as tables, views (not just database views, but the views that you create and define within the application), forms, visualizations, a number of purpose-built entity behaviors, associated security model, and so on. In addition, CDS platform uses OData as its API infrastructure, in which, entity is a very core terminology. For those reasons, I feel the change from entity to table is a backward move, and it is discounting its values.
  • The same thing can be said to the field terminology. Field means more than just a database column, but rather a managed virtual representation of the database column behind the scene. In some cases, it might be supported by a series of different technologies, such as the File field which is backed by a stack of Azure Blob Storage infrastructure. More importantly, field does not have any ambiguity when used in different contexts, including forms, views, dashboard, reports, etc. The same won't be true when we use column as the term. I like to share a scenario mentioned by Joe Newstrom in his twitter response (with a little bit modification). - What if I get a call from my client asking me to making an update to a form by moving the third column in the first column to the second column? Do you know what the client is referring to in each of the 3 column terms that he/she used? However I do agree that the attribute terminology should be retired, which has not been much used since the release of Dynamics CRM 2011 anyway.
  • Record is a perfect name when working with an application. Changing it to a row is again a backward move. It is very nature when I say that I open a record, make my changes, then save the record. It feels so awkward if I say that I am opening a row, and saving a row. It is really non-sense.
  • Option set means a list of options to be selected from, which is a pretty good name in representing what it does. Saying that I am working with an option set field is way better than just saying that I am working with a choices column.
  • For the Two Options one, I don’t really care that much – this is based on the fact that I haven’t given it much thinking, I might have a different perspective if I think more.

I have a suspicion, that the Microsoft Power Platform team is putting their every effort in making the CDS platform to work like the Access application. I have to admit, Access was really popular at its own time, and it had its great time, more importantly it covers pretty much all above new terminologies. I wonder why don’t the Power Platform team simply revive the Access application and polish it with some modern look and add some cloud fantasy, and announce it as a huge product renovation and call it a success. I might have gone a little wild on this, but I definitely see some coherence or at least some connections there.

To close up my writing, I want to make a plea to Microsoft Power Platform team. I get the point that you want to make innovations, you want to make impacts. I ask you to please use your talent on something else more valuable and more meaningful. I have to admit that I don't have the entire visibility into what Microsoft is baking, but losing those core terminologies in such a dramatic fashion is just not great for the community.

You might read that I am ranting for the entire post, but I hope you can see my frustrations and possibly also my passion. Finally, I have a plea to the community - we, as a community, should stand up against non-sense.

Thank you for reading, let’s all cheer up for the real innovations of the platform.

comments powered by Disqus