June 19, 2025

Introduction to Microsoft Sway: A Guide to Creating Engaging Digital Content

Overview

Nowadays in digital-first world, how we present information matters just as much as the message itself. Whether you are a student, educator, professional, or content creator, Microsoft offers a simple yet powerful tool to help you build interactive, visually-rich presentations without the need for complex design tools—Microsoft Sway. 

In this blog, we will explore what Sway is, why it is useful, when to use it, and tips for users to make the most out of it. 

Introduction to Microsoft Sway: A Guide to Creating Engaging Digital Content

What is Microsoft Sway? 

  • Microsoft Sway is a cloud-based digital storytelling app that allows users to easily create interactive presentations, reports, newsletters, and stories. It focuses on narrative and visual storytelling, making it perfect for creating content that looks professional across all devices—with no advanced design skills needed. 
  • Sway enables users to combine text, images, videos, charts, and external media into a responsive, scrollable webpage or presentation, perfect for online viewing and mobile-first audiences. 

Why Use Sway? 

Sway is designed for simplicity, speed, and impact. Here's why people love using it: 

  1. User-Friendly InterfaceYou do not need to be a designer. The intuitive drag-and-drop layout and built-in themes help anyone create attractive content in minutes. 
  2. Mobile Optimization: Sway presentations are automatically responsive, meaning they adjust perfectly to any screen size—whether viewed on a desktop, tablet, or smartphone. 
  3. Multimedia Integration: You can easily embed images, videos, charts, and even social media posts directly from your device or from online platforms like YouTube, OneDrive, or social media. 
  4. Real-Time Collaboration: Teams can co-create Sways together in real time, just like with other Office 365 tools. 
  5. Auto-Responsive Design: Sway automatically adjusts format, dividing, and designing, sparing you time on manual plan work. 

When Should You Use Sway? 

Sway is perfect in a variety of situations, such as: 

  • Business Reports: Create engaging project updates, performance summaries, or sales reports. 
  • Educational Presentations: Ideal for teachers and students to focus on content and storytelling without worrying about formatting. 
  • Digital Storytelling: Share narratives, case studies, or personal stories in a modern format. 
  • Quick Content Creation: When you need to produce something polished fast—without using tools like PowerPoint or Canva. 
  • Mobile-First Content Delivery: Great for audiences who view content on mobile devices. 

Main Purpose of Sway 

The primary goal of Sway is to simplify content creation for digital platforms. It removes the need for complex layout tools and lets you focus on what matters most—your message. Whether you are sharing an update with your team or presenting to clients, Sway helps make that content more engaging and easier to consume. 

Pros and Cons of Sway 

Pros 

  • Beginner-Friendly: No design experience required. 
  • Automated Design Features: Saves time and effort. 
  • Supports All Media Types: Easily embed video, audio, images, and links. 
  • Cloud-Based Collaboration: Share and edit from anywhere. 
  • Education Ready: Excellent for teaching, training, and online learning. 

Cons 

  • Microsoft Account Required: A Microsoft 365 or individual Microsoft account is required. 
  • Limited Export Options: No direct option to download as a video. 
  • Less Control Over Layout: Custom design is limited to what Sway allows. 

Tips for Users 

To help you get started with Sway, here are some user-friendly tips: 

  1. Explore Templates: Start with pre-designed Sway templates to understand layout possibilities and structure. 
  2. Use the Remix Button: Let Sway automatically redesign your content with different visual styles. A great way to explore layout variations. 
  3. Leverage Multimedia: Include videos, charts, audio, and high-quality images to make your presentation more engaging. 
  4. Tell a Story: To help your viewers navigate your content, use a logical flow or structure. Sway is built for storytelling. 
  5. Collaborate with Others: Utilize real-time editing to co-create substances together with your group or classmates. 
  6. Preview on Mobile: Always preview your Sway on a phone or tablet to ensure it looks perfect across all platforms. 
  7. Reuse Your Layout: Save Sway presentations you like as templates for future content to maintain consistency. 
  8. Use Accessibility Tools: Enable Accessibility View and use the Accessibility Checker to make your content inclusive and user-friendly. 

Final Thoughts 

Microsoft Sway may be effective tool for those looking to communicate thoughts visually and effectively. Whether you’re creating a project update, a classroom presentation, or an interactive newsletter, Sway helps you build beautiful content without the design headache. 

With its user-friendly interface, rich media support, and mobile responsiveness, Sway is an excellent choice for anyone looking to share content that looks great and tells a story. 

Ready to get started? 

Next Step: Learn how to use Sway in depth with Step-by-Step Guide to Microsoft Sway

How to Use Microsoft Sway: Complete Step-by-Step Tutorial

With the help of Microsoft Sway, a robust and intuitive digital storytelling tool, you can produce eye-catching reports, newsletters, presentations, and more. In contrast to conventional slide-based programs such as PowerPoint, Sway provides a more dynamic and fluid layout that is ideal for contemporary digital experiences.
How to use Microsoft Sway: complete step-by-step tutorial
 Note: If you are new to Microsoft Sway, I recommend checking out my Overview of Microsoft Sway first to understand its core purpose and benefits. This blog dives deeper into how to use its features step-by-step.
 
Main Interface Overview 
Once you open Sway, you will be welcomed by the Main Screen.  
Home screen of Sway
To start, you can select one of the options below.
➤ Create New 
Start from scratch and build your Sway step-by-step. 

➤ Tutorials 
By clicking this, you will be taken to Microsoft's official Sway learning tutorials.

➤ Start from a Topic
 
Enter any topic, and Sway will generate a layout based on information from Wikipedia, offering a head start with structure and content. 

➤ Start from a Document
 
Upload a file (e.g., a PDF), and Sway will automatically convert it into a visually appealing presentation. 

Additional Options on the Home Page 
➤ My Sways 
Displays a list of all Sways you’ve created. 
  • Edited – Shows your recently edited Sways. 
  • Viewed – Displays the most viewed presentations. 
  • Analytics – Gives basic insights into views and engagement. 
  • Deleted – Recover recently deleted Sways. 

➤ Start from a Template 
Choose from a variety of pre-defined templates to quickly build your Sway. 

➤ Get Inspired by a Featured Sway
 
Browse sample Sways created by others. Click on one, preview it, and if it fits your needs, select “Start Editing This Sway” to customize it. 

There were primarily two tabs on this screen:
  1. Storyline 
  2. Design 
Let’s break these down one by one. 

Storyline Tab

In the Storyline, you construct and arrange your Sway. Think of it as the canvas for your content. 
Storyline, When edit Template

Understanding the Storyline Layout 
The Storyline is a linear, scrollable workspace where you add "cards" — blocks of content like text, images, videos, or embedded links. 

Click the Plus (+) Button to Add Content:
 
 
Suggested 
Provides quick content suggestions based on your current section. 
Text Options: 
Text – Add content with formatting options like: 
  • Heading 1 – Create large headings for new sections.
  • Bold (Emphasize) 
  • Italic (Accent) 
  • Bullet or Numbered Lists 
  • Link 
Add text - text properties

Font Styling Tips: 
  • Gray Icon – Subtle emphasis (original font). 
  • White Icon – Moderate emphasis. 
  • Trash Icon – Deletes the card without confirmation.

Media Options: 
➤ Image 
 
Image properties- upload, search functionality

Add images from: 
  • Suggested 
  • OneDrive 
  • Bing Images 
  • Flickr 
  • Pickit 
  • YouTube 
  • Your device 
You can also: 
  • Emphasize or accent the image. 
  • Add a hyperlink to the image. 

➤ Embed 
Embedded content like videos or custom HTML. 
Add SharePoint File using Embed functionality
Example: Upload an HTML file to SharePoint, copy the embed code, and paste it into the Embed card in Sway. 

➤ Upload
 
Upload a document directly into Sway. It may take time based on the file size. 

Group Layout Options 
You can group content in various layouts: 

Automatic
 
Automatically arranges selected items (images/videos) for optimal display. 
 
Grid 
Displays content in a neat grid layout. 
Grid functionality, work on Image and text both

Comparison 
Enables you to use a slider to compare two images (PDFs are not compatible.).
Image Comparison using Sway

Stack 
The Stack option in Microsoft Sway allows you to add multiple images or text cards layered on top of each other, similar to a deck of cards. This feature is perfect for showcasing content that users can flip through one at a time, such as step-by-step instructions, comparison slides, or sequential visuals. 
Once you add content utilizing the Stack option:
  • Users can click or tap on the highlighted corner of the stack to flip through each card.
  • Each click reveals the next image or text in sequence, offering an interactive experience.
  • This format is especially useful for storytelling, tutorials, or product showcases where you want the user focus on one item at a time.
Stack for image and text both
Slideshow 
In the context of visual communication, it showcases a collection of pictures systematically arranged, resembling a traditional slideshow.
Slide show functionality

Design Tab

Customize the visual style of your Sway here. 

Useful Tools
 
Undo/Redo 
Located at the top corner. These help you revert changes instantly. 
Undo, redo, styles for presentation

Navigation Panel 
Click the small icon on the bottom-right to see an overview of your headings and navigate between sections easily. 

Click “Styles” at the Top-Right Corner 
You can choose: 
  • Vertical scrolling layout 
  • Horizontal scrolling layout 
  • Slides style (like PowerPoint) 
Slides horizontal, vertical, slides as ppt
You can also: 
  • Change background and theme colors. 
  • Click Remix! to let Sway randomly pick a style for you. 
remix to automatically update the styles

Preview Before and After Styles: 
Toggle through styles to see how they transform your presentation.
Here's how the presentation looked before applying a new theme: 
previous without applying style presentation

This is how it appears after changing the theme using the Styles panel:
 
Presentation: After applying style
Export and Share:
Once your design and content are ready, it's time to share it or export it for other uses. Click the Play button to preview your final creation as it will appear to viewers.

When you were ready to share or export your work:
  • Duplicate this Sway: Make a copy of your existing Sway.
  • Save as Template: Turn your current Sway into a reusable template.
  • Print: Choose Print to get a printable version of your Sway in a clean, reader-friendly format.
  • Export as PDF: A static, shareable version for distribution to get better idea.
  • Export as Word Document: Great for additional editing or documentation needs.

Conclusion 
  • Microsoft Sway is an intuitive tool for building dynamic, web-based presentations without needing advanced design skills. With features like automated layouts, embedded support, templates, and easy customization, it's perfect for both professionals and beginners. 
  • Whether you're creating a company newsletter, project report, or classroom presentation, Sway makes storytelling simple and beautiful. 
 
Need a quick recap or want to share Sway with someone new? Read this introductory post: Microsoft Sway – An Overview 

Upgrading to .NET 8 Isolated Azure Functions: A Complete Step-by-Step Guide

Introduction

The .NET Isolated Worker Model enables developers to build Azure Functions using a .NET console app project that targets a supported .NET runtime. This model provides greater flexibility, improved performance, and better debugging capabilities compared to the in-process model.

In this guide, we will walk you through upgrading your existing Azure Functions project to .NET 8 using the isolated worker model.


Required Files in a .NET Isolated Project

A .NET-isolated Azure Functions project requires the following essential files:

  • host.json — Configuration file for host settings.
  • local.settings.json — Stores local configurations.
  • .csproj file — Defines the project and dependencies.
  • Program.cs — The entry point for the application.
  • Function code files — Contain your function implementations.

Updating the .csproj File

The first step is to convert the project file and update its dependencies.


Existing .NET 3.x Project (.csproj)


<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <AzureFunctionsVersion>v3</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <None Remove="Functions\host.json" />
    <None Remove="stylecop.json" />
  </ItemGroup>
  <ItemGroup>
    <AdditionalFiles Include="stylecop.json" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Azure.Core" Version="1.13.0" />
    <PackageReference Include="Azure.Storage.Common" Version="12.7.2" />
    <PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.4" />
    <PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs" Version="3.0.25" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Core" Version="3.0.27" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.CosmosDB" Version="3.0.9" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.4.1" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Http" Version="3.0.12" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="4.0.4" />
    <!-- Your remaining packages -->
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>
</Project>

Updated .NET 8 Project (.csproj)

Make the following changes:

  • Set <TargetFramework> to net8.0.
  • Set <AzureFunctionsVersion> to v4.
  • Add <OutputType>Exe</OutputType>.
  • Replace Microsoft.NET.SDK.Functions With the following packages:


<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <AzureFunctionsVersion>v4</AzureFunctionsVersion>
    <OutputType>Exe</OutputType>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>disable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="2.0.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.2.0" />
    <!-- Your remaining packages -->
  </ItemGroup>
</Project>

Add the following new ItemGroup:


<ItemGroup> 
  <Using Include="System.Threading.ExecutionContext" Alias="ExecutionContext" /> 
</ItemGroup>

After you make these changes, your updated project should look like this:


<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <AzureFunctionsVersion>v4</AzureFunctionsVersion>
    <OutputType>Exe</OutputType>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>disable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="2.0.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.CosmosDB" Version="4.11.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.2.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs" Version="6.6.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="2.0.0" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>
  <ItemGroup>
    <Using Include="System.Threading.ExecutionContext" Alias="ExecutionContext" />
  </ItemGroup>
</Project>

To make all the above changes automatically, we can make use of the .NET UPGRADE ASSISTANT Extension.


Your isolated worker model application should not reference any packages from Microsoft.Azure.WebJobs.* namespace or Microsoft.Azure.Functions.Extensions.

If you have any remaining references to these, they should be removed.


Updating the host.json File

Your host.json The file plays a critical role in configuring the runtime behavior of your Azure Functions. Below is a sample configuration for an upgraded .NET 8 isolated function:


{
    "version": "2.0",
    "logging": {
        "applicationInsights": {
            "samplingSettings": {
                "isEnabled": true,
                "excludedTypes": "Request"
            },
            "enableLiveMetricsFilters": true
        }
    },
    "functionTimeout": "00:05:00", // Set the time according to your needs
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Note: Please add this functionTimeout based on your function app plan. More details can be found here.

Updating the Program.cs File

The Program.cs file replaces FunctionStartup and serves as the application’s entry point


using Microsoft.Azure.Functions.Worker.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var builder = new HostBuilder();
if (builder != null)
{
    builder.ConfigureFunctionsWebApplication().ConfigureServices(service =>
    {
        service.AddHttpClient();
        service.AddLogging();
        // Add configurations according to your needs
    });
}
// Build and run the application
builder.Build().Run();

The program.cs file will replace any file that has the FunctionStartup attribute, which is typically a startup.cs file.

In places where your FunctionStartup code would reference IFunctionHostBuilder.Services, you can instead add statements within the.ConfigureService() method of the HostBuilder in your Program.cs.

Once you have moved everything from any existing FunctionStartup to the program.cs file, you can delete the FunctionStartup attribute and the class it was applied to.


Function Signature changes

Before (In-Process Model)


public static class Function1
{
    [FunctionName("Function1")]
    public static IActionResult Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req,
        ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");
        return new OkObjectResult("Hello, Azure Functions!");
    }
}

After (Isolated Worker Model)


public class Function1
{
    private readonly ILogger<Function1> _logger;

    public Function1(ILogger<Function1> logger)
    {
        _logger = logger;
    }

    [Function("Function1")]
    public async Task<HttpResponseData> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req)
    {
        this._logger.LogInformation("C# HTTP trigger function processed a request.");
        var response = req.CreateResponse(HttpStatusCode.OK);
        await response.WriteStringAsync("Hello, Azure Functions!");
        return response;
    }
}

Updatinglocal.settings.json

Modify FUNCTIONS_WORKER_RUNTIME to dotnet-isolated.


{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
  }
}

Publishing .NET 8 (Isolated) Azure Functions via Visual Studio

Follow these steps to deploy your function app to Azure using Visual Studio:

Download the Publish Profile

  • Open the Azure Portal.
  • Navigate to your Function App.
  • Go to Deployment Centre> Publish Profile and download the file.

Prepare Your Solution

  • Open your project in Visual Studio.
  • Set the build configuration to Release Mode.
  • Clean the solution to remove old build files.
  • Build the solution to ensure there are no errors.

Publish the Function App

  • In Solution Explorer, right-click on the function app project and select Publish.
  • Choose Import Profile as the publish target.
  • Browse and select the downloaded publish profile.
  • Click Publish and wait for the deployment to complete.

Once the process finishes, your function app is successfully deployed to Azure.


Upgrading in the Azure Portal

Upgrading your function app to the isolated model consists of the following steps:

Navigate to Settings > Environment Variables.

  • Update FUNCTIONS_EXTENSION_VERSION from ~3 to ~4.
  • Change FUNCTIONS_WORKER_RUNTIME to dotnet-isolated.

Under Settings > Configuration, ensure:

  • Runtime version is ~4.
  • General Settings .NET Version is .NET 8 Isolated.


Troubleshooting Error: “Building Configuration in an External Startup Class”Solution:

  • Go to Storage Account > Data Storage > Tables > AzureFunctionsDiagnosticEventsDate.
  • Delete or clear the table.


Conclusion

Upgrading to the .NET 8 Isolated Worker Model enhances the performance and maintainability of your Azure Functions. By following these steps, you ensure a smooth transition while leveraging the latest advancements in .NET and Azure Functions.