Sunday, April 21, 2024

Accessibility support in virtual meetings

   In today's digitally connected world, virtual meetings have become the norm, providing unprecedented flexibility and accessibility. However, for individuals with disabilities, navigating these virtual spaces can present unique challenges that often go unnoticed. From inaccessible platforms to a lack of understanding about diverse needs, many are left struggling to fully participate and contribute.

This post will discuss practical strategies and tools to ensure inclusivity and accessibility for all participants. Whether you're a meeting organizer, participant, or simply interested in fostering an inclusive environment, this guide provides insights to help you create virtual meetings that truly leave no one behind.


Accessibility tools for Microsoft Teams - Microsoft Support


Transcription and AI Assistance in Remote Meetings

Transcription services and AI assistance have revolutionized remote meetings, making them more accessible and inclusive:

  • Transcription Services: Automated transcriptions offer real-time text captions, aiding those with hearing impairments and benefiting all participants.

  • AI Assistance: AI-powered tools provide real-time translation, gesture recognition for mobility-impaired users, and voice commands for hands-free interaction.

These technologies break down barriers, ensuring everyone can fully participate in virtual meetings.

Closed Captions and Transcription | Accessibility | Microsoft Teams

Configure transcription and captions for Teams meetings - Microsoft Teams | Microsoft Learn


Expanding Hearing Support: Devices and Headsets

Beyond screen caption and translation services, a variety of devices and headsets offer specialized support for individuals with hearing impairments, enhancing their experience in virtual meetings:

  • Hearing Aid-Compatible Headsets: Stream audio directly, offering clear sound.

  • Noise-Canceling Headphones: Reduce background noise, enhancing speech clarity.

  • Bone Conduction Headsets: Transmit sound via bone vibrations, comfortable for extended wear.

  • Telecoil-Compatible Devices: Wireless connection for hearing aids, reducing interference.

  • Assistive Listening Devices (ALDs): Amplify sound for improved perception.

These devices enhance accessibility in virtual meetings for individuals with hearing impairments. Recently I was speaking with peer who is hearing impaired, and even the fabric covered ear-piece can provide improved comfort experience. Some examples from industry leading manufactures:

Office headsets for the hearing impaired: What are your options? (jabra.com)

HearingAidCompatibility.pdf (poly.com)

Enhanced Hearing & Assistive Listening | Sennheiser US (sennheiser-hearing.com)

IMPACT 1000 | Superior Audio Quality | EPOS (eposaudio.com)


Integrating Sorenson VRS with Microsoft Teams

Despite the availability of various technological solutions, there are times when a human translator or interpreter is still necessary. While most virtual meeting platforms, like Microsoft Teams, support CVI (Cloud Video Interoperability) join capabilities, coordinating these services to match meeting schedules can pose a challenge.

Here is an option designed to help - Sorenson Express for Microsoft Teams On-Demand Interpreting - Sorenson

Sorenson Video Relay Service (VRS) offers seamless integration with Microsoft Teams, providing accessibility features for deaf and hard-of-hearing users:

  • Real-time Video Calls: Users can make and receive video calls directly within Microsoft Teams using Sorenson VRS, facilitating communication in sign language.

  • American Sign Language (ASL) Interpreters: Sorenson VRS connects users with qualified ASL interpreters for smooth communication during meetings and conversations.

  • Captioning Services: Live captioning is available for participants who prefer or require text-based communication, ensuring inclusivity in team meetings.

  • Support for Deaf Culture: Sorenson VRS promotes Deaf culture and communication preferences by offering ASL-centric features, fostering an environment of accessibility and understanding.

These features empower deaf and hard-of-hearing users to fully participate in Microsoft Teams meetings, enhancing collaboration and inclusivity.

Sorenson VRS can be integrated directly into the Teams client through IT Admin enablement. I should state, a relationship and account must be established with the Sorenson services. 

As an IT or Teams Administrator, you will want to ensure Sorenson is allowed in your Tenant:



Once a Teams meeting is scheduled, the organizer can add Sorenson to the meeting prior to meeting start, or after the meeting has begun:


From within the Teams Meeting client - you are able to schedule an on-demand interpreter to support accessibility needs.


Watch the experience - Sorenson Express On Demand Interpreting in Microsoft Teams



I hope these suggestions inspire and facilitate the adoption of more accessibility options for your organization. By prioritizing inclusivity, you're not only enhancing the experience for individuals with disabilities but also fostering a culture of diversity and understanding within your team. Embracing accessibility features in virtual meetings demonstrates your commitment to accommodating diverse needs and ensures that everyone has an equal opportunity to contribute and thrive.

Thursday, January 18, 2024

Delegated Voicemail with transcript posted in Teams Chat

Power Automate is a cloud-based service that allows you to create automated workflows between different applications and services. You can use Power Automate to forward a voicemail with transcript to a defined user in Teams Chat. This can be useful to notify delegates that a voicemail has been left for the person who assigned them the delegate role - or for any use where a second person needs to review voicemail on behalf of another user, or shared mailbox.

In this guide, we will create a Power Automate flow that triggers when a new voicemail is received in Outlook, extracts the transcript and the audio file, and sends them to a specified user in Teams Chat. You will also learn how to customize the flow to suit your needs and preferences.


Chapter 2 of this guide will cover forwarding that actual voicemail (MP3 file stored in Exchange Mailbox) along with the notification and transcription.


For Phase 1 of this project we will start in Power Automate with an automated cloud flow:

Select trigger type "When new email arrives" - we choose this because all new Teams Voicemails are stored in Exchange and we use the email as a trigger. Don't forget to name your flow when selecting the initial trigger action.


Note the 2 modified fields - we will include attachments (to be used in Phase 2 of this project) and we'll set the subject filter to only trigger when the email includes "Voice Mail". If needed we can get more creative with trigger filters later.

Next we are going to add an action and initialize a variable. The purpose here is to store the name of the voicemail recipient. There are multiple ways to perform this task, and you may wonder why we just don't use the object from the previous task. For now I'll just share this method allows us to send the Chat post with one step versus 2 and ill explain more as we go on. I like to start variable names with var.


Now we define the variable as the TO (recipient) of the voicemail. Add action and select set variable. We select our variable from the drop down, and we select TO from the dynamic content menu. Note - as soon as you select TO as dynamic contact, Automate will enclose your action as Apply to each. This is due to the format of the dynamic expression being an array (potential to be more than one object).


Now for the fun part. We are going to add a new action called "Post message to chat to channel". This should be added outside the previous "Apply to each".


We post as "Flow Bot" from the drop down, and we post in Chat with Flow Bot. In phase 2 I may adjust this to experiment with options to post a chat directly from the Voicemail receiver - but for now this works great.

Our recipient is hard coded in the automation - so in this example Megan will receive a chat direct from the flow bot. In phase 2 I plan to experiment with additional automation, to see if we can pull this dynamically as the delegate, or use a table which will make this more flexible.

In the message body we craft the text needed and call our variable (varVMowner) from the dynamic content table to appropriately tell the chat receiver (Megan) who the voicemail was left for.

We also select the Body from the dynamic content menu. This will capture and post the transcribed Voicemail from the email.

For Phase 1 - we are done !! (don't forget to save your flow)




Make sure your flow is enabled - and check its run success from the main menu for this flow.

Yes - there are always a few failures before success !!

Stay tuned for Chapter 2 - Cheers



 

  

Saturday, December 16, 2023

How I Use Copilot and AI to Boost Productivity

 

A personal account of how artificial intelligence has helped me write better content and code.


Artificial intelligence (AI) is transforming the way we work, learn, and create. As a novice developer and a writer, I have been using Copilot and AI to enhance my skills and streamline my workflow. In this post, I will share some of the ways I personally use Copilot and AI to boost my productivity and creativity.


AI: A Game-Changer for Decision Making

AI has revolutionized the way I make decisions and approach problems. Previously, I would use Bing and Google search to find documents, educate myself, and then go through a lot of trial and error. Now, I use AI and Copilot prompts instead of web searches, helping me start with draft code or content right away. This has significantly reduced the time and effort required to find solutions and make informed decisions.

CoPilot: A Smart Assistant for Coding

I am a novice coder at best, in my role I don't develop applications, but I do need to script and automate. GitHub CoPilot in VS Code is a powerful tool that helps me write better code faster. My process is accelerated by getting draft code started or autocompleting entire lines or functions, generating comments, fixing syntax, organizing code blocks, and even providing comments. It works with a variety of languages and frameworks, and it learns from my own code and the millions of public repositories on GitHub.

Getting started information HERE and HERE

·      Recently I needed to leverage Terraform for Azure resource creation and management. I used CoPilot to generate basic configuration files and blocks, within seconds I had a template and then modified them to suit my needs. Starting from scratch here, I used the CoPilot command palette to build an initial framework for Terraform Azure VM creation. 


·      Another way I use CoPilot is to speed up my development process to assist clients. CoPilot can save me a lot of time and effort by writing boilerplate code, handling edge cases, and suggesting improvements. For example, when I was working on a PowerShell automation task, I used CoPilot to create a script that can perform various operations on Azure and M365 resources, such as creating, deleting, updating, and listing them. I love the AI assistance which also documents comments and provides explanations in the chat window.


·       A third way I use CoPilot is to enhance my code quality and readability - as I mentioned, I am a novice. CoPilot can help me write cleaner, more concise, and more consistent code. It can also help me avoid common errors and bugs, and catch them before they cause any trouble. For example, when I was writing a KQL query for an Azure dashboard, I used CoPilot to format my code according to the best practices, and help with syntax to ensure accuracy. I started with a basic KQL on the right, and leveraged GitHub CoPilot chat to enhance the query and then used in Azure Log Analytics to create a dashboard in Azure.





AI: A Creative Partner for Writing

 Sometimes us technical writers tend to forget there is reader at the other end of the content. AI is also a great tool that helps me write better content faster. It is a creative partner that can generate ideas, sentences, paragraphs, and even entire articles based on my input. AI can also help me edit, proofread, and optimize my writing for different purposes and audiences. There are many AI-powered writing tools available online, but I mainly use M365 CoPilot, Microsoft Designer and LinkedIn AI for blog posts and updates, Teams to find chat topics within lengthy chat history, and Word and PowerPoint CoPilot to draft internal and client content.

·       In addition, I use AI is to brainstorm topics and titles for my blog posts and updates - such as this one here. AI can help me summarize my topics and create engaging headlines. For example, in this post here, I wanted to write about my experience with CoPilot and AI, I used Microsoft Designer, CoPilot in Word and LinkedIn AI to generate some possible titles and images, such as "How I Use CoPilot and AI to Boost My Productivity".


·       Search has forever changed with AI. I now easily find relevant and elusive chat topics within lengthy chat history. AI can help me search and summarize the key points and questions from previous conversations and suggest new topics to continue the discussion. For example, when I wanted to chat with a colleague about a project we were working on, I used Teams Copilot to find the most recent and relevant messages and topics we exchanged, and then I used AI to generate some follow-up questions and comments.

·       When drafting internal and customer content with Word and PowerPoint Copilot, AI helps me write clear and professional documents and presentations that communicate my ideas and goals. For example, when I wanted to write a proposal for a new project, I used Word Copilot to generate an outline, a summary, and some key points, and then I edited them to make them more specific and persuasive. When I wanted to create a presentation for a client, I used PowerPoint Copilot to generate a template, a title, and some slides, and then I edited them to make them more attractive and audience specific.

These are some of the ways I personally use Copilot and AI to boost my productivity and creativity. Refining how I ask for assistance, and reviewing the created content helps me ensure a personal context. I hope this blog post has inspired you to try them out and see how they can help you with your coding and writing projects. If you have any questions or feedback, feel free to leave a comment below or contact me on LinkedIn. Thank you for reading!

 

Saturday, December 9, 2023

Connecting Voice Operations with Infrastructure Operations through Azure.

Forge a seamless alliance between Voice Operations and Infrastructure Operations with the transformative power of Azure.


In the rapidly evolving landscape of Unified Communication and Telecommunications services, Microsoft stands as a seasoned player with extensive expertise. Azure for Operators, Microsoft's specialized suite, is meticulously crafted to cater to the unique needs of telecommunications operators and service providers. This comprehensive offering spans network function virtualization (NFV), software-defined networking (SDN), 5G support, IoT, edge computing, data analytics, and security. Aimed at facilitating operators in deploying, managing, and scaling their network infrastructure, these solutions also empower innovation and ensure adherence to industry compliance standards.

On the flip side, numerous enterprises are navigating their way towards cloud-based Unified Communications as a Service (UCaaS), leveraging familiar tools such as M365, Teams Admin Center, and Power BI with Call Quality Dashboard (CQD) and Quality Event and Diagnostic Logs (QER). Teams Voice and the Teams Admin Center components provide administrators with a centralized hub for optimizing voice communications within Microsoft Teams. Complemented by Power BI for CQD, these tools deliver robust analytics, allowing organizations to enhance voice communication infrastructure and proactively address call quality issues through data-driven decision-making.

However, for many enterprises, their organizational needs may fall within the spectrum between these two comprehensive scopes.

Organizations can enhance operational efficiency by focusing on IT services that align directly with customer offerings. Streamlining communication infrastructure management is achievable through the strategic use of hosted solutions, resulting in reduced capital investment and operational burdens, especially within Unified Communication.

A prime example of such a solution is Microsoft Operator Connect, a targeted approach that effectively minimizes infrastructure needs, simplifies management overhead, and reduces expenses associated with operating communication infrastructure. By entrusting capacity, licensing, and service health to solution providers experienced in daily operations of UCaaS networks at scale, organizations can ensure operational efficiency.

While the transition to a fully hosted and managed cloud UCaaS environment may be gradual, organizations might find the need to manage independent communication infrastructure along the way, with Teams Direct Routing as an example. This is where hosted or enterprise-managed Session Border Controllers (SBCs) often play a crucial role, providing practical solutions within this evolving landscape.


If your organization is currently navigating the transitional phase outlined above, various challenges may manifest in the following scenarios:

  1. Disjointed or Missing Alerts:

    • Inadequate or disjointed alerts and notifications for critical communication impacts may hinder your ability to promptly address and resolve issues, potentially leading to service disruptions.
  2. Incomplete Performance Metrics:

    • The absence or unavailability of essential performance metrics could result in a lack of visibility into the health and efficiency of your communication infrastructure, making it challenging to optimize and maintain peak performance.
  3. Multiple Management Platforms:

    • Managing communication infrastructure through multiple platforms from your Session Border Controller (SBC) vendor or carrier may introduce complexities. Juggling different interfaces and workflows could lead to inefficiencies and potential oversight of critical configurations.
  4. Diverse SBC Vendors:

    • If your organization employs multiple SBC vendors, monitoring multiple panes of glass may become a daunting task. This situation may require your team to diversify their skill set to support and troubleshoot across different platforms, potentially impacting operational efficiency.
  5. Lack of Unified Reporting:

    • The absence of a unified reporting mechanism may result in challenges when trying to compile and analyze data across various communication systems. This could impede comprehensive insights into the overall performance and health of your unified communication environment.
  6. Limited Scalability and Flexibility:

    • Inflexible solutions may hinder your organization's ability to scale operations efficiently, especially during periods of growth or changes in communication requirements.
  7. Insufficient Security Measures:

    • Inadequate security measures could expose your communication infrastructure to potential vulnerabilities, jeopardizing the confidentiality and integrity of sensitive information.

Addressing these challenges requires a thoughtful approach to streamline management processes, enhance monitoring capabilities, and ensure the seamless integration of diverse communication components within your organization's infrastructure.



The concept:

A prevalent challenge arises when voice and unified communication teams operate in silos, separate from traditional IT development and support teams involved in web services, application development, optimization, and support. The concept of collaboration encompasses applications that integrate voice, video, and content-sharing solutions.

Azure offers a unified suite of Infrastructure as a Service (IaaS) capabilities, providing a cohesive platform where both traditional IT and Unified Communications as a Service (UCaaS) support teams can mutually benefit.

  • Moving Traditional On-Premise SBCs to Hosted Infrastructure in Azure:

    • Migration of Session Border Controllers (SBCs) from on-premise to Azure-hosted infrastructure.
    • Leveraging the scalability and flexibility of Azure for SBC operations.
    • Enhancing accessibility and management of SBCs through cloud deployment.
  • Hosting Element Management Solutions in Virtual Machines:

    • Deploying Element Management Solutions in virtual machines for efficient resource utilization.
    • Utilizing the virtualized environment to enhance scalability and adaptability.
    • Streamlining management processes by consolidating element management solutions in Azure VMs.
  • Centralize Logging and Analytics:

    • Establishing a centralized logging system to aggregate data from various sources.
    • Implementing analytics tools to derive insights from centralized logs.
    • Enhancing visibility into system performance and activities through centralized logging and analytics.
  • Create Alerts for Critical Environment Impacts:

    • Implementing alert systems to promptly notify stakeholders of critical environment impacts.
    • Defining thresholds for key performance indicators to trigger alerts.
    • Proactive monitoring to address potential issues and minimize downtime.

In the initial chapter, delving into the intricacies of the above concepts, our emphasis will be on the latter two scenarios. For further details, explore HERE in Chapter One (coming week of 1/1/2024).



Authors Note: As a novice blogger working to improve the content I share, AI-powered tools are my new best friend. Microsoft and GitHub CoPilot, Designer and even GPT are now regular tools in my toolbox.

Copilot Studio and VS Code - Start using the Copilot Studio Extension

Getting started with Copilot Studio is fast and approachable. Whether you begin by using the Describe interface to chat with the Studio Age...