Comment by whizzter
Not to mention that WP7 customers couldn't upgrade to WP8, meant that both customers and resellers had devices they couldn't do shit with.
Not to mention that WP7 customers couldn't upgrade to WP8, meant that both customers and resellers had devices they couldn't do shit with.
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.
I don't remember the Android UI framework being bad at the time. Android 2.3 time period? I remember Fragments coming out, and the overhaul on the UI for Android 3 (I had a Motorola Xoom and it was nice to use), then every Google i/o conference saying they'd improved speed ("Project Butter") and UI responsiveness etc. but it was still laggy for scrolling etc.
But the framework itself doesn't seem much different to today. I remember using the HTC Desire and HTC Dream and being impressed, then the Motorola Atrix 4G with lapdock (!), a device ahead of its time and with insufficient RAM or CPU performance but the a great idea running a nice Linux desktop environment.
I suddenly realise how long ago this was and how old I feel.
It's hard to fault Microsoft for doing what they did with WP7, though. They needed to make a statement that they were still committed to phones since WinCE was truly dead. So they made an MVP "Preview" of what the next Phone OS would be.
WP7 was sold to me in more like that language of "this is a quick MVP on the way to the next phone". It was exciting at that time in that way, seeing it as the hail mary pass of "What if we replaced WinCE with all the things we learned from the Zune? How quickly can we do a version of that which will give the right impression and set us up for the next 'real' version?"
Unfortunately yes, it wasn't sold to everyone with that perspective. I think Microsoft may have counted on developer enthusiasm a bit more to get the word across.
Also to be fair, that was still the era where "everyone" bought the new iPhone at launch and iOS compatibility was seen as somewhat equally spotty that if you didn't have the latest hardware you didn't expect the next iOS version to run well and you'd expect to get left behind on apps. It was also the era where Android was often non-upgradeable between versions on hardware (because carriers wouldn't "certify it") and you generally assumed an Android device was version locked to whatever OS version you bought it with. Microsoft may have felt somewhat safe needing a hardware jump between WP7 and WP8 exactly because that was de facto the case with iPhone and directly the case with Android at the time.