When one thinks about a new version of any given software, the first thing you picture in your head is a new interface. Beyond new functionalities, increased speed or platforms supported, a new user interface is something we all expect and, at the same time, dread, when a new version of our to-go software is announced.
The user interface is, by definition, the most salient characteristic of any software solution. Furthermore, a good or bad user interface will have an enormous influence of the quality of the user experience. Designing a good user interface that is responsive, intuitive and functional is the dream of any developer. Adapting it to each possible platform is their nightmare.
However, what if we told you that there’s a new solution around, that aims to unify design across platforms? That makes it possible to develop a software once, and use it on different platforms natively? That allows you to exchange content in a common and consistent manner? Too good to be true? We kid you not! Keep reading and learn more about the Adaptive Cards technology and our take on it, SuperCards.
Adaptive Cards are a card-based user interface (UI) framework, presented to the user within a larger interface such as a chat client, written in JSON, and openly exchangeable by apps and services. Adaptive Cards are a Microsoft initiative, launched in 2017 with the aim to standardize cards layouts independently of the platform. As a result, Adaptive Cards are best supported in Microsoft environments such as Web Chat, Cortana, and Microsoft Teams, but they can also be used outside of bots in Windows Timeline and Outlook Actionable Messages, or be rendered in your own native applications.
In Adaptive Cards, the JSON is designed to “transform and adapt” into the native UI of whichever environment they’re being used, giving the host ultimate control over design and integration with a light-weight UI for all main platforms and networks. The goal is to just need to define the card once, and then being able to make it portable to the different platforms, skinning it according to the platform own requirements. Think of a chameleon, adapting to its surroundings to best mimic them, and you’ll see how an Adaptive Card works.
In the body of an Adaptive Card, administrators can both display information and gather input from the user. They can also define card actions, what the card does whenever the user clicks on it. Such actions can be either in the card’s body or separated from the body and displayed as buttons that integrate into the UI of each channel .
If you are a developer, we are pretty confident that by now you are super excited about Adaptive Cards. If you are not that much into the tech stuff, maybe our description above made you shrug and think “so what?”. Fair enough, you are not the one who’s developing all that software, but certainly you are someone who is using software. And this is why you should join the super-excited-about-Adaptive-Cards crowd:
The cards will open up a new way of working, where interactive, timely actions are triggered by pertinent requests or time-bounded settings on the software of choice for each user.
The cards are a great fit for bot technologies when it comes to creating bot responses to the user’s requests. Like that, you can get relevant responses tailored to the unique needs of your employees and, at the same time, gather valuable input for your organization.
Providing and requesting only the relevant data on the correct time reduces data redundancy, duplicates and fragmentation, ensuring a higher quality of the data.
On top of that, these are some of the tech-stuff advantages of implementing Adaptive Cards:
The code works as a “recipe” for the card structure, from which the card’s skinning is determined by the channel in which it is deployed.
The card layout only needs to be done once before the different solutions make the card seem native of the respective UI.
Adaptive Cards offer a wide range of interactivity. The inputs include dropdowns, text boxes and buttons, and individual sections can be dynamically shown or hidden. This range of functions is larger than that offered by Alexa Presentation Language or Slack Block Kit, for example.
When developing the card’s JSON, administrators can also specify what part of the card should be read when voice output is supported.
As we mentioned before, Adaptive Cards is one of these actionable card technologies that goes really well with the MS stack, since they are the ones who came up with the idea. Although Adaptive Cards are supported in other programs as well, some competitors (such as Slack) and other platforms (like Discord, mostly for gamers) are releasing their own technologies too.
Despite we understand the competitive spirit of this race to the top, we hope that this does not last for long. The whole point of Adaptive Cards was to provide a way to develop platform-agnostic UI software, and with the current situation we might instead end up having different standards for all the different platforms, again.
We cannot foresee who will prevail in this new war, but we wholeheartedly root for the Adaptive Cards team and its already long list of supported platforms (some official ones like Email, Teams, Cortana, Windows Notifications and Timeline, Bot Framework’s web chat and Outlook’s actionable messages; and other “experimental” ones such as Emulator, Facebook, Slack, Smooch, Webchat, Kik, Telegram, SMS, GroupMe and GitHub, among others).
If you want to try Adaptive Cards as a technology, but are not ready for harnessing all its potential, Microsoft Power Automate has built-in connectors which make it easy to post cards to teams chats or channels. You can find the instructions on how to do that here. If you are ready to embrace the future of software and benefit from all the advantages that a tailor-made Adaptive Card solution can offer to your organisation, contact us and we will love to tell you more about SuperCards, our take on the next level Adaptive Cards technology!
In either case, these are some of our tips for you to take into account when starting your Adaptive Card journey:
For example, at this moment Teams runs on 1.0, but you can enable some of the 1.1 and 1.2 features by enabling preview dev features on Teams. On the other hand, trying to post cards from latest versions will cause errors. You can learn more about the different versions of the cards here.
On Teams, you need to test that the card is also rendered correctly on mobile, there are situations when it is all fine on desktop, but on mobile blank cards are shown.
Let’s say that you have 100.000 customers and you need to be able to select one of those. This scenario needs a bit more thinking as there are not yet controls to search values from such a huge list.
When building processes that require multiple fields, consider splitting the cards into smaller and update the existing card, do not post multiple cards as it will get confusing.
Otherwise users will not know if the card was submitted correctly or not. These are not greatly supported by cards, but they are achievable by, for example, updating the existing card.
This frustrates us the most, word!
There’s a community call for Adaptive Cards which we really recommend if you are interested in this tech. You can follow it here.
Adaptive Cards are gaining more and more momentum in the software industry. In Supervise we are happy to contribute to this movement and build value on top of it with SuperCards. Our take on the technology offers an easy to use approach to the solution, actual supporting business processes and facilitating governance. We are not building one-off solutions, we support the whole picture related to this technology. We want to start the new decade with a whole new way of working. And you, has your organization already discovered the next big thing in business software?
Do you want to keep up to date with our blog without having to come and check what’s new? Let’s us help you!