Universal Windows Platform

Welcome to the Universal Windows Platform Developer Feedback site. This site provides the Windows developer community with a channel for feedback on the following topics:

  • Windows developer platform (APIs, runtimes, and controls)
  • Dev Center (dashboard, reporting/analytics, submission process, etc.)
  • Microsoft Store

Your suggestions will be reviewed by the Windows platform developer team to help with planning ideas and to better understand how developers are using the platform.

What this forum is not intended to cover or capture:

  • Windows consumer suggestions: Use the Windows Feedback Hub app built directly into Windows 10
  • Documentation on docs.microsoft.com: Sign in at the bottom of the page to give documentation feedback via Github
  • Visual Studio / .NET: Use the Visual Studio UserVoice site

If you’re new to UserVoice, two things to keep in mind are (a) List items (and item rankings) represent community interest in features, and not the actual priority list for the product team; and (b) Suggestions made using this forum will be moderated if they do not actually represent a feature request (or if too many different ideas are included in one suggestion).

How can we improve the Windows dev platform?

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. faster appservice interface for local processes

    Currently using a UWP process with a full trust win32 process in order to provide access to a shared memory or local loopback.

    Would like to see a much faster / more efficient app service interface.
    At this point, passing much data on a "mid-level" machine takes a few milliseconds per transfer.

    Also, the method by which data passes is quite inefficient, making use of a ValueSet object which only accepts "atomic" data types like int and floats, and not user-defined objects like class structures or even arrays.

    The suggested use of a JSON serialized object is a poor substitute…

    3 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Desktop Bridge ('Centennial')  ·  Flag idea as inappropriate…  ·  Admin →
  2. Delete Ink by point control

    Have you experienced the stroke deletion using the standard InkCanvas/InkTollbar against the ink deletion experience on the Sketchpad app?
    The Sketchpad app give you a way more natural to delete strokes because it allows you to delete ink by single point, like an eraser on the real life.
    At the moment the UWP APIs does not expose such a way of erasing strokes, you can only erase the whole stroke, and in order to achieve the ink deletion by point there is a lot of code to write as well as having the appropriate know how.
    What do you think…

    13 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Windows Community Toolkit  ·  Flag idea as inappropriate…  ·  Admin →
  3. Autosuggestbox AutoSuggestionBoxTextChangeReason is always UserInput.

    [UWP] While following the tutorial at the Microsoft Docs on how to proper create an AutoSuggestBox, when using the SuggestionChosen event handler to change the Text property of the AutoSuggestBox, the TextChanged event is raised with the AutoSuggestionBoxBoxTextChangeReason set to UserInput, even though it was changed via code. The tutorial says it that it should raise it as ProgrammaticChange, and yet that doesn't happen.
    Currently on Windows 10 Pro Build 18309 SDK Version 10.0.17763.132 using Visual Studio 2019 Version 16.0.0 Preview 1.1.

    3 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  4. FeedbackHub link is broken in Windows 10 1809

    If you set project target version to 1809 and you try to use this official example for launching feedback hub:

    https://docs.microsoft.com/en-us/windows/uwp/monetize/launch-feedback-hub-from-your-app

    It will crash the app. Here is also full code example of this problem: https://1drv.ms/u/s!ArB5XyXKJ9ZWhjheAPPpeRA1rBWe

    It's very problematic because now 1809 is available almost everyone and feedback hub launch link itself is broken in 1809. I had to revert it to 1803 to get it working.

    7 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  5. Stabilize Virtual Desktop API

    Currently there's a set of COM APIs, that provide access to Virtual Desktop-related features, like pinning apps to desktops, switching desktops, etc. Unfortunately, most of it is undocumented, and does not seem to be stabilized (2018 Spring Update for instance changed IApplicationView's CLSID, so apps using it stopped working).

    34 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    10 comments  ·  Device - Desktop  ·  Flag idea as inappropriate…  ·  Admin →
  6. StorageFile.GetThumbnailAsync doesn't wait for thumbnail to be generated

    Calling StorageFile.GetThumbnailAsync(ThumbnailMode.SingleItem, desiredSize) doesn't wait for the thumbnail to be generated. If there isn't one already cached, it will return an icon instead. Disposing the stream then waiting for 6 seconds then trying again correctly returns a thumbnail.

    4 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  7. Honor the extendedExecutionSession flag in windows.gaming.input.gamepad.vibration

    UWP desktop app targeting Windows 17763, requesting and being granted an extendedExecutionSession can target the vibration motors through a windows.gaming.input.gamepad's Vibration interface but once the app gets minimized applying the Vibration property silently fails.
    Please honor the extendedExecutionSession context, thanks.

    3 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Device - Desktop  ·  Flag idea as inappropriate…  ·  Admin →
  8. Allow Bitlocker PIN to be set by standard users

    Currently Bitlocker PIN has to be set by administrative users. When leveraging autopilot, that limits you either leverage silent deployment with TPM protector or non-silent policy but that means admin users have to configure Bitlocker on the device. It would be great if a standard user can be prompted to enable Bitlocker and set a PIN

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Device - Desktop  ·  Flag idea as inappropriate…  ·  Admin →
  9. TextBlock should not be sealed

    Sealed classes fly in the face of OOD, so there should be an incontrovertible reason for making a class sealed. I don't accept the rational that sealing the class makes it perform better. If you don't want the performance hit of virtual methods, then don't make them virtual. There's no justification for sealing the entire class.

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  XAML/Controls/Composition  ·  Flag idea as inappropriate…  ·  Admin →
  10. 3 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  File IO / Data Store APIs  ·  Flag idea as inappropriate…  ·  Admin →
  11. Running app gives access denied messages

    When I run my UWP app .. I get the following ouput ..

    AppCore.<static>Main()
    minio\profapi\registry.cpp(48)\profapi.dll!76C26875: (caller: 08444375) ReturnHr(1) tid(47cc) 80070005 Access is denied.
    minio\profapi\registry.cpp(48)\profapi.dll!76C26875: (caller: 08444375) ReturnHr(2) tid(47cc) 80070005 Access is denied.
    minio\profapi\registry.cpp(48)\profapi.dll!76C26875: (caller: 08444375) ReturnHr(3) tid(47cc) 80070005 Access is denied.
    AppCore.Initialize()

    4 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Device - Desktop  ·  Flag idea as inappropriate…  ·  Admin →
  12. The SelectedNodes property for single-select TreeView control

    The SelectedNodes property for a single-select TreeView control should always have 0 or 1 item in the list. This would be consistent for node selection in the control, except that in single-select mode, the list can have a maximum of 1 item.

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  XAML/Controls/Composition  ·  Flag idea as inappropriate…  ·  Admin →
  13. BitmapIcon add ImageSource property

    The BitmapIcon control is very useful, however it only has the UriSource property to set the image.

    Often I find I want to set the bitmap like the Image control, e.g. using an ImageSource not a Uri.

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  App Extensions  ·  Flag idea as inappropriate…  ·  Admin →
  14. XBox live calls hitting RATE LIMITS throws AMBIGUOUS EXCEPTIONS

    When using the XboxLive API and you hit the rate limit. The calls return error codes with a notice of when you can call again. This is fine.

    My biggest problem is that when the API translates these limit responses, they THROW UNDOCUMENTED EXCEPTIONS.

    This is a poor programming practice. Throwing undocumented ArgumentExceptions give us little to no way to handle the exceptions. You should throw STATES as responses which we can handle, catch and debug more appropriately. Even throwing DOCUMENTED custom exceptions with detailed information inside the EventArgs would be 100x more useful as we could CATCH those things…

    1 vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  15. Universal XAML

    Universal XAML - Embrace UNO UWP and extend it.

    Make possible for Developers to use the same XAML dialect on Web, Mobile, Desktop and IoT Applications

    Also make all this work with all .NET languages, including F#

    4 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  XAML/Controls/Composition  ·  Flag idea as inappropriate…  ·  Admin →
  16. Snipping Tool crosshair extension

    Dear DevTeam,

    At my university people are frequently using the Snipping Tool. However we often have the problem that stuff in the middle of what we try to copy extend over the height of the corners.
    Would it be possible to have an extended crosshair that spans across the whole screen to easier see where the borders of the snip will lay?

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  App Extensions  ·  Flag idea as inappropriate…  ·  Admin →
  17. wdk targets

    Provide WDK targets for MSBuild without installing Visual Studio integration.
    This will decouple Visual Studio specific version from WDK build.

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Dev Experience  ·  Flag idea as inappropriate…  ·  Admin →
  18. StorageFile.IsEqual is far too slow

    Depending on how the files are loaded, StorageFile.IsEqual can take up to 3 milliseconds to complete. When trying to match a file in a list of 1000 files, this is far too slow. As a workaround, I can use the path, but there are occasions when there is no path, such as opening a file on a phone from File Explorer and processing the NeighboringFilesQuery. Would it be possible to have a much faster implementation?

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  19. print page sizes

    Within UWP - The ability to manually and fully configure the page size output. Not use the ENUM mediapagesize, but something like WinForms where the specific page size can be selected.

    3 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  XAML/Controls/Composition  ·  Flag idea as inappropriate…  ·  Admin →
  20. Wrong Buffer Size in IBasicAudioEffect.ProcessFrame if you use PCM/Float with AAC codec

    If you specify PCM codec in SupportedEncodingProperties and play an AAC encoded file, IBasicAudioEffect.ProcessFrame will give you an array wich has a capacity of 1 sec of audio samples but only contains ca 20ms of audio samples.

    2 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Audio/Graphics/Media playback  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base