Zune, Phone, Surface, Windows 8, Windows RT, Bing, Cortana, Continuum, Project Astoria, I'm sure I'm forgetting. Apple and Google execs must have been amused.
No wonder that Windows developer community decided to ignore whatever is related to WinUI, and focus on the stable technologies from the past.
At least Native AOT might support WinUI in .NET 9, something to look forward to, for anyone that still cares outside Redmond.
iOS: UIKit -> SwiftUI
MacOS: AppKit -> Catalyst -> SwiftUI
there was definitely some churn within each one of those from version to version, but no complete rewrite needed afaik.
Apparently, Microsoft couldn’t even setup the project template, need to manually edit the project file adding WindowsAppSDKSelfContained setting. After that it launches, but the binaries are now 151MB in 386 files, for a single AMD64 architecture.
By comparison, an empty WPF application compiles into 171 KB of binaries in 5 files, and the binary is CPU-agnostic, it runs on all CPU architectures. It depends on the .NET 7 runtime, but the runtime for my processor only takes 55MB to download. And if you’re unhappy about the runtime, you can instead target the older .NET framework 4.8 which comes preinstalled on Windows 10 and 11.
For C++, you're better off with Qt, wxWidgets.
You can use Visual Studio Community if the licence still fits your work, or in the case of Qt, Qt Creator alongside a recent VS or MinGW.
Only if you need cross platform.
On the Microsoft tooling stack even MFC offers better development experience on Visual Studio.
I left it out on purpose, because I doubt the OP would like to use MFC, and I wouldn't even recomend XAML C++ development experience to my enemies.
If you want to dabble in desktop with C#, Avalonia is the best way to go nowadays. I'm having a blast with it working on a couple of projects for my assigned client, and in a couple of personal toy projects.
But, that has taken a long time, during which it was mostly the butt of jokes.
So, not saying all of these were abject failures and a few are still around and doing OK (Surface) or better (Bing). But, I'd argue that the projects were so rushed and reactionary that they were delivered compromised, embarrassed, and with too little direction and advocacy.
Oh, and I'd like to add Microsoft Store to the list.
Quite unpleasant to use compared to just vanilla ChatGPT, which offers a zen-like experience in comparison.
A little more than a month later MS decided to cancel it. And to be fair, it wasn't that great of a product, but the fact that they burned through all of that development and a massive marketing rollout only to throw it in the trash a few weeks later.... just peak late-00s Microsoft.
They clearly took many design cues from Zune, which was another excellent product I loved that did not take off.
I think if MS Phone had stuck it out a bit longer hybrid apps may have helped bring some developers in.
It sounds like Nadella still doesn’t get it though. MSFT tried several times to “reinvent the category of computing between PCs, tablets, and phones” and none succeeded. Windows 8 UC targeting tablets and native apps was a disaster and ate up a lot of goodwill. With tablet PCs and netbooks Microsoft had the right idea too early and with poor technical implementation.
I had what I think was the lowest end Lumia at the time, a Lumia 520 maybe? It did what it did really well.
The camera was surprisingly OK. The tiles meant I could see what I needed without tapping around. It was much more responsive than other phones in its price range from what I remember too.
I'm pretty sure there were hundreds of us; but maybe only tens.
I don't think Microsoft understands how constantly churning the development framework impacts potential developers, because Windows is so big that developers will suffer through churn until they realize they should just stick to ancient methods that will continue to work. Windows Phone had no ancient methods, and important new OS features were tied to new frameworks anyway, but there wasn't enough users to encourage most developers to suffer through it. That they couldn't make Windows Mobile 10 work (well) on low end devices like the Lumia 520 is probably a mix of organizational and engineering failure, but either way, the push from Microsoft to build 'universal windows platform' apps that would only run on Windows Mobile 10 prompted developers to cut support for WP7 and WP8 in favor of WM10, even though WM10 never had more users than the earlier versions.
Also, mobile Edge was soooooo much worse than mobile IE, woof.
#totallynotstillbitter
I think you were far from alone in your disappointment watching it wither on the vine.
I will say, they do need to get their heads out of their asses for MAUI.
Instead of being scrappy and trying to do whatever it took to gain marketshare in an area they were behind in they put a ton of limitations on their platform and it tanked adoption because the people who were willing to switch and try something new were by definition people who were going to be frustrated with this behavior.
Things like not supporting multitasking or apps running in the background, blocking all exes from even being downloaded, not giving access to the underlaying file system, categorically blocking applications like video game emulators, restricting the ability to tether your phone, etc.
Yes there wasn't third-party app support and yes their maps sucked but I think both of those would have been fixed over time if they didn't take a super arrogant big brother approach to the operating system.
Example of what I'm talking about: http://i.imgur.com/JfFiuO4.png
Mobile games at the time were all OpenGL ES, which Microsoft refused to support in favor of Direct3D.
Then there was Microsoft's perpetual need to start over. WM6.5 to WP7 broke app compatibility. WP7 to WP8, entirely new APIs. WP8 to WM10 there was UWP and Continuum, again forcing major rewrites if you wanted the new features.
And finally how Microsoft treated the devs themselves. Ad-supported apps depended on Microsoft's ad network which was artificially kept alive by Microsoft injecting money for Xbox and Office ads. Once Microsoft stopped, the whole thing folded, leaving developers with a sudden loss of income.
Developers from countries in Microsoft's 2nd tier additionally reported poor treatment and Kafka'esque bureaucracy preventing them from publishing apps: https://toshl.com/blog/why-publishing-on-the-windows-phone-m...
This is why I think the app situation would not have fixed itself over time, and MS efforts to ease transition like Project Islandwood were doomed from the start, because those fixed a problem but not the problem.
The rewrites across multiple versions, that is what killed the desire to target the devices.
I don't understand what you write about Valve, the Steam Deck supports unmodified Win32 games which use DirectX.
The effort to port between Windows and Windows Phone was way less than between Windows and XBox.
Besides that, porting wasn't easy even for apps which worked on Windows already. The API was quite different, and not in a good way. For example none of the standard Windows file I/O API was available. There was DirectX but it was DX11 FL9_3 which is not how you access GPUs on desktop Windows (you would either use DX9 or DX11 FL11_x).
It was still DirectX and Win32 for the most part.
Only FOSS indie devs make such an uproar of OpenGL and friends.
Walk around GDC, PAX, GDCE to see how much professional game developers care.
And obviously the lack of all the Google apps. Again there was obviously some manager on crack thinking that that'll get everyone to switch to the according Microsoft offerings, and maybe people just stop using YouTube. But surprise, it didn't work out!
Also the aggressive power saving which meant every time you were sending some photos on WhatsApp or other messenger, you had to make sure to keep the screen on and the app in the foreground until it's done uploading, otherwise there was a 90% chance it would get aborted and restarted next time you turned on the screen.
The snappiness of apps was also hindered by network I/O in the UI thread (I mean wtf Microsoft).
WP8 did some things better but it was too little, too late. Nokia at some point bitterly complained about Microsoft's inertia in getting important features implemented that Nokia needed in order to sell phones (besides the apps, but that is another whole can of worms). https://www.techspot.com/news/53405-microsofts-slow-developm...
And it is not that the WP8 release fixed everything that was wrong. Rather, it added to developer churn by switching to yet another API, it upset users because no WP7 phone could be upgraded to WP8 (except for the HTC HD2 which originally came with WM6.1), and it still didn't support any modern mobile web browsers.
Then there was this strange limitation to only 720p screens and dual-core CPUs until WP8 GDR3. Or that you could not disable automatic screen rotation until that update. VPN support and the notification center came only with WP8.1.
It was a fun project, and the live tiles and flat style provided a lot of inspiration that resulted in the next version of our app for iOS and Android.