The Evolution of Platform Extensibility
From API to AI, this article attempts to capture the state of extensibility and charts a course for what the future might hold.
Join the DZone community and get the full member experience.
Join For FreeAs a product manager for programmatic and LC/NC extensibility products at companies like eBay, Oracle, and Anaplan, I have witnessed how businesses offer customization options to their customers. Platform extensibility is vital for many organizations large or small, to allow seamless integration of systems with each other. Throughout my experience, I have observed the evolution of extensibility approaches which cater to many use cases. In this article, I wanted to share a few thoughts about the evolution of platform extensibility covering: API (Application Programming Interface), Low-code/no-code (LC/NC), and AI-driven extensibility.
API Extensibility
API extensibility involves leveraging a platform's APIs to access and manipulate data and functionality programmatically. This approach provides developers with significant control over how much they can extend the platform and to what depth. APIs offer sophisticated extensions allowing developers to build simple workflows to highly customized solutions. Most SaaS vendors offer APIs in some form or other to facilitate integrations on the customer end or partner end. Some good examples include Salesforce, Square, Shopify, etc.
Pros
- Highly customizable
- Allows for complex extensions
- Deep integration with platform/core product
Cons
- Significant technical expertise needed
- Not friendly for non-developers
- Total cost of ownership is high
- Longer build time
- Substantial maintenance and support costs
LC/NC Extensibility
Low-code/no-code extensibility empowers users with minimal technical expertise to build on top of the platform. The LC/NC abstracts the coding layer away from these users and provides a visual tool/interface that they can interact with instead. The inputs to the tool result in a coded output (as if a developer had coded). Obviously this part is opaque to the non-technical user. This results in faster development time, testing, and iteration. Often these platforms provide pre-built templates and modules simplifying the building process even further. LC/NC capability might be embedded within the SaaS software or offered as a standalone offering to work nicely with the suite of applications offered by the company. Some good examples of this include Microsoft Power Apps, Zoho Creator, and Salesforce AppExchange.
Pros
- Faster development time
- No specialized development skills or programming language expertise is needed
- Little to no coding expertise required to build extensions
Cons
- Not as flexible as APIs
- Often restricted to custom logic or boundaries specified by the templates
- Strong reliance on platform-provided components
- Vendor lock-in
AI-Driven Extensibility
AI-driven extensibility leverages artificial intelligence to take as input the requirements expressed by the user in a conversational interface to generate the customization tailored to their needs. AI-driven extensibility reduces the development time even further as users communicate with the platform in a natural language. The system is further enhanced to provide optimizations, contextual menus, and recommendations based on other users running into similar problems. At the time of writing, Copilot for GitHub improves software engineer productivity, where a basic code snippet is used as an input to provide smart recommendations reducing the time it takes for exploration, trial, and error. Another example is Adobe's FireFly product embedded within their suite of applications, which speeds up Graphic Designer productivity, where natural language inputs can be used to generate new layers or vectors or color palettes which traditionally took graphic designers hours and hours of meticulous work.
Pros
- Conversational interface provides easy access to the platform
- Intelligent agents generate customizations within the platform (i.e., build advanced workflows, set conditions of notifications, etc.)
- Recommendations and contextual menus personalize results even further and speed up build time.
Cons
- Garbage In Garbage Out applies (i.e., the reliability of the customization output will depend a lot on how the models were trained)
- Moderate learning curve for prompting to get the exact output desired
- Privacy concerns on data being used to train the AI
- Platforms must be sufficiently advanced to offer hooks to the natural language interface.
Conclusion
API, Low-code/no-code, and AI-driven extensibility approaches represent an evolution in how businesses extend and customize their software platforms. As business requirements have grown more complex and the demand for faster time-to-value has increased, these approaches have evolved to cater to users with varying levels of technical expertise.
The world of customization started with API extensibility which offers the most flexible option but requires significant coding experience and technical skills. The resulting gap in technical talent caused the advent of LC/NC systems which give non-technical users the power to develop and create custom applications, automate workflows, and generate reports for platform solutions without writing any code. As a result, this change enables shortened development cycles, increases collaboration, and widens the range of users who can contribute to platform growth.
As LC/NC evolved even further and LLMs continued to be innovated upon, this has paved the way for AI-driven extensibility. Through prompting, users can create sophisticated workflows, iterate on the output, generate reports, and load and reload data in a relatively short amount of time. This approach will improve the time to value for integrations, solution building, and reduction in the total cost of ownership of a software application even further.
Opinions expressed by DZone contributors are their own.
Comments