0:00
/
0:00
Transcript

Developer perspectives: building AI apps with Microsoft tools

AI is transforming numerous industries, leading to a surge in demand for AI applications. This trend is evident across various sectors. The AI app market, valued at $40.3 billion in 2024, is projected to reach $221.9 billion by 2034, demonstrating a significant compound annual growth rate of 18.60%. Microsoft offers a comprehensive suite of developer tools designed to empower all developers in creating innovative AI solutions. Microsoft is committed to helping you effectively leverage these tools. This Microsoft guide is specifically designed to teach developers how to build robust AI apps. You will learn to build AI apps easily using Microsoft’s powerful developer tools.

Key Takeaways

  • Microsoft has many AI tools. These include Azure AI Services. They also include Azure Machine Learning. Cognitive Services are also available. They help people make smart apps.

  • You can make AI apps with .NET. You can also use simple tools. These are like Microsoft Power Platform. This makes AI solutions quicker and simpler.

  • MLOps helps run AI projects. Azure DevOps makes MLOps simpler. It helps do tasks automatically. This goes from data to using the AI model.

  • You can make AI that talks. Microsoft tools help make smart robots. These robots understand words. They talk like real people.

  • Being fair with AI is key. Microsoft gives tools and rules. These help make sure AI is fair. They also protect private information. They make things clear.

Microsoft AI Tools

Microsoft has many AI tools. They help you work better. They also help you find information. You can build strong AI tools with this platform.

Azure AI Services

Azure AI Services are AI tools in the cloud. They help you make smart apps. You do not need to be an AI expert. You can add AI to your phone and web apps. For example, Azure AI Search finds things in your apps. Azure OpenAI does many language tasks. Bot Service helps you make bots. It connects them to many places. Content Safety finds bad content. Custom Vision changes image recognition for your needs. Document Intelligence makes documents smart. Face service finds people and feelings in pictures. Immersive Reader helps people read text.

You can use Azure AI Services for business apps. You can add AI to your work. This makes tasks easier. You get ideas faster. You can give special suggestions. You can make things better. Look at supply chain data. Find problems. Make customer experiences better. Give them special suggestions. Tasks like data entry can be automatic. Report making is easier. Smart search gives good answers. This changes how you use information. It mixes search with AI. It gives answers based on live data. This helps customer support. It finds important ideas from messy data. It also makes long documents short.

Think about a global team. They can use Azure to find knowledge. They can find important information fast. They use natural language. This means storing files in Azure Blob Storage. Then, they index files with Azure AI Search. This is for smart search. Azure OpenAI makes short summaries of files. You can also ask Azure SQL Database questions. This makes one easy way to find complex information.

Azure Machine Learning

Azure Machine Learning is a cloud service. It helps with machine learning. It helps you build, train, and use machine learning models. You can work with your team. Share notebooks, computers, and data. You can make fair models. You can explain them. You can check them. This helps you follow rules. You can use ML models fast. You can use them on a large scale. You can manage them well with MLOps. Azure Machine Learning lets you run machine learning anywhere. It has built-in safety. You can work with Large Language Models (LLMs). You can also use Generative AI. This has a model catalog. It has prompt flow. You can train models. Use tools like PyTorch and TensorFlow. It has automatic ML. It has hyperparameter optimization. You can use models for quick scoring. You can use them for batch scoring. Use managed endpoints.

Azure Machine Learning helps with MLOps. This is for people, process, and tech. For people, you set up Azure Machine Learning Workspaces. Do this for each project. Use expert knowledge. Give roles with Azure RBAC. For process, use code templates. Use Azure Machine Learning pipelines. Use version control. Jobs from Git folders track info. You version inputs and outputs. Use datasets, model management, and environment management. Keep a history of runs. This is for comparing and working together. Check work quality all the time.

You can use Azure Machine Learning. Use the Azure Machine Learning studio. Use Python SDK (v2). Use Azure CLI (v2). Use Azure Resource Manager REST APIs. The studio has notebooks for code. It has pictures for run data. It has a designer for model training without code. It also has automatic machine learning. It has data labeling tools.

Cognitive Services

Azure Cognitive Services are AI tools. They are also APIs. They help you build smart apps. These tools include Vision. It is for pictures and videos. Speech is for talking to text. It is also for text to talking. Language is for text study. It is for understanding language. Decision tools help make choices. Search tools use Azure Search. They use Bing APIs for better search.

The Text Analytics API is part of Azure Cognitive Services. It has Natural Language Processing (NLP) features. This includes feeling analysis. It also includes opinion mining. It finds key phrases. It finds languages. It finds named things. It works in many languages. For example, Language Detection works in 108 languages. Feeling Analysis works in 13 languages. Named Entities Extraction works in 23 languages. Key phrase extraction works in 16 languages.

You can use these tools for general NLP. Text Analytics handles feeling analysis. It also handles key phrase extraction. Language Understanding Intelligence Service (LUIS) helps you make language models. Azure Cognitive Services for Language has models already built. They are for text translation. They are also for answering questions. Special NLP tools include Custom Question Answering. There is also Text Analytics for health. There is Content Moderator.

Bot Framework and Azure Bot Service

Bot Framework and Azure Bot Service help you build smart bots. These bots can talk to users. They use many ways to talk. Bot Framework SDK has tools. They are for making good bots. Azure Bot Service works with Microsoft Teams. It also works with Slack. This helps make and use bots easily.

Bot Framework works with Azure Bot Service. This is for using bots. First, make an Azure Bot Service. Then, get the bot’s ID and password. Build the bot’s logic. Do this in a web app. Next, set up a message spot for the bot. Finally, use the web app. It has the bot logic. The bot’s web app usually has a spot at /api/messages. This is for new messages. You set this spot in the Azure Bot. It is in the message endpoint setting. When you use the bot, set up the Appsettings.json file. Use the bot’s identity details.

{
“MicrosoftAppType”: “UserAssignedMSI”,
“MicrosoftAppId”: “<Client ID of the user-assigned managed identity>”,
“MicrosoftAppPassword”: “”, // Not applicable. Leave this blank for a user-assigned managed identity bot.
“MicrosoftAppTenantId”: “<The tenant ID of the user-assigned managed identity>”
}

Making bots usually has steps. You check bot design rules. You find what the bot needs. This includes talking or understanding language. You can make fake talks. Use Chatdown to test how users talk to bots. As you make the bot, add AI tools. Use LUIS.ai for language. Use QnAMaker.ai for questions. LUDown helps start language understanding. Then, LUIS CLI and QnAMaker CLI tools make LUIS.ai models. They make QnAMaker knowledge bases. Other tools like MSBot manage connected tools. Dispatch builds language models. This is to switch between parts. LUISGen makes C#/Typescript classes automatically. This is for LUIS intents and entities. These AI tools work together. They work through the whole process. Microsoft gives these tools. They help you make strong solutions.

Developing AI Applications

You can build strong AI apps. Follow practical steps. Use technical patterns. Look at real examples. Building AI apps in .NET is easier now. You can run large language models locally. Use tools like Ollama. Then, use these models from your .NET apps.

Service Selection

Picking the right AI services is key. It is the first step for your new app. Start by looking at your company. See what you are ready for. Find any missing parts. This helps you know what you need. Next, check your planned AI solution. Match it with a standard plan. This shows you any missing tech parts.

Then, look into vendors and products. Check what is on the market. Read independent reports. Find vendor features that fit your needs. Prepare questions for vendors. This helps you check your research. It also helps you learn more. Finally, write down how you will choose. This makes clear rules for picking services. It is the base for any requests for proposals.

When you pick services, focus on important uses. Look for solutions with special features. These can make uses better. Do not just pick the “best” models. If you look at current vendors, find what they lack. Compare them to others. Know your needs well. Check vendors carefully. This helps you make smart choices. The market changes fast. Also, confirm how vendors will help. They should support responsible AI. Your company is in charge of being accountable.

AI Integration

Adding AI models to your software needs planning. You must build a strong base. This is for good AI systems. It makes sure they last and grow. You also need to think about growth. This means keeping things fast and good. This is true as your needs grow. Deployment plans need careful work. This is extra true when you link to older systems.

You can use agile methods. This gives you flexibility. It helps you make progress step by step. It also helps teams work together. Break AI projects into small parts. Build and test them one by one. This makes things better all the time. Bring different teams together. Include data scientists. Include software engineers. Add UI/UX experts. Add domain specialists. This gives you a full view. It covers many ideas.

When you add AI, you might use customer things. These are in their own system. You do this when data is private. Or it needs to follow rules. You also do it if you already spent money on systems. This helps keep things running well. Sometimes, you might move things. Move them to other systems. This happens when you need more growth. Or want to save money. Or need advanced tools. You might also start new. This is for research. Or special needs. Or trying new ideas.

You need to make data formats the same. Use formats like XML or JSON. Use them across systems. This makes them work with AI. Make APIs or special connectors. These help share data. Especially with older systems. Ones that do not have APIs. Set up ways to check data quality. Do this before you give data to AI models. Make a strong data system. This includes roles and rules. It has steps to keep data good. Change and map data. Make sure old data matches AI needs. This means matching fields. It means making data the same. Clean your data. Remove or fix wrong data. Fix missing or extra data. This makes sure AI analysis is good.

Data for AI Models

Getting and readying data is key. It trains AI models. Your data must be right. It must be full and steady. This makes model training reliable. It also needs to follow data rules. It needs to follow AI rules. This means using trusted data. It must be approved and checked. Adding context helps. Metadata and labels help. This helps you understand data better. It also makes AI work better. Data must be there. Being able to use it is key. Being available is key. Getting it in real-time is key. This is for timely AI training. It is also for AI to start working.

You should use ETL tools. These get, change, and load data. They do it automatically. Make sure change rules match your model’s needs. Set up data quality rules. Make standards. Check things automatically. Set up alerts for problems. This helps you fix bad data fast. You can use machine learning to get data ready. ML ways can find odd data points. This cleans data. It makes it better. It helps stop unfairness. Make data pipelines. These make the whole data process automatic. This goes from getting data to checking it. Use version control for pipelines. This makes your work repeatable.

The process starts with finding data. Say what your project needs. Say what data you need. This helps you know what data to get. It is for good AI training. Next, get data. Find the right places. Find ways to get the data you need. Then, get data ready. Clean it. Fix problems. Label it. Check it. This gets it ready for AI. Finally, manage and store your data. Keep collected data safe. Keep processed data safe. Make it easy to get. Make it easy to check. Use central storage. Use strong data rules. Use cloud solutions that can grow. Use access control based on roles.

MLOps with Azure DevOps

Azure DevOps helps you manage MLOps. It helps with pipelines for your AI apps. It makes many parts of machine learning automatic. This includes getting data. It includes training models. It includes putting them out. It includes watching them. Automation makes fewer mistakes. It makes things faster. It keeps things the same. For example, pipelines can tune models. They can retrain models. They can find when things work worse. They can also check for safety problems.

Azure DevOps helps with Continuous Integration (CI). This is in MLOps. It helps you make model code. It helps check its quality. Do this before you put it out. This includes making test code better. It also means checking new data. You can do unit tests. You can do integration tests. Azure Pipelines can help check code. It can help with unit testing.

Azure DevOps also helps with Continuous Delivery (CD). It lets you safely put models out. Put them into use. This means packing models. It means putting them in test places first. It makes sure model parts can move easily. Once models pass checks, you can approve them. Approve them for use.

Azure Repos in Azure DevOps has source control. It uses Git. This helps you manage changes. Changes to your code. Changes to data. Changes to models. Different teams can work together. They can track changes. They can go back to old versions. They can manage different tests. Azure Boards in Azure DevOps helps with agile planning. You can put work into sprints. You can change as needed. You can give small model improvements. This helps you plan projects. It keeps teams working together.

Azure DevOps makes MLOps pipelines easier. It lets you add to Azure Pipelines. It lets you add to GitHub Actions. This is for machine learning models. These tools help put out machine learning systems. They help put out custom parts. They help put out orchestration code. They help put out models. Azure Machine Learning pipelines can work with Azure DevOps. Or with GitHub pipelines. This is for full MLOps. For putting things out, both Azure Machine Learning pipelines. And Azure Pipelines can put out models. This is for guessing. Azure Machine Learning has features. Like setting up nodes. Like OS updates. Like autoscaling. Like watching. And support for blue-green deployments. For other hosting places, like Azure Container Apps. Or Azure App Service. Azure DevOps or GitHub pipelines can handle CI/CD.

.NET and Local LLMs

Using .NET for building ai apps has many good points. It gives one place to build web UIs. It builds APIs. It builds many applications. .NET works on Windows. It works on macOS. It works on Linux. It is open-source. It has a strong community. It runs on popular web servers. It runs on cloud platforms. You get strong tools for editing. For debugging. For testing. For putting out your code.

.NET gives you one place to develop. You can build, train, and put out ai models. Especially with ML.NET. You do this without leaving Visual Studio. The .NET world and community are growing. You can get top ai models. This includes OpenAI, Mistral, Meta, and Cohere. There are special ai SDKs and libraries. It works with open-source groups. Like Huggingface. The C# developer community is also very strong. Microsoft actively builds and keeps the open-source .NET platform. It helps a lot with ai projects. This includes guides. It includes demos. It includes beginner videos.

ML.NET gives one place for machine learning. This lets developers build, train, and put out models. All in one familiar place. You do not need to switch languages. You do not need to switch frameworks. .NET applications link directly with Azure AI services. They use native SDKs. This lets cognitive services work. Custom vision works. Language understanding works. They work smoothly with your code. Your teams can use familiar .NET tools. They can use familiar patterns. This lets ASP.NET teams add ai features. They do not need all new skills.

AI applications built with .NET get strong safety features. This includes built-in ways to check who you are. Ways to say what you can do. And ways to follow rules. These meet company safety rules. .NET works well when big. It manages memory well. It handles tasks well. It has optimization tools. These are great for complex machine learning tasks. It works well with Azure services. This gives a smooth path. From building to using ai applications.

You can also run large language models (LLMs) locally. This is a great way for a developer to try things. To build ai dev tools. Without needing cloud services. Tools like Ollama make this happen. Ollama lets you download LLMs. You can run them on your computer. Then, you can use these local LLMs. Use them from your .NET applications. You send requests to Ollama’s local API. This lets your .NET code talk to the LLM. This way gives you more control. Control over data privacy. It makes things faster. It also helps you save money. This is when building ai apps.

Building AI Apps with Low-Code

You can build strong AI apps fast. You do not need much coding skill. Microsoft Power Platform helps you make apps faster. It makes work automatic. It cuts down on repeated tasks. This developer platform uses AI tools. They use low-code. This helps you create new things faster.

Power Platform for AI

Power Platform’s AI features make app building faster. They make workflows automatic. They help you see data. This means fewer repeated tasks. You can make smart chat systems. These make talking with staff and customers better. They also make business tasks better. The platform makes security better. It makes rules and operations better. Its managed features help you grow these tasks well. Power Platform and ai agents help build AI first. It adds AI business ideas. It makes code better. Microsoft Copilot Studio helps you add generative ai. This is for low-code places. You can set up ways to sort data. You can secure it. You can show it. This keeps data right and follows rules. Features like data loss prevention (DLP) help. The platform also helps manage risks automatically. This includes checking all the time. It also gives alerts right away. IT leaders can use Power Platform. They can try out ai ideas. This helps things get better. It helps all developers.

Power Apps and Dataverse

Power Apps and Dataverse make building ai apps much faster. You can say what your app needs. You can type it. You can upload drawings. Or you can pick ideas. You can say which Dataverse tables to use. You can say which entities or links to use. This quickly adds your business data. Ai agents then make app pages. They often use React. You can change the design by talking to it. You can change the logic. Or you can change it more with code. You can work with Copilot in Power Apps. This helps build apps faster. It helps you make changes. It helps add automatic tasks. It helps write code. It gives advice. Ai can quickly make working apps. It can make data from drawings. It can make it from data plans. It can make it from Figma files. You use ready-made designs. You drag and drop features. You use special parts. This makes building easy. It lets you use apps fast. Microsoft Dataverse is a built-in data platform. It handles business rules. It handles security. It handles rules. It brings data together.

AI Agents and Automation

Ai agents are smart systems. They can think. They can learn. They can act with little human help. They handle hard, many-step tasks. They change to new situations. These agents remember past talks. They make choices. They finish whole tasks. Not just one thing. They also get better over time. You can use ai chatbots. They give help 24/7. They use Microsoft Power Virtual Agents. They answer common questions. They guide users. You can make tasks like expense reports easier. Use Microsoft Power Automate. This sends approval requests automatically. You can watch important numbers. Use Power BI and Power Automate. This includes how much stuff you have. Automatic alerts tell you about problems. You can get customer ideas. Use Power Apps. You can check them with Power BI. This finds ways to make things better. Manage sales leads. Track deals. Use Power Apps and Power BI. Make new employee tasks automatic. Use Power Automate and Power Apps. This puts tasks together. It tracks progress. You can make one system for tickets. It can also send hard problems to others. Power Apps and Power Virtual Agents handle common issues. They send hard problems to the right people fast. These tools help you make many business tasks automatic.

Conversational AI

You can build smart systems. They talk like people. This is called conversational AI. These systems help users. They get information. They finish tasks easily. Microsoft has many tools. They are for conversational ai app development.

Intelligent Bot Creation

Making smart bots takes steps. You can start in Visual Studio Code. First, open Visual Studio Code. Then, pick the Microsoft 365 Agents Toolkit Activity Bar. Next, choose ‘Create a New Agent/App’. Select ‘Custom Engine Agent’. Then, pick ‘Basic Custom Engine Agent’. Choose ‘Azure OpenAI’. Type in your Azure OpenAI Key. Type your Endpoint. Type your Deployment Name. Select ‘JavaScript’. You can use the ‘Default folder’. Or pick a different spot. Type an application name. Update the .env.playground.user file. Use your secret keys. Use your deployment name. Finally, fix your app. Press F5. Or pick ‘Run and Debug’. You can also add Language Understanding (LUIS). Make a LUIS app. Define intents. Train it. Publish the model.

Language Understanding

Language understanding is very important. It is for conversational AI. Natural Language Understanding (NLU) helps chatbots. It helps them understand words. It also helps them understand what users want. It helps them understand the situation. This deep understanding makes talks personal. It makes them work well. Conversational AI systems use Natural Language Processing (NLP). They use machine learning. This helps them understand human language. This means looking at what the user types. It looks for what they mean. It looks at the situation. It looks at feelings. The ai learns from past talks. It gets better over time. This makes answers more correct. It makes them more personal. NLP helps find the meaning. It is behind what users type. This lets the system give good answers.

Voice and Speech Integration

Adding voice to your conversational AI needs thought. Voice technology needs experts. Experts in machine learning. Experts in speech recognition. Experts in computer vision. It also needs more computer power. Voice recognition is not perfect yet. Especially in loud places. Data safety is a big worry. You need strong protection. This protects voice data. Speech recognition (ASR) changes spoken words to text. This is key for voice systems. Text-to-Speech (TTS) is needed. This is if your ai assistant will talk back.

Bot Design Best Practices

Making good conversational ai applications means following good rules. You must set clear goals. Goals for your conversational AI. Understand what users need. Research what they like. Research common questions. Pick the right technology. It must fit your business needs. Design easy-to-use talks. Make them human-like. Train your ai model. Use machine learning. This is for correct understanding. Test and change often. Get feedback. Make your design better. Put your bot on different channels. This gives a steady user experience. Watch how it works. Make it better all the time.

Deploying and Managing AI

You need good plans. These plans help you use and run your AI apps. This makes sure they work well. They will also stay dependable. You can use many ways. These ways make your AI solutions strong.

Containerizing AI Apps

You can put your AI models in containers. This includes their settings. This makes them work the same everywhere. Containers keep things separate. This is for different parts. So, AI projects can use different versions. They will not cause problems. Being separate also makes things safer. It limits what each container can reach. This is key when you use private data. This data trains AI models. Containers help you watch tests closely. You can save how things look. This helps you fix problems. Using containers also saves money. Developers spend less time setting things up. They spend less time fixing things.

AI Model Monitoring

After you use your AI models, you must watch them. This helps you see how well they work. You should check how good the model is. Look at things like accuracy. Also, check data quality. Look for missing values. Watch for changes in data. Watch for changes in predictions. This means looking for shifts. Shifts in scores or feature types. You also need to watch for unfairness. Watch for bias. How fast things work is important. How much CPU is used is also important. Tools like Evidently AI help you. Amazon SageMaker Model Monitor also helps.

MLOps Principles

MLOps adds DevOps ideas to machine learning. It helps you manage the whole AI process. MLOps makes things strict and steady. It brings all tasks together. From getting data ready to using it. Continuous Integration (CI) pipelines help. They make fast, automatic releases. They test models against goals. Continuous Delivery (CD) makes using models faster. It sends every change to use automatically. Continuous Monitoring (CM) watches how models work. It finds problems like data changes. These ways make sure things are always delivered. They make sure things are dependable.

Scalability and Reliability

You must make your AI models able to grow. Do this from the start. Keep models simple and small. This makes them easier to grow and keep up. You can use a system with parts. This lets you update parts. You do not have to change everything. Use cloud power. Cloud systems can change resources. They change based on what is needed. Use MLOps ways. This makes tasks automatic. It makes fewer mistakes. It makes the system more dependable. You should also always watch your AI models. This tracks how they work. It tracks data changes. It helps you plan to train them again. Or to update them.

Responsible AI Development

You must build AI systems in a good way. This means you find, check, and handle AI risks. Microsoft has many tools for this. They help you through the whole building process.

Responsible AI Principles

You should follow main rules when you make AI. Microsoft stresses these rules. They help you make AI that is fair. Your AI should treat everyone fairly. It must work well and be safe. Your systems should also be safe and private. They must help everyone. This is for all people. It does not matter where they come from. You need to make your AI easy to understand. People should also be in charge of AI systems.

Fairness and Privacy Tools

You can use many tools. They help with fairness and privacy in your AI work. Microsoft gives a Responsible AI Toolbox. This set of tools has a Responsible AI Dashboard. It also has an Error Analysis Dashboard. It has an Interpretability Dashboard. The Fairness Dashboard is also in this. Fairlearn powers it. These tools help explain things. They help with fairness and including everyone. You can also use ways like balancing training data. This helps make different kinds of data. Adversarial debiasing helps lower unfairness when learning. Differential privacy makes sure your AI models do not show private personal data.

Ethical AI Guidelines

You must follow good rules. These are for making and using AI systems. Think about what is right from the start. Make your AI code fair and clear. It must also keep user data private. Get and handle data in a good way when building. Get data sets in a good way. Make sure they are stored safely. Handle their life cycle well. Always watch how your AI system works. Check its good behavior after you use it. Checking often helps you find and fix problems fast.

Bias and Transparency

You need to fix unfairness. You need to make your AI systems clear. AI models should be clear. Their choices must be easy to explain. People affected by AI should know why it made a choice. You must make sure training data sets show everyone. They need to be different in many ways. You should update and check data sets as society changes. Use good, correct data. This stops mistakes and unfairness in AI systems. Use strong ways to check data quality. These include looking at it by hand. They include cleaning it automatically. They include checks by other groups.


Developers can build great AI apps. Microsoft has strong tools for this. Building AI apps with Azure and Power Platform is good. They offer many benefits. These include growing easily. They work well together. They have strong AI safety features. We want you to try these Microsoft tools. Use them for your own projects. Look at Microsoft’s many guides. Use Microsoft’s community help. This includes “A Developer’s Guide to Building AI Applications, Second Edition.” Start making AI apps with Microsoft now. These AI tools help developers make amazing apps. Microsoft gives developers all they need for AI. Microsoft really wants to help with AI development.

FAQ

❓ How do I start building AI apps with Microsoft tools?

You can start with Azure AI Services. Also, look at the Power Platform. Microsoft has many guides. They have tutorials too. You can use books like “A Developer’s Guide to Building AI Applications, Second Edition.” Begin with a small project. This helps you learn the tools.

💻 Can I run large language models (LLMs) locally with .NET?

Yes, you can do this. Tools like Ollama help you. You can download LLMs. Run them on your computer. Then, use these models in your .NET apps. This gives you more control. It can also save you money.

🚀 What is MLOps, and how does Azure DevOps help?

MLOps uses DevOps ideas for machine learning. It makes the whole AI process automatic. This goes from getting data ready. It goes to using and watching models. Azure DevOps has pipelines. These help with continuous integration and delivery. This makes your MLOps work easier.

🛡️ How does Microsoft ensure responsible AI development?

Microsoft focuses on Responsible AI rules. They have tools like the Responsible AI Dashboard. This helps you find and fix problems. You can work on fairness, privacy, and clear rules. Do this through all your building steps.

🤖 Can I build AI apps without extensive coding?

Yes, you can! The Microsoft Power Platform has low-code tools. You can use Power Apps. You can use Power Automate. These tools help you make AI apps. They also make tasks automatic. You do not need to know a lot of coding.

Discussion about this video

User's avatar