How to manage feature flags in ASP.NET Core apps with Azure?
No matter how simple or complex an application is, choosing the right configuration provider right at the start will mak...
Digital innovation is a hugely overused term right now. Still, this doesn’t change the fact that many organizations are looking at how to improve or optimize their business using digital technology. The possibilities are endless, but you need to start somewhere. It always starts with an idea: how can we approach our customers in a different way or what can we do to deliver a better service?
Have you ever tried to think about it in the context of your business?
We have, many times. Both for ourselves and our customers.
One of these journeys took us to a place that was quite unusual for us. We tried to figure out how we can help to do a better job – and this time, our end users were plumbers.
Our task was simple: to figure out and build a proof-of-concept implementation which would address our customer’s problem with reaching out to their customers, namely plumbers.
Plumbing doesn’t have a lot to do with digital tools. It is somewhat “wet” and depends on robust tools, materials, and knowledge of people who use them.
The customer is a manufacturer of materials for plumbers. The company operates across several countries under various brands. They are now looking for new channels to connect with their customer base and provide solutions that will make plumbers’ work easier.
That was the entire problem statement; and it was up to us to figure out where we would take it.
Believe me when I say that we can be very creative when it comes to finding new ideas. We did a little brainstorming session, and we’ve had quite a few.
Some of the most interesting were:
All were bold and interesting, however implementing those required a little time (especially in the case of 3D printing). In the end, we focused on a solution which addressed a few problems:
It was something we could tackle in a quick proof-of-concept implementation.
We’ve decided to quickly prototype the solution in a form of a conversational bot with some enhancements.
We chose this form because it is becoming quite a popular solution. It allows people to interact with it easily from multiple form factors (a fancy name for a mobile phone) and can later be easily integrated into various channels (like social media).
As a platform to build the bot upon, we have selected Azure, which provided the necessary components as PaaS.
The desired functionalities we set for the bot were to be able to:
To build it we have used several Azure platform services, listed below.
The Azure Bot Service provides a framework to build bots on Azure. Its goal is to speed up development of bots with ready-made templates, tools and fast connectivity to different channels like SMS, Facebook or Skype. Azure Bot Service is a framework we have used to build the core functions of the bot.
LUIS (which stands for Language Understanding Intelligent Service) is one of the cognitive services from Microsoft Azure that enables applications to understand what the user is saying in natural language. It can take the text provided by the user and break it down into components pointing out to intents, entities and other elements.
With LUIS we can quickly equip our bot with an understanding of what the user is typing and put it on the right track of our conversation path.
App Service provided us with an easy to deploy and maintain web application environment. We used it to host the APIs required for our bot to interact with inventory and other elements of data stored in the storage services.
Azure SQL Server and Storage provided easy to use storage to which we have imported all the inventory data about the product catalog and store location of items.
We used Bing Maps API to quickly deliver a map of locations where items are available, and navigation based on the location data.
Application Insights were used to gather telemetry and diagnostic information from our application and the integrated services.
All the above components are provided as part of a platform. We enhanced them and connected with the solution code. The overall solution architecture was very simple and straightforward:
Does it work? Of course, it does!
Using the bot interface, the plumber can ask about a specific item in the inventory. If needed, the bot will also guide them through additional parameters required to scope the object.
When the items are found, the user can decide which one should be put in a basket to build the entire order.
Finally, if they want to check where these items are available, the location-based elements of the solution will guide them and point out on the map where the closest store is, and what is the fastest way to get there.
It is a very simple implementation of the conversational bot. Thanks to Azure platform services it could be implemented fast to validate the idea and approach. It doesn’t require extensive coding or building components of the solution to finding out if it will work.
This is the advantage of using a platform instead of building a solution based on the traditional code on top of the infrastructure.
Using other services, we can easily extend the functionality of the bot:
Bot services are also evolving, providing more straightforward ways to integrate with external services and channels.
This particular implementation is currently at the stage of verifying whether it serves a purpose and establishing what the feedback from target customers is. With this simple service, however, the company has started a new path on the road to digital transformation. As you can see, it doesn’t have to be very complicated, fancy and take years to complete (especially that last one!).
Ultimately, elements of digital transformation can be easier to implement than you think. The key is to have the right idea and target for what you want to achieve.
Your organization is already sitting on data you can analyze, process and digest. It can help you better understand what is going on within your organization and how your customers behave.
Cloud services available on Azure or other platforms make it much easier and faster to build and confirm the ideas in the form of implementation. They allow you to develop, validate and iterate on these ideas quickly.
An organization like Predica can help you match your ideas with technology. We can also support your team in the implementation of those on a cloud platform.
All these elements together provide a great opportunity for you to bring your business or services to a higher level. Contact us now to find out how!
Read other similar articles