AI-driven Software Feature Abundance

AI-driven Software Feature Abundance

Software product functionality is becoming so easy to build, that feature management must be automated.

·

8 min read

This week, OpenAI made a smart move by announcing the creation of a marketplace for specialized AI chatbots. Whenever a wide range of content offerings is available, a platform for easy user selection becomes essential. This applies to various aspects of life, such as food in grocery stores, iPhone apps in the app store, movies on Netflix, and more. Specifically, software companies provide platforms for content developers (so-called "creators") to offer their products in organized ways. This made me contemplate how much of life now revolves around selecting what we want and need from a vast array of options. Almost every type of digital product now has more creative offerings than an individual can possibly try. Consequently, the associated marketplace must determine the optimal way to present that content.

Software Feature Abundance

A similar phenomenon is now occurring in the realm of individual software features. It has become easier to develop new features for an application, but more challenging to determine whether they should be included and how to effectively present them. Consequently, specialized apps are facing a miniature version of the issue that curators in other fields encounter with ubiquitous content. This problem is already evident in programs like Microsoft Word and Adobe Photoshop, which contain numerous tools and subtools that users often overlook. The proliferation of features will become a challenge that every product must confront, thanks to the advent of generative AI.

Personalizing News Content

News providers offer a prime example of a field that has grappled with the issue of overwhelming content. How does this impact content curation on platforms like YouTube and the New York Times?

Last week, I made the decision to embark on a personal news detox. I had been closely following the FTX trial and the Trump indictments, immersing myself in articles and YouTube videos on these subjects for the past few months. At some point, I realized that the value I was gaining from this time investment was minimal, if not negative. As a result, I decided to limit my consumption of news regarding FTX and electoral politics for an indefinite period. YouTube, naturally, had taken note of my months of intense interest in these topics and had been presenting an increasing amount of related (though sometimes low-quality) content. The New York Times, my other primary news source, also covered SBF and Trump on a daily basis.

On YouTube, I made a deliberate effort to avoid clicking on any of the numerous videos offered on either topic. Impressively, within a day or so, my feed shifted its focus. It began showcasing new and diverse content to fill the void. YouTube, with its millions of daily videos, employs AI to analyze my usage patterns and adapt accordingly. The task of curating content has been automated through the use of an algorithm. Given the scale of YouTube, this would have been impossible for a human to accomplish.

In contrast, the front page of the New York Times appears to be curated by humans without any analysis of user behavior. It resembles a meticulously prepared meal, where each day a human selects the ingredients, quantities, and presentation, which remain consistent for all readers. Unfortunately, this can be frustrating for some of us. Every day, the front page includes a sports section, akin to a chef serving a cilantro dish on my plate day after day. I often find myself scrolling past the content on the main page. Of course, this deliberate decision by the Times is well-thought-out. They could personalize my view, but they prioritize consistency. Perhaps there is some minimal personalization, but it is not the primary focus. Consequently, as my interests change, I find myself scrolling past even more content and visiting their front page less frequently.

Software as Curated Feature Collections

As we develop the tools for Tabbi AI, I have been contemplating the conception, design, and deployment of software features. We have an abundance of ideas, far more than we can currently include, and we do build more than we choose to release. Recent advancements in generative AI have presented us with numerous possibilities that can be seamlessly integrated into a product. How can a product manager make such a multitude of choices? Moreover, Tabbi is a tool designed to assist non-native English speakers worldwide, encompassing a broad range of use cases across diverse cultures. Which collection of features would be ideal? For example, should we include text summarization? Should we provide support for image analysis? Should we accommodate multiple languages? Should we incorporate special modes for technical language, legal matters, or medical purposes? How about a feature for composing letters to landlords?

Making Feature Presentation Decisions

Soon, software experience may closely resemble that provided by the YouTube algorithm. Products will offer users an extensive array of options, with the presentation automatically optimized for each individual. Once a product manager takes into account the various use cases and user preferences, they have a range of experience goals to choose from. This spectrum ranges from minimalistic product design to carefully curated features, from consistent abundance to user customization, and finally to fully automated curation. The decision ultimately depends on both the target customers and the product vision. While Emacs users would not want their editor's feature set to change magically, iPhone users embrace random enhancements, whether curated by Apple employees or surfaced by an enigmatic AI.

Software Development is Becoming Easier

Despite the ongoing criticism and debate surrounding proper software development methodologies, it is undeniable that code modularity and industry maturity have enabled even average developers to quickly build features. With the emergence of generative AI, software experiences can now be enhanced more swiftly, cost-effectively, and potentially with greater value. Therefore, it is possible, and perhaps necessary, for software product management to resemble YouTube's content curation, where software product features are seamlessly added to the vast array of options, guided by an AI that exposes them to users based on their explicit or inferred preferences. This would eliminate the considerable amount of time product managers currently spend/waste on considering and debating feature delivery priority, prominence, and visibility.

Existing Products with Tool Abundance

Of course, specialized tools in drawing and coding software, as well as editing tools in products like Word and Google Docs, already have this problem. The available choices are organized into multiple tabs and layers, with menus and submenus. It can be challenging to remember where the specific formatting tool that properly underlines a certain type of text is located. We have become accustomed to using only a small fraction of the options we have discovered much less than exist in the tool. These systems clearly indicate that there is a need for assistive technology that groups and presents features based on user profiling and behavioral analysis. So why is this not done more frequently?

Automating feature access presents clear challenges and tradeoffs. The goal of building software features that can be independently mixed and matched is valuable but difficult. Developers aim to create features and make them available in a "feature pot" from which the system can automatically select and present. However, many features require compatibility with existing and future features, which necessitates careful design by product managers. To achieve automated feature mixing, we need guidelines and standardized interfaces to ensure that new features meet the criteria for inclusion in the feature catalog. As a result, users can experience the subset of features they prefer. This concept is similar to how copy and paste was invented as a common idiom in computer use, designed to seamlessly integrate with existing and future text features. Companies that can develop features independently while maintaining compatibility will gain a significant advantage. Enabling flexible feature mixing poses an important challenge for future software product development.

AI vs User-Managed Configurations

When using YouTube, I could have manually added filters to exclude videos on topics I wanted to avoid. However, I am aware that there are patterns in my interests that I cannot express, and I do not have the time to delve into a complex system of configurations or a deep tree of topic preferences. YouTube's algorithm can surely decipher these preferences more accurately than I ever could.

A Shift in Design Sensibility

When software allows extensive user configuration and personalization, designers face the challenge of effectively communicating brand identity and vision. If users mix and match features from a wide menu, the essence of the product can become diluted. A simple list of feature choices fails to convey a consistent vision. Similarly, some restaurants offer a multitude of menu options with no unified flavor, while others limit the menu to convey a clear style. Designers in all fields will need to shift their perspective as software features become highly customizable. To maintain brand identity amidst unpredictable feature combinations, designers must find innovative ways to infuse products with their company's sensibilities. Maintaining a coherent vision while empowering user control is a difficult yet crucial goal for designers creating personalized software experiences.

Conclusion

The ability to independently develop and automatically combine software features represents an exciting paradigm shift. YouTube's adaptive feeds demonstrate how AI-driven software, which tailors options based on user profiles and behavior, can better serve diverse audiences. Software should intuitively offer unique combinations of features that align with users' changing interests and circumstances. The task of establishing standardized development guidelines and interfaces for mix-and-match features may be challenging, but it is necessary. When executed effectively, personalized software experiences can maintain brand identity while adapting to each user's needs. I eagerly anticipate a future where software suggests features that I had never considered but prove to be perfect for my current situation. With careful design, automated feature assembly will provide customized tools for productivity, learning, and enjoyment. Software innovation must embrace this AI-driven flexibility to create truly personalized user experiences.