Dude, Where's My App?
Imagine a world where your AI assistant doesn't just use your apps—it converses with them, creating an ecosystem of invisible interactions. In this post, we'll embark on a journey through the evolving realm of AI-centric software and explore how the conventional boundaries of application development are being redrawn. Your personal AI assistant will be the key player, and the traditional apps are a relic of the past.
The 4-Step Evolution of Software Application and AI Interplay
Software development is evolving through a multi-stage process that reflects the growing interplay between applications and AI. We can outline four stages of this evolution, from AI-built generic apps to AI-driven workflows, and what each stage entails for the future of software.
AI Developer Assistants: the first stage comes with the rise of software development assistants like GitHub Copilot and Sweep.dev. These marvelous assistants can improve the productivity of a human developer by 40%. They fit nicely into traditional applications – one backlog – one size application that serves a broad audience with standard functions.
AI-empowered apps: The second stage is about using AI to enable intelligent and personalized applications. These applications could understand customer requests in plain English. AI allows for building applications that are tailored with new capabilities and personalized to individual user preferences.
AI as Personal Developers: The next stage comes when users take the reins with their personal AI systems which designs applications specifically for them. In this category, we can put Autonomous AI agents like BabyAGI, AutoGPT, and LangChain that could develop simple applications and websites. This marks a shift toward software that is not just used by people but also created uniquely for them by their own AI. For example, in a traditional app world, if a customer wants to order a pizza, they will open the restaurants app. They will pick the pizza from the menu, enter the delivery address, and will pay. Having a personal AI on their device can change this process. The personal AI could quickly write a food ordering app that can communicate with the APIs of different restaurants. The customer can use this application for different food services, as all their data will be already filled in.
AI-Composed Services instead of Apps: The final stage would be a future where the concept of apps is outdated, overtaken by AI-composed workflows. These workflows would automate tasks through a series of API calls, where AI-initiated workflows could replace standalone applications. We already see a movement in this direction by devices like Humane’s AI Pin. The built-in assistant will potentially be able to access internet services on behalf of the user without a screen or the need for the customer to open an app. To continue the pizza ordering example, the AI does not write an application in this scenario. Instead, it will just find the API of the restaurant and initiate the ordering process. It will pull the menu. It might automatically select the user’s favorite pizza and toppings. It will put it in the cart, fill in the delivery data, and call the payment API to pay.
Following the last stage of the software evolution, the concept of AI-composed services based on API workflows represents a shift toward real-time, automated task execution.
As AI assistants handle increasingly complex tasks, they must also manage data and permissions intelligently. This involves accessing and processing data from various sources and ensuring all interactions comply with privacy regulations and user consent.
Deep personalization is the key benefit of these on-demand workflows. AI assistants will learn from user interactions, continually refining and optimizing workflows to better serve the user's changing needs and preferences.
The Transition from Human-Centered Apps to AI-Centered APIs
As we see an increase in AI-initiated workflows, we will start seeing a shift from applications designed for human users to services catering to artificial intelligence's capabilities and requirements.Traditionally, software applications have been designed assuming a human is at the other end of the interaction. This human-centric model has dominated everything from user interface design to feature development. However, we are now witnessing a paradigm shift where the 'user' is increasingly an AI assistant rather than a human.
One of the early signals showing this transition was the introduction of ChatGPT plugins by OpenAI. Using plugins, the AI chat could use external services on the internet. Around 1300 currently available plugins extend the ChatGPT functionality, from booking a vacation to adding items to your shopping list or managing your calendar. In parallel, different open-source platforms offer AI agents that autonomously achieve predefined goals using accessible resources on the internet.
The Emergence of Truly Personal AI
The rise of personal AI marks a pivotal development in technology, with AI systems becoming increasingly tailored to individual users.
The evolution of AI is moving towards highly personalized experiences with greater emphasis on user autonomy and privacy. The expectations are that these systems will be designed to serve the user's interests, providing a level of service customization and privacy that generic AI systems cannot match.
Personal AI systems can advocate for the user, prioritizing their needs and preferences. This starkly contrasts AI systems controlled by large corporations, which often prioritize corporate goals over user benefits.
This shift necessitates a rethinking of fundamental design principles. The AI-centric design doesn’t need to prioritize visuals or intuitive navigation like the human-centric design. Instead, it should focus on creating secure, flexible, and “guiding” APIs that AI systems can use to construct these workflows. Developers must stay ahead of the curve by understanding AI interaction patterns and building software that caters to AI behaviors and needs.
This transition presents challenges and opportunities as the developers open up possibilities for more sophisticated and efficient interactions that were previously impossible with human users.
The end goal of AI-centric applications is to enhance the overall user experience, albeit indirectly. By catering to AI assistants effectively, the software can provide more personalized, accurate, and efficient services to the human user at the end of the chain.
The Need for Discoverable and AI-Friendly Apps
As AI becomes a primary user of digital services, it will become critical for the API services to be both discoverable and compatible with AI systems.
The evolution towards AI-Composed Service Architecture will mark a shift in API design. In the past, APIs were built for developers - human intermediaries who could encode the user intent in workflows and test them. The future demands APIs that are directly accessible and usable by AI agents. For AI agents to effectively leverage APIs, they must be easily discoverable, “navigate”-able, and interoperable. This means adopting standards and protocols that AI systems can readily identify and interact with without human interpretation. AI-friendly applications require APIs with enhanced communication protocols that can guide complex, context-driven queries and responses—going beyond the traditional request-response model to a more dynamic interaction style.
As AI agents gain direct access to APIs, security becomes paramount. Additionally, ethical considerations around data usage and AI decision-making must be addressed, ensuring that AI interactions with APIs are transparent and aligned with user privacy and consent.
Developers must start adapting their software and APIs to be more AI-friendly. This involves technical changes and a shift in mindset, anticipating a future where AI interactions are the norm.
Let’s see how we can get there!
How to Build AI-Friendly APIs
You probably think: This could work for simple transactional apps but not for a complex service like mine!
You are right! We need more verbose APIs to guide the AI client in achieving their goal. Here are some ideas for developing APIs that can navigate complex workflows.
Creating "guiding" APIs, which can suggest the “next steps” to fulfill a customer's intent in complex workflows, involves building intuitive and interactive APIs. While there's no universal framework specifically for "guiding" APIs, several best practices and methodologies can be employed to create such APIs:
RESTful Design with HATEOAS (Hypermedia as the Engine of Application State): HATEOAS is a constraint of the REST application architecture that keeps the client status during the API communication. In a HATEOAS-driven API, the response from the server contains not only the requested data but also links and descriptions for the next set of possible actions the client can take. This approach allows the API to suggest the following steps dynamically based on the current state of the interaction.
Stateful Workflow Management: You can implement stateful workflows in your backend where each request changes the internal state of the workflow and generates possible actions. This can be achieved by using workflow engines or custom logic within the API that tracks the progress of a task and guides the consumer through the necessary steps.
Machine Learning and AI Integration: Incorporating AI models within the API can enable more dynamic and intelligent guidance. The API can use machine learning to analyze the user's behavior, predict their needs, and suggest the next logical steps in a workflow.
Rich and Descriptive Documentation: Providing comprehensive and interactive API documentation is crucial. Tools like Swagger or OpenAPI can be used to create documentation that explains the API endpoints and includes information on the workflow and potential next steps.
Competition in the AI-Driven Market
In the final point, let’s look at the competitive dynamics of the AI-driven app market. How can companies adapt to stay relevant with the new benchmarks for customer success in a landscape where AI capabilities are critical to user choice and satisfaction?
Integrating AI into software services is becoming a competitive necessity. Companies that fail to adapt risk becoming obsolete in a market where AI-driven interactions are the norm.
The ability of a company's services to seamlessly integrate with AI assistants will become the new benchmark. This involves the technical capacity to interact with AI and provide valuable, relevant, and secure services through these interactions.
AI assistants can compare and evaluate services with depth and precision far beyond human capacity. This means that factors like response time, data accuracy, and ease of API integration will become critical in gaining a competitive edge.
Companies wanting to stay relevant must adapt rapidly to this changing landscape. This involves building AI-friendly ecosystems, rethinking data strategies, and creating a seamless AI and user experience.
I hope you enjoyed this what-if journey into the future of AI-driven applications. Please share your thoughts in the comments. Will we trust our AI Assistants with every aspect of our external communications? How will it feel if we find ourselves isolated in a bubble created by an overly protective assistant? How can we set goals that will allow us to grow?
#AI #Innovation #API #AIArtificialIntelligence #APIdesign #APIfirst
Dineshwar Sahni What do you think?