back to article Microsoft's UWP = Unwanted Windows Platform?

Microsoft has further clarified its plans for the Universal Windows Platform, a desktop application framework which at the launch of Windows 10 was said to be the future but now looks headed for oblivion. Principal program manager lead Thomas Fennel has posted on GitHub about the choices facing developers invested in UWP …

  1. codejunky Silver badge

    Unpopular opinion

    MS lost the plot when they killed Visual Basic with .NET

    1. Anonymous Coward Silver badge
      Facepalm

      Re: Unpopular opinion

      The lost the plot when they introduced .NET

      Moreso when they decided that you needed to have every version installed as v4 wasn't backwards compatible with v3.5 etc.

      They peaked with VB6.

      1. Loyal Commenter Silver badge
        Paris Hilton

        Re: Unpopular opinion

        .Net 4.0 was released in 2010. Since then, every version of .Net framework has been backwards compatible with it.

        4.0 wasn't backwards compatible with 3.5 because of breaking changes to the libraries, hence the major version number change. Code written in 3.5 is overwhelmingly likely to compile just fine against the latest framework version, because the languages that compile to the .Net IL (C#, F#, and VB.Net) don't contain breaking changes between versions.

        The later .Net Core is a different framework again, because this is designed to be cross-platform (There are already cross-platform compilers and runtimes for .Net Framework, minus the Windows-specific stuff, but Core is designed to be cross-platform from the bottom up).

        There is also ".Net standard" which I believe contains the core shared stuff between Framework and Core, and the upcoming .Net 5 which, I believe is supposed to bring Framework and Core together.

        I won't argue that MS haven't made dubious decisions about things in the past, but the rate of change here is pretty slow. Compare and contrast with other programming languages/runtimes out there, like Python with its breaking changes, and any number of technologies that have essentially become obsolete in the last decade. PHP anyone? How about those JavaScript libraries and node modules that change on a daily basis, and might contain malware tomorrow?

        Microsoft have only done what a sensible business would do - try to predict what the future is going to bring, plan for it, and have the balls to stand up and say, "we're deprecating this" when it becomes apparent that something isn't working out.

        Meanwhile, you're bigging up a tech stack built on Windows 9x which is totally unsuited to modern programming challenges. I'd like to see the pain you'd have to go through trying to deploy that in a Kubernetes container, or in anything remotely resembling a growing online business. It's like someone living in the world of streaming music touting the benefits of the wax cylinder.

        1. Anonymous Coward
          Anonymous Coward

          Re: Unpopular opinion

          "modern programming challenges."

          And that's different than previous programming challenges exactly how? Are For loops now tighter? Do sorts now start in the middle and work outwards? Are pixels different colors these days? No, it's the same programming challenges as always, but you "modern" guys have agreed to enslave yourselfs to the incredible layers of cruft that Microsoft has built around their various Windows APIs over the years. The OP was just lamenting the fact that 20 years ago, those layers of cruft were much thinner and more manageable.

          1. Loyal Commenter Silver badge

            Re: Unpopular opinion

            And that's different than previous programming challenges exactly how?

            Well, let's start with the fact that VB6 comes from an era when "security" meant locking the case of the beige box, in the computer room, so nobody could steal the sticks of RAM? Yes, it’s still loops and conditions under the hood, but the tech stacks and environment are vastly different.

            If you're talking about "thinner layers of cruft", I don't see anyone writing embedded code in VB. It's C/C++, or Python if you want the toy language. VB never was, and never will be, a serious language, for serious use. You know the "B" stands for "Beginner's", right?

            As for referring to me as "modern", well, I've been crafting code, in one form or another, since the mid '80s. I learned to code using BASIC. As a child.

            1. Anonymous Coward
              Anonymous Coward

              Re: Unpopular opinion

              There was NOTHING stopping the VB 6 guys in the 90's from doing proper validation on network inputs, they just didn't know (or think) to do it. But the "programming challenge" was still there, it was just unrecognized. Input sanitization isn't some new thing that MS thought up with .NET 4.5.

              Thinner layers of cruft meaning the "mindspace" needed to understand the environment was much smaller. VB 6 wasn't too hard to learn, even if you decided to throw in a large amount of Windows API calls. It was relatively easily digestible in its scope. Same goes for Delphi, maybe even C++ using bare-knuckles API. But then MS started adding cruft with the various .NET environments, and then added even more cruft with things like WPF and UWP. Suddenly it's not just drawing rectangles on the screen anymore, it's a whole lot of other stuff going on around it to draw the rectangle on the screen. But, in the end, it's still just drawing a rectangle on the screen, pretty much the same as since VB 3.0. Same "programming challenge", just a lot more cruft getting in the way.

        2. Anonymous Coward Silver badge

          Re: Unpopular opinion

          The fact that it took you 4 decent-length paragraphs to explain the .NET versions actually highlights the issue pretty well.

          1. Loyal Commenter Silver badge

            Re: Unpopular opinion

            The fact that it took you 4 decent-length paragraphs to explain the .NET versions actually highlights the issue pretty well.

            I can explain the history of other extant programming frameworks over the same amount of time in comparable numbers of paragraphs. Java perhaps? That has had a bit of a torturous history. Python maybe? How about the various Android environments and ATKs? My point is that .NET is nothing special in this regard. It is in the nature of something that is under current development, and is moving with the times, to change.

            The ongoing history of VB, on the other hand, can be summed up with one word; "dead".

        3. bombastic bob Silver badge
          Facepalm

          Re: Unpopular opinion

          Meanwhile, you're bigging up a tech stack built on Windows 9x which is totally unsuited to modern programming challenges

          etc.

          (I don't know whether to laugh or facepalm)

          that word "modern" - I do not think it means what you think it means

          And as for wax cylinders, believe it or not, audio recording on a wax cylinder (with current tech, and slightly better materials) is likely to sound VERY good, as it is on high quality vinyl. Some people prefer the sound of vinyl recordings. They also like tube/valve amplifiers better. Just because it is old does not make it obsolete.

          Microsoft have only done what a sensible business would do - try to predict what the future is going to bring

          How's that working out for them, since the early noughties when Ballmer took over and introduced the ".Not" initiative ... ?

          (they need to FIRE their astrologers and crystal gazers)

          I cannot shout this loud enough: WIN32 and 3D SKEUOMORPHIC!!

          If Micros~1 gets THAT right, we'll all be better off for it. But they won't. They're too busy trying to find the right lipstick to put on the non-oinky-end of the boar, i.e. TIFKAM and UWP and that eldritch abomination, ".Not".

        4. david 12

          Re: Unpopular opinion

          In the old days, you could fix up your unix code and recompile it for a different unix, and that's what unix mavens meant by 'portable'.

          .NET went the same way. No, you can't just take the program and run it on a different platform: you can take the source code, modify it, and recompile it for the other platform.

          Good enough for unix in the 20th century, but not compatible with the Windows model expected by users and developers (cf SFU).

          1. jotheberlock

            Re: Unpopular opinion

            I mean there's just a smaaaall difference here in that all the Unixes were made by literally different companies. This is all Microsoft! It's all the same company, they should be able to fix this.

            1. Loyal Commenter Silver badge

              Re: Unpopular opinion

              You do know that "Cross platform" means the same thing for .NET, right? The tech stack to compile on of all those different flavours of Unix / Linux?

              Nobody should realistically expect OS specific features to cross-compile, so stuff that is designed to use specific Windows features isn't going to magically work on ANOtherOs.

    2. Cederic Silver badge

      Re: Unpopular opinion

      Well, if we're going controversial: Visual Basic held back software engineering for a decade.

      .NET has its flaws but heil Hejlsberg.

      1. slack0

        Re: Unpopular opinion

        heil Heljsberg! Anders is the man. Delphi, .Net AND typescript? He might just be the GOAT

    3. ecofeco Silver badge

      Re: Unpopular opinion

      They lost the plot a long, long time ago.

  2. Brewster's Angle Grinder Silver badge

    Once again, sticking with the "Win32" APIs guarantees you reliability.

    1. karlkarl Silver badge

      Agreed.

      For Windows developers, the saying goes... "Win32 or you are doing it wrong."

      1. Brewster's Angle Grinder Silver badge

        There's no reason it should be like that. It's just Microsoft can't make a plan and stick to it. And nobody will trust the next iteration until they have shown Microsoft are willing to stand by it.

        1. Adrian 4 Silver badge

          "It's just Microsoft can't make a plan and stick to it."

          To their credit, they do stop flogging a dead horse eventually.

          But how do they manage to get it so wrong, so often ? And waste their and so many developer's efforts trying to keep it wrong before they give up ?

          I'm so glad I don't develop for Windows.

          1. Terry 6 Silver badge

            "But how do they manage to get it so wrong, so often ?"

            A frequent suggestion is that they hear only an echo chamber - the echo being of their own unsubstantiated belief about where the future market is going.

            IMHO it's also based on panic, ever since they failed to spot the nascent WWW and almost got fucked over.

            1. Anonymous Coward
              Anonymous Coward

              "ever since they failed to spot the nascent WWW and almost got fucked over."

              You'd think those guys are retired now and living on their own tropical islands.

              1. Terry 6 Silver badge

                Corporate memory is a culture thing. It's more than reasonable to think that the corporate culture could be, as the youth call it these days, FOMO

        2. ThomH Silver badge

          If I dare jump in; Microsoft aren't doing that bad a job in my opinion.

          Google also can't make a plan and stick to it, but in that case the users pay as whatever Google is abandoning simply ceases to be. Microsoft's discarded frameworks at least continue to function.

          Apple can make a plan and stick to it, but that plan usually involves a large amount of technology churn and the assumption that developers will keep up. As a developer you at least never get stranded by a complete horse change, but as a user you can still expect unmaintained applications to expire.

      2. b1t5murf

        Completely agree.

        I primarily develop applications with Delphi Object Pascal (always on the latest version) and to this day I've been able to consistently deliver reliable applications for Windows (and other platforms too from the same code base).

        It have saved me a ton of work not having to deal with the indecisiveness Microsoft frequently pull developers in the .NET space through.

    2. Someone Else Silver badge

      Once again, sticking with the "Win32" APIs guarantees you reliability.

      Well, in general, I agree with you. But writing to the original C Win32 API is an immense hemorrhoid. And then there is the cross-platform angle, which is not insignificant.

      From the article:

      [...] and Windows developers wary of how long WinUI 3 will endure have to consider options including sticking with Windows Forms or WPF, or jumping ship to JavaScript or other cross-platform solutions.

      Javascript?!? Shirley, you jest! In my experience, Qt fits the bill nicely.

      1. FIA Silver badge

        Well, in general, I agree with you. But writing to the original C Win32 API is an immense hemorrhoid

        I'm glad someone's mentioned that, with all the talk of Win32 that's going on here people might start to think it's a good API. It's not, it's just prevelent.

        Just to be clear youngsters, no matter what anyone tells you, Win32 is an awful awful awful API.

        Awful.

        (I mean why have one function to do a thing when you can have all the fun of getting whatever handle and security descriptor you need to call the function that returns you a handle to the thing you need to call the method to transform it into a handle you need to generate a handle to to pass to the API routine you want to do a thing.

        That routine returns an HWND.)

      2. Brewster's Angle Grinder Silver badge

        "...writing to the original C Win32 API is an immense hemorrhoid..."

        You'd only think that if you're young enough never to have written for 16 bit windows - segmented architecture and all. But in all seriousness there are some odd decisions which were of their time or grew out of what had come before. In that way, in resembles x86. But it's the tortoise that's outlived the hares.

        A native C/C++ cross platform desktop app was a nightmare and was pretty much killed by Apple dropping Carbon. But they are fundamentally hard because you end up with conflicting conceptual models about how things should be done. That platforms cannot even agree on a common language underlines the problem. (Yes, you can call Objective C by hand from C, but... Oh, and now you need Java for the mobile version.) We went for separate apps with as much stuffed in a common library as possible which meant we could just write a new Objective-C front end.

        Which brings me to the final point (where I'll rack up the downvotes): if you stick to the "metal" and avoid the fashionable frameworks du jour, the web is a good cross platform solution. Electron/nwjs/PWAs/Cordova covers desktop and mobile devices with one code base. Javascript is the new C. As someone who started in assembler, I have no problem with it. (Well, I have lots of problems with it. But no more problems than I have with any of the other options. And because I program it like a proper language, it's not a performance black hole.) It's suvived multiple Microsoft and Apple upheavals.

    3. jotheberlock

      Or you can use Qt which sits on top of the Win32 API on Windows and still gives you a nice modern programming environment and as a bonus works basically everywhere else as well.

  3. Mike 137 Silver badge

    "MS lost the plot when..."

    In some ways, MS never actually got the plot. Just take the Windows file selector for example. Open it and it shows an unordered heap of file names in multiple columns. You have to do two clicks to get a list with details that you can sort. And even then, there's no guarantee that the columns are wide enough for their contents, so you may have to drag the boundaries of some of them to see things like file creation dates. it would have been so easy to set the defaults to something more convenient, or allow the user to set their own preferred defaults, but you can't. Then of course, there's the infamous hidden file extension default.

    1. Terry 6 Silver badge

      Re: "MS lost the plot when..."

      allow the user to

      IMAO Microsoft has been determinedly doing its absolute best to prevent the users from doing anything that makes using their software easy for users to make work for them ever since the infernal "Ribbon".

      Each iteration of software removes options from the users to make things easier to use.

      Once we could easily customise the Start menu, grouping programmes according to function, rather than (often unrecognisable) name. In Win 10 it needs a fair bit of tech skill to do so- and there are bits (like "Store Apps" ) that are treated differently and can't be moved out of the stupid alphabetic list. In Win 11 they apparently have prevented it totally. So teh Start Menu will be a mess of programme names in alphabetical order, with all/any other crap the software publisher wants to add.

      Everywhere you look Microsoft have made perfectly sensible customisations difficult or impossible. Not to simplify how we use the tech or to reduce support issues- there are better ways than that - a simple "Restore defaults" button if people messed up their Office menus, rather than making modifying them a massively difficult job.

      A simple, trivial illustration, the Windows start up sound. Once it could easily be changed. Now it can't (without a 3rd party tool -Winaero will do it). There can't be any great technical justification for that. It has to be pure stubbornness.

      1. bombastic bob Silver badge
        Coat

        Re: "MS lost the plot when..."

        Each iteration of software removes options from the users to make things easier to use.

        If you play with your toys the way Micros~1 TELLS you to, this will not be a problem...

        </snark>

        1. Terry 6 Silver badge

          Re: "MS lost the plot when..."

          I never thought I'd find myself agreeing with you BB. But yes, MS has had a strange belief that they should be defining users' work flow and methods for at least as long as they've had the dreaded Ribbon. Probably longer. As if they know the secret for how every office wallah should be doing their jobs. It's why I harp on about the Ribbon so much. Pre-Ribbon I used to create specialised menus for my staff. I didn't want them, highly professional, expensively trained, incredibly experienced and skilled in their actual (front line) jobs and with specific uses and skills for the computer, spending times hunting for functions they needed among crap they wouldn't use before the heat death of the universe. They weren't computer people. Some had had to be dragged kicking and screaming in front of a screen. (Took 10 years to get one away from his little Brother typewriter). Particularly since the way we would group items wasn't the same as how MS seemed to think they should be grouped. The WORD Edit menu for example lacked certain items that we'd consider useful for working on our analysis reports*, so I put them in there and moved some other stuff to where it could be found if needed. Ribbon meant this was no longer a trivial activity, but became a major task, and I had my own front line work to get through.

          *It's a long time since I retired- but I think one thing I did was to put some Table commands in the Edit menu. Something they'd need to include in a report would often be a simple table of observations or test scores they'd obtained and which had been used to support a conclusion. " Insert Table " would have made sense to us in the edit menu.

          1. quxinot Silver badge

            Re: "MS lost the plot when..."

            "Insert Table" sounds like a customization that the BOFH added to his own menus for the users.

            I mean, "Open Window" was already in use, after all...

            .

          2. Anonymous Coward
            Anonymous Coward

            Re: "MS lost the plot when..."

            "(Took 10 years to get one away from his little Brother typewriter)."

            At the previous gig (a University), one of the eldest English Profs was still using WordPerfect daily until he retired in 2010. Sure, he'd use Word when he had to, but if left to his own devices, it was always WordPerfect.

      2. Someone Else Silver badge

        @Terry 6--Re: "MS lost the plot when..."

        Everywhere you look Microsoft have made perfectly sensible customisations difficult or impossible.

        I suspect that's because their devs can't figure out how to make those perfectly sensible customisations (sic) work properly, reliably, and securely.

        There can't be any great technical justification for that. It has to be pure stubbornness.

        Hanlon's razor: Never attribute to malice that which is adequately explained by stupidity.

    2. Snake Silver badge

      Re: "Windows file selector"

      Would you kindly provide additional details on what the "Windows file selector" is, so I can (hopefully) help you figure out what is going wrong here? In Windows File Explorer you can indeed set defaults, and holding down CTRL whilst rotating your mouse's scroll wheel rotates the view through everything from a list to extra-large icons.

      1. bombastic bob Silver badge
        Unhappy

        Re: "Windows file selector"

        well In My Bombastic Opinion it was BETTER in older windows versions, particularly the 'File Open' 'common dialog' box. It loaded faster because it DID NOT HAVE TO DO ANALYSIS ON EVERY STINKING FILE EVERY TIME IT LISTED THEM so that MAYBE some shell extension would do something later IF you selected it. They could always populate icon lists and tree diagrams based on a cache or in a background thread, and NOT delay the selection of files for A SINGLE MOMENT LONGER than absolutely necessary.

        Admittedly, gnome is just as bad - open up the /usr/bin directory some time in a 'File Open' box and ask "why is this thing SO SLOW???" [same reason why Micros~1 file open boxes are so slow, I say]

  4. Peter D

    Not a surprise

    Anyone who didn't see this coming would have to be blind. UWP was always obviously wrong and Microsoft has never done anything to change that.

    1. Warm Braw Silver badge

      Re: Not a surprise

      I'm afraid the same fate likely awaits WinUI 3 - you can sense the air of desperation in its promotion.

    2. Cederic Silver badge

      Re: Not a surprise

      The biggest irony is that it was intended at the time to drive use of the MS app store and was very likely a significant factor in driving people away from it.

  5. Anonymous Coward
    Anonymous Coward

    It becomes emabarrassing

    Can anyone change the subject to Linux desktop ? Anyone ?

    1. AndrueC Silver badge
      Trollface

      Re: It becomes emabarrassing

      And, ironically, UWP is probably still more widely used than Linux desktop :)

      1. bombastic bob Silver badge
        Unhappy

        Re: It becomes emabarrassing

        not ironic. just sad.

    2. Agamemnon

      Re: It becomes emabarrassing

      I run KDE on Kubuntu that basically looks like a sexy Windows 7 on my daily carry laptop.

      The fun part is; I'm an old Unix engineer that actually lives in Redmond, and do it just to piss off Microsofties.

      1. Doctor Syntax Silver badge

        Re: It becomes emabarrassing

        Windows 7 looks sexy?

        1. karlkarl Silver badge

          Re: It becomes emabarrassing

          You preferred the look of Windows XP?

          1. bombastic bob Silver badge
            Happy

            Re: It becomes emabarrassing

            yes, actually. I preferred XP's way of keeping the launchers next to the start button, as compared to 7's behavior of moving things around based on what's running.

        2. Adrian 4 Silver badge

          Re: It becomes emabarrassing

          I think he means 'like a windows 7 desktop, but sexy'

  6. fidodogbreath Silver badge

    TITSUP

    Total Inability To Spur User Participation

  7. a_yank_lurker Silver badge

    Another One Bites the Dust

    How many harebrained ideas have the Rejects of Redmond touted and dropped quicker than a detonating nuke? I vaguely remember something called Silverlight but I know there many others.

    1. ecofeco Silver badge

      Re: Another One Bites the Dust

      Frontpage? Active Desktop?

      But you are right. There are far too many to list in a comments sections.

  8. Pascal Monett Silver badge

    "Once again you abandon a framework"

    Hey buddy, you trusted Microsoft. It's your fault, really.

    How many more times is it going to take for people to understand ? Borkzilla launches a new tool ? Fine. Wait 'till version 3 to check it out. Wait 'till version 5 to start developing on it. Check the initial promises, compare to realization. If at V5 it's at less than 75% of initial promises, you should know that it will never get there.

    Then decide what to do with it, knowing that there's a better than 50% that it will be discontinued in the next ten years.

    Either that, or it will be "replaced" with something else you can no longer avoid using.

    Honestly, these days you're better off with Open Source.

    1. This post has been deleted by its author

    2. bombastic bob Silver badge
      Unhappy

      Re: "Once again you abandon a framework"

      you trusted Microsoft

      in the 90's, this was the right choice to make.

      not so much in the 21st century, though. Not since after XP released.

      1. Pascal Monett Silver badge

        Oh come on, XP wasn't that bad.

        Just look at Vista.

  9. PM.

    The writing was on the wall...

    .. the moment, they killed Windows Phone OS.

    What do you need "universal" for , when all you can target is desktop anyway ... better served with plain old win32

    1. Kristian Walsh

      Re: The writing was on the wall...

      UWP also targeted XBox.

      1. bombastic bob Silver badge
        Meh

        Re: The writing was on the wall...

        UWP on X-box. wheee.

  10. Abominator

    The problem with all their new UI API's is two fold. They are fucking slow and they use enormous amounts of memory. They make incredibly fast machines chug along.

    I hare to say it, but if you want to write something fast and efficient you still have to use Win32/MFC. Or use QT which has picked up a fair amount of bloat.

    Just look at the latest generation of Outlook. Of you resize the window it is absolutely terrible as it stutters and re-renders. And it uses so much memory. Internet Explorer 3 never did this. It was fast with smooth scrolling, a marvel 25 years ago.

    I know to never use a new Microsoft platform after they defect deprecated WinForms in .NET for all the junk that came after with WPF and WCF the later I am pretty sure they junked in less than 2 years. WPF is fucking terrible. It's an XML monstrosity.

    1. Zippy´s Sausage Factory

      Sadly the XML is the only bit they're keeping.

    2. b1t5murf

      Indeed.

      There's been a couple of times I was forced to write some .NET utilities with WPF and it is a total disaster.

      I'm happy that the majority of applications I write happens with Delphi, either the rock solid VCL or the multi platform FireMonkey framework. It is consistent, reliable and just get the job done quick.

    3. Anonymous Coward
      Anonymous Coward

      "deprecated WinForms"

      WinForms was never deprecated. It's still fully supported in upcoming .NET 6.

  11. Doctor Syntax Silver badge

    Are they in some sort of competition with Google as to who can come up with more disposable S/W ideas?

  12. YetAnotherJoeBlow Bronze badge

    M$oft has never had a helmsman.

    You know the guy that designs the architecture, and sets the milestones and listens to developers to integrate the improvements.

    Never.

    1. ecofeco Silver badge

      Gospel truth, that.

  13. Andy Landy

    i'm confused

    if you're not happy with the current functionality... why would you even be using it?

  14. FrenchFries!

    Wasn't the original problem referred to as "DLL Hell" that all these runtimes and frameworks were supposed to fix? Collectively over 20 or so years, M$ has created a giant Sh*t Sandwich.

    1. Someone Else Silver badge

      ...without the bread.

      1. ecofeco Silver badge

        ...and not even the good shit, man!

  15. slack0

    So glad I skipped UWP. Both the app model and the distribution model are going away. LMAO.

    Windows Forms FOREVER!

  16. John Geek

    An ever changing sea of APIs and frameworks, all eventually swirling down the drain.

  17. aldolo

    yet another runtime?

    launch 2 or 3 apps based on different runtime and your 16gb pc become a stone.

  18. Anonymous Coward
    Anonymous Coward

    Sigh

    I only use M$ Windows because work has always insisted I do, not once since 3.0 have I had reason to enjoy the experience. The number of people in here doing logical gymnastics to find something positive to say about the M$ API wildlife park is mind blowing, truly effing mind blowing.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2021