 Hi, I'm Mike, a partner engineer on Chrome OS. And I'm Joyce, a developer relations engineer on Chrome OS. If you're familiar with Chrome OS, then you probably already know that it's a platform that supports Android, web, Linux apps, and Chrome extensions. Users can access their favorite apps just by logging into a Chrome OS device. However, there's also another way to use Chrome OS to deliver your apps and services to users. Kiosk Mode. Kiosk Mode on Chrome OS allows apps to run full screen in a lockdown environment and without a user login. They can be deployed in schools for a secure and safe standardized testing environment. They can also serve as digital signage to display information or as customer facing kiosks that provide self service utilities and businesses. Chrome OS allows you, the developer to focus on releasing great features for your application and leave app deployment and device management to Google's tooling. I'll hand it back to Mike to share how you can get started. To set up and manage a kiosk device, you'll need three things. A compatible device, a management license, and a kiosk app. When it comes to hardware, Chrome OS offers a number of OEM choices or the option to convert devices through Chrome OS Flex. Chrome OS OEM partners include HP, Acer, and Lenovo. And many others that produce Chromebooks are laptops and Chrome boxes are desktops. They come in a variety of form factors and hardware configurations that can be customized for almost any use case. They're built with efficient power management capabilities that enable as much as 46% less energy consumption than comparable competitor devices, which is great for always-on devices like kiosks or digital signage. If you have a niche use case requiring specialized hardware, or would like to extend the life of existing hardware, you can take advantage of Chrome OS with Chrome OS Flex. Chrome OS Flex is a cloud-first, fast, easy to manage, and secure operating system for PCs and Macs that comes with the same OS architecture, approach to management, UIUX, and security controls as Chrome OS. Flex was also designed to be sustainable, reducing electricity consumption and associated emissions by an average of 19%. Flex can be installed on x86-based devices, and to ensure a consistent and high-quality experience, Google individually certifies and maintains a list of models that you can use with Chrome OS Flex. As of today, there are over 400 devices that have been certified. To try Flex out, you only need three things, an 8Gb or larger thumb drive, a computer you want to modernize, and a few minutes. So whether it's for energy savings, or using existing hardware, or just trying out Chrome OS, you can install Flex today. Just as important as the right hardware devices is a way to easily and efficiently manage them. Kiosk apps can only be deployed to manage devices, so you'll need a Chrome Enterprise, Chrome Education, or Kiosk Insignage License. Once the device is enrolled and licensed in the Admin Console, you'll be able to configure policies for the fleet, lock them into Kiosk mode, and get information and management controls via the Google Admin Console. The Google Admin Console is your one-stop shop for managing Chrome OS devices. You can manage users if you've just hired new employees or started the school year, monitor device stats for fleet management workflows, and configure apps and extensions installed on your devices. Let's take a closer look at some of the information and tools available in the Admin Console. We'll start with the Device Details page. On the left hand, we have a set of commands we're able to perform on our Enterprise Managed devices. We can manage Chrome OS devices. No middleware or additional software is needed to perform these commands. They are sent directly to the device and performed by the OS. The ability to perform remote commands such as screenshot, remote desktop access, and reboots are critical for Kiosks, which are often remotely installed and unattended. In the Hardware and OS section, we can see device specs alongside platform and OS level information. Throughout the OS version policy compliance field, administrators have complete control over device policies and settings, which the OS management components ensure are enforced. Custom fields allows you to set commonly used administrative attributes like IDs associated with asset tags, or the location a device will reside in. These values are readable by the Kiosk mode application running on the device. System activity and troubleshooting contains telemetry data like CPU utilization, temperature, and RAM usage. System logs are also available here for remote collection and debugging. One of the key features of all Chrome OS devices, and especially in Kiosk mode, is the ability to centrally configure policies across a wide range of capabilities and features. There are hundreds, but let's focus on just a few key policies. There are high-level policies that control device monitoring and alerting, URL blocking, and virtual keyboard behavior. Sustainability is a key consideration in always on Kiosk and signage installations, so there are a set of policies that allow administrators to shape the idle and sleep timeouts to be more economic and energy efficient. And, to support accessibility for your application, there are policies to support inclusiveness through accessibility features exposed at the OS level. Many of these fields and functions available in the Admin console are also accessible through the directory and telemetry APIs. These APIs allow for automation of tasks and management outside of the Admin console. Now, Joyce will lead you through creating your first Kiosk app. Thanks, Mike. With the hardware devices set up and the Google Admin console in your tool belt, next, let's look at how to actually create a Kiosk app. If you're creating a new Kiosk app, you'll need to create a web app. This means you can take advantage of the web technologies and Chrome features that you may already be familiar with. The web is a powerful platform that gives you the opportunity to unlock experiences for your users, and we're continuing to invest heavily to bring more features. The advanced web capabilities efforts, also known as Project Fugu, will make it possible for you to build great web apps and therefore Kiosk apps with more native platform capabilities. For example, you can use the web USB API to communicate with USB devices, like a receipt printer, or save the user's edits to a photo on the local device with the file system access API. Kiosk mode PWAs also have the ability to store offline content, such as videos or other large files, using service workers on a data store like the Cache API or IndexedDB. Augmented with Workbox, a popular service worker library, your Kiosk app can seamlessly run with or without an internet connection and persist any required application state. For any capabilities that aren't available on the web platform, you can enhance your Kiosk app with an extension, allowing you to also take advantage of extension APIs. Here are some APIs relevant to Kiosk that you might be interested in. Chrome.Runtime.Restart will restart the Chrome OS device that your Kiosk app is running on. Chrome.System.Display lets you query and set display layout and properties. If your Kiosk app plays audio, you can use the Chrome.Audio API to get information and configure audio devices. As extensions in your Kiosk app are installed and managed by Enterprise Policy, there are also Enterprise Mode Utilities available to you that lets you read device, hardware, and networking attributes. These are the Chrome.Enterprise APIs. To protect user security, privacy, and trust on the open web, many of these APIs are only available to Chrome extensions installed via the admin console or enforced by Enterprise Policy. So, you'll need to create a companion extension to use these APIs. Companion extensions can then connect to your Kiosk-enabled PWA using message passing through Chrome.Runtime. This paradigm helps make sure that these APIs, which provide access to sensitive information and capabilities, are not abused and are only allowed in managed devices and Kiosk apps. Let's take a look at what you'll need to set up for message passing. First up is the extension manifest. In your manifest.json file, you'll need to set the externally connectable property, which declares the extensions and webpages that can connect to your extension via runtime.connect or runtime.send message. In our case, let's say we want to connect to ChromeOS.dev. Then from your web page, send a message to the extension with runtime.send message. In this example, we're sending a custom message object with method name property set to the string call restart. You'll also need to specify the ID of the extension that you want to connect to. And from your extension service worker, you can listen to the message with runtime.onMessageExternal or runtime.onConnectExternal. We'll also check the method name property, and if it matches call restart, that's our cue that the Kiosk app has requested to restart the device, which we can do by calling chrome.runtime.restart. For a full sample, take a look at this GitHub link. One major difference to note is that in Kiosk mode, the Chrome browser address bar and extension icons aren't visible to the user. The app essentially takes up the full screen. So make sure that you implement your extension so that no direct user interaction with a pop-up, options, or any other extension HTML page is required. Since your app is a web app running in Chrome OS Kiosk mode, you can publish your app just like any other web app, self-hosted or in any cloud service. You can then deploy it for your own managed domain or send your app's URL to your customer for them to deploy it to their domain. To deploy your app to your fleet, simply navigate to the Kiosk settings page on Google Admin Console. Choose the organizational unit you'd like to deploy to, then click the plus sign floating action button and choose add by URL. Enter in the URL of your web app. You should then see a prompt about permission granting. Normally applications that utilize permissions such as the use of cameras would need to be accepted by the user. In Kiosk mode, permissions are automatically granted on behalf of the managed user. This ensures the application works without the user being prompted. Once you've added your Kiosk app, you can also optionally set it to auto-launch. In the same Kiosk page, you'll see the auto-launch app option and a dropdown to choose between all the Kiosk apps you've installed. If you also have a companion extension, you can install your extension with your Kiosk app. Click on your Kiosk app and click add extension. These changes will automatically be rolled out to the devices you've specified so that on the next reboot, they'll be able to launch your Kiosk app. Now that you've got everything you need to set up a Kiosk device and create and deploy your Kiosk app, let's take a look at some examples. Mike, do you have any partners you want to share with us? Absolutely. Enterprises big and small are using Chrome OS in a variety of ways to modernize and digitize their in-person customer and user experiences. Arraya Digital Signage is a software service and a Chrome Enterprise recommended partner who uses Chrome OS for Kiosks and Digital Signage deployments. They align with Chrome OS in the value of automatic updates, the ease of intuitive remote management tools, the security built into the OS itself, and reduction in overhead for customers through reduced deployment time. And if you've been to a Buffalo Wild Wings in the last couple years, you've experienced a Chrome OS device running Upshow. Upshow delivers a unified customer and employee experience with their performance marketing cloud, all powered by Chrome OS. Back to you, Joyce. Whatever your use case, Chrome OS is a secure and reliable platform that can help you deliver an integrated solution for your customers and users. Kiosk mode gives you the built-in security and capabilities of Chrome OS while also giving you and your customers the tools to manage and monitor devices and apps. Our team is continuing to improve the Kiosk development experience for you, so be on the lookout for more APIs and features coming soon to Kiosk. A good way to stay up to date on Kiosk news is to go to chromeos.dev and sign up for our developer newsletter. Chrome OS.dev is our developer resource for all things Chrome OS. There, you'll find all the information we've discussed today and more. We've also shared the links in the description. Thank you for spending your time with us learning more about Chrome OS Kiosk. Have a great day!