For the past few months, Microsoft has been hard at work building extensibility into an area of the Windows shell that never saw an official means of third-party customization – the Start Menu. This change of direction comes as a big surprise. Other key areas of the shell, like the taskbar, have actually lost such functionality with the introduction of Windows 11. Officially called Start Menu Companions, this feature first appeared in Windows 11 Insider build 26212 released in early May 2024, and is available in all Insider channels at the time of writing.
One might think that third-party content being presented right next to something as prominent as the Start Menu would be locked behind a serious set of restrictions, but it turns out any packaged app has the ability to declare itself as a Start Menu Companion. All you have to do is add a few entries to the app’s manifest, including a path to the JSON file which will be used as the data source.
Adaptive Cards: The Core Technology
Adaptive Cards serve as the core technology behind Start Menu Companions. This in turn means that the interface is updated in a rather unconventional way. Instead of having a piece of markup with events wired up, all your app has to do is compose a JSON file describing the UI and save it to the path you specified in your app’s manifest. The shell monitors these paths and as soon as a change is registered, the companion gets re-rendered. Another area of the shell that uses Adaptive Cards is Widgets, hence why I chose to demo this feature with Weather and Stocks data back when it first appeared.
The extension declaration features a few more things. Namely, which side of the Start Menu the companion appears on – left or right, and how it appears in the list of companions visible in the Personalization > Start page of the Settings app.
Quirks and Shortcomings
Are there any quirks or shortcomings? Unfortunately, yes. As with any tech from Microsoft, the implementation of Adaptive Cards and their rendering is fragmented. Currently, companions are rendered by the shell instead of being rendered by the app that provides them. This might not sound like a big deal until you learn that the system Adaptive Cards renderer is stuck at version 1.1 and was last used for Windows 10’s now scrapped Timeline feature. UI surfaces such as Windows Widgets use a more up-to-date, undocked renderer instead. Why a better renderer for companions capable of supporting the newest 1.6 version wasn’t chosen is unknown.
Another limitation is that you can only ever see two companions at once. One on the left and one on the right. Despite the ability to enable as many as you want in the Settings app, only one will appear on each side. At the moment it looks like they’re loaded in alphabetical order and the first candidate wins.
First Official Use
Last week, we got to see the first official use of this functionality. A companion provided by the Phone Link app that puts the device’s quick status pane right next to the Start Menu. From here you can view the phone’s connection status, battery level, quickly launch into various areas of the app, as well as see a small list of latest photos.
If you happen to be interested in building your own Start Menu Companion, I put together a sample repository on GitHub. In there you’ll find a WinUI 3 app that serves as a simple editor of the Adaptive Cards JSON, as well as a small sample card to get you started.
If you want to see what a Start Menu Companion in action, here’s how to install the sample one. Keep in mind that you must be running a current Windows 11 Insider build (Dev / Canary build 26241.5000 or above, Beta build 22635.3790 and above and Release Preview build 26100.994 or above).
Use the ViveTool to enable feature ID 48697323. To do that, unzip the ViveTool into a folder and then enter this command at an administrative command prompt.