Comment by cyberax

11 hours ago

The WTF-based^W Silverlight-based UI was also an issue. Nobody really _wanted_ it.

To be fair, Android UI framework in that era was also bad. But it appeared several years before Win Phone 7, so developers had to get good with it.

XAML had plenty of experienced developers years before WP7. Just most of them were in "enterprise" environments.

I had an extensive Silverlight and WPF background by that time, so I still don't quite know why so many developers seemed to have a problem with it. I also did a lot of "convert this screen from WPF to Silverlight" and "now convert it back to WPF" that at the time I also didn't see why so many people were complaining about updating XAML from WP7's Silverlight XAML to WP8's UWP XAML. XAML is XAML. XAML is just stupid, ugly XML. Most of the work is updating XML namespaces, which can be automated with XML tools. Assuming you've used a pattern like data-binding or "MVVM" you shouldn't have much business logic to change between XAML versions, was my opinion at the time. As an Enterprise developer having done a ton of that as company winds shifted and more apps needed to be Silverlight one month and others WPF, depending on shifting winds/moon phases and "we want to just HTTP deploy only now" and "how easy can you embed this in VB6 without going crazy".

  • > I had an extensive Silverlight and WPF background by that time, so I still don't quite know why so many developers seemed to have a problem with it.

    Money on app stores is made by games. In addition to being rewritten in C# games in Silverlight had to wrap Silverlight primitives - there was no DirectX or GL ES equivalent API. There were even quite wacky workarounds for this on built in components (like render tiles to textures from some linked in C++, which are then used by Silverlight) but weren't great for anyone.

    The result of this was WP7 was an island, and one which had no commercial proof of worth until it was too late. We would all be better off had WP been and stayed viable.

    • Relatedly, XAML shares enough low level primitives with DirectX [0] that the interop story was always meant to be smoother and it is something of a shame that it has never been particularly smooth.

      It was a massive lost opportunity in UWP that DirectX never released proper, first-party WinRT components. It's still almost criminally weird that DirectX still prefers ancient COM to WinRT. I partly understand it from a backwards compatibility perspective of support old games for the longest amount of time to not just move DirectX entirely to WinRT components, but WinRT was built for forward compatibility from COM and there are and have been Windows APIs with both COM and WinRT projections.

      Some of it just seems stubbornness that DirectX isn't directly usable from WinRT (and/or that "second party" projects like XNA were murdered). Certainly another thing to add to the list of why Windows Phone 7/8/10 all failed to have half the catalog of games that other systems had. (There was some DirectX in 8 and 10, but only for C++ apps. It should have played way more ball with WPF and in languages like C#.)

      [0] Far more than it shares with Win32, which is partly why some die hard Win32 programmers have always disliked XAML.