Skip to content

Copilot: why you have to do it?

Hiding behind the fanfare generated by ChatGPT, Microsoft did something it had not done in a long while: it introduced a major update called copilot, an application companion in the form of a chatbot, to nearly all of its important products. So, why did they do that? And more importantly, as a software product owner or developer, why should you even care? Why is this something you have to do? Read on.

Copilot will solve the remaining UX problems

To make your app increasingly useful, you add more and more functionalities to it. Unfortunately, cramming too many features into a fixed display area in a GUI application can eventually make them difficult to access, especially for casual users. Usability issues or UX problems can arise even in well-designed GUI applications, particularly when users or use cases are atypical. As a result, users need to become so-called power users to fully benefit from it.

If your application supports certain functionalities, users should be able to access that as long as they can express their intentions, regardless of the usability or user experience quality of your application. The goal of Copilot is to empower every user and enable them to accomplish tasks without needing to understand the specific steps to achieve their goals. Here are some use cases that copilot can be helpful.

Advantage #1: Direct access functionalities on their terms

No matter how hard you try to organize your functionalities within the menu system, it eventually becomes challenging for casual users to find what they want as the number of functionalities increases. Anyone who has tried to order a flight meal while booking a ticket understands this struggle.

With a conversational user interface, users can simply name the desired functionality without needing to navigate a complex menu system. This intuitive approach streamlines the user experience, making interactions more efficient and user-friendly.

Advantage #2: Task dependent interaction

Task dependent interaction: flight booking

Task dependent interaction

To cater to users with diverse requirements, developers commonly provide controls for functionality in the most granular form. Let’s consider flight booking as an example: you are required to input your choices across various dimensions such as origin, destination, and more. Subsequently, on the following page, you will be prompted to select the specific departure time for each leg of your trip.

If you are a business traveler who needs to book a same-day trip for a meeting, the generic input process can become cumbersome. In such scenarios, your primary constraints would be the landing time for the departure flight and the departure time for the return flight. Rather than requiring users to interpret their needs through generic questionnaires, Copilot can assist you using task dependent interaction that caters to your requests, accelerating the delivery of your services. For instance, you can finalize your travel by simply saying one sentence, ‘Book me a same-day trip to San Francisco. I need to arrive by 10 am and depart by 4:00 pm.’ You can create as many tasks with customize interactions as you like, thereby minimizing the user effort required for each task.

Advantage #3: Personalization

While it is possible, building a personalized service under a graphical user interface (GUI) is severely constrained by the nature of interaction design. Arranging UI components such as buttons, menus, and forms on a layered 2D display for different screen sizes is already challenging. Customizing this arrangement for different users while maintaining the quality of ‘don’t make me think’ interactions becomes nearly impossible.

As a universal information encoder, natural language can convey responses based on the user’s input and ongoing conversation. Additionally, natural language makes it easier for users to express their needs, drawing from their past history with a business. For example, they can say, ‘Can I get the same as , but with two eggs,’ enabling a more connected experience.

Most applications now require login. With that, businesses can tailor their interactions to individual users based on their preferences, history, and needs. This creates a powerful and engaging relationship with your users.

Advantage #4: Low cost

Building a usable conversational user interface used to be difficult and expensive. However, with recent advances in language models for natural language understanding and new type-based interaction logic design, particularly the dual-process approach based on retrieval augmented generation, usability will significantly improve while costs will drastically decrease. Since you don’t have to worry about different screen sizes and natural language-based responses require no learning curve at all, building a copilot can be a more cost-effective way to expose functionality.

Advantage #5: Onboarding and guidance

It is easy for Copilot to offer a user-friendly onboarding process that guides casual users through the main features and functionalities of the application. Use step-by-step guides to familiarize users with the interface and highlight key actions. When there are issues, the Copilot can provide context-dependent guidance.

Parting words

Yes, you still need to carefully design your GUI application. But copilot will be crucial for any software application. Building software is expensive, but it is an one time cost. The marginal cost of distributing software is low, so providing value to as many causal users as possible has been and will always be the key for software company’s commercial success. Copilot make it easy for any causal user to take full advantage of the functionalities you implemented, so it’s no surprise that even before Microsoft officially launched their announced Windows copilot, other copilots such as Otterpilot from have already come online. The race is on.