Author: Oliver Lindberg
Adobe has a long history of building products, services, and tools that serve a range of users. We moved from shrinkwrap software that was delivered every 12–18 months to having a connected relationship to our users 24/7. As we continue our journey in the cloud, we are growing a comprehensive and open platform for developers who can manage integrations, extensions, and build on our platform for their own custom solutions.
The Adobe Experience Platform (formerly the Adobe Cloud Platform) provides a suite of Infrastructure-, Platform-, and Software-as-a-Service capabilities that support Experience Cloud, Document Cloud, and Creative Cloud. The clouds ingest, manage, and derive value from the information that users entrust to Adobe. By joining content and data in an open cloud platform, developers are able to create apps and experiences quickly, effectively, and at scale.
Platform businesses have a "network effect," which means the more that people are using something, the more valuable it becomes. Adobe is committed to working with developers to make this network effect a reality across our clouds.
"Normally, if you want to sell a car for more money, you need more features, for example traction control or fancy LED headlights," explains Oliver Goldman, Technical Advisor to the CTO at Adobe.
"It adds more value to the car and takes more money to build, and then you can sell the car for more. With platforms, or anything that has a network effect, part of the value is derived from the number of people using it. Even if the platform doesn't change, if more people are using it, the platform becomes more valuable to everyone who's using it, and they're willing to pay more for it." Becoming a platform has become one of Adobe's top priorities, and in the end, it will mean better outcomes for users and developers alike.
The goals of the Adobe Experience Platform
The Adobe Experience Platform is the industry's first open platform for customer experience management to accelerate business transformation, leveraging unified customer profiles and Adobe Sensei, Adobe's AI and machine learning technology. It enables enterprises to fully understand customer behavior and deliver impactful digital experiences in real time, and Oliver says the Adobe Experience Platform is specifically created to enable these key goals:
- No more silos: Customers using multiple Adobe products and solutions should have all their content and data in one place.
- Better solution integration: All apps benefit from each other's content and data.
- Open and extensible platform: ISVs, partners, and developers can build their own custom applications and deliver powerful tools into the hands of enterprises everywhere.
- Choice of IaaS: Some enterprise customers prefer Microsoft over Amazon or vice versa due to business conflicts.
- Adobe Sensei intelligence: Derive new value from content and data by quickly and easily applying Adobe Sensei machine learning technologies.
The characteristics of a good platform
What does it take to create an effective platform from the ground up? When you look at the concept from a technical point of view, there are two key properties that stand out:
- It has to have some useful components that provide value to developers or customers on the platform.
- These components need to be easily combinable, so that you can use them together.
"It makes it easier to build a new product when we build it on top of our own platform, but we also want to combine them in ways that we haven't anticipated yet. So that when third-party developers come along and build something on top of our platform, they can solve problems that we didn't even think about, use cases that we didn't enumerate, or workflows that we didn't describe," said Oliver.
"When they can do that, then those developers are adding value on top of our platform at no cost to us. If we get it right, they're just adding stuff to the platform, and we don't have to add more APIs for them. That increases the value for our users, and then that keeps them on our platform or brings them to our platform."
Typically, when you design interfaces, you think about the positive space and the features and components you're going to create. In architecture, however, negative space is just as important. If you have constraints and get everybody aligned with them, then you can start plugging the pieces together.
"We're not going to have lots and lots of different operations in the platform API, we're just going to have four – create, read, update, delete – and we're going to focus on modeling the data that goes into those operations," Oliver explains. This makes it easier for these operations to be combined in new and unanticipated ways.
Experience Data Models
Data is at the core of the Adobe Experience Platform. All the data collected through the Adobe cloud apps (including Analytics Cloud, Marketing Cloud, and Advertising Cloud apps) flows into the Adobe Experience Platform and is curated and organized into Experience Platform Data Models (XDM).
The Adobe Experience Platform API mandates a system organization based on a minimal set of operations that transact against a wide variety of resources. XDM specifies the language and vocabulary in which these resources are expressed, and establishes fluency as resources are passed between system elements. The two reinforce each other to achieve uniformity of design, without loss of expressivity.
"There's a core set of operations but designing an API is mostly focused on those data models," Oliver Goldman explains, "and then those data models are being implemented across all of our services. They're being implemented in the data services tier, the content services tier, the eventbus, and so you can start to see how if component A produces some forms to model X, and component B consumes model X, you can hook those things up easily, even if I didn't know you were going to do it. That's the core principle that we're binding on in our platform."
The platform model in action
To create compelling experiences, businesses need to integrate content and data quickly, effectively, and at scale. We want developers to use our APIs to connect our platform and solutions to their own internal solutions they've created, or ones they've purchased, while at the same time extending the platform to their customized workflow.
For example: An agency wants to integrate CC Libraries with their internal Digital Asset Management (DAM) and workflow tools, so that they can optimize the processes they use to manage assets. They need to be able to define custom entities for their assets that map back to their in-house DAM, such as defining entities for assets. Then they need to be able to call the Adobe Experience Platform API to create, modify, and delete assets stored in CC Libraries, so they can be sure the assets are in sync with their DAM.
Other examples of successful platforms
One of the best recent examples of a great platform is Apple's operating system.
"People love using iOS, not just because they like the phones or the software but also because they like to use all of the apps that are in the App Store," Oliver points out. "The more developers that are there, the more value there is in the platform, and the more people are going to pay for those iPhones. Conversely, the more people are buying apps in the App Store, the more developers want to be there because they've got a larger target audience as well."
Apple has created a virtuous cycle – even if they stopped evolving the iPhones and just kept ramping up users and developers, there would be more value in the whole platform. So they could increase the price of the iPhones based on that, because part of what you're paying for is the entrance fee to the platform, and it's really sticky and hard to step away from.
Salesforce may have reinvited CRM in the cloud but it's not just a product. There's also a very sticky platform underneath.
"If you want to step away from Salesforce," says Oliver, "you're not just stepping away from the CRM product, you're stepping away from maybe a dozen different additional applications built on the platform that augment your solution and that you would have to replace if you wanted to go to another platform or another product."
One of the best platforms ever built is Unix on the command line. There are a lot of little discrete programs that solve certain problems and for the most part just take text in and text out, which you can string together on the command line with pipes and accomplish all kinds of things that aren't built into Unix per se.
To turn the network effect of Adobe Experience Platform into a reality and make it more valuable for everybody, Adobe is working with developers all over the world. The platform makes data, content, and insights available, which will help you really understand your customers and enable them to deliver amazing, highly personalized experiences, regardless of what channel they use to engage with your brand.
Follow the Adobe Experience Platform Community Blog for more developer stories and resources, and check out Adobe Developers on Twitter for the latest news and developer products. Sign up here for future Adobe Experience Platform Meetups
Originally published: Oct 2, 2018