Microsoft gives up on Windows 10 Mobile
bbc.co.uk
bbc.co.uk
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.
They did so much, sometimes I felt impostor to don't do more. So much money was here to support.
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?
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.)
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.This list keeps changing every month. Remember Pokemon Go?
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.
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.
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.
Why spend $100,000 developing something one app when you could get 1000 for the same price?!
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.
Either way that experience always comes up for me whenever people talk about the low quality of apps on the Windows store.
> leaves out the fact that 99% of them are either web wrappers or low quality games
This is why we have confounding factors, kids.
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.
https://www.theverge.com/2013/6/15/4433082/microsoft-paying-...
"I'll pay you $100 or split the equity for my cool new app idea!"
No, Microsoft beat Microsoft. It was their game to lose.
You're 100% right, MS beat MS.
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.
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).
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...
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.
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.
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.
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.
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.
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!]
LOTS of people got heated when that happened.
You can still get the new HP Elite X3 and the Lumia 950 and 950XL on ebay for around $300.
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?
Think about the learning time for the completely new eco system. The new hardware and software that is needed costs money as well.
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.
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.
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?
(It was in Malaysia, and my website was very popular then.)
Nuts. People don't even use apps [i]. They may have facebook or netflix installed - but then it gets real thin.
https://www.apptentive.com/blog/2017/06/22/how-many-mobile-a...
I hardly use my phone for calls. In fact, I prefer Whatsapp or Wechat. And nope, I don't have netflix on my phone.
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.
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.
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.
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.
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.
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.
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.
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.
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.
I suppose you didn't know that HP made calculators either?
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.
This didn't age well.
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 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...
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.
Nonsense
https://np.reddit.com/r/Windows10/comments/74xc2z/windows_an...
https://np.reddit.com/r/Surface/comments/6ifyxq/spotify_for_...
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.
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.
MS had Android emulation[0] in the works for Windows Mobile 10 but then decided to cancel it citing it was "unnecessary".
[0]https://www.windowscentral.com/microsoft-officially-cancels-...
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.
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.
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!
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.
Look at the fire tablets, you have a 7" for $50, there is no way there is any profit in that price.
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.
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".
But yeah, lots of bloatware and apps that were worthless, but could hold your attention for a few minutes until you uninstalled it.
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.
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.).
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.)
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.
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.
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.
https://opendevelopment.verizonwireless.com/get-certified
https://opendevelopment.verizonwireless.com/device-showcase/...
Hell, i could have sworn he had to be talked down from lawyerbombing jailbreakers and cydia into the ground.
Why wouldn't he want to sell it worldwide and make Apple significantly more money?
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.
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.
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.
http://www.businessinsider.com/red-ring-of-death-recall-2016...
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.
"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.
Windows phone was quite popular in Asia yet it died due to lack of devices.
My mum still rocks an HTC HD7 tho.
I had been a Windows Mobile 6.1 user.
Mystery.
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.
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.
>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.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.
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.
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.
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.
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.
They could do it, though. They could.
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.
And neither Direct3D nor Metal have any real advantages over Vulkan. They exist for locking in developers.
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.
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.
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.
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.
The latter will make them love Outlook.
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.
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.
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.
It's all fun and games untill 2000 users cannot log into their machines because your new shiny active directory replacement didn't work.
Especially as they get more and more attention from the military-industrial complex.
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.
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.
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.
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.
Well, yeah, since the non-executive secretaries have been replaced by Office and network drives, essentially.
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
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.
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
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...
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.
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.
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.
> 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
On a similar note if they get back to you, Mozilla is testing the waters with dumb privacy invasion stuff in Germany soon too:
https://www.ghacks.net/2017/10/06/mozilla-to-launch-firefox-...
They're probably across that already though, but if not it might be useful to point out to them. :)
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.
19 years after the first release of apt-get and I'm still waiting for MS to give me something half as good.
Have you looked at chocolatey as a total replacement for apt-get? If you havent, be prepared for eye gouging disappointment! :(
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 ;)
perhaps doesn't solve your problems yet :)
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.
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
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.
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.
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?
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.)
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.
Disagree.
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.
Apparently others with better knowledge of Web than me, think otherwise about React vs WndProc.
https://bitquabit.com/post/the-more-things-change/
As for your WebGL example, I would have used Swift with SceneKit instead, regarding productivity in native development on Apple systems.
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.
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.
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.
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.
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.
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.
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.
> 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.)
Somehow they seem to lack leadership.
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.
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.
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.
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.)
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.
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 can still run VB6 apps but try running a .net framework 1.0 app!
https://www.microsoft.com/de-de/download/details.aspx?id=162...
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...
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.
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.
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.
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.
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.
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.
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.
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.
Object Pascal, Powerplant, Quickdraw, Java Bridge, Quicktime, QuicktimeVR, Carbon, OpenGL, ...
Apparently only Microsoft does it.
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.)
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.
(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.)
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.
As it is, it's easier to just target WPF.
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 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.
(by the way, do check my HN profile...)
(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 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.
"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.
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!
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.
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-...
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.
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.
Huh? Maybe my memory if failing me, but that's how networking on iOS always worked.
If the wifi doesn't work, no phone will use it. If the wifi is BAD, that is completely different.
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.
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.
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 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/
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.
Only a handful of them aren’t.
You can have all the features of Android Studio in all the languages I mentioned just with the open plugins.
As proof of this, the Flutter team just released a version of their plugins for Android Studio.
https://groups.google.com/forum/#!topic/flutter-dev/D6pvqM09...
Android Studio also includes bits of CLion for example.
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.
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.
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.
And the open C++ plugin is actually the same that powers CLion (if you have CLion installed, I recommend looking at the plugin list)
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?
- 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.
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.
Thanks for laying bare why it failed so badly.
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.
Not only is this untrue for years past, it's still untrue (See Continuum + UWP)
Plus how would you download another windows browser - it would have to be in the app store first lol.
Just as side note, Microsoft did port ANGLE to WP.
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.
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 want to incentivize people to write apps that bring in the big bucks. So they can get a cut.
And then periodically rewarded great users with 100$. it would have been like a tax break for the users to spur the app economy.
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.
[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.
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.
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.
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.
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.
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.
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.
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.
a teenager could write something better in node/angular in a week
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...
So far we've seen:
- Amazon fail - Microsoft fail - Facebook fail (killed internally)
All fail at providing anything like a competitive answer to Android and iOS dominance.
What I see are all the big players lining up to take a crack at Augmented Reality when the tech hits a sweet spot sometime in the next 5-10 years. That's the reason for the crazy investments in MagicLeap, etc. it's a bet on being able to muscle into the absolutely massive mobile ecosystem.
https://www.quora.com/How-does-Google-Play-in-China-function
Alibaba wants to do that once, they made a phone[0] (in Chinese) and a operating system called YunOS[1] which forked on Android.
However, that phone was not a success. So eventually they cooperated with phone manufacturers in China to build phones that have YunOS pre-installed rather than build a phone on their own.
After seeing sale counter of those phones[3] (Also in Chinese) though, I don't think they had a lots of fans.
[0] https://baike.baidu.com/item/%E9%98%BF%E9%87%8C%E4%BA%91%E6%... [1] https://en.wikipedia.org/wiki/Yun_OS [2] https://yunos.tmall.com/p/rd169008.htm
Let's see what will happen with the Purism Librem 5. Obviously, they just just a very small niche player, just like the Copperhead OS guys and Silent Circle.
- Palm/HP webOS
- Intel Moblin
- Samsung Bada
Moblin was merged with Nokia's Maemo into Meego. Meego was a resounding success on the one phone it shipped (Nokia N9 sold millions of devices in non-primary markets with zero advertising). We can thank Elop the Trojan CEO for that one.
Meego morphed into Tizen which Samsung promised not to change too much before proceeding to basically replace the entire UI stack with Bada. Tizen offers nothing but a rip-off Android experience and an SDK with a EULA that screws devs so bad that even MS or Apple wouldn't dream of having it (last time I checked, if you write something with the proprietary Tizen SDK, you hand all your rights to your code over to Samsung).
Interesting. What was the Facebook mobile OS?
Similar to how Ubuntu is Linux, but their homepage doesn't mention the word "Linux" at all and they tried their damnedest to make it incompatible with the broader Linux community for a long time.
All fail at providing anything like a competitive answer to Android and iOS dominance.
It still seems like another way of failing. Microsoft tried a different OS from scratch, while Facebook and Amazon just versioned Android-
But there was also a genuine sense of excitement about Windows Phone 7, they had some single-digit marketshare, the other ecosystems were not as big as they are now, and Android was pretty bad at the time.
I think one of their fatal mistakes was the Windows Phone 7 -> Windows Phone 8 transition where they left many early adopters out in the cold (IIRC none of the WP7 phones could run WP8).
I agree that building an ecosystem was a large part of the problem, but Microsoft also messed up royally by making a hard cut in the platform when it was just starting to take off.
I remember going to a store around 2005 or 2006 and deciding, "if I can get slashdot to load, I'm going to buy this phone." I couldn't figure it out! I don't know if I just couldn't figure it out, or the phone was misconfigured, but either way, I just didn't want something so difficult to use in my pocket. From what I remember, the browser was buried under a tree of menus.
When I first tried the iPhone in 2007, it was very easy to figure out how to load slashdot!
Later, when someone showed me all the "cool" things about the Windows phone, they were just a snazzy UI that had totally unintuitive features that I would never use. I just couldn't see the point of the phone; except as a toy for people who like to tinker.
Tried? When the iPhone came out, Windows Mobile had already existed for 7 years and had 40%+ of the smartphone market. I'd say that's a little more than "tried".
It's a painful reminder that Microsoft doesn't do "blue ocean" strategies very well. They need someone to compete against and dominate over and coopt the marketshare.
All their successes involve "parleying" a beachhead on someone else's turf (VisiCalc/Lotus123 -> MS Excel) into dominance or buying outright the dev team (Delphi -> VB 4/5/Studio).
Microsoft wanted to "evolve" the PC into a mobile device, but they could never create something from scratch that didn't smell like Windows.
It's also worth remember the Apple Newton if you ever start to question the mobile technology decisions of Microsoft or wonder how Apple would have fared if they chose to compete then. They tried. They failed.
Their Fire phone failed, for sure, but they have had success with some of their Fire products. Fire TV is nearly as big as Chromecast & Roku, for example, all 3 of which dwarf Apple TV, and of course Kindle was a smashing success. The Fire tablet is also seeing some success.
But these products don't hinge on app support, crucially, they are just content delivery platforms for Prime.
Just because Amazon branded their phone under the same brand as their successful tablets and streaming sticks doesn't make the phone any less of a failure.
The difficulty there is at least 90% of the AR market will be passive experiences, and at least half of those will be hand held, which basically means Apple and Android have already won half of the AR market, they can just photocopy their way to market share the way Microsoft did in the 90s.
And the trouble for headset makers is that handheld market will put some serious network effect pressure on them.
The hope I see is that technical differentiation will provide the moat against Apple and Google, but I have a hard time imagining what tech is going to be so hard for them to copy.
The most sensitive users will just stick to handheld where fidelity doesn't matter. And the most adventurous users will just go where the content is. The HiFi segment is the entirety of VR early adopters right now, but I see them as a thin minority squeezed between those other groups in the endgame (motion averse and content focused).
Although fidelity has some virtuous cycles with content production. So there might be a strategy there for Facebook or Microsoft.
.NET Core - implements .NET Standard.
Everything else is layered on top of .NET Core: .NET Framework (Windows), Xamarin (Linux, MacOS GUI, Android, iOS).
So basically everything in use will support .NET Standard.
Retconning is a bitch :p
I think the netstandard -> all platforms approach, combined with the aggressive depreciation of old .Net 4.6.x versions is a road map for the future.
Maintaining two entire release chains, the 4.x and the .Net core 2.x, is an impossible long term strategy.
I would be absolutely astonished if the 4.x line is quietly folded away and depreciated ('unsupported') once the netstandard surface area means the code bases that no longer run on the .Net core fall to significantly small fraction.
At that point there will just be 'one' .Net again, and it will be .Net core, on all platforms.
Significantly, there seems little to no indication (https://github.com/dotnet/core/issues/43) that winforms and WPF are going to .Net core.
You might argue that Microsoft is a legacy beast, and they won't abandon their developers by dropping support for old versions, but they already are doing that in the 'you can install it, sure, but it'll never get any more updates' (#1, #2), so you know.
Don't bet the farm on a WPF app. Just saying.
#1: https://blogs.msdn.microsoft.com/dotnet/2015/12/09/support-e...
#2: https://support.microsoft.com/en-us/help/17455/lifecycle-faq...
Not sure about WPF. It's a shame because it's a great development experience.
Generally, having something cross-platform either means you're terrible everywhere (Swing), terrible on non-primary platforms (GTK), or have to invest a lot of work in making things work well and still don't quite feel native (Qt). Or you go the Xamarin Forms route and have a few core controls that have to be implemented natively on every platform, which reduces their features to the lowest common denominator, often doesn't expose or enable low-level platform details that may sometimes be needed for customization, and means that you have to invest thrice as much effort into making everything work.
In my experience UI frameworks either are bound to a specific platform, or suck. Or both. But a cross-platform WPF would be awesome, but I'd rather expect UWP to become cross-platform instead of WPF.
[1] https://en.wikipedia.org/wiki/XVT
[2] https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Proto...
I've seen them promote at least 2 different technologies since the first time I heard WPF was dying, and both of them are dead already, so far as I can tell.
Yeah, I don't think winform / wpf is going anywhere quite yet.
At .NET Conf 2017 they announced support for macOS, Linux and WPF. And demoed macOS and Linux current status.
While previously at BUILD 2017 they announced XAML Standard for interoperability between WPF, UWP and Xamarin.Forms.
Which kind of implies it is the way forward.
On one side, I'm glad that declarative app UIs can now be built on a web, on the other side - come on, Microsoft, we could have skipped a whole jQuery era and be somewhere else with the web now.
And react is still missing a big library of standard, well documented components with accesibility, performance and all the edge cases built in.
I'd love if that were true, but of course the big selling point of React Native is that it works on several platforms. WPF works on one, and only a desktop one. Well, now that WP is dead at least.
If WPF ran on iOS / Android, hell even if it just ran on MacOS, I think there'd be a lot more devs building apps in it than JavaScript.
In roughly the same period, Microsoft bought Skype, Minecraft and LinkedIn for a total of around $36 billion, the bulk of that accruing to LI's price. I get that MS is enterprise-focused, but those prices seem completely out of whack with what they actually got in value. Whatsapp, Google and Apple all offer built in video chat for consumers and LI's value to anyone outside of recruiting agencies is dubious.
This is exactly the reason why LinkedIn needed the acquisition. I agree with you that the $26B price tag makes no sense given that LinkedIn needed this deal more than Microsoft did.
> The software giant will pay $196 a share - a premium of almost 50% to Friday's closing share price.
http://www.bbc.com/news/business-36519766 https://archive.fo/SoaO6
I think Windows Mobile should have followed through with its bridges, particularly the Android Bridge that it unceremoniously burned.
ref https://www.windowscentral.com/microsoft-officially-cancels-... https://archive.fo/qtqcK
But I agree, a decent acquisition strategy could have done wonders for their ecosystem. Instead of constantly making and shutting down competitors to popular products, buy the popular ones. There was a time before now when Evernote would have been a nifty target, before they collapsed under their need to make money. There are plenty of amazing music platforms that people care about which aren't Groove.
But rooting/jailbreaking (in WP world called "Interop unlock") has always been awkward and possible only for the most popular types of WP: Lumia, Samsung.
To write programs, it requires me to install Windows 8 or 10 — can't do with Windows 7 or Linux.
Even if I write a program, this phone requires special developer unlocking online for "sideloading" two apps maximum at a time, another arbitrary awkward limitation which can be circumvented by shuffling around with an SD card: loading an app into phone, moving the app to SD, disconnecting the SD, loading another app and so on.
WP8.1 does have an ability to install an app from a file directly, but only if it is signed with special enterprise signature, and that isn't cheap.
Of browsers, only IE and IE-based browsers exist for WP, and that means no proper customization and of course no ad blocking.
So the platform looked quite hostile to me and I wasn't motivated to explore any further.
It seems to "work" for Apple, unfortunately. I can't see any business giving up on the prospect of having a 30% cut of everyone else's software ...
1. Schizophrenic product direction.
2. Entire platform change half way through.
3. Quality control issues galore.
4. Regional issues galore.
5. Reinventing wheels, badly.
It's just crap. That's happening to windows 10 too. It's just not quite as far down the toilet.
Communication could often be better though.
Notably @saurik's comment on google's relationship on windows phone: https://news.ycombinator.com/item?id=14835776
It's interesting considering the competing platform influence as today we're seeing headlines of the amazon echo show getting discounted after the youtube support got pulled: https://www.theverge.com/circuitbreaker/2017/10/9/16448280/a...
My first memory of windows phone was running wp7 on an htc hd2. At the time it was curiously interesting since I was writing code with WPF. In the beginning were definately some interesting aspects on paper - the legitimized 'jailbreak' mode, decent multi-tasking for it's time, writing apps with visual studio/c# (which felt much better than xcode at the time, and had a community defining many of the initial reactive/mvvm work used in many places today). But watching friends purchase Lumias that didn't get updates for wp8 months later showed just how much has to be done on a support front, especially for a new platform.
Google looked around and said we want in but how? Get rid of the wall and let any carrier and everyone use it. All the carrier's saw they could never get to market as fast and cheap as this so they begrudgingly accepteded in the face of Iphone taking huge marketshare an growing.
MS came late with an expensive phone, a walled garden and no software(but hey kid why don't you build some for me for free). What were they expecting?
I guarantee that they would have loved to tie your phone to an Xbox live account and make you pay 15 a month to text. That was probably the end goal and they were trying to work backwards towards it.
It was stupid, and also the final fatal mistake that Nokia made. It was clear Android was well on its way to become the "Windows" of smartphones, which meant, ironically, that WP would be relegated to being at best the macOS or Linux of the mobile market. Plus, Android already allowed OEMs to be "different".
Nokia was basically making an argument for a "different ecosystem" at that point. But they should've known that it was too late to attract developers to a third ecosystem. Android had to fight hard to even reach more or less parity with the iOS ecosystem in terms of revenue for developers, even with its 5x larger market share. There was no hope WP would win in these conditions.
This is like them releasing an 8bit console with no games and just as expensive. In 1988, when everyone already owned a Nintendo or Sega.
Nokia didn't go with Windows Mobile because it thought it was the superior platform. It went with a different platform because it had become painfully clear to said middle management that Symbian could not be economically technically adapted for modern smartphone hardware, that sales were tanking as a result. And then Nokia went with Microsoft instead of Android because Microsoft gave them a boat load of money to do so, whereas with Android, Nokia would've had to build everything from scratch, and it wasn't clear anymore that they'd have the resources to do so.
Nokia's story is, more than anything else, of how technical debt can kill a company.
- The first is the quality leader, who has the highest quality but also most expensive products. They sell low quantity but with high profit margins. (Apple)
- The second is the quantity leader, who has the lower quality but also the least expensive products. They sell with low profit margins but in high quantity. (Android)
- The last is the buy-in leader, who uses compliance or other methods of tying people to their product. It doesn't matter the quality or price point, because people are buying it for other reasons.
Traditionally, this third one was Blackberry in the mobile phone market with buy-in for enterprise. With the decline of Blackberry, it was a pretty sound strategy (at the time) to try and take that market share with Microsofts enterprise buy-in.
The problem is that Blackberry declined because the enterprise buy-in declined. Android and Apple began making it easier to access work-related functions on their platforms, and you no longer needed a separate phone to do it.
When Microsoft starts out like this, they deserve every little failurethey get!
Refs: http://www.theregister.co.uk/2003/01/06/microsofts_masterpla... https://en.wikipedia.org/wiki/Orange_SPV
But I just couldn't: getting the environment to work required me to upgrade my version of Visual Studio, upgrade my version of the OS, pay a developer fee (or send an e-mail with a scan of my ID and grade transcript to get it waived as a student). And even after sorting all those obstacles, the IDE was so buggy that I couldn't even place a date picker object.
The impression I got was: you can develop for WP, as long as you do it the way we like it (OS version, Visual Studio version) and invest about a hundred dollars getting up to spec.
Compared to Android's "here's the free IDE for your OS of choice", I'm not surprised developers weren't thrilled.
Developing for Android is really amazing. But the real deal is the phone's market share. It doesn't matter much how good or crap is your experience creating apps for a specific platform. At the end of the day it's about how many users will be downloading your app. Apple and Android has the market. Windows does not have it.
While I understand Microsoft's efforts at trying to approach the mobile space, it does seem that it's often at the expense of their core product - very similar to how Google nearly crippled their core offering by integrating everything with Google+.
I'm impressed that despite all of this, though, they've managed to keep desktop dominance, even with the rise of of Chromebooks and Macbooks.
Linux isn't user friendly enough, and Mac's support policy is a complete no go for enterprise.
And don’t forget that developers are a tiny minority of employees.
Macs are usually only available to upper management, unless required for iOS development, in which case they are part of a pool shared among project teams.
Not at all. Linux can sometimes be made available on servers if necessary, but if you want Linux on your desktop you have to use a VM (ideally without telling IT). Never worked at a large place where Macs where readily available. Macs used to be more popular ~10 years ago or so with the marketing and communications people doing a lot of DTP and design work, but even that seems to have greatly decreased.
Counter-anecdote: every place I worked at including 4-5 major companies in various industries had compulsory windows desktops for everyone. The few of us that also had a Linux (or AIX/HP-UX/...) machines that we did our work on, SSHd into those machines.
However i work with Rails, Python and fancy things. I know if i would look into .NET/suit wearing side of things, things would look very different.
It required a boot direct into the GRUB root console and running fsck from there.
Not something that regular macOS and Windows users expect as user friendly.
I bet 99% of Windows users can't solve that by themselves. I don't see any difference with your problem.
The problem you describe is bad as you can't use the computer at all, while my problem created a false illusion that the home folder was OK as it was still there. That the old one was renamed, made invisible, and then the new one got the old name - didn't help at all.
[0] https://askubuntu.com/questions/298487/not-enough-free-disk-...
Which was a "bit" painful because the office is wifi only and getting online then is impossible. Had to hunt down the driver, put it on a stick and install them. Never again.
And the laptop was 5+ years old ...
The state of Linux is not great. We still can't get the basics like sound, wifi, etc out of the box. I get why it's a problem, and it's generally not the fault of Linux devs, but it's still a problem that turns people away.
I really want to see Linux take over on the desktop, but turning a blind eye to our problems is a poor way to do it.
Complete and total fabrication. Video for gaming is still trouble, but I have no more issue with Linux wifi or sound output than I do with Windows. In fact, Linux networking to me is better than Windows.
The last laptop I did a clean install of Windows (7) on was a HP netbook. Even though it was a Windows machine, and I used their Windows install disc, it was a miserable experience (because I didn't have the separate driver disc). Not only did not the WLAN work, neither did the Ethernet port: the only way to get online was by using my phone as a Bluetooth dial-up – luckily I had a Symbian device you could do that with. And even then, Windows Update was of no help – I had to navigate to HP's website to download the very separate driver packages for WLAN and Ethernet functionality (and any other packages I can no longer remember).
By the way, with Ubuntu connectivity worked fine out-of-the-box – which is lucky, because although I have used Linux for over a decade as my daily driver, I have never had to install WLAN drivers for one, and probably couldn't. (Nothing could save the slow Atom from offering woeful user experience, though. One of the worst deals I ever had as far as computers go.)
edit: wording and clarification
Only reason why I miss Windows is gaming but for entertainment purposes I am considering switching to console (I used to be a PC gaming maximalist but don't feel so strongly about it anymore) - probably PS4.
I do agree with what you are saying though. Installing Windows from scratch is a pain too (at least it was last time I tried it with Windows 7). But almost nobody installs Windows ever, majority of people buy laptops with preinstalled Windows (plus ton of malware as a bonus from the manufacturer).
Its a pain to get Windows running. Even trying to create a bootable Windows medium without having a prior windows machine is like some kind of freakish experiment whereas Linux (and everything else essentially) usually is fine with a `dd` transfer on a USB medium. (None of my machines has a CD drive.)
More often than not i would find missing drivers after the install. Not everyone has only 100% typical gamer hardware, everything a little more "unique" can be expected to not work properly out of the box if the machine is older than a few years, or newer, and will require manual driver installation.
New Windows versions always introduce the possibility to introduce new driver pains. And dont get me started with updating (drivers, software, libs, OS, ...) generally.
As it is, my mum can install and maintain a Ubuntu, she can however not keep a Windows machine alive for longer than a year. Same thing i've seen with many other non technical users in and around my family. Even thought that is anecdotal again.
To be frank: You are wasting everyone's time with such comments.
Usually you can make things kind of work, but a lot of things do not properly function 100% out of the box.
To be able to replace Apple or Microsoft, not only do you need user friendliness for how the machine works, but you also need to get rid of all the miscellaneous tech and configuration problems that crop up.
As I understand it, Linux laptop sleep/suspend/hibernate is still a big PITA.
On clean of windows I used to download drivers from ubuntu since windows did not load them.
https://www.youtube.com/watch?v=5PmHRSeA2c8&feature=youtu.be...
For a more enterprice thought, try giving Microsoft a call with a Technical issue and then do the same to the Ubuntu Enterprise team.
One is obviously better than the other in this field. Feel free to decide yourself
It's simple: Chromebooks are crippled by the mostly-web concept and Macbooks only cater to (a part of) the more affluent end of the market.
With iOS you get the high end hardware and deep integration with Apple's ecosystem.
With Android you get deep integration with Google's services and a wide range of devices in prices and features.
What did you get with Windows mobile?
From a consumer point of view, not much.
There's a lot there for businesses though. If you employ a bunch of .Net developers for your in-house applications, Windows Mobile is a pretty natural way get a mobile app developed.
But MS services weren’t as good years ago, and they didn’t have many apps, and they kept burning people by not letting them upgrade to a new major OS release.
This can convert Android into an Oligopoly instead of Google's Monopoly.
https://www.theverge.com/2016/2/22/11092050/cyanogen-microso...
So Microsoft did another miscalculation on that one.
It seems likely that Microsoft continues to push into Android with all things it releases for it. But how will they make money on that? Seems unclear.
Microsoft strategy was just bad. It tried to copy the iPhone when it should have tried to copy its own strategy on PC, which is creating a OS and letting other companies build Windows Phones. The only person who got something out of the Nokia deal is Elop, which is curiously similar to how bad Macromedia/Adobe deal was. What is left of both deals? nothing.
Microsoft isn't that good at consumer hardware, the only exception is the Xbox. Look at the surface book, full of issues when it should have been a hit.
Eventually MS will try a comeback in the mobile OS market, in 5/10 years, because it's essential for MS survival. But it needs to build the services to back that up.
That wouldn't have worked either. Microsoft has the desktop market today because they had it in 1981 when the IBM PC was released. Operating systems have huge network effects.
There is very little they can do today that will cause them to lose that. People hate that there is no simple off switch for all the Windows 10 telemetry, but is it causing all those people to switch to Ubuntu? No. They're mostly sticking with Windows 7, and when support runs out on that, they'll grit their teeth and use Windows 10. Because they have no choice. They need Office and Photoshop and Active Directory and some weird printer thing from their weird printer support company and a dozen other things like that. Which kind of maybe have Linux equivalents but some of them aren't as good and all of them have some initial switching cost which would all have to be taken on at the same time. So when the choice comes to either let Microsoft punch you in the face or walk away, most people still aren't willing to walk away.
But with Android the shoe is on the other foot. Microsoft can't dislodge Android for the same reasons that Canonical can't dislodge Windows.
I think this wasn't a bad outcome for Nokia. Android was quickly killing Symbian, and I doubt Nokia would've been too successful using Android.
They kept all the patents, maps, and $7.2B that allowed them to considerable strengthen their other business.
Google/Android beat them to the punch. I don't think that would work for a third entrant.
We tried this. Manufacturers weren’t very interested because the users weren’t. Samsung and HTC and others made windows phones and they stopped investing because they didn’t sell well enough.
The Nokia purchase was a reaction to the reality that no one else was going to build Windows phones in the future.
Disclosure: Microsoft employee (not involved in phone or OS)
While there are few, if any, surviving remnants of Macromedia software within Adobe, the acquisition of Macromedia both eliminated its most serious competitor and provided an influx of engineering talent.
Using stock price as a surrogate for overall performance, they went from ~$35 at the time of the acquisition to ~$155 today, with annual net income rising from $600M to $1.6B today.
Here's a bit of trivia: Microsoft filed an amicus brief[1] supporting Oracle's position that API's are copyrighted in Oracle v. Google.
Not long after this, coincidentally (or not) that Microsoft canceled project Astoria[2], which implemented Android APIs on Windows 10 Mobile. If they implement Google's API, and Google were to sue, it would be trivial to prove wilful infringement by citing the amicus brief (they knew it is wrong and they did it anyway).
1. http://www.theregister.co.uk/2013/02/20/oracle_and_world_vs_...
2. https://www.windowscentral.com/microsoft-officially-cancels-...
The problem is that no customer I knew was keen to have to pay for the same app three times. Android and iOS cost enough money. Windows Mobile only choice would be to overcome one of those two platforms quickly, but it started the race way too late. Everybody was hoping it died quickly. A market split evenly in 3 would be a budget nightmare.
However let me say that only one platform would be unhealthy. Nothing good comes from mono cultures, as IE demonstrated after winning the browser wars some 15 years ago.
They priced the 950/950XL same as iPhone and Android flagship phones. Yes, I do understand the 950 and 950 XL have flagship hardware, however, you do not priced it as your phone is in high demand.
If they priced the phones at 300, it would sell a lot more. Developers do not want to develop for an OS with no users.
Not only the hardware price was bad. The fees to developer was also bad. If I recalled correctly, they also want to takes the same amount of fee as Apple and Google. If I was Microsoft, I would not charge developer any fees for 3 years just to get them on board.
The hardware was never the problem. Lots of great devices shipped with Windows Phone.
(Disclosure: Microsoft employee)
I wasn't able to select a Windows Phone. There were several models but none of it made an explicit accent on sound quality. As a last resort I looked to external DACs and it turned out that Windows Phone didn't support them either.
I just went and bought a second hand iPhone 6 with a good discount. The sound quality I got from it was decent and I became a happy Apple customer one more time (had iPhone 4 and other Apple gears before).
So a statement that the hardware was never the problem is a bit of a stretch. Everything accumulates pretty quickly and every detail has an impact.
Regardless, my point wasn’t that the hardware was perfect for everyone or every use case. The point was that there were premium Windows Phone devices before the 950 showed up. The 950 arrived after the end state for Windows Phone was pretty obvious.
The point is that everybody is a different niche. If you start this attitude that feature X is uncommon and not worth the effort, then you do that for a thousand feature X's, eventually you make a product for no one and since you can't predict what niche feature X will suddenly become more important later, the future doesn't happen on your platform.
I have talked to far too many people at MS who have exactly this dismissive attitude about every single feature.
As a dev (at Microsoft), I’m well aware of the potential risk of dismissing features. However, I’m also aware that features are not free. Everyone who actually ships has to make tradeoffs. You can’t ship every feature so you have to cut ones that you think are low value (to the customer or the business, depending on how you look at it).
I don't think the whole answer fits in a comment box though. If you have interest in learning more offline I can explain it further.
Continuum was to be the killer feature but they shot themselves in the foot by releasing the Lumia 650 with such mediocre specs that didn't support it.
I hope the rest of the industry remains paranoid. Nadella does have a point. Mobile will evolve and in 5-10 years, watches, glasses, etc could usurp a significant share of the mobile phone market.
It can be easier to claim a new market rather than take an established one. Windows is still close to 90% of the desktop makes share, but it matters a lot less today.
They've served me and my family well since. The lack of apps has a flip side... I'm not terrible worried about malware. ;) And I'm not worried about my kids getting too distracted by all the games, etc available on iOS/Android.
I spend 2 hours yesterday morning trying to get screenshots off of my mothers Samsung galaxy something-or-other android phone and the thing is just a complete mess, photos stored in 3 separate places, some pictures in one place but not another, some available but when trying to BT to me her phone "cant fetch" the photos.. I almost had a breakdown. She also had a malware problem about half a year ago where when she turned on wifi it was uploading for hours sucking up the entire internet connection and my brother couldn't play his online games. Could not find out what was uploading or where it was uploading to but it required a complete reset. Even when working correctly she cant do tasks because she is at times bombarded with notifications from apps that fill her screen up and just seem to stress her out.
Problems like this are common with my family and mother unfortunately, she had a windows phone (back when it was Nokia making them) and never had issues apart from "lack of apps" which is why she switched when her contract allowed.
Hope you enjoyed my rant/blog-post.
Is this something people should be worried about on a phone?
For quite some time WP was the best developer experience between iOS, Android and WP, regarding tooling and available SDK programming languages.
I am not pining for Windows Mobile (despite owning several throughout the past decade) I just think that Windows OneCore will make Windows available on phones again if Microsoft ever have a good reason to enter the mobile market again.
Just like Google and Apple get phone apps that work by accident on tablets, but feel out of place otherwise.
Currently most UWP developers only care about desktop as target platform, so if it happens to work and be a good UI/UX in a e.g. 7" display it will be by accident.
One needs to take responsive design and API contracts into account, to make a good UI/UX across all supported platforms.
I don't think the problem was ever the openness of the platform. An open platform doesn't guarantee developers either (look at decades of people not support Linux ports of their applications as an obvious example).
Usually "a hop" is represented by some required certificate, a special "container" the app needs to follow, a special API voodoo call you should make to sideload the app. It quickly decays from being a reliable reproducible computer science, and turns into the joke of marketing greed you would never trust.
From a developer standpoint: those "hops" have been your job for decades. Complaining about them says more about whether or not you are good at your job than the platform itself is suitable to applications.
Windows has always encouraged executable signing, and downloading unsigned EXEs from random websites has always been a bad idea. (The SmartScreen warnings for them these days have become appropriately diresome.) Other platforms have signing requirements, too.
Containers have always existed: ZIP, CAB, MSI, etc. If I was forced to write a container by hand-formed scripts, the APPX format is much easier than MSI or most other installer packages for classic Windows desktop: it's a zip file with a pretty easy to read XML manifest.
(With the Desktop Bridge, no application developers have an excuse to use an EXE or MSI installer anymore if they are only supporting Windows 10. If you can build an EXE or MSI, you can build an APPX. Build an APPX.)
There's no special voodoo API calls needed to sideload an app on Windows. Users just double-click an APPX package and magic happens [since the Anniversary Update in November of last year], they get a simple installer dialog. (You can use PowerShell to automate installing APPX packages, but you don't have to. It's an advantage to power users, not voodoo to pass to normal users.)
As for "reproducible"? APPX installs are way more reproducible than EXE/MSI installs. It's a pretty slick system if you bother to look under the hood. It's also rather well documented in that case that you do.
I can't assuage any conspiracy theories about marketing greed, but looking at sideloading from a technical perspective, it certainly isn't "a lot of hops" and "nobody does this" is a matter of perspective; I've got several packages in development that currently are outside of the Windows Store.
As a developer of WinAPI app, I can just click on .EXE file. I can use CreateProcess to run it. I can use command shell to run it, right? And so on. I'm free.
The UWP is a different story: as a developer, I can do exactly nothing. I cannot run .EXE. I cannot run .APPX. I cannot run from command shell. I cannot distribute .EXE. I cannot distribute .APPX.
Instead, as a developer of an UWP app, I have to use exclusively Visual Studio in order to run my app. That's all. I cannot launch my just compiled app from command line. I cannot launch automated UI test. I cannot distribute the app. I cannot use XCopy. Bummer, nothing. I'm a monkey in a dystopian walled garden.
Why would I invest in such a platform? Why should I play bureaucracy games with certificates on my own machine? Why, as a developer, I have no access to "Launch from Layout" API, but Visual Studio has? Doesn't anyone think it's not competitive, to say the least?
The list goes on and on. But yes, from a MBA or an occasional lurker standpoint the skies are blue. Really, what could go wrong.
You can distribute .APPX. You can't distribute an unsigned .APPX and guarantee users can use it, but you haven't been able to do that with .EXE in years either.
> I cannot run .APPX.
Double clicking an .APPX installs it.
> I cannot run .EXE.
You can include Win32 .EXEs in .APPX packages now. There's a bunch of tools to support just that scenario called the "Desktop Bridge".
> I cannot run from command shell.
The desktop bridge now supports command line apps: https://blogs.windows.com/buildingapps/2017/07/05/command-li...
Any app that supports protocol activation (URIs like xbox:// or my-custom-app://cool-action) can be called with PowerShell (`Start-Process xbox://`). Most apps don't publish activation URLs, but some common ones are discoverable.
From within a UWP app you can launch other apps and files to their associated and URLs: https://docs.microsoft.com/en-us/uwp/api/Windows.System.Laun...
The Desktop Bridge has an API to launch an .EXE from UWP, either as a background task or a foreground task. There are also APIs to transfer data between the .EXE and UWP apps.
> I have to use exclusively Visual Studio in order to run my app.
You don't have to. It's a lot easier, but it's not the only way. APPX isn't that special, it's a zip file with an XML file and your binaries and whatever else, and any IDE could put one together if it desired. I wouldn't want to hand-build .APPX packages, but that's an option if you really desire it.
> I cannot launch automated UI test.
There are automation drivers for Appium and Selenium for UWP.
> Why should I play bureaucracy games with certificates on my own machine?
You don't, Windows Developer Mode does all the security work for you for your own development/testing needs.
IF you want to let others install your app, you need a security certificate. This has been the case with .EXE and .MSIs for decades, this is not new security.
> "Launch from Layout" API
I have no idea what this is referring to.
I own dev mode for Windows 10, and can confirm that these issues have been always solved and recently received more improvements, although the documentation may be lacking. Windows has always supported third party stores and the ability to pass around an appx.
Any hints or sample for Launch from Layout? Yes, I read the docs. This question haunts me for 4 years and I still have no answer. Please please please.
--- Steps to Reproduce --- 1. Launch VS 2017 2. Create new UWP blank app 3. Build it 4. Go to project's bin\Debug folder in File Explorer. 5. Find app's .EXE file and double-click it
--- Actual Results --- .EXE file cannot be launched. Error: "This application can only run in the context of an app container."
--- Expected Results --- .EXE file is launched. Main app window appears and it works as usual
>Double clicking an .APPX installs it.
Just checked that. Nope, this is what I get for my freshly compiled app when I click on corresponding .APPX file: "[Window Title] How do you want to open this file? [Content] Look for an app in the Store [OK]"
Any solution to this? These files should be consumable at the OS level.
They are. You've broken something, I suspect.
So during all of those years, developers were left with those same C# MVP APIs that didn't support all the various things 3rd party companies needed. It required hiring a specialist C# engineer and spending extra time to fill in the gaps left behind. No company was going to do that with a phone barely at 10% of the market.
Microsoft should have ruthlessly focused on getting feature parity with iPhone and Android, and released updates every month. Showed the world they were serious about being a 1st-tier dominant player.
Instead, they felt lazy and slow. I think there was 18 months between one release to the next without a peep from them. That's no way to instill confidence that they were competent at their job.
I think it’s easy for us to focus on software but I don’t think any of that mattered compared to failing so badly on the hardware side. Over that period, how many weeks were there where they had phone hardware which was competitive with Android, much less iOS? It seemed like every time I saw it mentioned the cycle was “<software feature> looks cool but the phone specs are like my old phone”.
WP hardware was dirt cheap because of it.
Then the whole Nokia mess ... what a sad story.
I remember when I finally gave up any hope for Windows Phone: It was when I read that Samsung and HTC ought to pay license fee to Microsoft. That was probably the biggest mistake in Microsoft's history. They should have payed them 50 $ per sold Smartphone with Windows Phone on it.
Anyway - I still have a Windows Phone from my employee and like it.
At the time, the Metro theme seemed like a novel and interesting idea. In hindsight, mimicking the UX of iOS (which is exactly what Android did), was the correct path. Had MS made the Windows Phone look exactly like iOS, but offered an easier app dev story, there _might_ have been a chance to grow their market share.
But in reality, I doubt there is anything MS could have done to rebuild their mobile presence. Apple and Android are an unassailable juggernaut from a consumer's perspective and even I succumbed.
After buying the Nokia 1020, which was a phenomenal piece of hardware, MS started tinkering with core apps like the calendar and email. There was this fanfare of purchasing third party apps and adapting them, but this was the deal-breaker for me. These two apps (which I installed with an early beta of Windows 10 Mobile) were simply horrible. They were menu oriented. Mobile phone apps shouldn't have menus. Period. Anytime you see a hamburger menu, you're looking at pure UX laziness. When the second update came through and I saw these apps get _worse_....
...I walked out of work, walked the two blocks to the nearest AT&T store, threw the 1020 on the little round table and said, "iPhone 6plus, don't care about color or anything....and I rubber case"...
That was nearly three years ago. I recently upgraded to the 7plus and sold my 6plus for $250. I never even think about apps now. It just works.
My black Nokia 1020 with the recharging case sits in my desk. Worthless.
Can I have it? Since it's worthless and everything. I'll pay shipping.
You can pester me on LinkedIn if you want: https://www.linkedin.com/in/chidave/
+ all the mobile developers and users from the pre-iphone days were simply dropped with no path to wp7,
+ the earliest and devs of wp7 were all dropped in favour of wp8,
+ MS execs then approved of a slightly less damaging strategy with 8 to Wp10 but at this time it was already too late
Microsoft could not solve the app-gap problem because the problem was caused by a lack of trust.
OneCore is an internal Windows refactor that won't affect users nor developers.
Then Microsoft destroyed v6 with Windows Mobile 7 (CE based but incompatible to CE apps, Silverlight-only apps)
Windows Mobile 7 got replaced by incompatible Windows Phone 8.
Windows Mobile 8 got replaced by incompatible Windows Phone 10.
Microsoft finally admits Windows Phone/Mobile 10 is dead.
More on the "burning platform memo" of their infamous Stephen Elop, and the $7.6 billion write down on the acquisition of Nokia: https://en.wikipedia.org/wiki/Microsoft_Mobile
I had a Samsung Omnia 7, and it was still the best phone I've had, in the sense that the UI was fast, obvious, and well thought out.
Then they brought out Windows 8 mobile. And abandoned all hardware that ran Windows 7 mobile. And messed around with a working UI and broke the 'experience' (ghastly buzzword).
And all the while, trying to fight Android which was free, and Apple that just has a cult of users that will buy the new phone regardless.
Here is where we fucked up:
1. We were, for a long time, a company, where every product/business group had to pay for its own right to exist. Everyone had their own P&L, contribution margin targets, marketing. You had to make money by yourself to stay alive. KT made sure we all understood this.
2. We had a history of "fast follower" successes - Windows, Word, Windows Server, SQL Server, Exchange, IE, even Intune nowadays, and many many others got successful not by disrupting the current market leader or by hardcore innovation, but by leveraging either an open or standard platform and always getting better, without trying to rewrite the rules of the game. OK, maybe Office rewrote them when it came out, but it was packaging.
3. Balmer (whom I love as a leader) got trolled by Apple's and Google's success, and Microsoft graduating from not really cool to quite uncool. So he decided to tackle them the way it had worked before (point 2.). Simultaneously, he tried to correct point 1, but, as radical as his 2014 reorganization to break org barriers was, he did not get rid of KT (Kevin Turner). KT brought in the money, KT defined the culture. Everyone had to keep making their own money.
We could have: Offered the mobile OS for free from day one. Given Office on Mobile for free from day one. Bought or OEMed Xamarin a lot sooner. Returned 100% of app revenue to app devs who sell through the Windows Store. Made dev tools (Studio CE) free earlier. Guaranteed no data collection (remember the Scroogled campaign…?)
All those have either been done, or are irrelevant now, while the stock is still at a record high, after we lost the game... We could have done all of the above and fare better than we have, and we have fared well.
Instead, we comp hardware sellers on MARGIN, as if it makes a bloody difference. We monetize the post install experience. All bullshit for pennies. Everyone had to make money on their own so we missed the bigger picture.
Satya fixed this, and it hurt, as it was the only way left to go. I gave up on a phone I really liked, as I saw no future.
I don't know if I should hope for us bringing new phones out, but I sure hope we never again let our Operating Mechanisms kill our ability to see the big picture and disrupt the market.
Quoted for emphasis. It's remarkable in hindsight that Microsoft didn't try to leverage it's own already successful products with their inherent network effects, to buy market-share.
I'm more interested in: what's the future for UWP apps now? Another dead end like silverlight?
A cross platform UI library that runs on .Net core (ie. windows, mac, linux, android, ios), some kind of hybrid of ??? and Xamarin forms could potentially be quite a nice tool... but its pretty hard to be excited about the prospect with their track record of killed off UI frameworks so far.
Also I wouldn't be surprised if we see microsoft make a push to allow UWP to target Android.
However, what scares me to death as a user is that if UWP is let's say super-popular with developers 5-10 years from now, and everyone builds their apps as UWP apps for Windows, then Microsoft will eventually restrict "normal" users (read: most "consumer" Windows machines) from even side-loading apps from outside of the store.
If that's something that has even crossed the minds of Microsoft's leadership, then I definitely don't want UWP to gain any sort of real traction. And I'd rather see Microsoft improve user security through instant virtualization for apps, like what they're doing with App Guard for Edge, even if it's only an option users could choose, and not something that works by default for most or all apps.
Only with Windows 10 it became possible to sideload non-win32 apps.
Still, a lot of people bought them at work because of concerns over compatibility with Exchange or the rest of their Microsoft ecosystem. They've all slowly had to learn that Microsoft isn't as omnipresent as it once was, and have had to buy new devices and learn a new OS all over again.
Microsoft really should have killed this sooner and saved everyone the headache.
Unfortunately, MS fumbled couple of times with internals while moving to WP 8 and WM 10.
In the meanwhile Android fixed the kinks and improved UI. Motorola and Xiaomi improved value for money of Android.
Lumia 520 and Moto G were almost identical hardware (almost same CPU, same GPU, Moto G had double RAM and 720p display, Lumia only 800x480), for similar price, but the Moto G was way better device, that did stuff people wanted.
What I haven't seen reported is Win 6.X had a large enterprise/industrial user base that now is going to have to choose between Android and iOS. It's interesting that the size of that existing customer base is small enough, compared to the consumer market, that it's not worth Microsoft's efforts to keep the industrial mobile OS product going.
I was all in on windows mobile around v7 and windows8. bought the flagship lumia phone and surface rt tablet. invested the time to develop some basic apps. 6 months later both platforms were basically discontinued with no upgrade path, so I abandoned it too.
if microsoft had just made an enterprise successor to blackberry, instead of trying to make a consumer phone, they probably would have been more successful. once the platform had traction in enterprise, maybe they could of made the consumer jump.
Yes, if the platform you invest in early is a success you can reap many rewards. But the mobile OS market has killed many platforms, and even a successful company like Microsoft can't guarantee success.
We can play what-ifs in hindsight, but it's not like Microsoft was late to the game. I remember Windows CE and Pocket PC. My guess (and hope) is for Microsoft to make an Android phone. They just announced a launcher, so fingers crossed!
Nobody trusts you. They don't trust your vision. They don't trust your commitment. They don't trust your ability. They don't trust your execution. And they don't trust your intentions.
no one trusts Microsoft. Well maybe some people do, but how's that working out for you?
My employer writes UWP apps for itself, because we have all of these devices (even XBox) and write UWP apps for them all (because with the exception of IoT Enterprise, they're all UWP-only.)
IoT Mobile is still a SKU that Microsoft sell, by the way. Guess what IoT Mobile is? It's Windows Mobile.
It isn't dead, it's just not getting new features. It'll be replaced by OneCore in the not too distant future, I imagine.
OneCore is an internal Windows refactor that won't affect users nor developers.
Why they never put 2 and 2 together is beyond me.
Who didn't?
Seriously, nobody actually expected it to win over either iOS or Android.
That said, I think if they announced convergence on all devices, released some really nice hardware (surface phone anybody?), and marketed convergence as the Next Big Thing, they could have made some serious in-roads in market share.
"Your all-in-one wonder device is ready!"
I'm disappointed that we're now stick with a mediocre duopoly of OSs now.
APIs were never stable for very long and all the weird UI decisions they tried to force down peoples throats really backfired. The marketing hype around universal apps backfired too - the developer APIs were not at all aligned with the marketing vision.
Truthfully, I think Microsoft is adjusting to being a corporation without a monopoly. That's what it comes down to - away from the desktop users had more attractive options (iOS/Android) and even on the desktop users just avoided upgrading (I skipped both Vista and Windows 8) while others have totally ditched desktops altogether.
Bye bye WiMo.
I think it's safe to say we will never see a viable third option in mobile.
Might as well start thinking of the next great paradigm shift but even there it's hard to see anyone out maneuvering Apple and Google.
Honestly I'll never understand why MS even went into the mobile space, what with having two enormous and well entrenched competitors (not that I'm saying only having two is a good thing overall, but you know) and coming into the game so very, very late compared to them. Windows Phone was doomed from the start I think, just by market forces, not even going into the faults with the product itself.
They just failed to properly capitalize on that.
In Europe we only had Symbian and Windows CE handsets to choose from.
I have a niche desktop app that I'm thinking about porting. It's probably a few weeks worth of work. The 30% cut might be tolerable if I can increase the sales.
Windows CE is older than Android.
I think the Windows Mobile interface was the most functional of the mobile UIs. I switched to Android years ago, but I still miss it.
To be fair, this was 5 or so years ago and I didn't delve very far into accessibility settings for anything. WP worked fine out of the box, though.
Then we have tried to rewrite the app with Sencha Touch 2 but because it was time consuming my employer told me to work on other things.
It's stupid to stop now, they managed to take on the iPad with surface, I'm sure a mobile success is possible.
I had an old HP Ipaq running Win CE back years before Apple did their first iPhone.
Microsoft was first, and it worked pretty well. Another case of MS getting into things too soon, and somehow missing the boat again as time moves by.
It's great to have more competitors but did they ever really shoot for 1 key differentiation that would make people switch?
It was the door to do all they can't do now.
The flat UI of Windows Phone was completely unintuitive. In the real world it's many times easy to distinguish objects you can interact with, by shape, texture or touch. With feature phones or remote controls you had hardware buttons.
With PC monitors and touch screens all controls are virtual, you get no 3D or touch feedback, so you have to rely on visual clues and visual patterns.
The flat UI of Windows Phone was pretty bad, providing no visual clues whatsoever, so you where left to touch text randomly on the screen, in the hope that some of it will click.
I see people here giving examples of technically illiterate wives and grandparents successfully using the Windows Phone, but guys, you're kind of missing the forest from the trees.
It's not that hard to learn how to make a phone call, or write an SMS, given that it's an operation that you're doing every couple of hours. You simply have to learn the path from home screen to whatever you want to do. Ask any child and he'll tell you that this is best done by trial and error and it is never a problem for repetitive operations, because we've got good memories.
The problems happens when you interact with an application UI that you've never seen before. And to be honest, even though I've been primarily an iOS user for the past 3 years, the best of the bunch in this regard is Android.
By comparison Android's material design provides intelligent clues about what can be pressed, or about what interaction just happened. And the design of Android applications is pretty flat, in the sense that available options are clearly laid out in front of you, no need to guess or to trigger hidden menus.
My favorite example was RunKeeper for iOS versus Android. The Android version had clear action buttons for starting a race, allowing me to easily select the type, whereas the iOS interface had the options hidden behind a menu that would appear when I tapped on the logo, which was a pretty dumb idea. I'm not even going to mention the dedicated Back button of Android, because people that don't have an Android just don't get it.
But back to Windows Phone, I don't know what you folks have been smoking, but it had terrible UI. And the apps where horrible. Its only saving grace where those Nokia Lumia phones that had a good quality/price ratio, but Android was already dominating the cheap smartphone market and a cheap Android might have been worse, but at least it had apps.
Microsoft had the lead for a while and they got disrupted by a shinier, more consumer-friendly device. Their mistake was thinking that consumers didn't want a smartphone and aiming it at an enterprise market, like Blackberry. That "mistake" made them possibly billions of dollars over its life.
Apple took a huge risk going in the opposite direction. It's easy to look back and realize Microsoft gave up a huge market segment, but at the time things were going well for them. Their only competitor back then (Palm) bet the company on trying to make the transition to compete with Apple and... well. We all know what happened there.
so that you cut into your competitors cash cows, even if you don't have a profit. Just like Google did to you with Google Docs, cutting into MS Office.
This way, you'd at least have a voice on mobile, instead of fully out.
Will Microsoft go back to a pure software maker?
Compared to Xbox, Surface revenue is about a 25% of Xbox.
Of total earnings Surface is about 3%.
The problem is that "elsewhere" is currently occupied by Google (in terms of ubiquity) and Apple (in terms of profit), so MS has been pushed into the uncomfortable role of luxury OEM, and there is no major money there regardless of whether you make phones or laptops.
("PlaysForSure is not part of the Zune ecosystem" - Microsoft flack, 2006)
On the technical side, the apps submission was crippled with bugs, with cryptic messages that we couldn't figure. A lot of developers were having the same troubles and we painfully figured out what were the problems while searching Microsoft forums. It gave me a really bad impression, and I remembered not being impressed at all. We were also in the process of submitting our first app to the iOS App Store and comparing the two experiences was not good for Microsoft, even with the complexity of certificates/signatures of the App Store.
On the marketing side, the entry price for submitting 5 apps to the Marketplace was $99. Then, you had to pay $10 for each new app, or for a new localised version of your app (you had to create a new entry for each localised version). Once again, on the iOS store, you just had to pay $99/year for a developper certificate and then you could submit any number of apps/version you want. I didn't understand back then why Microsoft had chosen theses rules: they just had to copy a successful model from their competitor. We did what almost all developers did at this time : we paid $99, submitted 5 apps and waited to see how successful was the Marketplace.
Our game, a puzzle game called Meon, began to be downloaded a lot. We saw purchases going up in the Marketplace vendor interface. We were super happy, but there was a problem. We couldn't figure how to fill the paiement account. All instructions seemed to be written for a US developper : you had to provide a proof of identity signed by a notary, you had to fill a W8-BEN form etc... We kept trying to submit our W8-BEN form but kept receiving email about our W8-BEN that told-us something was bad with it. For 6 months, we couldn't fill our paiement information, while we saw the royalties climbed up. At the same time, Microsoft launched the "Race to Market Challenge" to boost the Marketplace and motivate developer to submit apps. Ironically, we won the race in the 'Most Downloaded Free Application' (and accessory a really really big Microsoft Surface Table). As winner, we were invited in August in Seattle, among other developers, to attend to a private presentation of what will be the next Microsoft platform, Windows Phone 7. It was really cool from Microsoft to invite us, a small game company (3 persons) among big name like Bank of America. In the Microsoft office, I managed to explain our payment problem to one of the presenter, he sent a mail and few days later, our payment information was validated and we finally got our money.
What I learned then was to not trust Microsoft when you’re a small developer : if I hadn't been able to contact a Microsoft manager in person, I wouldn't be able to get my money. The whole process was not ready, and not in the same league of the growing App Store. As a 3 developers company, we prioritised to work on iOS and Android. Microsoft sent us Lumia phone to develop apps for Windows 7: It was too late, you never get a second chance to make a first impression.
To Late To Market
Let me name some of them: Instagram (fb), facebook, Snapchat.
Especially the last one has an agenda.
All 5 of them?
You can experiment when you have the user base and even then you need to be super careful.