Hacker News new | comments | show | ask | jobs | submit login
Microsoft gives up on Windows 10 Mobile (bbc.co.uk)
812 points by nocoder 41 days ago | hide | past | web | 707 comments | favorite

I was working in Microsoft about 5 years ago and Satya's not lying when they say they tried everything to incentivise app developers. It was a big focus of the company at the time. For keystone apps they tried to partner with developers doing most of the work for them. For more niche apps they ran promotions for students and independent developers giving away free phones etc. But nothing was enough to get over the problem of the lack of an initial user base.

Most Windows phone owners I know (myself included) loved the design (hardware and software), the customisability, etc. but the lack of apps ultimately made us move to another ecosystem.

I worked 3 years as a windows phone dev and i'm sorry to say but Microsofts efforts were ... almost insultingly bad.

It started with windows phone 8 and the Metro UI. Bad Idea. The UI was too far away from Android/iPhone to be easily ported and adding corporate design to it was hard as it was too different. Silverlight and XAML was okay for the time.

Then came windows 8.1 and windows desktop 8 which was universally hated. The whole fullscreen apps debacle was just horrible and all the unnecessary restrictions on store apps for desktop made no one ever consider porting their desktop app to a store app. The whole phone and desktop app in one was a joke aswell since it was (and still is!) horrible implemented. Did I mention they broke compatibility from 8.1 to phone 8? I didn't even bother starting all over again for windows 8.1 i just straight up skipped it.

Then windows 10 came and it finally looked like the UWP Plattform might do the trick. Well nope. The SDK is garbage. Scaling from phone to desktop is hidiously bad and afaik still not solved. The Live-Tiles got even worse since you couldn't programm them like the windows 8 ones. Just a whole mess. Couple that with the hillariously bad store interface (backend aswell as frontend) and 0 User engagement and it was bound to fail (as will all UWP apps)

You guys build a, I'm sorry to say but after 3 years of frustration it's fair to say, half-baked half-assed phone plattform that at no point had even a single feature that wasn't available better on iOS and Android, restricted the developers unecessarily, broke compatibility once a year requiring a complete rewrite and frankly build a product that only microsoft liked but was universally hated by their users.

It's a story of too little too late and a whole lot of arrogance on microsofts side.

Oh and don't even get me started on microsoft completely ignoring the european market where they actually got up to 15% marketshare of new devices sold for a while.

The thing about the MS platforms that has always been an issue is that they change the developer APIs around all the time. Every year they come out with the latest greatest way to access a database or whatever and it really isn't that much better than what they had last year, but it still requires a rewrite.

Yes. They also rewrite stuff half way through and tell you it's the same project just to piss you off. Windows Workflow and Windows Communication Foundation for example.

I'm really disinclined to invest in any of their technology because my headspace is finite and I want to deliver business value, not change the unworn carpets once a year.

It's also just such a bad idea because they never get to mature their features, add uniqueness or allow 3rd party devs to build the ecosystem. They just build the same thing over and over again while their competitors keep refining, innovating and adding features. Really a bound to fail strategy

Exactly that.

The feedback loop is shit as well. Out falls a broken pile of shit for a CTP. No one accepts any feedback. It hits RTM, no one accepts any feedback. Two years down the line, the same bugs are open.

You should hear the partner reps wanting to cry when you report a bug in something that you NEED a fix for and are paying support for. You get fuck all other than a registry fix or a hack even if the mainline product is falling to bits across a thousand or so users (which is what happened to us).

Money where the mouth is as well. Typical shit:

https://github.com/Microsoft/SCVMMLinuxGuestAgent/issues/2 -> ignored. Regularly hoses our new VMs deploying windows on SCVMM.

https://github.com/dotnet/cli/issues/3093 -> fuck you go away we're just going to take your data unless you set a magic variable even though no one wants to give it away as indicated by the ticket and there are bugs in the configuration and it causes people massive audit problems.

From the second ticket

> It's only a matter of time before some enterprising journalist looking for a scoop picks up on this. The headlines here are not good: "Microsoft caught with sneaky program to spy on companies"

Let me take care of that...

Edit: Wrote several of germanys biggest tech sites with focus on dataprotection aswell as the german ministry for cyber security with a link to that ticket. Let's see what happens

Excellent, hopefully something positive comes from it. :)

On a similar note if they get back to you, Mozilla is testing the waters with dumb privacy invasion stuff in Germany soon too:


They're probably across that already though, but if not it might be useful to point out to them. :)

You do undrrstand thus is a one year old issue in a pre-release of .net core 1 (current version is 2.0)?

The issue is well documented and explained: https://docs.microsoft.com/en-us/dotnet/core/tools/telemetry

I applaud your vigilance, but you are a bit late.

Good work - thank you :)

Maybe MS and the FLOSS world aren’t as different as we thought. Look up CADT by Zawinski for details.

Difference is I’m not paying them. We pay Microsoft a metric fuck load of money.

Same here. I can't even imagine how 3rd party tool developers feel. Let's say you have a grid component. In the last few years you had to do a Winforms and several XAML versions( WPF, WinRT, Silverlight and now UWP). The XAML look superficially the same but all have their set of weird limitations and bugs. I am definitely done with Windows desktop.

Wow, imagine someone trying to make this statement 15 years ago...things have sure changed.

Indeed. 15 years ago I kind of enjoyed it. Win32/winforms is still less horrible than the web these days.

Win32 is in no way less horrible than the Web. Win32 doesn't have any device-independent layout, at all. Forget about handling HiDPI sensibly. RegisterClassEx/CreateWindowEx are incredibly verbose. WndProcs are a mess compared to individual event handlers. The mishmash of COM and inconsistently named C APIs is terrible. COM involves a monstrous amount of boilerplate. COM requires you to deal with apartment threading, legacy that exists primarily for compatibility with Visual Basic 6, which is of course no longer supported but still saddles the platform. Creating an OpenGL context with WGL, with the "false context" stuff, is a nightmare compared to WebGL. Memory management is a giant pain to deal with. The GDI APIs are archaic and slow. I could go on…

Yet I would rather take all of that than dealing with Frankenstein CSS/HTML/JavaScript programming, while making sure it is pixel perfect across all browsers and not making use of the OS features and computer hardware that made me buy it in first place, e.g. WebGL 2.0 on DX 12 GPU.

Most of the issues you mention are solved in .NET, WPF and UWP. COM is a breeze to use in Delphi, MFC/ATL, .NET, C++/CX.

Windows is much more than just Win32.

Apparently Windows event system is so bad, that the younger generation re-inventing it in the form of React.

Also Cocoa, UI Kit, Android and Qt are all better solutions than Web.

Despite the populist mindset that programming the web is a shitshow, it’s really not. Tooling these days is pretty incredible and the ecosystem is pretty great when you are found needing - issues get fixed, PR’s get accepted. It’s a much better experience than a 20 year old environment where everything is set in stone, yet bugs and inconsistencies still exist.

The tools and software for traditional windows app programming have long been neglected and the newer ones throw you into a niche — and still don’t provide a cohesive story.

I would much rather pick up react and produce a working product in less time it takes to troubleshoot XAML databindng and styles, for instance. If my windows app needed something like a map component, I can drop one in my macOS, iOS app - the same one baked into the os - and on the web have an assortment of components to choose from — with WebGL support baked in.

Also, there isn’t such thing as a DX only gfx card - it happily runs OpenGL games and apps just fine

> Tooling these days is pretty incredible and the ecosystem is pretty great when you are found needing - issues get fixed, PR’s get accepted. It’s a much better experience than a 20 year old environment where everything is set in stone, yet bugs and inconsistencies still exist.

Try to make a CRUD SPA as fast as a Delphi one, including a nice L&F by default, just with mouse clicks and setting a few properties.

> Also, there isn’t such thing as a DX only gfx card - it happily runs OpenGL games and apps just fine

This statement means you don't have much experience in graphics programming, at least regarding the fun of dealing with drivers and how OEMs classify GPU features.

So if you prefer I will rephrase it as "WebGL 2.0 on OpenGL 4.6 GPU".

Now feel free to compare what it means in GPU features.

Hint, WebGL 2.0 is basically OpenGL ES 3.0, which maps to OpenGL 4.3.


> Try to make a CRUD SPA as fast as a Delphi one, including a nice L&F by default, just with mouse clicks and setting a few properties.

Use Bootstrap for the look and feel. The browser's painting stack is far faster than Delphi's '90s style GDI, so you don't have to do anything there.

You love to use the GDI example against native devs, a Win16 technology, long superceded by better alternatives on Windows.

I only used Delphi as an example, because in 2017 the Web is yet to produce anything that approaches it, even Web Components are yet to be fully done.

A RAD tool is much more than just rendering widgets, a simple CRUD application should be doable just by clicking and setting properties, including talking to the database backend.

Speaking of WebComponents, when will Mozilla support HTML Imports?

> Yet I would rather take all of that than dealing with Frankenstein CSS/HTML/JavaScript programming

I wouldn't.

> Most of the issues you mention are solved in .NET, WPF and UWP.

I wasn't talking about .NET, WPF, and UWP. I was responding to the claim that Petzold-style Win32 apps are better than the Web.

> Apparently Windows event system is so bad, that the younger generation re-inventing it in the form of React.

Huh? React is not WndProc.

> Also Cocoa, UI Kit, Android and Qt are all better solutions than Web.


I've written the same WebGL app twice now, once in Cocoa/Objective-C and once on the Web, with a TypeScript and Webpack stack. Once I got over the initial hump of learning the technology, it was a much nicer experience than my experience with Cocoa. TypeScript is a better language for UI development than C++, Java, or Obj-C, and the fact that the browser implementation of WebGL smooths over the issues with OpenGL on Mac was a huge relief.

Petzold-style Win32 apps were already out of fashion on Windows 95.

Apparently others with better knowledge of Web than me, think otherwise about React vs WndProc.


As for your WebGL example, I would have used Swift with SceneKit instead, regarding productivity in native development on Apple systems.

You're assumptions are outdated

Please provide a link to a Delphi like tool for the Web, including components for backend comunication.

Allow me to present: https://anvil.works/

Visual interface editor? Check.

Component-based UI model? Check. (It's all in Python, everything is an object, very Delphi-ish.)

Back-end communication? Check. (One-line RPC to call functions on the server.)

Database integration? Check.

(The built-in datastore runs on Postgres, and lets you do things like delegate views on a table directly to the client. Mix this with data bindings, and you can create CRUD apps with tiny amounts of code. Or you can start importing the appropriate Python libraries and go to town with your favourite DB.)

Thanks for proving me wrong, Anvil actually does look quite good.

That sounds exactly like the state of affairs the moment you pick a JavaScript framework, which was my point.

Yeah... because compatibility here is MUST.

What I find missing, compared to back-in-the-day, is the _maturity_ of that ecosystem.

Win32 has warts on warts, but around the year 2000 the MS development space was a monoculture and the COM-to-GUI story was increasingly mature and integrated.

.Net came along and, on the one hand, positioned MS to be a whole different kind of tool provider (F# on dotnet core on linux in kuberernetes is niiiiice), but they also lost a few hundred man-years worth of local improvements to their platform. This without providing a credible replacement for Win32 ensuring it would be around for decades.

That fracture fractured again with XAML, again losing tons of maturity, and then fractured even further with the UWP/Silverlight/Metro/WhoKnows. I've never been a bigger fan of MS's product line, but can't justify or defend using much on the client other than html for fancy things or standard winforms for deployability.

Most of the legacy stuff continues working long after it's the hot new thing, though.

Until you hit a bug. The one that killed us was we had to deploy a registry fix to 2000 workstations at hundreds of companies because they broke ClickOnce in IE9 and later. It still isn't fixed today. We still have to eat the administrative cost. Over time, that's a shit ton of cash leaked out on a mistake the vendor has made.

Clickonce is such garbage. I'm sorry I ever heard of it.

I can't believe an company so vested in the enterprise market can do such a terrible job of allowing companies to deploy enterprise software. Click once isn't supported in VS anymore, and was always horrible when it came to things like CI servers anyway. Windows 10 store requires running on azure which make it a no go, doesn't allow push updates anyway. The best options have always been third party ones like chocolatey or NSIS, but they are limited as well, chocolatey does not allow push based and NSIS is pretty weird.

19 years after the first release of apt-get and I'm still waiting for MS to give me something half as good.

Click-Once is like... the smartest idea that ever got built by people who have never worked in places that need something like Click-Once.

I am of the opinion that if they had dropped the "use apps over the web" angle and focused on small-medium-enterprise continuous deployment they woulda had a true game changer on their hands... Click-Once dovetails naturally into something like Apples launchpad, its "turn it off and turn it on again" workflow was ideal for 'Sue in Accounting', its simplified publishing model is great for ISVs with lots of customers, and its sandboxy requirements are a natural fit for the way dotnet core is coming together.

And, yeah, that the Windows ecosystem is still worseoff than apt-get forever ago is a) shocking, b) further proof that Richard Stallman was right about everything ;)

the next Windows update adds ClickOnce-like functionality to its app installer: https://blogs.msdn.microsoft.com/appinstaller/2017/09/27/aut...

perhaps doesn't solve your problems yet :)

Wix isn’t terrible. We use that for deploying two products. When I say not terrible it hides a lot of the design by committee ugliness of MSI packages.

Have you looked at chocolatey as a total replacement for apt-get? If you havent, be prepared for eye gouging disappointment! :(

That too!

But it never matures. You are stuck with half-assed stuff in many cases.

...sometimes to the extent where the hospitals in your country get crippled by malware :-/

Basically "Fire and Motion" in a situation where that strategy is NOT to their advantage.


Wow that was a great read.

As stupid as [my reply] may sound, thanks. Your comment prompted me to read that, and you were right, it was a great read.

I do get where you're coming from but I have a more moderate perspective.

I mean we can certainly point to examples where that's the case: Silverlight's a classic here, if that term's even appropriate, and then of course there's WP7, 8, and 10, as mentioned by the grandparent. And these are clearly not trivial examples.

Nevertheless, I must point out that large bodies of code I wrote in the mid-noughties are still running substantially unmodified today. What's perhaps interesting is that these codebases are desktop tools, where it can be argued that Microsoft have achieved true mastery (after WPF came out everything notably settled down, and unlike MFC and WinForms it really hasn't been replaced).

It tends to be other areas where the worst of the churn has occurred: web, mobile, database access (how many versions of EF to get it right?). Of course, these are areas that have seen significant growth over the past few years.

Still, even in their worst period Microsoft did not begin to approach the lunacy of framework churn in the JavaScript world.

My pet theory is that this is because the dev tools department at Microsoft is not a pure cost centre with the sole task of improving the platform, they have Visual Studio licenses to sell. If there is any truth in that, we should see a slow decline in "API of the year" as non-subscription licenses (where customers are prone to skip an update when it does not have enough "revolutionary must-haves") are slowly phased out.

    My pet theory is that this is because the dev 
    tools department at Microsoft is not a pure cost 
    centre with the sole task of improving the platform, 
    they have Visual Studio licenses to sell.
This is the single most baffling thing about Windows to me, and it always has been. Why insist on trying to sell Visual Studio licenses, instead of maximizing the amount of software written for your platform(s)?

It doesn't even seem like they're acting in rational self-interest by doing that.

I suppose their rationale is that they give a lot of development tools away for free, and you only really have to pay for the really enterprise-y editions. I guess? Still dumb to me.

MS DOS used to come with a Basic interpreter, if that's what you mean ;)

Later, when the PC platform became what we know today, there wasn't really a channel for free (small f) software except shareware magazines and Microsoft surely would not be seen with that crowd! In those days, Microsoft wasn't concerned with losing the heads and minds to another platform but with losing the revenue to Borland. Since then, more and more has been made available (I still fondly remember laying my hands on the first Windows SDK day came with a free command line version of the MSVC compiler), but it is a culture shift that won't be rushed as long as there are no really pressing reasons.

> Why insist on trying to sell Visual Studio licenses, instead of maximizing the amount of software written for your platform(s)?

For a while now they haven't been doing that. Community editions are just as good as paid ones and before that Express versions were still comparable if not better than open source IDEs.

Licensing their dev toools gives discounts on tools for development which pushes orgs to buy for-realsies licenses.

Partnering with them gives rebates on their dev tools licenses and gives you kickback when you push your customers to buy for-realsies licenses.

VS is just the fishermans hook, the haul are the 600 SQL server CPU licenses you have ticking all day, every day.

> The thing about the MS platforms that has always been an issue is that they change the developer APIs around all the time.

There was a time when MS would detecting the binary name, and change core kernel functionality just to provide bug-compatibility to older versions of Windows. By that time they got an unbeatable market dominance...

That’s because you don’t get promoted there unless you do something new and super complicated. That’s also part of the reason why Android SDK is such a pile of garbage, the other part being they rush half baked shit to market all the time.

In Microsoft's defense, they also tend to support their stuff for a long time. I work with MFC every day. It's 20+ years old and still being developed.

I stumbled over a few bugs in WPF (worked in WPF3.5, would hang in WPF4), which were, for at least 4 years, documented and "WONTFIX" with no acceptable workaround (workaround provided slows things down by a factor of 10 under some circumstances).

Maybe it's fixed with the reinvigorated WPF on Win10. I don't care anymore, but I do caution anyone to ever use any MS Technology younger than 15 years.

I'd say .Net Core is worth considering, but no real UI story as of yet... pretty nice for services though.

OMG. MFC ? You mean Microsoft Foundation Classes ? mmh. that stuff is still supported ? eventhough there was/is all the .NET crazyness. That's actually pretty good of MS. I guess the main question is: how do you in advance if you got a MFC-like library from MS with 20+ year support vs a library like Sliverlight where they drop support and let you alone with a migration to a different platform ?

Maybe there's a cautionary tale about being an early adopter here. I don't know if I would start a new project with MFC, but it was a fantastic decision in 1996.

In a way, I think it's harder to pick technologies today for large projects. It seems like if something isn't new and growing steadily, it's stale and fading fast. What are the tools and frameworks with a long, healthy middle age ahead of them? I'm learning Go right now because there are a couple of web services I need, but I'm not that confident that I'll be able to run the same code for the next 20 years.

Kind of, OWL and VCL were much better technology but Borland's management...

Oh man, I remember those now. You're right - they were better. It reinforces my point about how difficult it is to choose a long-term technology. It feels a little like picking stocks.

Erlang, for instance? Picking up a new shiny thing and complaining that it's not something with a proven track of backward compatibility is not a rational thing to do.

As someone that worked on migrations to Silverlight and then to UWP, I still don't understand why these are seen as such big deals. The APIs were more similar than they were different and XAML is still XAML. (The only big loss from Silverlight was being able to browser-host it, but even then that was probably worth losing for the greater good to avoid terrible plugin websites.) The only thing they really dropped was Silverlight as (an unnecessary) brand name.

If they had semvered the whole thing: Avalon => UWP 0.x, WPF => UWP 1.x, Silverlight => UWP 2.x, Windows 8.1 UAP => UWP 3.x, today's UWP ~=> UWP 4.x, I don't think any developer would have blinked, I feel like we'd have a lot fewer people feeling they dropped support for things... Then again, developers like to complain when their cheese is moved, it could be just like Python 2 versus Python 3 or VB6 versus VB7.

At the mean time we are celebrating 10 years with the same UI engine: https://sciter.com/from-skeuomorph-to-flat-ui-evolution-of-o...

The only major thing: added Direct2D H/W accelerated backend to support high-DPI and multi-DPI systems. Yet incremental addition of CSS features.

You couldn't just port from WPF to Silverlight. They took away tons of features. WinRT was even worse. No idea about UWP but I don't care anymore.

That's why I mentioned semver. APIs change all the time, backwards compatibility gets broken. Yes, conversions weren't always straight forward, but often were possible, and there was an evolutionary arc to it all, and a migration story to follow, even when sometimes that story was a bit rougher than anyone wanted.

They couldn't have done that because these technologies are not exactly for the same things and don't have the same features.

Silverlight was mainly for apps embedded in the browser. It was very limited compared to WPF and not meant to replace it.

Similarly, Metro was not meant to replace WPF. It was extremely limited in what you can do. You couldn't build serious desktop apps with that.

The fact that all those technologies use XAML does not mean they're newer versions of the same thing. The difference in APIs is not what matters, it's the difference in what they can actually do and how that makes them different.

The family tree seems pretty clear to me, yes, Silverlight was a sideways jag, but it wasn't originally "just" for embedding in the browser, it was a cross-platform WPF subset. (In the family tree both WPF and Silverlight, sometimes codenamed WPF/E for Everywhere, split from different goals of the original Avalon project.)

I think you can tell that WinRT/Metro/UWP was/is meant to replace WPF. It used to be extremely limited, but A) had a bigger cross-platform reach that WPF (ARM is/was a big deal), so started with the cross-platform subset, B) was essentially "Win64" from scratch so had a lot of pieces to build.

Starting next month-ish UWP supports .NET Standard 2.0 and the hard work of the re-convergence of classic desktop .NET and cross-platform .NET APIs has happened (huzzah), and it will be a lot harder to argue that UWP is "extremely limited" compared to WPF because 70% of NuGet will just work.

You still don't have a clear path forward from WPF. I don't understand why they even needed UWP. Why not improve WPF?

I think .NET Standard 2.0 is about the clearest path you could get forward from WPF.

> I don't understand why they even needed UWP. Why not improve WPF?

The short story: 1) To first-class support more platforms/architectures (ARM). 2) To support C/C++ and other COM developers, bringing everyone COM [WinRT] [1] and Managed (.NET) to the same table. (Microsoft still has a lot of teams invested in C/C++; it shouldn't be a surprise that they couldn't just focus on .NET and leave C/C++ devs behind.)

The full story I think is pretty fascinating, but that's the executive summary.

[1] Crazy aside: the tech still sort of known as WinRT is closer to the original goal of .NET as a COM replacement than .NET became. It's also close enough to COM that I'm still surprised no one's admitted to building a UWP Delphi or VB6 app. (Not that I'd admit to doing so if I built such a beast.)

That's a very charitable explanation that I find hard to accept. I think it's more that MS .Net development is organized in way that it's easy to do new stuff but hard to maintain an effort long time. In other areas they are able to make progress without breaking everything all the time. C# has stayed backwards compatible while still moving forward quickly. SQL server doesn't release a new version every 2 years that breaks old stuff.

Somehow they seem to lack leadership.

Keep in mind that .NET Core is almost the same .NET runtime/framework (little-f) that powers UWP. It's been a huge hurdle across the board, web and desktop alike. I'm sure if the .NET team had had a magic wand to shrink the .NET Framework (cap-f) down to a smaller size and remove all the legacy Win32 code without breaking so much compatibility they would have.

It's easy to say in hindsight that they should have tried for something like what .NET Standard 2.0 is today earlier, but I, at least, can't blame them for attempting to try to clean house and remove terrible dev experiences like AppDomains and DataTable. Those APIs are terrible and should have died.

But again they have no upgrade path. They just produce something new and expect everyone to jump on board. My expectation is that UWP will last 2-3 years and then they will have something else that does the same but in a different way and UWP is in maintenance mode.

You may be confused. .NET Standard 2.0 support for UWP means the upgrade path is (finally) here today. Start a UWP project in VS 2017.4, make sure the project targets the Fall Creator's Update (the Windows 10 feature update to be released at the end of this month), and from that UWP app you can now add a reference to almost anything on NuGet you want. .NET Standard 2.0 support means that if it ran on the .NET Framework 4.x, it likely runs on UWP now (with rarer but obvious exceptions like using old WPF or WinForms libraries, some of which will still "work" as no-ops not actually doing anything).

Again, I'm not sure how much clearer of an upgrade path you could want? If you have a WPF app today, everything but the XAML will work in Fall Creators Update UWP. The XAML may even be trivial to convert to UWP XAML, they are related like family.

Wait so are you saying UWP apps can now access the machine they're running on in a sane manner (so, limited only by the privileges of the user who ran the app, without additional limitations enforced by the platform itself)?

Because that was the main limitation of Metro apps, you couldn't really do anything useful with them, you couldn't even access the hard drive normally or edit the windows registry. This is why you couldn't "upgrade". It wasn't an upgrade to any previous tech, it was a downgrade as the platform literally had less capabilities. It is, or at least was, basically a platform for making sandboxed mobile apps that you can run on the desktop...

This is why they clearly weren't (at least Metro, I haven't worked with UWP) an "upgrade" to anything. Silverlight wasn't an "upgrade" to WPF for the exact same reason. It was a more limited platform and you couldn't switch WPF apps over. So MS calling Silverlight or Metro a new version of WPF would have been retarded.

Things are still sandboxed, but the sandbox has grown a lot since early Windows 8 ("Metro" era). Depending on your definition of "sane", it seems rather "sane" to me to have at least some sandbox protection of the applications to run. Yes, Windows 8 felt like a straight-jacket more than a sandbox to some, but current UWP, especially with .NET Standard 2.0 support in the FCU, at least builds with most of the libraries even if some of them are essentially no-ops or (security) exceptions at runtime.

So, you still can't touch the registry by default, but why would you want to? There are much better places to store stuff.

The UWP is meant to be a replacement for Win32, so it shouldn't be a shock that a lot of Win32 components aren't available by default.

However, you can use the Desktop Bridge and request permission in your app manifest for more privileges, including things like registry access. The Desktop Bridge has a lot of examples out there on things you can do. You can use the Desktop Bridge to transition a WPF app slowly to UWP over time. For instance, you could launch UWP screens from your WPF app, allowing you to move piece-at-a-time if you wanted. There are even samples on how to migrate settings currently stored in the registry (ugh, why) over to Local AppData storage like a proper application, to transition away from Win32 bad practices. (Of course, the parts of the application that need the Desktop Bridge will only work on Windows with a Win32 subsystem.)

There was no migration story. Usually an API gets more features but in this case they took away a lot of critical stuff. A lot of us write applications that need the full power of the OS and not just a small arbitrarily chosen subset.

These frameworks are by no way equivalent. Silverlight was running on multiple versions of Windows and Mac OS. It should have being kept just for that awesome feature.

On the other hand Win8/10 apps don’t run on anything than the OS they were released on. Which is totally laughable because it means choosing the MS stack allow one to target less Windows OSes than third party tools. So these SDK were doomed from the beginning as thay couldn’t leverage the existing Windows userbase.

> how do you [know] in advance if you got a MFC-like library from MS with 20+ year support vs a library like Sliverlight where they drop support and let you alone with a migration to a different platform ?

If it is old, it will be supported for a long time. If it is new, the odds are mostly on it not surviving. Ever wondered why so many people insist on using outdated stuff?

You get a better deal from open source. But even there you may not like the possible consequences of using non-mainstream things.

They support the stuff they can't kill for a long time.

You can still run VB6 apps but try running a .net framework 1.0 app!

I'm not sure it requires a rewrite, the old stuff still works. The trouble is the constant churn is draining, I've pretty much abandoned the platform because of it. We keep hearing about new JavaScript frameworks but we had exactly the same from MS: win32 => MFC => WTL => VB => WFC => Winforms => WPF => Metro => UWP, no doubt there is something else just around the corner.

Calling that "constant churn" is a massive exaggeration. First, using WTL or WFC were just bad decisions because those were side-projects and MS never told companies to switch to that and definitely didn't encourage rewrites into that. They were not replacements of anything by any stretch of imagination. That's like complaining that MS made you rewrite your app in Lightswitch or IronPython. It is just a side-project, not something ever intended to become the main MS dev stack.

So realistically for most MS stack devs it was MFC -> VB -> WinForms -> WPF -> Metro -> UWP. And MFC was released 25 years ago. So they switched 5 times in 25 years. You could possibly add Silverlight in there (which is extremely similar to WPF so only half-counts for churn purposes).

Now, I agree that the Metro -> UWP part was unnecessary because they were doing the same thing twice so they should have gotten it right the first time (and I think the whole UWP concept is worthless anyway).

If we look at MFC -> VB -> WinForms -> WPF, all those technologies provided a lot of value to us and it was very useful to have them. Would you want to still be programming in MFC today? I am pretty sure you wouldn't. I do not feel any "churn" from this (note: I never switched to Metro/UWP because I considered it a step backwards, unlike the previous "switches", so I stopped at WPF when it comes to desktop), I can barely remember programming in VB 6.0 because it was such a long time ago.

Saying that's "exactly the same" as the situation with web is ridiculous.

Your 5 times in 25 years suggests an overhaul every 5 years. Context matters. WPF became mainstream in 2007

WPF, Metra, UWP, and Silverlight in 2007 -> 2017 is 4 overhauls in 10 years or an overhaul every 2.5 years.

Also not fixing bugs in earlier tech creates a compulsion to switch to the next tech.

metro/winrt -> uwp wasn't really an overhaul, it was just a new name for the next version of the same thing more or less.

Microsoft used to only make money selling software licenses. This has changed with Azure cloud stuff, but the majority of their incentives still don't align with their developer/customers.

With Azure they can bill you for the licenses and the computing platform, while also ensuring a pretty impressive degree of lock-in once the platform is sold.

Not only are their incentives still out of alignment, the massive consultant eco-system they maintain is still incentivized to push the same-old lock in in a new costume.

SOAs are like partners in bed... it's not just about who you're sleeping with, you gotta think about who they have slept with too.

Picking Apple as an example, other are possible.

Object Pascal, Powerplant, Quickdraw, Java Bridge, Quicktime, QuicktimeVR, Carbon, OpenGL, ...

Apparently only Microsoft does it.

This is exactly what made me quit desktop development on Windows. MFC, ATL, COM+ learning going to waste was a bridge too far.

There's a semi-contradiction in your post that I think speaks to some of the issues MS had:

"It started with windows phone 8 and the Metro UI. Bad Idea. The UI was too far away from Android/iPhone to be easily ported "

"half-baked half-assed phone plattform that at no point had even a single feature that wasn't available better on iOS and Android"

As someone who played around with WP7 when it first came out, I'd argue that the Metro UI was the best one available at the time. But the side effect of that is that it was different, and difficult to adapt an existing app to.

Essentially, MS needed to make a bold new platform with inventive new features, but also make the platform very compatible with the other major mobile platforms. You can't easily square that circle. Now, MS also messed up in a million and one ways (like my phone never getting a WP8 upgrade...) but I think their fundamental challenge was very, very difficult.

My wife had several Windows Phones in succession.

Her use of a phone is very practical: contacts, texting, weather information. All of this was available at a glance in a much much better way than either Android or the iPhone have. It was a better business UI.

It was harder to use if you had many apps. But seriously, having a phone open to the equivalent of Windows 3.1's Program Manager (which is what Android and iPhone deliver) is not great!

The iPhone opens to something like the Program Manager (but with little numbers showing which apps have active notifications).

Android opens to something like a Desktop, with some combination of Widget apps and/or app shortcuts. Mine is configured to show a clock, mini calendar, and weather. Incoming e-mails, SMSes, or other messages are visible in the notification bar. I could configure it to show me little previews of messages, but I chose not to.

Android has supported home screen widgets and activity shortcuts since forever. Live tiles are hardly better, they're just a very Metro-y approach to the same feature.

There used to be a homescreen replacement app for Android called SlideScreen [0] (homepage is active, but the app is abandoned) that would try to give you as much information at-a-glance as possible.

[0] http://slidescreenhome.com

Thats imo no contradictions. Metro did things different but in no way better and felt severly restricted compared to android/ios ui design at the time. They banked on having everything look the same in the whole OS but never considered that certain apps just straight up wouldn't work with the metro UI concept.

> that at no point had even a single feature that wasn't available better on iOS and Android

According to the dates[0] I found online says Windows was the first to have a feature that would automatically connect to your cellular connection if the Wifi didn't work. Most consumers don't care but it is something I was surprised iPhones[1] and Android[2] didn't have at least at the time. In addition continuum is unique/better in many ways although that is more recent. It has been a while since I have used a Windows Phone.

[0] Windows 8.1 definitely had it in 2014 according to this https://support.microsoft.com/en-us/help/10652/windows-phone... I'm pretty sure Windows Phones predating this also had it although documentation seems lacking.

[1] Wi-fi assist was introduced in iOS 9(2015). https://support.apple.com/en-us/HT205296

[2] There are apps for Android that do this but at least this one is 3rd party. No sources says it predates 2015. I have not experimented with this on Android. https://www.guidingtech.com/54831/get-ios-like-wi-fi-assist-...

> first to have a feature that would automatically connect to your cellular connection if the Wifi didn't work.

Huh? Maybe my memory if failing me, but that's how networking on iOS always worked.

Previously to iOS 9 if you had a solid WiFi connection but were stuck in the LAN for some reason (broken DNS or captive portal, no WAN connection, broken route or whatever not affecting the LAN segment) you were toast and had to turn WiFi off. WiFi Assist solves that.

Perhaps he is referring to the long-standing habit of iOS to NOT drop the wifi until way out of range which would lead to an awkward hang. I think they fixed that in the last year or two, but it was pretty damn annoying.

> According to the dates[0] I found online says Windows was the first to have a feature that would automatically connect to your cellular connection if the Wifi didn't work.

This is the most infuriating feature ever. Google implemented it in 2014 in Android, and you couldn't properly disable it. Not even today.

I frequently need to connect to intranets where Google services are blocked for security reasons, and it's infuriating to fight hundreds of times with the settings so you can get the WiFi to work.

Then in my opinion it sounds like it is still not "properly implemented" with a toggle. Thank you. I have always been curious about Android. I do agree it's probably better not to have this feature by default then to have without a toggle. Just depends on use case.

Oh, they have a toggle. They've just changed it every time, and broken it in subtle ways every time.

Now they've introduced this "Mobile data has run out" which stops me from accessing my telco's app to check my prepaid balance, because it completely cuts off all mobile data. Just as annoying.

> If I recall correctly Windows was the first to have a feature that would automatically connect to your cellular connection if the Wifi didn't work. Most consumers don't care but it is something I was surprised iPhones and Android didn't have at least at the time.

I remember having an app on android that did that long before windows phone had it. It was able to turn on/off your wifi based on your location. Great battery saver.

> In addition continuum is unique/better in many ways although that is more recent. It has been a while since I have used a Windows Phone.

Samsung cloned it for their S8 Series and it seems to be actually usable from the start compared to windows continuum. Though by the time continuum was available, wp was dead.

> I remember having an app on android that did that long before windows phone had it. It was able to turn on/off your wifi based on your location. Great battery saver.

That is technically different although similar. I have updated with dates. Windows Phone definitely appears to have been first in this scenario unless you count rooted devices which may have something I don't know about.

> I found online says Windows was the first to have a feature that would automatically connect to your cellular connection if the Wifi didn't work.

If the wifi doesn't work, no phone will use it. If the wifi is BAD, that is completely different.

I am implying an inconsistent wifi with speed or LAN issues. The wifi goes down all the time at my house because of Spectrum/time warner cable issues. My iPhone prior to Wifi Assist will use the network at my house if it has a good wifi connection regardless if was broken or just slow.

I had the same experience while working on WP in 2012-13.

In early 2013, I reported a bug when some of the elements inside LongListSelector would disappear randomly on scrolling. LongListSelector is WP’s counterpart for iOS’s tableView.

So I started a discussion on Microsoft forums on this bug. Someone from Microsoft confirmed this bug.

I tracked this bug for 9 months. And guess what they never fixed it. They never fixed a critical bug in the most used UI component of mobile apps.

> it finally looked like the UWP Plattform might do the trick. Well nope. The SDK is garbage. Scaling from phone to desktop is hidiously bad and afaik still not solved.

A lot people tell me Xcode is garbage, Eclipse is a nightmare, but these apps keep getting cranked out. The Android / iOS language and platform api's are SNAFU, but people get still get into the IDE and start making, without any promise for a set of conversion-frameworks + XML files that will make the app for All The Things. At the rate an app builder is adding features, the universal-platform paradigm is cognitive overload.

I think a No-XML based approach to app development, similiar to VB6 / VBA, would have been greatly appreciated. If MS gives me a stable API to an email client, a calendar, a shared drive, and a messaging or video chat service, I'd spend the 5 hours to automate a 5 minute inconveneince. A windows phone with a bunch of "lifehacks" apps would tremendously useful to much of the smartphone market, as long as they had the cant-live-without-apps too.

> A lot people tell me Xcode is garbage, Eclipse is a nightmare

Xcode is absolutely sits at the bottom of the IDE rankings, but Eclipse shouldn't even be a concern for Android devs.

Android Studio is a very nice IDE and no Android dev should touch Eclipse ever again. It's a shame it's tied to the Android platform, honestly.

I'd kill to have Android Studio's functionality when developing for iOS. (And no, AppCode doesn't make the cut)

> It's a shame it's tied to the Android platform, honestly.

It's not, it also supports Java, C++/C/ObjC, Go, Python, PHP, JS, and many more. Find the other Jetbrains IDEs at https://www.jetbrains.com/

Android Studio is a fork of InteliJ, you cannot use it as InteliJ, because the options are tailored for Android,

If you use InteliJ with Android plugin instead, then you will always be behind the curve of the actual Android development, as JetBrains catches up.

How is it a fork of a closed source product, and how is the developer of said closed source product behind the curve of their own product?

Ever heard about cooperation and developer agreements between companies?

IntelliJ isn't closed source, it's on GitHub, under an open license. As are most of the premium IDE plugins from JetBrains.

Only the community edition code.

Plus 90% of the addons.

Only a handful of them aren’t.

So how do you compile the add-ons that require the closed source part?

You don’t, you don’t need them, and Android Studio doesn’t include them either.

You can have all the features of Android Studio in all the languages I mentioned just with the open plugins.

No, because Google has changed the way wizards work, which means any plugin needs to be developed explicitly for Android Studio as well.

As proof of this, the Flutter team just released a version of their plugins for Android Studio.


Android Studio also includes bits of CLion for example.

Are you deliberately trying to ignore what I’ve been saying?

My argument was that you can take IntelliJ’s open edition, with its plugins for C++/C, etc, slightly modify it, and get the same functionality as you’d have in Android Studio for more languages than just Android.

No you are the one ignoring what I am saying, as apparently you are not doing Android development.

1 - InteliJ Android plugin is not the same as Android Studio, it lags a few versions behind;

2 - The free C and C++ plugins are not the same as the parts from CLion that Google integrated into Android Studio;

3 - Additionally the mixed Java/Kotlin and NDK debugging is also taken from CLion

So if you want to be behind the curve of what Android developers use daily, by all means use pure InteliJ with the plugins you are suggesting.

> No you are the one ignoring what I am saying, as apparently you are not doing Android development.

Great, you could’ve checked my profile, or googled who I am, but apparently you didn’t. Spoiler: I do. A lot.

> 1 - InteliJ Android plugin is not the same as Android Studio, it lags a few versions behind;

Which is irrelevant, because Android Studio itself is also splittered into several versions, and many devs simply use the beta, and others use IDEA directly, and yet others simply copied the plugin over.

The plugin in IDEA Ultimate is up-to-date with the latest stable version of Android Studio, btw.

> 2 - The free C and C++ plugins are not the same as the parts from CLion that Google integrated into Android Studio;

No, but they differ insignificantly, I’ve been using both options daily, and both work just the same and fine.

> 3 - Additionally the mixed Java/Kotlin and NDK debugging is also taken from CLion

That’s something I don’t know anything about, as I mostly use a custom solution for that purpose.

Ok, fare enough. You win. :)

It’s true that there are major differences between 3.0.0-beta6 and IDEA-CE, but 2.3.4 and IDEA-CE are basically the same.

And the open C++ plugin is actually the same that powers CLion (if you have CLion installed, I recommend looking at the plugin list)

> Then came windows 8.1 and windows desktop 8 which was universally hated. The whole fullscreen apps debacle was just horrible and all the unnecessary restrictions on store apps for desktop made no one ever consider porting their desktop app to a store app. The whole phone and desktop app in one was a joke aswell since it was (and still is!) horrible implemented. Did I mention they broke compatibility from 8.1 to phone 8? I didn't even bother starting all over again for windows 8.1 i just straight up skipped it.

What was so horrible about it? I almost invested in a surface just off the strength of the UI; I rather liked that they were trying to merge desktop and tablet. Why was the experience so bad?

Windows 8 "metro" UI caused an uproar for many reasons, some of the biggest ones being:

- the start menu covered the whole screen

- applications could only run full screen, even the simplest ones. You literally couldn't have 2 applications on the screen at the same time.

- it was hard to close applications

- it was very difficult to find the shutdown/reset/etc options

- the metro versions of "default" apps looked bad and were vastly inferior to the "old" versions. A lot of system settings ones had this problem, too (not relevant to the average user, but I use a VPN that is impossible to set up to work in the simple "metro" VPN app, but if you find and start the old win7 app which still exists, you can set it up correctly and you can even connect to it from the "metro" VPN app after that)

- a lot of computer games that worked on 7 didn't work on 8 (likely unrelated to metro UI but still a reason for many people not to update)

Some problems were fixed in Windows 8.1. In Windows 10, most of these things are fine (although Win10 gets hate because of its update system and because it installs unwanted apps, but it seems to have much more acceptance overall).

Windows 8 basically offered nothing to the average user except annoyance so people didn't want to update. It had a very nice improvement for developers in the form of Hyper-V, which is the only reason I upgraded, and only after 8.1 was released.

The root problem with Windows 8 UI was that it was clearly not designed with the intention of being a better desktop UI. It was designed with the intention of forcing users to get used to the Windows Phone-style UI on their desktop computer, in hopes that they will then buy Windows Phones out of familiarity. Basically desktop Windows had to "take one for the team". We can see here how much that helped WP.

Personally I remember the biggest pull to windows 8 for me being Games that ran on both 7 and 8/8.1, seemed to perform alot better on 8.1; they didn't advertise that it was a preferred OS or that it was designed for it.

I suspect it was related to streamlining by removing the oldest backward compatibility features, as the only apps that broke were those that ran on windows XP, most frequently they were games that weren't programmed with Vista+ in consideration (often because it didn't exist when originally released).

I specifically remember a bunch of games capping at about 20 FPS on Windows 7 and going 60-100fps on 8 when it was new using my nVidia Quadro SLI setup at the time, and having no luck finding anyone else report this on google (likely because so many people weren't giving 8.x a chance so they didn't notice).

I actually loved 8 and thought that 8.1's gui was a step backwards, the gui was extra easy to use and originally had me going back and forth between windows 7 and 8 when the performance difference eventually won me over completely as my default environment. I still kept 7 installed on another drive for the infrequent use of incompatible apps.

The biggest frustration, to me, is that WPF was basically left on the vine while they pursued this WinRT stuff.

I think the evolutionary path connecting WPF and "this WinRT stuff" is extremely clear and if you've built WPF you can build UWP. UWP .NET/XAML is great to work with if you know WPF, it's truly a successor to WPF in every way. (It'll be even better soon [as in next month] thanks to .NET Standard 2.0.)

That may be so, but WinRT comes with a bunch of limitations, so there isn't really a no-brainer choice for application development, and also, considering how deeply it's associated with the unpopular Windows Store app and Windows phone, who wants to throw in their lot with it? Frankly it hasn't seemed worth investing that much time into any of them and I pretty much just end up reaching for yet another WinForms MVP app. But WinForms practically works against you in the effort to separate UI from behavioral code so that isn't that satisfying either.

Limitations change as API priorities shift. The platform has grown over time. Some inherent limitations are useful (to be a medium to creativity, to the user's control over their system overriding a developer's narcissism, to the idea that security and reliability are worth engineering for), and yes, unlikely to disappear entirely.

I can't dispute the unpopularity of Windows Phone, but from what I hear the Windows Store is fairly successful in Windows 10. Many consumers use it to install apps, which is a judge of popularity. However, if by popularity you instead mean sentiment, then I get the impression that currently most people are ambivalent about the Store in so far as it is a pragmatic tool that people neither love nor hate, just as most people neither love nor hate their toaster so long as it toasts. (Certainly there are haters, but volume of their voices is not necessarily an indication of their size/number/consumer spending activity per the first definition of a popularity, just a reminder of the passion with which they feel their sentiment.)

> from what I hear the Windows Store is fairly successful in Windows 10.

Here's one data point for you. Windows Store used to have an official Kindle app. It doesn't since the end of last year, because Amazon basically said they don't see the return on that investment. They now recommend their desktop Win32 app if you want to read Kindle books on Windows.

Needless to say, iOS and Android do have well-supported Kindle apps.

You can find all kinds of anecdotes on both sides. Facebook's app was built by Microsoft for years because Facebook had zero interest in Windows phone/mobile, but download counts in the Windows 10 store on PCs/desktops/tables pushed them to build React Native for Windows 10, they now officially control their own app, and it's been keeping decent pace with iOS and Android these days.

(As a kindle user, I too am extremely disappointed Amazon developers haven't yet build a modern kindle reader for Windows 10 and cling to their Windows 7-targeted Win32 apps for now. The Silverlight-based app they built for Windows 8.1 I still use sometimes, and it is woefully out of date with the features of most of their other apps.)

One of the key issues for me purchasing on the Windows Store is that my purchases my disappear at any moment. I have had half of my purchased apps disappear.

And it is next to impossible to get a refund.

Last week I noticed that my purchased music on Groove has disappeared ahead of the end of year termination of service.

This sort of happened to us at our work - a developer pulled an app from the store and we needed to install it on other machines internally, but there was no way to do so without going through the store. So it left us totally screwed after paying licensing fees.

I'm still maintaining a WinForms app, the only problem I've had is dealing with high dpi displays is really messy.

The biggest pitfall on a project you work on with other people is how much it tempts you to just put all the behaviors into the code-behind of the form.

The problem with UWP is that it requires Win10. This makes it a no-go for vast majority of developers targeting desktop Windows, given that Win7 is still dominant, and will be for a while to come.

Why MS didn't create a UWP emulator or wrapper for Windows 7 is beyond me. No Windows 7 compatibility is the main reason my company isn't bothering with UWP for our desktop software.

It's the same problem that you have, isn't it? You don't want to support two codebases, you just want to build your app once and have it run in two places. It costs time and development budget to maintain two different codebases, and you have to prioritize. Can you really blame Microsoft that they don't want to maintain both a modern codebase and a completely separate fork/back-port of it for a much older branch?

That said, it has been possible to share a lot of code (if not almost all of it) between a WPF and UWP app for a while now with PCLs, or after that targeting .NET Standard. That gets even easier once UWP support for .NET Standard 2.0 ships soonish. There's also been work recently on Xamarin.WPF for Xamarin's cross-platform code sharing, and the XAML Standard 1.0 work trying to converge much of the XAML across all the platforms Xamarin supports and UWP to get rid of a some of the dialectal nuances.

Maybe because Windows 7 lacks the sandbox features required?

That's a good argument for not having the app store on Win7, but APIs are a separate matter. If UWP API could be used to write something that is both a store app on Win10, but can also be deployed (let's say, in a manner similar to Electron apps, with the runtime packaged with the app) on Win7, I think we'd see a lot more of them. Even if you had to build it separately, so long as most of UI code could be shared, it's a boon.

As it is, it's easier to just target WPF.

All new APIs introduced since Windows 8 are mostly UWP ones, so basically you are asking for implementing Windows 10 on top Windows 7 kernel.


And I know it's not an easy thing. But if e.g. the resources that went into Windows Mobile were spent there instead, I think the ecosystem would have been much further ahead, and we'd actually see more useful UWP apps.

It's a green field versus brown field problem. Windows Mobile was/is a green field where the only competition was exterior. Whereas UWP has to compete with Win32 on the desktop and tablet.

It's easy to armchair quarterback hindsight and wonder if they spent too much money in the green field, but it should be reasonable to see why the green field looked so appealing at the time.

It's also easy from 2017 to forget the real, hard, brown field battles that Microsoft did fight, particularly as Windows 8 and Windows 8.1 slowly become "forgotten" versions of Windows like Vista before them. Almost all of the missteps in Windows 8 that people yelled at Microsoft for direct consequences of building the UWP out and trying to make it competitive to Win32. Some of the features like the Charms were attempts to give the UWP some platform-wide features that would have really differentiated it from Win32, but found they added confusion because they weren't easily portable back to Win32, and that is just one example out of many. Brown field work is hard.

I don't get the impression that the green field work Microsoft tried in mobile ate resources that would have been better spent on the brown field work on the desktop. Win32 has such momentum at this point that had Microsoft thrown more resources at Windows 8, trying to bring UWP further ahead faster they might have only gotten more backlash from Win32 fans, and arguably there wasn't a much better plan for desktop than the uneasy truce between the two platforms/subsystems that Windows 10 is/has become.

If they had built a "UWP subsystem for Windows 7" at the time of Windows 8, people would have asked for it for the last remaining months of Windows XP. Asking for a "UWP subsystem for Windows 7" today is a bit like asking for that Windows XP subsystem. Windows 7 is feature complete; it may have security support for a bit longer, but it's out of support for new Windows features (it ended mainstream support in 2015; it ends extended support in 2020). It's now two released versions behind (8, 10) and more versions behind if you count "service packs" (8, 8.1, 10 (1506), 10 1511, 10 1607 (AU), 10 1703 (CU), and the new one (FCU) coming later this month/early next month).

Honest introspection: if you are a developer and someone asked for a feature to be backported to a version from 7 years ago that is 6 major versions back, would you support that or would you encourage them to pay for your hard work and upgrade to something more recent that already has that feature?

It's not just that the work is hard, it's ignoring years of hard work that you've already done.

It occurs to me that a lot of it is really the sunken cost fallacy.

(by the way, do check my HN profile...)

That's pretty much the summary of what I was trying to convey. It's fascinating how developers get stuck in it on one side ("we have to stick to this old version of Windows because IT has put so much work into getting it right"), but then get angry/fail to appreciate the other side ("why won't this cool new library support this old version of Windows I'm stuck in").

(The Python 2 versus Python 3 "war" is obviously very related. Sunk costs on developer/ecosystem side versus sunk costs on library/platform/language side. It's a fascinating dance that likely will always plague development.)

For what it is worth, to explore the other side, there probably were ways out of the development trap for Microsoft had they tried, and there probably are "Mexican stand-off" issues to blame and "throwing good money after bad". Silverlight (WPF/E) was meant to be a way around that standoff. I still think it was a mistake that the fork of Silverlight with desktop application support that Mesh had used to support XP and Vista was never productized. Silverlight was always meant to be a cross-platform bridge technology to WPF (and Avalon), and the .NET Core and UWP Stacks grew out of Silverlight in many respects.

The browser focus of Silverlight deployments may have been a mistake, and while Mobile realized it was exactly the transition tool they needed (using it for Windows Phone 7 and 8 while the proto-UWP was in development for 8.1 and 10), it probably was a mistake in hindsight that there wasn't a stronger "Silverlight for Desktop" option, even if it would have muddied the waters between WPF and eventually UWP. Because, yes Silverlight for Desktop could reach back to the developers stuck with sunk cost in XP or Die corporate environments (again, poor Mesh, RIP, being the poster child of that possibility), made code sharing between Mobile (Windows Phone 7) and Desktop possible/easy in the Windows 7+ transition period to Windows 8, etc.

Given Mobile seemed to recognize the importance of that transition, I'm inclined to believe that less money thrown at mobile wouldn't have helped in this particular case. Based on conversations I had at the time, my gut feeling is that some old guard C/C++ PMs had a lot more to do with the curmudgeonliness of Desktop through the transition era than the money thrown at Mobile. There certainly seemed to be a lot of distrust of any UI platform that wasn't directly developable from C/C++ and that sort of "COM or Die" Mexican standoff I feel (as mostly an outsider trying to make sense of crazy patterns, and some really bad, tangentially related interview feedback) had more to do with the rough transition to Windows 8 and UWP than Mobile did. Mobile at least tried to smooth that transition. (Arguably Mobile was in a better place to try to smooth that transition given the relative popularity of Compact Framework apps in WM 6.5, versus raw C/C++ development, but that's also a different argument.)

Anyway, armchair quarterbacking this is definitely fun, especially with hindsight and not having to actually fight any of the battles that were fought. I can very much appreciate why we are where we are at today, and yes can see some places where things could have been improved, but I also realize why they were such hard fought battles (the sunk cost fallacy is a big one that impacts most sides of all of these debates).


That was probably going to happen anyway because the zero-installation, easy-update, relatively upgrade-safe environment of Web apps is really attractive to businesses.

Good to hear from someone who was valiantly trying to create apps for this platform. I always wondered why developers never flocked to the MS platform since it always seemed wide open with not a lot of competition compared to the IOS and Android platforms.

Thanks for laying bare why it failed so badly.

This reminds me of a Timer app I downloaded when I had a HD8 that didn’t actually alert you when your time was up because of the way the native Alarm SDK was written (something to do with being unable to dispatch an alarm notification at exactly a given time). It made things...difficult.

> at no point had even a single feature that wasn't available better on iOS and Android

Not only is this untrue for years past, it's still untrue (See Continuum + UWP)

This is a stretch IMO. I was working there too at the time and the focus on apps was never as strong as it should have been. Yes, they paid out lots of money to get devs to build apps, but they never really dedicated the resources to building quality apps. The prime example was Facebook. This was an app built by Microsoft with FBs blessing, but it was always far behind in terms of features and quality. Developement of that app and other flagship apps was not a core focus. Work was outsourced and not given enough resources. Had Microsoft put quality dev teams on building high quality third-party apps I think the chances of success would have greatly improved. From my prospective the focus was on filling the store with apps regardless of quality. This convinced the first generation of Microsoft loyalists to buy Windows Phones, but turned off many of those people. Most would not go on to buy a second WP or recommend them to friends and family. This includes many (dare I say most) Microsoft employees who where enthusiastic about the product at first, but when it came time to buy a second or third device moved on to Android or iPhone.

I was going to chime in a little on it being a stretch. One of the promotions for students they did was near the summer of 2012 or 2013. The promotion was you got paid 100 dollars for every app published on the Microsoft store limit 5 for the mobile store and 5 for the regular store. So a total limit of $1000. My school actually had a Microsoft rep run a workshop over a weekend showing students how to publish an app on the store. He gave us a template for a number of apps to "test" with. I made about $300 that weekend by publishing 3 different variants of a wackamole game. The workshop I attended had about 25 students total and we all left publishing at least one app. Idk how wide spread this outreach was. I checked on my apps sometime last year and they were all still up. I ended up pulling them out of a mix of shame and embarrassment.

I was a student who had won a Lumia 800 around May of 2012. There was a promotion where anyone who submitted 4 apps to the appstore would get a phone - no 'win' involved, a guaranteed phone. It was one of the best promotions I'd ever seen, and I promptly churned out 4 soundboard apps in a week.

This is unfortunately true, but it isn't representative of the entire effort put forth to acquire apps. I was part of the Microsoft org who was doing this at the time. We were split between breadth engagements (one to many like at universities or hackathons) and depth engagements (one to one). I was working depth engagements helping established companies port existing iOS and Android apps to Windows. The amount of investment from Microsoft in those depth engagements ranged from me helping out with technical barriers for a couple days to hundreds of thousands of dollars in incentives and development effort. It was all about how desirable that name or brand was on other platforms.

Did everything they could...

Ah, yes. $100 per app. I'm sure that's what most apps cost to produce. /s

It seems like they did a few things, but never actually, you know, paid app developers to build out their ecosystem.

Hey, if you're optimizing for "number of apps on our store" I bet it worked great!

Why spend $100,000 developing something one app when you could get 1000 for the same price?!

Instead of paying per app, would make more sense to let devs keep 90% of store revenue, which would incentivize the development of apps that are actually popular and make money.

Hell, let developers keep 100% of store revenue, at least until you have a customer base.

It's not much worse for MS than 90%, and it makes a much nicer marketing story if you're trying to convince developers to get on your platform.

It was a slight eye opener for me as a student at the time getting near graduation. The part of the workshop going through the app submittal and approval process was actually really interesting, but when it became clear that the bigger effort was to boost app numbers in the store things felt really dirty.

Either way that experience always comes up for me whenever people talk about the low quality of apps on the Windows store.

> "We have millions more apps than the competition."

> leaves out the fact that 99% of them are either web wrappers or low quality games

This is why we have confounding factors, kids.

Even with paying out this money for shovelware they never matched up to Apple's app store numbers.

I had a Surface Pro 3 at the time and there were maybe 10 apps worth using on a touchscreen. Eventually gave up and sold it to get a Mac and iPad.

They tried that too. The Verge reported in 2013 that Microsoft was paying some developers $100,000 each to port their apps to Windows Mobile. The article hints that was how Pandora & Temple Run ended up on Windows Mobile.


That certainly wasn't the only program. MSFT paid cost for my mobile dev company to port games, because we had an established brand on iOS/Android. $100 for whatever random college students come up with seems very reasonable.

That's probably where those ads on Craigslist coding gigs come from.

"I'll pay you $100 or split the equity for my cool new app idea!"

Agreed. The parent post reads like "the overwhelming numbers of our competitors beat poor Microsoft despite our talent, ability and courage!"

No, Microsoft beat Microsoft. It was their game to lose.

It was their game to lose ten years ago, but only barely and not recently. In 2007 when the iPhone was launched, Windows Mobile had about 40% of the smartphone market, RIM had about 20%. But the smartphone market was nothing compared to today, the vast majority of phones were feature phones. Nokia's array of candybar phones absolutely dominated in 2007, with the Moto Razr was still big. Then Apple unveiled the iPhone, and the guys at Android said, "Oh shit." Meanwhile Steve Ballmer said the iPhone would never succeed. Ballmer drove MS into the ground. Everyone pivoted to the iPhone model except MS, who spit out WinMo 6.5 in 2009, and finally WinMo 7 in 2010. By 2010, the race was pretty much over. The rest of what MS did was half-assed at best.

You're 100% right, MS beat MS.

And frankly Winmo 7 was the bad move, not 6.5.

Because 7 burned the app bridge with 6.5, thus making it ever easier for someone to justify moving to a different platform.

Never mind that at launch iphone was more fancy featurephone than smartphone.

> Never mind that at launch iphone was more fancy featurephone than smartphone.

Not really. iPhone was the first phone ever that shipped with a real, full-featured, non-crippled web browser. This was an astonishing achievement at the time, and one which made its existing competition look like "fancy featurephones," not the reverse. (Really an astonishing achievement period, considering it had 128MB of RAM).

But no 3rd party apps. That was an after thought.

Absolutely not, it was added on after, but no, that was the plan all along. You don't build that in just a year. That was part of the plan all along, but why waste millions of dollars on an app ecosystem before the phone itself is proven? No, you start with an amazing minimum viable product, see if it succeeds, and if so, you recoup lots of R&D money, and pour that into building the app system you already planned out. Yes, Jobs talked about web-apps and such, but that was just cover.

Yes, Walter Isaacson said that others tried to convince Steve about apps at launch, but from the moment he started talking about web apps on that stage in 2007, I never believed for a moment it was really the angle. I knew a couple folks who worked on the first couple revs of iOS, installable apps were always possible, if underdeveloped, from day one. Jobs had lots of resources at Apple in the 80s, and frittered them away on the Lisa and Apple III. He stumbled on Pixar, not knowing where it would go, and had a hell of a time figuring out how to position NeXT, but all those failures taught him that in business, like in art (and we know he felt himself an artist), making the most within the constraints of the medium is they key to success. He came back to Apple on its deathbed. He negotiated with MS for a transfusion to stay alive, and knew even though OS9 sucked, they needed a splash. They had the iMac. Pare down a personal computer to what was needed at the time. Monitor, modem/ethernet, CD drive. No need for a floppy, they're dying, chuck it for an external one you can charge for. No need to pack it with a super spiffy CPU or oodles of RAM, people can pay for an upgrade. Just make it slick looking and work well. Same with the iPod. Pimp it out with upgrades later, after the MVP proves its worth. The G4 cube failed, it never was really iterated on.

He learned from Microsoft, create a MVP, if it seems to catch on, iterate fast.

> But no 3rd party apps. That was an after thought.

Barely any platform had 3rd party apps. No one had a streamlined app store, SDK and monetization process like iOS came out with in 2008.

Palm Had. I was a fool not to try and develop a 3rd party app for it. I had a Palm.

http://mobilehtml5.org/ I'm interested in how you would define full-featured. Please check the symbian & opera columns. Also, iOS 1.0 ships with Safari3.0, not Safari3.1.1 in this test.

In iOS 2.0 they introduced a new feature that allows you to save web pictures to Photos. Full-feature redefined. :)

Edit: a full-featured television indeed, by Alan Kay's definition: https://www.fastcompany.com/40435064/what-alan-kay-thinks-ab...

I mean full-featured in the sense of end user experience. If you have any example prior to 2007 of a mobile browser rendering the full New York Times website perfectly,[1] I'm all ears. But as I remember the below link was, for good reason, the biggest "wow" moment of any demo Steve Jobs ever gave.

[1] https://youtu.be/RIRQg8AJxuw?t=41m24s

I partially agree with you, in that the rendering of the page is good-looking in circa 2007 standard on a mobile device. But rendering one page nicely does not prove it is full-featured. It has to go through some kind of benchmark, which reflects the general ability to process trillions of other pages out there. It loses to Opera Mobile or Symbian browser on the test I just googled (not sure about how accurate it is though).

A full-fledged browser experience in 2007 to me means at least I could have mouse hover, to deal with sites not yet adapting to mobile computing (there were a lot of them). WM6 browsers did that. If it fails, I'd go and use my Palm device to VNC into my workstation -- a 2004 Sony device that will be up-to-date forever because it is a decent thin client.

I also remember opera mini being a very handy browser on lower end phones like the S40 models. Since the first iOS safari does not do javascript IIRC, it makes no difference if the rendering is done with WebKit locally, or pre-computed on a server. The only difference is that iPhone has a bigger viewport, which allows you to consider the webpage a minified version of the desktop rendering -- and you are able to freely swipe, zoom, rotate -- not relating to the functionality of the browser itself. I'm not sure if you would agree, but I think, if iPhone1 runs Opera Mobile (with beefy 128MB RAM and fancy graphics chip), it beats the built-in Safari to the ground.

Of course it will cause other troubles -- battery life, thermal management, slow startup, or even unstability etc. This is, to my understanding, why Apple decided to ship a "reduced" version of Safari3.

Edit: adding explainations.

Screw mouse hover. iOS had the mind blowing pinch to zoom feature which made full page websites actually readable on mobile. They didn't even have to wait for mobile friendly. If you tried browsing the web on any phone pre-iOS it was a shit experience fraught with frustration.

Exactly. I was referring to exactly this, that it is the awesome interaction methods that made it work, not the browser itself.

iOS Safari has always supported Javascript and was never "reduced" in any meaningful way (that's the point of Jobs' demo) except that (as now) it didn't support Flash, and deliberately ignored onmouseover, :hover and other such features that don't work well with a touchscreen interface.

I assume the iphone was "more fancy featurephone" due to the lack of 3rd party apps?

I would have to disagree with that statement. Windows Mobile and BlackBerry allowed 3rd party apps to be installed, but they were both difficult to find and didn't usually add anything beneficial to the phones at the time. Users, for the most part, stuck to what was installed on the phone and that was it. Smartphones were defined by the fact they had an email client and a (relative to the time) high-resolution screen to read and write emails on.

It was a different market in 2007. The idea that a successful smartphone required an app ecosystem was unheard of.

I worked for a company in 2006 that was considering writing phone apps (we already had a bunch of Windows apps). At the time, each phone company wanted to "curate" the apps for their own phone stores. At least one company wanted, for each $10 app, about $11 of revenue. The result: we decided that it would be essentially impossible to ever make money from phone apps.

What the iPhone did was genius: they created demand for the phone, but would only sell through phone companies willing to let Apple control the app market. That made all the difference: all of sudden, a developer could make an app and have it show up to bazillions of people.

[disclaimer: I currently work for Microsoft, but not in the phone team. But I do have apps in the Microsoft app store!]

Don't confuse the lack of modern mobile apps with any mobile apps. There was a thriving ecosystem around mobile apps at the time. Not only Windows Mobile and Blackberry but Symbian too, which I believe was the largest, and Treo.

There were many companies living on this stuff. Mobile data was still very expensive, which didn't change for a few more years, and touchscreens were small and crappy. So the market was mostly business logic and CRM apps because they were the ones that could afford it.

That changed when mobile data and big screens became cheap enough for consumers, but I think Apple was as confused about that as everyone else given the state of early iPhones.

The problem with WP was that it was late and offered nothing very special to consumers over android/iOS (and ya, I loved my 920). Consumers had no reason to buy it, developers had no reason to dev for it, a huge vicious circle that would have been difficult to break under the best of circumstances. The war was lost when the WinMo 7 team decided to after Blackberry in 2007, ignoring the iPhone as consequential, requiring that dev/design reset later that was just too late.

Man the more comments I read the more I begin to remember. There was ONE dev who was churning out VERY high quality apps to popular platforms. I think Snapchat or Instagram was what he got known for. Instead of MS embracing his work and helping it flourish, they let him get taken down by a C&D.

LOTS of people got heated when that happened.

Rudy Hyn

That’s the one

>Had Microsoft put quality dev teams on building high quality third-party apps I think the chances of success would have greatly improved.

For one app? For an app they would have to give away for free? For an app that would always be behind the FB built ios/android apps?

You have to consider this in the context at the time. Yes it would have been expensive, but Microsoft was investing BILLIONS into Windows Phone. Microsoft and partners spent something like $700 million dollars just on marketing for the launch of Windows Phone 7[1,2].

To spend that kind of money on marketing and then not dedicate resources to the actual product seems foolish. And I am not saying they should have done this for only one app. I am saying they should have done this for many apps. If they had created quality versions of, say, the top 25 apps for mobile at the time they would have been in a much better position. I believe they could have made significant traction with business users. Remember, at the time Office wasn't available on other platforms and was (is) a huge draw for many people.

If they had been successful with the strategy and gained market share the partners would have wanted to take over their own apps anyway to enable monetization. But they needed users for that and to get users they needed apps. You have to jump start it somehow.

Now, would it have made any difference? Who knows. But IMO, you either need to not do it or you need to do all parts of it right. You can't go half way on the ecosystem and expect to succeed in an already challenging market.

1: https://techcrunch.com/2010/08/26/microsoft-half-billion-dol... 2: https://techcrunch.com/2012/01/04/microsoft-oems-pledging-20...

    To spend that kind of money on marketing and then not dedicate resources to the actual product seems foolish.
Sounds like a Hollywood strategy to me. Overadvertise a stinker to try to recoup your investment.

That works for movies because they're trying to maximize the number of people who are interested enough to go see it once, more or less. A successful phone ecosystem requires building something that people want to use over the medium term.

And the expense and commitment of buying a phone is much greater than the cost of taking a chance on the Bearded Lady.

but marketing was always a core M$ strength. it's been a standard criticism of the company for a very long time.

They were great at getting their OS preinstalled on nearly every PC. They were really good at backwards compatibility, and they were absolutely ruthless against their competition. But they always, always sucked at marketing.

you don't view "getting their OS preinstalled on nearly every PC" as marketing?

Nope. Windows 95 had a huge promotion, but most PCs already came with the OS installed, unless you built your own PC.

They did manage to get many of the top 50 apps to their platform, however, top 50 isn't enough. When all your friends have the latest and greatest on their iOS and Android and you have to wait a year or two for a WP port you get tired of that. Plus there are many industry-specific and workplace apps that never made it to WP. You can only face so many let downs in the app store before you give up on a platform. Nokia did make some damn good hardware though.

> the top 25 apps for mobile at the time

This list keeps changing every month. Remember Pokemon Go?

6 million daily active users remember Pokémon Go and spent $1B on it in 2016.

For a small number of core apps. If they have invested heavily and put their best engineers to work on high quality core apps like Facebook, Instagram, Twitter, Messenger etc (maybe it would be 15-20 apps 90% of people install on their phones), they would have had a much better shot at gaining momentum.

Other smaller apps would have followed and been made by independent developers but you need to cover the apps almost everybody is using and make them comparable feature and quality/performance wise to iOS and Android versions.

Number one thing most people do on their new phone is download Facebook/Messenger/Twitter. If those apps suck they will immediately have a very bad impression and will switch back to iOS or Android as soon as they get a chance.

This was the strategy that Apple followed when OS X first came out.

Third party developers were moving slowly (or not at all) so Apple started developing and giving away (or selling) apps that showed off what you could do with the new platform.

They developed Safari when Microsoft lost interest in further development of Internet Explorer. The iLife suite had iTunes, iCal, iMovie, iPhoto, iDVD, iWeb and GarageBand. The iWork suite had Numbers, Pages, and Keynote. They created (or bought) professional apps like Logic Pro, Final Cut, Shake, Motion and Aperture.

If you have a new platform and third party developers don't step up, then you need to start filling those holes yourself in a way that shows off your platform's advantages, and keep at it.

On the other hand, if all WP has is half-baked clones of better apps on Android/iOS, there's even less incentive to switch over.

If they were serious about growing the user base and building these apps internally was their only course of action (seems like it was) then it should have been taking more seriously (assuming parent is spot on here, I have no idea really.)

Not just one app. They would need Facebook, Instagram, Snapchat, Twitter, and a number of other staple apps.

Usage numbers for FB are not that far behind IE. Perhaps they should have invested a proportional amount.

Intead they staffed their quality dev team on the Windows Mail app and Skype...

The problem with windows phone / mobile is not the apps. It was Microsoft.

When Apple launches an Phone, it’s avaliable world wide. When Microsoft launches a phone, it’s avaliable in America.

My last windows phone was a Lumia 925, the last Lumia announced I waited 7 months for it to reach singapore before throwing in the towel and going android.

There were no phones avaliable outside America, uk, Australia.

Now I use iPhone. I have no sympathy for Microsoft in regards to it’s phone biz because it didn’t try to break the market.

You don't know how untrue this is, couple of things. First lets start with this qoute

"According to Kantar's October 2013 report, Windows Phone accounted for 10.2% of all smartphone sales in Europe and 4.8% of all sales in the United States."

and then this one

"Microsoft announced new data from IDC indicating that Windows Phone is the second-most-used mobile platform in Latin America."

Lastly, do you not remember the launch of the iPhone? Not only was it only available in the US, you could only get it on AT&T.

There can be many reasons Windows Phone failed, but what you've mentioned isn't one of them.

But you're not competing with the iPhone of ten years ago. You're competing with the iPhone of today. It's difficult but in the end just excuses.

Windows phones were never a serious competitor. It just wasn't that important to the life and death of Microsoft and the result, from a business organizational perspective, is very much expected.

Consider that his perception might explain why those numbers are so awful. It's perfectly possible for the phones to be accessible to those kind of numbers of users and still be totally unavailable in the outlets a huge proportion of potential customers would look for them.

E.g. I live in the UK, and I can't remember ever having seen a Windows phone in the stores. I'm sure they're available, because I've seen people use them now and again. But if they were available in the stores I've been in, they were hidden away.

You seem to be implying they were much more readily available in the United States, which seems like a stretch.

I didn't imply anything about actual availability at all, but about how perceived availability matters.

To restate my point more clearly, the situation was much the same in the US.

yeah iphone was launched in 2007. We are in 2017 and if you want to take marketshare from your competitors then you need to be releasing your products in all major markets. Not a couple of them.

Windows phone was quite popular in Asia yet it died due to lack of devices.

My mum still rocks an HTC HD7 tho.

I remember the HD7, I was eyeing it off for a while, I could buy one, I just couldn't find a phone store near me that would let me try one. I moved to Android and the HTC Desire HD.

I had been a Windows Mobile 6.1 user.

I really would like to know why they abandoned Windows Mobile / CE at that time. It was quite strong foundation. Metro could be built on top of it easily.


You're being very disingenuous with the numbers. That 10% marketshare, in a few European countries, was mostly composed of cheap subsidized phones. That business model was not sustainable and subsequently collapsed.

Didn't the iPhone launch US-only?

It doesn’t matter. Subsequent iPhones are launched globally.

Microsoft does not launch subsequent products globally.

The surface takes many many months to reach many parts of Asia. Surface studio is only in a hand full of countries. Surface laptop is only in a handful of countries. Surface book is almost non existent.

The only thing Microsoft makes that it launches well is the Xbox.

Even that is not true - Xbox One didn't launch in a whole bunch of territories, including half of EU! If you lived in say, Poland, and wanted a next-gen console, PS4 was the only choice since X1 wasn't even available at all for few months after launch. Hell, Xbox Live didn't support 90% of the world until very recently, once again, if you lived in Poland, Czech Republic, Greece, you could kiss Xbox Live goodbye unless you had a way to purchase foreign top-up cards. Sony never had this problem, their products launch globally and work globally.

Edit: to add insult to the injury, Microsoft teams seem to think that literally no one ever speaks a language outside of its original country. Until literally 2-3 updates ago(so for 4 years after launch) you couldn't set the language on your Xbox One to a different one than your Region, which of course would prevent you from accessing the store correctly. Live in UK but want to have the console in German? Tough luck, you better set your region to Germany, there was no other way. It's just gross incompetence.

> It doesn’t matter.

Yeah, I remember this argument. It depends on whether it benefits Apple or not. For example, when Apple moved off of Google for it's mapping, people were saying that this was just the first iteration, the first version of Maps, when it clearly wasn't, and that the fact that it lost features and information that were there before, people were okay with it because it was Apple's first map software (when it really wasn't).

I just find it interesting the way this argument is used for and against Apple.

It's not hard to see why Apple launching one iPhone in America only, a full decade ago, doesn't matter when the next nine iPhones came out everywhere.

Sure, but why tell me?

Because you are the one making nonsense arguments.

My argument? I wasn't making an argument about the iPhone, merely commenting on the hypocrisy of those making these claims and how they were used before to bolster Apple.

You can't hold both to be true at the same time. Either Apple was wrong with it's Maps release, or Microsoft was fine when not competing. You can't say Apple was right and Microsoft was wrong. It's illogical.

And other people also said that it has to be as good as google maps now. And it has gotten better. Still not google maps good.

You don't need to be better than your competitors on every axis. You need to be good enough on every axis, and better on at least one axis that is a common purchase decider.

Original yes, but it also launched only on AT&T in US as well and wasn't all that successful. The real uptick in popularity started with IPhone 3G (with AppStore) which was available world wide.

I can't help but suspect that Jobs would have been happy to leave the iphone US exclusive if it had not been for the gray market of jailbroken phones.

Hell, i could have sworn he had to be talked down from lawyerbombing jailbreakers and cydia into the ground.

> I can't help but suspect that Jobs would have been happy to leave the iphone US exclusive if it had not been for the gray market of jailbroken phones.

Why wouldn't he want to sell it worldwide and make Apple significantly more money?

This. I knew everyone from seniors, the a police chief, to tech folks carrying Windows phones. The apps we needed were there. But Microsoft had a nearly-useless approach to hardware releases, they constantly missed the boat.

I currently carry the last Windows Mobile phone on Verizon (the US' largest carrier). It is from 2014. (Actually, a new Elite x3 is coming out next week, three years later.) This is ridiculous. When the Elite x3 originally came out, we wondered what insanity was someone releasing a phone "for enterprise" that didn't work on Verizon, the main carrier of enterprise users.

We didn't need apps, we needed phones.

> someone releasing a phone "for enterprise" that didn't work on Verizon, the main carrier of enterprise users

Whose fault is this though? Was it missing a particular radio band, or was it anti-competitive behaviour by Verizon? I'm used to just buying phones and slipping in the SIM.

Verizon has a certification process, but they are effectively required by law to accept all compatible phones. Microsoft didn't even submit any of their recent phones for Verizon certification, even if they had chips which supported Verizon bands. Actually, HP is just now (like, this month) releasing a version of the Elite x3 that is Verizon-certified.



We needed quality control as well, something which is very lacking at the moment. The sheer amount of bugs I hit trying to get my daughter's Lumia 650 up was ridiculous.

They threw about $500k at my employer at the time to hire some Eastern European company to build an app. They ended up stringing something together that got deployed on like 10 phones.

The problem was that a big enterprise customer is clueless about mobile apps, and Microsft’s endemic NIH syndrome made it difficult to work with business systems that aren’t Microsoft platforms.

O365 is a great example... the office platform should be an amazing mobile platform that drives all sorts of interesting things. But as an O365 customer, Microsoft just uses it as a lever to push their MDM product (you cannot configure Office apps without Microsoft stuff).

MDM is a pure commodity play. Microsoft would rather made $4.99 month on Intune than capture business process on their platform, which is worth 10x more.

Meanwhile Apple treats everyone pretty equally, and you can actually get stuff done.

I said this 20 years ago and it is still true today... Microsoft should spin off Office, server and client into different companies. Office could be an exponentially more valuable cash cow without being dragged down by the shitshow of Windows. Windows on client is a legacy product providing solutions to problems that people don’t have. Office is fundamentaly a more valuable platform.

Where I work, PC users spend more time in Outlook any other application. Browser and Word account for about 50% and 25% less time on average. So why are we presenting this UI optimized for computing circa 1997 where people run lots of little apps? Apple got this right by making iOS very low touch.

I'm not sure what your beef with Windows as a client OS is but if you're saying that the UI should be dumbed down, remember how the attempt to do so with Win8 backfired and that Microsoft quickly reverted most of those changes in Win8.1.

As the older generation is dying off / retiring, the percentage of people who have been using a computer for a long time has increased immensely, the "secretary who can't figure out copy/paste" issue is becoming less relevant every day. These days the only people I need to help do basic tasks in Windows are my retired parents.

I don't see how an iOS-like UI would be an improvement for virtually anything I can imagine doing on a Windows PC.

Increasingly, I'm having trouble with interns who don't know basic computer interface paradigms because they've never used real desktop operating systems, just a ton of phones and tablets.

They know how to send me screenshots taken with their smartphones.

> the "secretary who can't figure out copy/paste" issue is becoming less relevant every day.

Well, yeah, since the non-executive secretaries have been replaced by Office and network drives, essentially.

I didn’t say “make iOS”.

What I’m saying is that an operating environment built around Office and its functions would be more useful than the cruft built around Windows that is mostly redundant.

Windows is a boat anchor on Office.

Why would an OS built around Office be more useful than Windows 10 is currently?

If Microsoft released an update tomorrow that made it into an OS based around Office the user base would riot. "How to prevent windows from updating" would become the most popular google search in history overnight.

Outlook+Exchange is really the thing keeping Microsoft alive.

And Active Directory. I mean, I haven't found another platform yet that allows a sysadmin to control 10,000+ computers at the OS level simultaneously via one checkbox.

Clear area for disruption here. But it's IT stuff, so no one wants to touch it because it's not a cool selfie app.

Novell's directory made Windows domains look like a toy. But Microsoft abused their monopoly status, and pushed Novell out of the space. I still miss it.

And then they made AD, and extended the LDAP spec so that 3rd-party clients had a hard time working with it. But I digress.

Microsoft continues to exist because they can setup a system -- for many millions of dollars -- that allow a Fortune 500 to lock down PC's to the point of, say, not allowing users to change the desktop background. And CIO's nod their heads, stroke their chins, and say, "Yes, we need this. Our data is INFINITELY valuable. The files we create in the course of manufacturing something that can easily be bought, disassembled, measured, and knocked off in China, needs AS MUCH PROTECTION AS I CAN POSSIBLY SPEND MONEY ON. Oh, and 'SOX'! Feel free to make the users' workflow as miserable as possible."

In my opinion, this is why Windows Phone didn't make it. Microsoft's continuing vision is in letting someone ELSE control your computing devices. A phone is too personal for that.

Azure has provided enough of this IT-end-user-abuse-control such that big companies are following right into their cloud product. For this, all I can do is tip my hat to Nadella. Well played, sir. Well played.

Sysadmins aren't big fans of disruption either. You could build the greatest active-directory replacement in the world and no IT department would touch it with a ten foot pole because it isn't what they're used to.

> Sysadmins aren't big fans of disruption either. You could build the greatest active-directory replacement in the world and no IT department would touch it with a ten foot pole because it isn't what they're used to.

It's all fun and games untill 2000 users cannot log into their machines because your new shiny active directory replacement didn't work.

Right. Automation means you can break things faster than ever. When you're asking someone who's already busy to rip out the guts and start over, and, if you're lucky, it will successfully do exactly what the old thing did... what's the incentive? So often in the ops/admin world changes can only make things worse and make your life miserable. And if your team doesn't have the bandwidth to deal with those 2000 users one-by-one.... good luck!

It would have to prove itself in smaller shops first. If you're running a multi-thousand-user shop, you'd be insane to be a first-adopter for something as critical as "can my employees even start working each day?". It's not a matter of "what they're used to", it's a matter of risk management. And with things this big, it's not IT's call to make, it's a business decision; it needs to come from the top, because the penalties of failure go well outside the IT department.

I built one over ten years ago, and it's true, it's a difficult area to disrupt for these reasons.

I wonder if that is what RH is gunning for by backing the likes of systemd and polkit.

Especially as they get more and more attention from the military-industrial complex.

polkit is so obviously a system intended to replace Group Policy. But people have been doing this for decades and still not achieved widespread switchover from AD. You still have to piece it together yourself.

MS has a bunch of patents related to active directory. Nobody wants to risk touching that.

Nah. Azure revenue is growing dramatically every year.

For now. Some of the younger people aren't having any of that shit these days.

If they work at any big enterprise it is either Outlook or Lotus Notes.

The latter will make them love Outlook.

So true. I second that.

I started my career with an employer which used Lotus Notes and has quite a bit of investment with custom Domino apps.

I'm glad that's in the past.

Or Gmail. Or Inbox.

If they don't care about internal company information landing in the hands of Google.

As opposed to running their businesses on o364?

Outlook and Notes run on-premisses.

I don’t know any business who would take that offer now. The TCO versus O365 is crazy as they hiked the license costs. Lotus Notes was always expensive, mainly because you had to pay the consultants.

As anecdote, none of our customers use anything that risks putting their internal data into someone else data center.

They value their business and possible legal consequences, in case there is a data breach coming out of Gmail or similar online services.

Of course companies that don't care about NDAs compliance, medical data, critical research information, offshoring of customer data, the upcoming GPDR 2018 and similar laws, can put their internal data wherever they feel like.

Having done my fair share of windows phone app development (8.0, 8.1, 10) I can confirm. Microsoft incentivized app development, and paid top game development companies millions and gave them featured placements for their half-assed windows phone ports.

And then as a regular joe you would actually put in the effort* to get things working well. Then you would watch these bug-plagued big name 3-star ports appear out of nowhere and usurp you on the top free lists and search results due to their favorable placements. And then you would move on to a fairer market, and when microsoft stopped paying them, the big app developers did too (not that they ever updated or fixed the bugs on windows phone releases.)

* Difficult as windows phone was the only mobile platform not supporting openGL in hardware and the top sold windows phones were incredibly low spec.

Give it a few more OS releases and Android will be the only one supporting GL.

Would Apple really drop OpenGL? They are smarter than that...

They could do it, though. They could.

They already re-wrote most all relevant graphics APIs including the macOS compositor to use Metal as backend.

All major middleware engines already support Metal as well, and relevant companies like Adobe are using it as well.

Even if they don't officially drop GL, they could just leave it on life support, similarly to Carbon APIs.

They are definitely not helping. They promote SceneKit and Metal over all else. Granted Metal is WAY better than OpenGL

Microsoft does the exact same thing with DirectX on desktop.

And neither Direct3D nor Metal have any real advantages over Vulkan. They exist for locking in developers.

Like Sony and Nintendo do on their consoles.

Sony did bother to offer OpenGL ES 1.0 with Cg for shaders. Hardly anyone used it.

Nintendo introduced Vulkan on Switch, while keeping their own API. Lets see how it will go.

The advantages over Vulkan from both APIs are not being C based in 2017, great graphical debuggers, a full stack experience instead of tracking down libraries for math, fonts, textures, ....

Game development culture is not about being all friends and sharing code, rather making the best money of IP and selling services, in particular porting code among gaming devices.

They might not remove it any time soon, but they could easily never update it.

A couple of years ago we sent two people to a meeting at Microsoft to talk about a port of an existing Android/iOS app. The work was already funded so we were really just hoping for a free phone or two.

The report I heard back was that they treated it as an opportunity to try to sell us Office 365.

(The port never happened because the client's plans to roll out Windows phone to their staff fell through some time later.)

Windows phones themselves are fine. But two things were massive failures:

1. Microsoft created development tools that are not appropriate for real-world use cases and tried to push that on devs and companies, which failed spectacularly. The demand for apps which work on Windows desktop and Windows phone literally doesn't exist. It doesn't matter that Microsoft would have loved it if people built apps like that. If there is no demand for such apps they don't get built (and they didn't). You get garbage (compared to WPF or even WinForms) "metro" or whatever you call them now desktop apps that are intensely hated by Windows users and you get a WP app that you can't reuse to build an iOS or Android app... The UI was also completely different so you couldn't even really reuse much of the design. So no code sharing, no design sharing.

What .NET devs wanted was a way to build apps using C# that work on all mobile platforms (we never cared about a mobile app working on desktop). If you had given us that you would have had your apps purely by virtue of piggybacking on iOS, Android and .NET popularity. We complained about the retarded "multiplatform within the Windows ecosystem" approach from day 1 yet Microsoft released several iterations (not backwards-compatible, of course, so they were losing some devs each time) of this garbage before finally listening to the market and embracing Xamarin at which point it no longer mattered as WP was a joke. A LOT of people love C# and are willing to jump through hoops to develop multiplatform apps with it. XAML is also very cool. Microsoft had that part in the bag, yet completely failed to use this to their advantage. Imagine if when WP7 (or even WP8) was released Microsoft was able to say "here, you can now develop mobile apps in C# and they will also build for iOS and Android!" .NET devs would have jizzed in their pants.

2. Microsoft threw the existing WP users in the trash with WP7 -> WP8. My iPhone updated for like 7 years through god knows how many iOS versions. When I bought a new one, it felt almost exactly the same except faster due to better hardware. People were wary of buying a WP because they got burned once.

    >For more niche apps they ran promotions for students and independent developers giving away free phones etc. But nothing was enough to get over the problem of the lack of an initial user base.
The one thing MS didn't try to incentivize independent app developers was to eliminate the 30% revenue cut MS would take on the sale of paid apps. I always thought it would have been a good differentiation as there were always complaints that it was getting too hard to for indies to make it in the iOS app store. Even if MS would have said they were waiving the commission during an introductory period of a few years it might have helped. It seemed penny wise, pound foolish to think they could charge the same skim that Apple does.

I recall they announced promotions like that as well. At one point I recall they would auto-cut at least in half for some amount of time if your app was chosen for the front page of the Store.

Since the Anniversary Update last year, sideloading has been enabled by default, too, if you wanted to sell apps outside the store, and that didn't magically attract indies either.

Sideloading is a thing on Android too, but it really doesn't attract a lot of devs or users. Most users stick to the stores, cause they don't want to go chase down and give their payment info to infinity different sites.

Not sure it would have helped. Any rational high-profile dev will compute that 70 % * 100 000 downloads is better that 100 % of 1000 downloads.

Sure, but it's not like they have to choose one or another. And 100% of 1000 downloads is better than 70% of 1000 downloads.

This reminds me of an interview question I "failed" once.

If you can't live with either of them, it doesn't matter. It's pointless to rank them. There are much better problems to put energy into. Like where to go for lunch.

There are only so many hours in the day. And, given the choice between fixing bugs and adding features for the many users on Android & iOS, or taking a gamble on a much lower userbase on WP, I'd probably take the first one.

They even held a funeral for their competitors devices: https://www.engadget.com/2010/09/10/microsoft-celebrates-win...

This didn't age well.

Heh. I was an intern there when this happened. In fact I think I was in the float in front of this one. To be honest this was blown out of proportion a bit. It was an internal celebration of release, and each team picked a theme. Most in good fun. In retrospect the funeral themed-one... yeah... didn't age well, and was perhaps in bad taste (I can't recall which team this was). It was just a bunch of overworked PMs, devs, and testers having some fun and blowing off steam.

Microsoft has been tone deaf about a lot of things... This is a prime example. Not a lot of self awareness on their part. This was cringe worthy.

I'll file that next to the windows 7 release party: https://www.youtube.com/watch?time_continue=22&v=1cX4t5-YpHQ

Oh god, I forgot all about this. How was this only 8 years ago? I love how, at 0:38, you can see the guy on the left covering up a laugh.

"In a lot of ways youre just throwing a party with WINDOWS 7 as an honored guest"

What is the deal with that camera work, hey guys, try focusing on the person talking.

Without a doubt this stunt marked the absolute death knell for WP...my God the arrogance of those people.

That is sickeningly hilarious.

The walk of shame.

Goodness gracious.

> For more niche apps they ran promotions for students and independent developers giving away free phones etc

I remember some of this vaguely. A friend of mine deep in the MS world was showing me some of what was going on, but this "ran promotions" - I dunno. I don't think I'm way out in "non-MS" land - I keep my finger on the pulse of a lot of tech communities. I didn't hear much about this except from a few friends deeply entrenched in MS. Perhaps there wasn't enough of an outreach program?

> Satya's not lying when they say they tried everything to incentivise app developers. It was a big focus of the company at the time.

Given that I've registered multiple times with them to download various SDKs in the past, perhaps... emailing me about what they were doing, because I might have had an interest in being part of that app development push?

Maybe some actual ads on non-MS tech-related websites, or outreach to local non-MS user groups might have helped? As someone who's run multiple local tech groups, and frequented many for years, this "big focus of microsoft" was never a blip on anyone's radar (AFAICR).

> giving away free phones

That's sort of the bare minimum you'd need to do.

I'm reminded a bit about the HP tablets with webOS. They charged $499 (because, IIRC, "that's the price for tablets" - because of iPads), sold for a few weeks, then discontinued. Loads of people picked them up at $150-$200, even with no apps. "Well, we can't win, let's close it all down", after spending $1B+ on acquiring the stuff they're giving up on in the first place.

That move was likely political. Half the leaders internally wanted to let it die but to shift blame they let "the other team" launch it anyways to let it fail and say "told you so".

I remember that story for tablets. Same was with Amazon Fire Phone.

But i don't know how you can write off $1B... because honestly even iPod or iPhone wasn't successfully from the beginning. So they invest years for that status.

Competitors make clones, release them and after two months declaring abandoning market. Totally non-sence for me!

What's so weird about... well. not weird - just stupid(?). The HP thing - the guy in charge who made those decisions left soon after, IIRC (maybe was forced out, but didn't sound like it).

You spend $1B acquiring palm for webOS, but don't want to invest any more in actually trying to market or develop developers?

They flew off the shelves at $150/bucks, even with knowing there's no support, etc. Hobbyists wanted them. Some of my friends and family wanted one. I couldn't justify $500, but could $200 (but couldn't get any at that price).

Let's say they'd sold them at a loss - let's say $149, and they were losing $50 on each one. Getting 2 million of those in people's hands in a year would have 'cost' $100m, but ... the ecosystem would have had a reason to grow, because there would have been a market to serve. Had discussions with folks who claimed "you can't do that" (for some reason, bringing "dumping" and "illegality" in to the argument). So... selling them at $150 while "going out of business" is AOK, but selling that at $150, taking a loss while trying to grow a market (and creating more long term value for the people buying them) "makes no sense" (that was one of the arguments I got from folks).

Of course, it's all academic, and I'm just armchair quarterbacking the whole thing, but few companies even have the option of strategic long term losses to seed/grow a market. I'd think the rewards would be substantial if you can pull it off, but we don't seem to have many who want to try anymore, and that lack of trying really cements the two-party system we have in mobile.

I think the closest real analogy to what your thinking is Amazon, where they sell things like the Kindle line of items, close to price. In the hope that you buy more stuff from them.

Look at the fire tablets, you have a 7" for $50, there is no way there is any profit in that price.

Looking back, I think the couple folks who were adamant about "you can't do that" were thinking of "dumping". Yet... it does happen, plenty. I think they're more favorably called "loss leaders". Well, different purposes behind them, I know, but yeah, Amazon is not making any substantive profits on some of those fires, but if you start renting movies from them... bingo.

I loved the UI, design, consistency, etc. I liked it because it was straightforward and rarely notified me about anything.

I left because of w10m specifically. They took away the consistency. It felt as janky as Android does.

After I dropped and broke my last WP8 device, I had to decide whether I wanted to order another old WP8 phone online or just switch to Android. I switched to Android.

It's not nearly as nice as WP8 was but what can you do?

"but the lack of apps ultimately made us move to another ecosystem"

Nuts. People don't even use apps [i]. They may have facebook or netflix installed - but then it gets real thin.


Your post and his comment do not contradict one another. Or rather, your interpretation of the data in that post is shaky.

Consistent with the data presented in that post:

-I download lots of one-time-use apps. They're useful, and I won't use a phone without them, and then uninstall them in a week (eg, city specific apps when traveling)

- I download lots of special use apps that contribute few app-hours most of the time, but are super critical when I need them (hiking apps when hiking, service-specific references when I'm working in the relevant department, etc)

-I download games (lots of them), play with them for a while, and then uninstall for a new game. Yeah, most are gone in a week or a month, but the ongoing process is valuable to me.

(Edit addendum:

-I have apps I use quasi-frequently and that contribute very few app-hours of interaction, but are still valuable. Eg, the couple minutes a day I use a task list, the five minutes a week I use FreshDirect, etc.)

And then, yes, there are a handful of core apps that get most of my usage (outlook, kindle, Netflix, messages, safari).

This is entirely consistent with those stats, and still places enormous value on the app ecosystem.

In your comment there are many uses of I. But that isn't how other people generally use their phones - if you can be bothered to look at any data.

It seems pretty clear you skimmed my post without reading it (since I bookended it start and finish with the central assertion that the data you presented is consistent with the use case I described.)

If you want to edit your comment to take it in a more fruitful direction, no one will hold it against you. You're not the first person to skim a long post.

The point is that his use is entirely consistent with the data yet you assume it somehow is not

The data you provided does not support your claim that that isn't how other people use their phones.

In what industry do you work?


> They may have an additional 25 to 30 apps installed, but only five of those are heavily used. The five non-native apps vary from user to user

Doesn't that suggest that while individual users only use a few apps, the union of apps that see significant use is much larger? So you need a wide variety of high quality apps to please a majority of users.

So it's not "none of my apps are available". It's more like "that one app that my gym uses for booking is iOS/Android only" or whatever. Finding a decent WM8 podcast app was virtually impossible back when I had a Lumia, IIRC.

The data you posted do not support the claim “People don't even use apps”, but instead only “most individual users do not regularly use a large number of apps”. But that doesn't mean that either the small number they use frequently or the larger number that they use infrequently are unimportant to the overall utility they derive from their phone, or that there aren't a large number of apps used regularly across any given platform.

Whatsapp? WeChat? Ueber? Ofo? Tinder?

I hardly use my phone for calls. In fact, I prefer Whatsapp or Wechat. And nope, I don't have netflix on my phone.

Yeah, I think that the focus on apps might have actually been part of their problem. How many consumers really saw anything about the platform that made it more appealing than competing platforms? Without a solid killer feature as a differentiator, the apps wouldn't matter.

I'm sure that it made a great measurable and a great excuse for failure, though. I don't doubt that the internal narrative would focus on that.

> Nuts. People don't even use apps [i]. They may have facebook or netflix installed - but then it gets real thin.

Anecdote from a lot of my friends, a lot of use use flashcard type apps to help learn languages and things like memrise etc... Dictionary apps to get word translations and so on.

So I'm going to place that article under: perhaps true in general, but not overly constructive to my group of people.

> Most Windows phone owners I know (myself included) loved the design (hardware and software), the customisability, etc. but the lack of apps ultimately made us move to another ecosystem.

From my experience, that wasn't the case. I didn't own a Windows Phone but one of my friends did. According to him, what forced him to move was an overload of animations which became very irritating. I can recall a comment that suggested how Windows phone exploited animations to cover the fact that it was too slow.

Yep, that’s exactly the reason why I hated it. Those animations looked nice at first but after a while they get so annoying and even launching a dialer took much longer than needed because of those flight animations.

Also I did not like the flat look and flat colors. All the apps looked the same, so did the icons. The best thing about App Store on iOS was the colorful variety of apps where each of them had a unique distinct look and it was a joy to expolore new wild apps on the marketplace.

Several of my friends and I loved Windows phone and I hate Windows (prefer Linux). Sounds weird, but I've always thought Windows Phone to be more elegant than Android.

Back in 2011, I bought an HTC HD7 from a friend who switched back to Android. I was very impressed by how fast Windows Phone 7 was especially the ultra-smooth scrolling. But, like you said, the animations were enough to drive you nuts. Way too much, I don't know what to call it, "swoopy" maybe. It was enough to make you dizzy. I ended up trading the phone for a Galaxy S and that was the end of Windows Phone for me.

That's very true for Windows Phone. The animations definitely got irritating.

> Most Windows phone owners I know (myself included) loved the design (hardware and software)

I don't love the design, but I like it.

Maybe some people believe the tile home screen is ugly, but they are more informative compare to icon based home screen.

Yes, there are some bad designs in the Windows 10 Mobile, but all of them are fixable. And once those problems get fixed, it will be gorgeous.

I feel very sad about their current failure, and I don't think simply give up is a good choose.

Its a free market, and the market has spoken. I think its the right strategy for MS to accept that the market is just not going to accommodate yet another mobile ecosystem. And its not for lack of trying: they've been trying for over a decade now to break into the mobile OS market. They had tablets running a version of Windows much before iPad; they had "Smartphones" running windows much before 2007. There's gotta be something that they just can't get right about mobile OS (or probably its simply the fact that the market doesn't have space enough for yet another proprietary OS).

MS will do a lot better if it focuses on making android betters, supporting .NET apps in android (yay Mono!). Maybe in the future they could revisit the mobile OS thing and have better luck then but for the near future it looks very unlikely.

The mark of a good company is adaptability. Intel went from RAM chip maker to creating microprocessors, MS itself went from creating BASIC compilers to making OS's. With Azure, .NET, Office, Windows etc. I think they have enough areas to make money off. Its just their strategy of adapting windows to mobile devices didn't work.

I only see a value on .NET apps on Android for those companies planning to do both iOS and Android, or re-using existing .NET code.

For those just targeting Android, specially given the global market share, they are better off with plain Java/Kotlin + NDK, than adding yet another layer to debug and extra APK size.

".NET apps on Android/iOS" are actually a very popular thing - the framework is just named Xamarin instead of .NET.

As I said, in the context of targeting both iOS and Android it makes sense, but OP meant targeting only Android.

And despite my advocacy, when targeting both mobile OSes, customers at enterprise level tend to pick Ionic or pure Web approaches, despite the lower UX.

Wow, I didn't even know Intel was a RAM chip maker before doing microprocessors... or that Microsoft started with BASIC. Thanks for the historical notes!

OK, now you're making me feel old. I knew those things through personal experience.

I suppose you didn't know that HP made calculators either?

Haha, sorry about that! Didn't know HP started with calculators either! (I know they've all had these products, but I had no idea these are how they started.)

No, they didn't start with calculators, but they were well known for them at one time.


> Maybe some people believe the tile home screen is ugly, but they are more informative compare to icon based home screen.

Information changes but a UI should be static, a UI that changes based on what is available is a recipe for a poor user experience. I have a hard enough time navigating rows of icons (as opposed to a list of app names), I don't need the icons changing randomly.

Aside from that, one of the missing features of tiles was interactivity, on android I've had an MP3 player widget on my home screen since I first got an HTC hero and playing music is a core feature for my phone. As flashy as tiles were they didn't have that level of functionality.

They tried everything, except for open standards, foss, focus on user privacy or anything that would have have made them different.

That is pretty much the reason I didn't have a Windows phone. I would have considered it if it actually did promise privacy.

Free phone sounds nice, but tinkerers like me don't want to apply and get the approval lottery for shit. We wanted cheap phones. The Android ecosystem at that time was already matured to the point that you can get cheap no frills, no worries if you break it secondhands. It was an obvious choice when I could get a secondhand Android phone with all the stuff I could tinker with for $100, and that also gave me the unexplored freedom to get any ROM I want. I remember porting Cyanogenmod 9 on my shitty 2 year old OG Motorola Droid, and control every aspect of it.

I bought someone a Windows phone and they had the same feedback - big name apps not available (whatsapp, instagram, etc.)

I wanted to buy a Windows phone since I use none of these apps, but there was no hardware refresh or major announcements around Windows phones and that deterred me. I don't understand how MS went on to a successful Surface and failed phones, I would think they're similar markets - hype-driven, takes a few iterations to get right, etc. I bought the Google G2 and it was far from what an Android phone is today, but Windows phones seem to run on a no-upgrade strategy which is strange

I think that's close to the truth but really there has never been any product direction or commitment from MSFT. why would you build a product on that?

Surface isn't successful. It's a disaster. Just a well covered up one so far. Give it a couple of years and it'll be down the toilet as well. Consumer Reports dumped on them last year with a 25% failure rate within 2 years. Rather than deal with this, they go into denial and market market market mode.

The problem is that they're building products they want, not what the user wants. And when the user asks for something, they just say NOTHING and drown out all the negativity with blogs and hype and pointless communication paths to pacify the users who are pissed off.

On top of all that there is this personality cult around Satya where everyone is saying he's the second coming, the saviour and all that junk. Turns out that it's blinded marketing, the enterprise customers are getting shafted (me) and footing the bill for cock up after cock up after cock up.

Quality is gone. Privacy is gone. No one says anything. Everyone is voting with their feet.

Same turd of a company as ever.

There's definitely a shortage of apps compared to Android and iOS but I have WhatsApp and Instagram installed on the Windows Phone I'm writing this comment on right now. You can tell the Windows Phone version of apps are not a priority for the developers though.

Yes I imagine some of these exist now, I purchased that device some years ago now

I stopped using the windows for the same reason. I loved that I could buy a performant phone for $50 when my $200 Android feels sluggish. But I hated not having any apps.

Specifically I hated all the shitty apps that had flooded the app store because of their half baked promotions.

All of their promotions incentivized churning out a bunch of shitty apps. Like paying people $100 per app, this created a lot of crap in the app store to wade through to find quality apps.

Instead they should have matched revenue or paid an extra 5 cents per download. Something to incentivize a dev to write one good app instead of 5 throw away apps.

Yeah, I won a WOWZAPP competition by making an HTML5 game in 2 days, wrapping it up in a Windows 8 app and publishing it to store. I got a Lumia 800 for it which ran Windows phone 7. When they already had Windows 8 devices out and the competition was to make Windows 8 apps. I still don't know what they expected me to do with this obsolete phone.

That phone was useless to me because there were literally no apps on the Windows 7 store. When I tried to sell it few days later, no one was even willing to consider it and I had to sell it for peanuts.


Take a look at another platform that Microsoft pushed into: game consoles. How did they break into game consoles? They bought an entire game studio, Bungie, and produced one of the most best selling games of all time (Halo) as an exclusive title. Nothing Microsoft did with Windows phone was on remotely the same scale. The fact that a movie of that scale would have been vastly more costly than the acquisition of Bungie and development of Halo is merely an indication of the fact that MS waited too long, not that nothing could be done.

Did they do what Apple did and setup a seed fund to get startups ready to compete with the big platforms?

See iFund (2008): https://www.macrumors.com/2008/03/06/ifund-to-offer-100-mill...

The fact is, you should incentivize funders/investors, not developers. The developers will follow if they have a hot new startup where they can (potentially) mint money using your seed capital.

However, I agree this only works if you aren't seriously late to the party.

Can confirm. Microsoft offered me $10k and free help with development to port my app.

Years ago, Microsoft indeed paid to have my app written for Windows Mobile. Totally free and hands-off, i just have to agree and it will be done.

(It was in Malaysia, and my website was very popular then.)

Drum Kit? I'm guessing $10k just wasn't worth it for such a hugely-popular iOS app?

Yup. It wasn't worth it at that time.

10k seems reasonable enough to port it. Why didn't you?

My app was doing really well in the App Store, and Apple was featuring it on billboards and TV ads. As an indie developer, it was the best thing I could have hoped for. I didn't want to mess up that relationship with Apple in any way. Being anti-MS throughout my youth probably didn't help either.

That might cover the initial development costs, but then you are signing up for a lifetime of support. $10k doesn't help much if there aren't enough recurring revenues. It sucks to launch an app then let it languish and have to kill it a year or two later.

How can you say that without knowing 1) what the app is and 2) what tools it was built with?

There's also the problem of ongoing maintenance on multiple platforms. In the best case, it was written with a dual platform toolkit (iOS and Android) and MS adds a 3rd platform to that toolkit to make it easy to port and maintain all three. Even if that were all true, it's won't be for every developer and you'll still have problems bringing people to the platform.

1) http://www.drumkit.co

2) Built in Objective-C with a custom audio engine in C++. Audio latency on Android was horrible at that time, MS was probably worse. It would have been a terrible app on those platforms if I did port it. This was before cross-platform toolkits existed. It needed to be a native app with low level access audio to hardware. I wasn't going to make an app where you tap a drum and wait 100ms to hear a sound.

> MS was probably worse.

Not that this counters anything you said nor that relevant to this topic, but as a nerd I am genuinely curious if this was true. I used to write lowlat audio stuff for iOS so I was well aware of the situation Android vs iOS (and because of my large interest in audio Android in general always makes me puke in my mouth a little -- like it is one of those neat little hidden indicators that while Apple is a hardware company, Google is fundamentally an ad company -- they really don't give a shit other than prioritizing ad delivery).

Anyway, Windows itself obviously has solid low-lat audio services, was it really that bad in the mobile stuff?

Not knowing much about the topic (but knowing a lot of an adjacent topic of getting NDK working for video+cv on Android) -- sometimes it comes down to documentation, existing examples, StackOverflow content, etc. Even if it is possible, if it isnt well documented, it doesnt matter.

I wouldn't help Microsoft for $10000000. I'm sure many others feel the same.

Is that an exaggeration or do you mean that literally?

I mean that literally. As an example see this [0] discussion from a few days ago. Not involving microsoft, but the guy literally gave up millions just because of morals. The principal is the same.


My surprise wasn't at the fact that someone would give up money due to morals; my surprise was at the fact that helping Microsoft (or putting ads in software, in VLC's case) would be considered a moral wrong. That sounds like quite an exaggeration to me. Microsoft has done a lot of good things too, and so have ads. The fact that they have negative aspects doesn't mean anything less than 90 degrees away from their direction is a moral wrong.

In VLC's case, it's a question of trust. The users of VLC trust the developer to not put ads on that software; it's breaking that trust that would be the moral wrong, not necessarily the ads.

I don't understand what notion of trust this is. If it auto-updates, maybe? But if you make the change clear before they update I don't see where there's a breach of trust.

10K is nothing for a decent mobile developer in the U.S. Even at a very low salary of $120K in a major metropolitan city. That's a month's salary. Could he have ported the app in a month working 160 hours?

For everything else than a small local app that is not exactly a very eye opening offer IMO.

Think about the learning time for the completely new eco system. The new hardware and software that is needed costs money as well.

I loved my Lumia 920, and if only there were apps, I would not be using iPhone right now. Major things I've missed that were available on android/iOS:

banking app - some other banks had an app for WP, but I didn't want to switch banks

public transit route planner - there were some, iOS and android had THE app for my city with really good bus arrival estimates

official public transit app - I couldn't buy tickets from my phone

official city parking app - had to go to parking teller and pay there in friggin cash, now I just set the zone and am done with it

even the most popular taxi app was not available

Hearthstone - I like this rng card game

I know the feeling; several years ago my mom bought a Windows Lumia phone for $30 new, the hardware specs were nice, but the apps were just non existent, and though it's gotten 1000 times better its still very lacking. Also the camera is surprisingly high quality and fast.

My 5S is going to cost $50 for a new battery and screen - and it's still worth a few hundred more new; however her phone's HW specs are still mostly better than mine, except I think the RAM which is the same.

A year ago I remember thinking If microsoft wanted to save windows 10 mobile's life I think they should have put a large amount of that cross-platform smartphone programming effort into trying to make Win10 Mobile capable of running some android apps, the desktop version has a linux subsystem after all. that way they could have expanded their user base and made it a more attractive platform, especially with the lower cost.

Making 10 Mobile decently Popular for any reason would have given developers a good reason to switch to xamarin for developing native apps on every platform, win-win.

Alas they didn't do anything encouraging enough to grasp that potential double benefit...

There's an obvious incentive they haven't tried: guaranteeing a lower app store margin like 1-2% instead of the 30% cut that Microsoft currently takes.

Google and Apple have already convinced a sufficient number of users users that their app stores are essential, so they can continue to charge whatever they like.

Microsoft didn't have the same luxury, so they needed to change this. They never made the change and it's too late now, but I think if they did this a few years ago they would be in a better position.

A good amount of the "key apps" are free anyway, so a lower margin wouldn't have helped there.

I remember they started by introducing the same sort of toll than Apple. That was them shooting themselves in the foot.

This is what I thought too. If they're also going to charge in the ballpark of 30%, then they're not serious. They're not giving the proper incentive.

>they ran promotions for students and independent developers giving away free phones etc. But nothing was enough to get over the problem of the lack of an initial user base.

Is anyone else surprised that "giving away free windows phones" was not a recipe for success in terms of incentivising capable app developers?

Most every app developer already owns their favorite phone because they can afford it.

They should have also given away free phones to end users. And for the other users who bought stuff, they should have given them 100$ of credit to buy apps.

And then periodically rewarded great users with 100$. it would have been like a tax break for the users to spur the app economy.

Most apps make a pittance.

What does that have to do with anything?

I think the idea that app developers are all loaded is highly suspect.

Sure, but Microsoft doesn't want to incentivize people who write mediocre apps that make no money to write apps for their app store.

They want to incentivize people to write apps that bring in the big bucks. So they can get a cut.

The lack of apps was annoying at time, but what made me leave was probably Microsoft Edge. The rendering was clearly better than IE, but Edge would crash my phone, or become non responsive, or both so often (creators update on Lumia 640 LTE). If the browser doesn't work, and there are no apps, it doesn't make sense to have the phone.

I don't understand why Microsoft has keep IE/Edge around. It's just embarrassing. Event my technology illiterate friends and family rag on IE and everyone installs chrome these days. If they spend less time building IE and focused on other platforms they'd waste a lot less time for everyone including themselves.

They need it for the same reason Apple needs Safari. And why the European Union needs their GPS competitor Galileo. It's dangerous to put all your trust into a tool controlled by a competitor, even if they are playing nice with you at the moment.

Well, when Mozilla wanted to build Firefox for Windows Mobile, Microsoft told them no. If they removed IE/Edge, they would have no browser for the deployed windows mobile devices. :P

They need something built into the OS that supports HTML/HTML5, its what a lot of system interfaces and apps especially internet based ones like to be build from.

Plus how would you download another windows browser - it would have to be in the app store first lol.

I really would love to see a Microsoft mobile device. My issue was lack of available devices on my carrier, and when I did find them they hardly were competitive with the available Android alternatives. I hope Microsoft does return to the Mobile OS market, but I hope they pull all the right moves off to get real traction going. I still remember having a code to be a Windows developer for free as a student but never had the time to build any apps so I never took advantage of my developer code.

I do hope Microsoft returns back at it someday. I hope they bring out "Super Phones" on every major carrier that truly compete. Also hope they don't bring some of the pain points of Windows 10 (forced updates, forced telemetry and what not). Google and Apple need a serious competitor. Ubuntu bailed and I wish they had not. It seems like a very specialized OS needs to be built and it needs to hit market on all major carriers with new things to offer that are worthwhile. Privacy would be a strong selling point if anyone else attempts it. I want a privacy focused and open source mobile alternative, feels like I'll wait a long time for it though. Microsoft has the resources to provide such an alternative though... Would be definitely different if they went that route.

Being able to compete is mostly having an app platform on par with iOS or Android. Precisely the point where Windows Phone is lacking. This is a situation I don't see changing, especially not without hardware.

Furthermore, releasing a phone with good hardware at a competitive price point means either losing money to push into the market (which I think MS has done the past few years with their mobile offerings), or having a supply chain to have good hardware at a low-enough price (something which Apple and Samsung already have).

I kinda doubt there will be a good third mobile option again. The choices currently are to target iOS to make money, or Android to reach more users and for most apps there's isn't much point in supporting anything else. Plus, there aren't that many apps built upon frameworks that would allow easy addition of a third build target.

There also doesn't seem to be much point in offering an open-source mobile platform. The partners you need to convince to offer phones with your platform don't care (much) whether it's open-source or proprietary. In Android's case the open-source-ness pretty much only matters for Amazon and a tiny fraction of users that install custom builds. Google has certainly tried to wrestle as much control of the platform back, both for control reasons, and to be able to provide a better user and update experience (Things a hardware vendor won't care much about. They make money when you buy the phone, not when you use it.).

I used to be a MSP from Mango to WP8.1. I will always be impress by everything MS did for devs and students. If you have the will to build an app, you could have, to help you, free licenses, free marketplace, free phone and tablet to test, free ms dev time to help you, free commercial time to help you share you app, free press coverage, free conferences, etc.

They did so much, sometimes I felt impostor to don't do more. So much money was here to support.

I wonder what would have happened if they competed on pure price. Like if they basically gave away 10m devices. That’s a small amount but it could have kickstarted something. App developers have to choose which platforms to support. The cost is nearly doubled if you go from just one to both dominant platforms. Adding a third would nearly triple it. It is not worth it if suddenly you can reach a whole lot of people. Going after developers is good if there isn’t a market already. Going after consumers might have created a critical mass where developers would have just showed up on their own.

Maybe a campaign to hand a new Windows phone to every college kid on campus would have worked. College kids aren’t flush with spending money, so a free phone would be a boon. But college kids also graduate and get jobs, making future phone purchases a possibility. Plus college kids tend to be trend setters for technology in situations like this.

Eh, I am rambling. People much smarter than me have probably already thought of this.

They practically did. I bought a Windows phone for $30 a couple years ago.

That's how much my mom's Lumia 640-LTE cost a few years ago - I think right after it was first released. Such a good price for the hardware if only it could run something useful, the latest 10 Mobile build does count...

If you really want to build a platform and developers didn't come you should build part of the software youself or pay third parties.

That was Apple's strategy. They built some really great Mac OS X apps when they were the underdog, and offered them for free with the hardware. They also built (and bought) some great Pro apps which attracted a ton of customers. The iLife suite and even the iWork suite to some extent (I loved Keynote in college) were essential to me making the switch.

Im still on the platform. I was holding out, hoping for something. But I guess my current phone will be my last windows phone. Sad.

I'm still on the platform as well (typing this on a Lumia 635). To be honest I only bought it as I wanted a cheap smartphone but it's served me very well. I don't really use that many apps (Baconit and Metrotube are the two I use the most), but the WinPhone 8.1 UI is probably the best phone UI I've ever used (I prefer it over iOS and Android). Thankfully I've already got my next phone lined up (Librem 5).

The platform will still be supported, but new hardware or features won't be coming, which is fine with me. If anything, I'll stick with MS for now and then switch to IOS sometime in the next few years.

You can still get the new HP Elite X3 and the Lumia 950 and 950XL on ebay for around $300.

Me too, guess I'm going to have to make this phone last until another alternative to iOS and Android appears. I've preordered a Purism Librem 5 as part of their crowd funding campaign so hoping maybe that comes to something.

Do apps matter much, after the top ones? All the volume is in the top 10 apps now. After the top 100, does it matter at all?

That's what I thought too. But the top 100 might be different for different people.

I couldn't find any incentives as a solo game developer earlier this year. I developed a game with React Native and thought it would be interesting to release a Windows Phone [1] version... but it was not. I think I only had one person install it, and that was a friend who I asked to try it out. Of course, the main reason is probably that my game is just not very compelling, or I failed with marketing. But I definitely won't be launching any more apps for Windows.

I would have loved to get a free Windows phone so I could have tested the game on a real device, but it makes sense that they can't just give away phones to random indie developers.

[1] https://www.microsoft.com/en-us/store/p/sudoblock/9np72dfcvk...

My wife complains bitterly that she is unable to keep her Windows phone. I wonder sometimes if this ecosystem was killed by "expectation disease" where success was defined as '1/3 the market or better'. It is a common problem of insecure BigCorp type thinking when trying to break into a market, it has killed Google in the social space. This is the kind of issue that really needs a 'peanut butter factory'[1] approach.

[1] The 'peanut butter factory' has been a silicon valley euphemism for a small team of engineers from a "big" company that have gone off to build a new project without having the big company drag them down.

The best thing a new phone platform could do is essentially create an App building framework like React Native that allows developers to build apps targeting the new platform and the existing platforms at the same time(maybe not as a first class citizen initially, but those platform devs and fill in the blanks). That's about the only way that, as an engineer, I"m going to give a shit about developing for your app platform. If I care, and I make cool apps, then the user base size doesn't matter, I'll still target it because it makes my life better as a developer.

Yes! I love my Windows 8 phone! I hated Windows 8 for desktops because it felt like they were trying to turn my PC into a cell phone. But the design is great for an actual phone! Unlike on iOS, the app icons can be dynamic and you can change their size and what's displayed. My Lumia 928 feels better in my hand than anything else I've ever handled, and the screen contrast and true black is great, even in direct sunlight. I love having a dedicated camera button, too. I actually don't personally care too much that there are so few apps.

I had a Windows Phone 7 and loved it but ended up not being able to afford the monthly payments at the time that was required for having a smart phone. I didn't have much of an app issue but that was because I didn't have the phone long enough. I have a co-worker that also had a Windows phone as his previous phone and liked it. He wanted to get another when it was time to upgrade but he couldn't, there just wasn't any available.

Microsoft decided that a great way to get apps for their phone would be to make a UI for both desktop and phone and force developers to use it. In a single stroke they alienated all their existing desktop developers while forcing potential phone app developers to have to think about far more complex problems. Their message to developers was that they must learn something new. And so they did. XCode.

Which is a real damn shame because WP was such a fine OS and was the REAL competitor to the iPhone in terms of UX and hardware design (Lumia line).

You know what would have been an incentive for me (and I guess thousand of other game devs) to support windows phone? Support for OpenGL ES.

So now with Apple leaving GL ES in the dust as legacy API, are you going to stop targeting iOS?

Just as side note, Microsoft did port ANGLE to WP.

> So now with Apple leaving GL ES in the dust as legacy API, are you going to stop targeting iOS?

No, I will continue using OpenGL ES.

Anyway: Apple can afford pushing it's own API due to market share, Microsoft could not.

> Just as side note, Microsoft did port ANGLE to WP.

I know, but it didn't support a feature I needed at the time and also it was quite a hassle. Together with the non-GCC/Clang compiler it was just too much.

I got a Lumia 820 that way. I loved that OS and I'm sad it never got the recognition it deserved. If nothing else, a serious competitor to the other two major OSs with such radically different design might inspire Apple and Google to something beyond the tired old icons on a grid.

It was the first phone I'd bought in 7 years that didn't let you add your own ringtones.

That's how far behind it was.

I didn't get copy/paste for about a year. It's like you guys were -trying- to cargo-cult the iphone.

Unfortunately, Belfiore returned after his leave of absence.

God help you.

I loved it too, but my Nokia Lumia 800 never got updated. Loved the flow of things, it was fast, Whatsapp worked basically all I needed. But I did feel screwed as an early adopter. Why was I never able to run APKs? That would have helped so much...


We're a mid-size SaaS app and not a single person from MS made any sort of overture to us apart from "you should develop for Windows Phone!". It would have cost us like 100-200k and 9-12 months of developer time to do this. And then again for 10. And provide support for the rest of time. Nope!

We laughed at them in the background and awaited its eventual death. That we didn't put a single second of effort into developing for this platform has finally been vindicated! :)

Forcing devs to rewrite stuff every major release made it pretty clear no one there cared about developers.

I think Microsoft could greatly improve developer support. I've sent my Edge extension in April and still have no response.

It's almost like if you shit on developers for a decade people don't wanna bother with your new platform.

man, the windows app store was a joke.

a teenager could write something better in node/angular in a week

>For more niche apps they ran promotions for students and independent developers giving away free phones etc.

I remember they were giving Lumia 925's to computer engineering students here years ago if they made and uploaded an app. You can imagine the quality of the apps they were uploading. Most of them were slideshows or just a wall of text.

That's not how you incentivise app developers, that's how you inflate your numbers.

Back in the day the number of apps in the store was a major point in the mobile OS wars, though. Google and Nokia were both constantly compared to Apple and told how they need to improve.

And yes, one response was to inflate numbers with random crap. Nokia created a developer tool to convert web pages to native apps -- basically just a webview wrapper with bundled web content. Ovi Store was half full of these "apps".

I remember a co-worker who would scan the latest IOS apps and then install them and demonstrate them at lunch for us. One day he was really happy with his latest download: A "softserve poop" app. The other one was a "virtual bong hit" app.

But yeah, lots of bloatware and apps that were worthless, but could hold your attention for a few minutes until you uninstalled it.

It is my understanding that MS has given up on ARM. Sooner or later there will be x86 based phones, which partly solves the "app" problem. They just run a regular windows on the phone.

I've got one in my pocket right now: Asus Zenfone 2. It just runs regular Android. Even has an "Intel Inside" logo on the back.

Windows has never had great dynamic scaling, so trying to run regular apps on a phone would be a nightmare of tiny click targets. Metro apps would scale better, but that was the whole point of UWP.

IMO they've given up slightly too early. They could have written an Android-on-Windows compatibility layer, or various other things, but Microsoft just can't handle a market where they aren't dominant. The only way they could leverage their dominance would be to break Exchange ActiveSync and say "if you want your calendar on your phone, it has to be a Windows phone".

And Intel have pulled back from the low-power area (mobiles, Edison) because they're not competitive there. Maybe the same "can't function when not market leader" problem.

> They could have written an Android-on-Windows compatibility layer

MS had Android emulation[0] in the works for Windows Mobile 10 but then decided to cancel it citing it was "unnecessary".


> Android-on-Windows compatibility layer

This was one of the big mistakes made by OS/2 when they were competing against Windows. They created a compatibility layer for Windows applications, which meant that developers never wrote native apps for their platform, leading to a very poor user experience and gave Windows a leg-up on its competition. I doubt Microsoft wants to make the same mistake.

That doesn't make much sense, apps made for mouse and keyboard on a large screen won't magically become usable on a small touchscreen...

That's always been a weakness with Microsoft's strategy. First with a stylus for Windows Mobile, later with the ribbon in Office.

> Sooner or later there will be x86 based phones

Sure, but right now Apple and their ARM designs are running away from everybody else. Plus Windows is terrible from a security and power consumption point of view. Can Microsoft fix that without breaking everything?

I think MS is conceding the entire phone space. Full screen form factors (like laptops is and large tablets) are very important but for small devices I don't think they can compete.

> Windows is terrible from a security and power consumption point of view

Windows is way ahead in both security and power efficiency.

About security, here’s an example: https://news.ycombinator.com/item?id=10410833 In Windows, clipboard access was restricted to foreground app since WP7.

About power efficiency, WP is very restrictive on what apps can do in background. See this: https://msdn.microsoft.com/en-us/library/windows/apps/hh2029...

I'm talking about x86 Windows. Windows Phone is dead.

The fact that a viable mobile OS has to be restrictive about background operations is exactly what I was talking about when I said they can't fix it without breaking everything.

Exactly. Microsoft is abandoning phone, but I imagine they'll still exist in the business-tablet area.

They Brought back WinRT, or rather this month's new Desktop RTM build has an ARM64 version. It'll probably run low-power low-cost tablet/phablets, maybe even be put on a phone if 10 starts seeing more metro apps at some date.

I mean that capability is where the desktop version of windows keeps getting more features matching; each version of Phone and Desktop have been more and more like each-other.

> Plus Windows is terrible from a security and power consumption point of view. Can Microsoft fix that without breaking everything?




That UX will just be amazing


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact