Microsoft never had anything remotely like this. Their hardware is ok, but they forgot one important detail, that Apple has taken to heart like nobody else:
"People who are really serious about software should make their own hardware. (Alan Kay)"
Why would anyone want to switch to ARM on Windows if it wasn't a lot better than x86? What if their WOW x86 emulation was really slow?
For Microsoft, "own hardware" means plugging cots parts together. The best they can achieve is a "premium look & feel", but they can't do anything game-changing. For Apple, it means owning and designing the most important chips themselves. Because they are controlling the whole hardware & software stack, they can do things nobody else can. This is the difference in understanding design as "how it looks" vs "how it works".
Apple has a custom MSR in their M1 implementation to toggle Total Store Ordering, which enables them to run either the native, more relaxed ARM or the more strict x86 memory model. They probably use other tricks as well, but there is a reason Rosetta is as fast as it is.
It’s because they were whole-assing one thing.
I haven’t been keeping track, but I think it’s true that the breadth of their product line is bigger or nearly as big as it has ever been, and certainly much bigger than 10 years ago. They got there organically over the last 20 years, instead of developing shovelware.
I am all for innovation and I welcome any chip that runs cooler while offering better performance with the apps I use. But so far, 90% of the praise I've seen of M1 either comes from benchmarking software that doesn't reflect my real world usage, or directly from Apple's marketing.
It's a bit early to draw conclusions about how much of a smash hit M1 is going to be. We don't know much about its performance, aside from a few benchmarks here and there.
Just as there was no excuse for the Surface RT not having a touch native version of Office despite them selling it as a tablet, or the Surface Pro X not having ARM native versions of ALL of Microsoft's software.
Where's the ARM native version of Visual Studio?
How can you expect other vendors to take Windows on ARM seriously if Microsoft doesn't?
Let's be real, it's just on par with the Zen 3 in single threaded perf which is on a 7nm+ process. When Zen 4 comes it might be moot.
AMD's entire market cap is practically on par with Apple's cash on hand (so very different companies in terms of size/capability) yet they are equal in performance single threaded? Not only that, in practical terms the AMD chip is very desirable in many situations because it has twice the cores.
We do have an entire shopping list of ways in which Apple's ARM core implementation leads vs. x86 in their five watt iPhone chip.
https://www.anandtech.com/show/16226/apple-silicon-m1-a14-de...
I don't have a Surface Pro X and would never buy one, but it's an example of how ARM isn't necessarily the answer to the user's problem, because the user may well use his device for more than running Microsoft Office and browsing the internet.
A glimmer of hope from https://docs.microsoft.com/en-us/surface/surface-pro-arm-app... on Oct 1, 2020:
With 64-bit emulation coming soon in Preview via the Windows Insider program, you'll be able to run 64-bit (x64) apps on Surface Pro X.
> Where's the ARM native version of Visual Studio?
Well, there is VSCode... [2]
[1] https://docs.microsoft.com/en-us/surface/surface-pro-arm-app...
[2] https://www.zdnet.com/article/microsoft-new-vs-code-update-i...
I don't know what to say to that, except that we must be living in different universes.
Do you always believe everything that a marketing department tells you?
Does all of your real-world experience with consumer products tend to line up with benchmarking software and short-term reviews based on a test drive?
That is to say, I have skin in the game.
Say what you will about my igneous domicile, but buying a new-to-market processor architecture is not something that I am willing to do just because some guy at The Verge or Tom's Hardware or AnandTech made some bar graphs or felt it necessary to treat hype as fact. I'm not saying they're dishonest or anything, just that the information is thin because the typical user isn't an instance of Geekbench.
My advice to them: Use the device for a couple of weeks, install all of your work software on it, put it through its paces, and then tell me about what you observed. That's the kind of review that would satisfy my curiosity. I do a lot of financial stuff on my machine, and the software (or software-based services) in that world is often proprietary, poorly developed, and/or expensive. Compatibility and performance of those programs are more important to me than battery life while browsing YouTube or render time in Final Cut Pro.
I'm in a similar position, I bought a 16 i9 at basically the same time. Certainly not adopting the first generation of a new processor architecture on a machine I use for work.
However, render time in FCP and number of channels in Logic Pro cannot be understated if they're really this good. It's crazy to see a sudden uplift in what's capable there. A lot of what I've read even indicates that general system use (windows opening /closing, scrolling, system animations) are noticeably faster on the M1.
Plus, I'm happy to take Apples word as they were totally right with the A12z in the iPad Pro. That thing outperforms most windows laptop in creative workflows.
Off topic ramble: unfortunately, Microsoft to have a bit of an acquired blindness regarding what users actually want (LTS Windows, innovate in Office or other installable software if you like) because paid software updates has so long been their culmination of visible success. Had they somehow switched to subscriptions by the time they moved to 32 bit Windows would be an entirely different beast today.
It all just keeps going on with no real improvements. This disconnect between people and products has many forms, be it an IT project that is over budget and doesn't deliver the right stuff (often comes down to business people making impossible promises and requirements that were never properly gathered and keep changing).
Getting something that is good for the user instead of getting something that is short-term good for the business would be a good start.
Everyone I knew who had a windows phone seemed to love it. If MS were taking a run at it today it would likely succeed. The nail in the coffin was Google refusing to write a Youtube app for Windows Phone and THEN blocking the app that MS wrote themselves.
I'm still shocked the EU didn't tear them apart on that move. It's about as anti-competitive as it gets. Honestly I'm still sad they gave up, we could've used a third player, even if they were going to always be a minority player.
How the hell were they not sued for that?? That is anti-competitive as hell.
Google is still doing shit like that e.g. by actively hindering Picture-in-Picture on iOS for years.
> The nail in the coffin was Google refusing to write a Youtube app for Windows Phone and THEN blocking the app that MS wrote themselves. There were at least 2 great third party youtube apps and youtube worked well in the browser as well. Including background play support which seems not to work on other platforms easily.
It's just that it wasn't loved by the masses, just like Zune wasn't loved by the masses, Windows S-mode isn't loved by the masses, and pretty much any Windows-on-ARM effort isn't loved by the masses.
Regarding YouTube: odd that they wouldn't make an app, you'd think that even with trident support they could at least put a web view in an app or something. You can't force a company to maken an app for another company, and with the current media/rights laws you can't make one yourself either, so not much of a lawsuit there.
I had no idea Google played this dirty trick, if that’s how it went they’d indeed deserve a thorough spanking for it.
I suspect Microsoft being Microsoft they must’ve made other blunders to murder the platform so badly though
tl;dr - Snapchat and a lot of other 'killer apps' never were written for the platform, and at least some of that was because the apps on Android/iOS did things Microsoft wouldn't let you (I think tracking when the user took a screenshot was one)
All the more advanced knobs made available via Powershell, also like Gnome or Apple. Indeed any professionally managed configuration isn’t maintained with point’n’click panels anyway...
Also power users tweak a lot of little advanced settings via these point'n'click panels anyway. Even tuning a desktop PC needs a lot of tinkering down the road.
Windows is a very powerful platform as is but, it's not well suited to everything due to its architecture and design choices. This situation is equally valid for all operating systems out there.
---
[1] https://techcommunity.microsoft.com/t5/windows-it-pro-blog/l...
I definitely remember running windows 2008r2 on my home desktop because at the the time that was all that was available in the "your educational institution neither gives .edu emails or has arranged anything with microsoft" tier of dreamspark.
Microsoft Windows Enterprise - focus on long term compatibility etc (essentially what windows is now)
Microsoft Windows X (seeing as they like using that letter) - which is way friendlier to breaking changes and advancing the OS.
I can't see any way for Windows to actually improve long term without doing this.
What I think could work, and would eventually lead to the same situation as "Enterprise/X" would be the reverse: a "regular" Windows aiming to eventually build a Microsoft equivalent of the Apple walled garden and a "continuity subscription" that's more conservative than what Windows is now (trivial example: opt into Cortana instead of opt out, barely)
PS: I understand that you are talking about low level technological differences and I seem to be hung up with UX, but I believe that separating groups on the high level would be the only viable way to eventually follow different paths on the low level.
This is why they should have 'Enterprise' and 'X' to me - they dont even have to look at different, but it frees one windows kernel team to do whatever they want and not have to worry about supporting loads of legacy systems. They'll naturally deviate.
It's actually kind of ironic to me that the best feature they've released in years (WSL) is essentially jamming another operating system into the mix. Like there's not enough going on there already!
I'm reading so much about how good Proton is that I'm considering dropping windows even for my gaming machine.
Windows everywhere
They doomed Windows phone with the name WINDOWS.
Their windows on ARM, Win RT push was also handicapped and doomed the moment they named it Windows...
Explanation.
Windows means:
1. BSOD, instability, viruses,
2. Expectations of ability to run billions of existing windows software
The first thing that popped in anyone's mind about Windows Phone was 1 above.
For ARM, many frustrated customers returned their store-bought Windows ARM devices after they got home and could not run normal vlc, chrome, existing games...
Microsoft having realized this, has spent the last 4 years+ working on the ability to run classic windows apps on windows for ARM. They placed their bet on faster chips - Apple got there first.
If Microsoft names their ARM operating system something else, initial marketing dollars would be initially higher. But it would be worth it.
To developers, nothing will change, it's the same UWP, same APIs.
Imagine xbox was called "Windows Gaming". It too would be dead.
isn't Windows gaming the richest market for games since a proper market for games exists?
Edit: Haack heavily cites Raymond Chen from 2003: https://devblogs.microsoft.com/oldnewthing/20031015-00/?p=42...
Still, as developer on the JVM I find the concept of a "Game of throwns" exceptional.
And optionally rethrow.
https://medium.learningbyshipping.com/apples-relentless-stra...
The view from the outside on every Windows platform initiative in the past year is dismal failure, even if the platform has incrementally benefitted a bit from each.
Most software is effectively still written on the same platform it would've been for Windows 7. That's a bad look for everyone building everything there since.
Even internally: Microsoft's own platforms largely failed to embrace UWP. If your own internal developers aren't buying in, why would anyone else?
Until then there's just no reason to bother with ARM and vendors and users alike can see that.
Only recently has Microsoft announced a backwards compatibility layer, if we can see some hardware vendors step up to Apple levels of performance, there might be a serious shot now: https://www.extremetech.com/computing/315733-64-bit-x86-emul...
Windows-on-ARM already has 32-bit x86 emulation - and 64-bit x64 emulation is coming soon:
* https://docs.microsoft.com/en-us/windows/uwp/porting/apps-on...
* https://www.extremetech.com/computing/315733-64-bit-x86-emul...
I haven't looked too deeply, but it seems to use the same WoW (Windows-on-Windows) mechanism that's been present in Windows NT going back to at least Windows XP 64-bit Edition (no, not 2005's "Windows XP x64", but the original 2001 Windows XP for Intel Itanium IA-64).
> The WOW64 layer of Windows 10 allows x86 code to run on the ARM64 version of Windows 10. x86 emulation works by compiling blocks of x86 instructions into ARM64 instructions with optimizations to improve performance. A service caches these translated blocks of code to reduce the overhead of instruction translation and allow for optimization when the code runs again. The caches are produced for each module so that other apps can make use of them on first launch.
Looks like Windows dynamically translates code in DLLs/EXEs on a JIT/on-demand basis and caches each translated run-of-code.
This is from the Verge's review of the Surface Pro X:
> The worst part is that even if an app installs, it doesn’t mean you’re going to have a great experience. Photoshop installs and opens just fine on the Surface Pro X, but the usability of it is terrible. https://www.theverge.com/2019/11/6/20950487/microsoft-surfac...
Maybe it's improved since then? Everything I've heard suggests there is a pretty big performance penalty running x86 code on Windows ARM. If there is a significant performance hit on the M1, the performance gains of the M1 are so good, it erases the difference.
The only way an emulation layer works is if the new platform is fast enough to erase that difference. When Apple moved from PowerPC to x86, it nearly did. With this transition, Apple knocked it out of the park. Microsoft? Not so much.
The difference is that Microsoft is locked into using Qualcomm chips, which just aren't very close to Apple's performance.
Lackluster performance means low adoption. Low adoption means developers have no incentive to support it. Lack of developer support means little or no software will be written for the platform so performance never improves. Repeat.
And yet Electron rules cross-platform desktop development, not Qt nor wxWidgets or openstep.
Developers are fine with worse performance - even lackluster performance - if a platform or framework offers some other compelling advantage, especially _developer performance_ (i.e. it saves money).
Electron saves money because creating one-off custom UI widgets can be done easily and cheaply with just HTML+CSS+JS. While there are many things that are literally impossible with HTML+CSS+JS at-present (such as "splitting" a rendered UI, like how iOS 5 did with its notification banners and home-screen folders), but besides certain flashy effects everything is doable quickly. Whereas building a custom UI in any other platform would take days or weeks just to get a prototype done if you couldn't hack-on additions to an existing "UI component".
So your line of reason would be improved by saying:
"Lackluster performance with no other benefits means low adoption", the rest then follows.
M1 seems to run things on Rosetta emulation in some cases faster than they ran natively because of how much uplift the hardware has.
Microsoft ARM devices have such lower performance than any emulation will run worse than natively, making it essentially unusable as a serious offering.
Apple is selling hardware (and now services), the software at most should break even. Apple gets obvious benefits from its approach - verticle integration, hw sales...
Microsoft sells software. MS doesn't care if the platform is x86 or ARM. Why would it? MS gets paid either way. As far as its concerned it would offer the option (to make Windows future-proof and run on more devices) and let the market decide.
I'm deeply fascinated by these questions. I'd love it if someone in the chip design industry who is knowledgeable about the situation would comment.
Intel has been in trouble for some time due to its own failure to downscale, a failure which has little to do with x86. They'd be losing to someone else if Apple/AMD hadn't been there.
Intel still has some time to recover: it has plenty of money, and Apple/AMD are unable right now to take full advantage of their position. Apple/AMD rely on a supplier (TSMC) which does not have the capacity the supply all or even most of the processor demand, so Intel gets quite a bit of marketshare almost by default.
Imagine 3 years from now there are a bunch of Chromebooks selling at Chromebook prices, but offering intel performance. That would start to hurt Microsoft.
Chromebooks are only relevant in US school system.
Very few people are willing to pay the same price as a regular laptop for what seems just a big browser OS.
There are a good amount of chipsets that are now on 5nm processing. But only Apple made a full desktop OS to go with it.
Imagine if Microsoft said you could get a surface with arm processor, 16gb of ram, with 20+ hours of battery life and the same perf as an i5 processor. And it lived up to the hype. People would love it.
My 2c
The Surface Duo is another example: The hardware was ready for years. If it'd launched when it was, they'd have scooped the foldable trend super early. But the Windows on ARM platform was still such a joke, they gave up and put Android on it.
Yet almost all use Intel CPUs, and the performance of the Surface Go / Surface Go 2, is abysmal compared to the M1.
The Surface Pro X?
Single Core score ~800 vs ~1700 for the M1
Multi Core score ~3000 vs ~7500 for the M1
https://browser.geekbench.com/v5/cpu/compare/4799088?baselin...
It's a ARMv8 CPU... How is it 'very custom'
That keyboard... it makes the bad Apple ones look top shelf. I know removable keyboards are a different thing but I cringe remembering the clicks and trackpad.
The Surface Book seems like a vast improvement in that regard... but it's extremely expensive, and relied on an overengineered latching mechanism. Dell made a really neat Book alternative, the Latitude 7285, which was really compelling, but by the time I was in the market, they'd abandoned that form factor already. :/
If you don‘t force them they will never move an inch. They‘d rather pay insane amounts for support for decades old shitty software than to finally modernize.
It‘s easy money for MS. Though I‘m sure Windows devs hate it.
I am afraid that X86 will live on forever more with just more wacko instruction extensions that nobody will use.
Microsoft don't: they are in Google's position with Android, that they have to work with the third party hardware vendors and their value-subtracted software and so on.
Not true, Google just doesn't have to care what CPU is in your Phone.
You can have Mips/Arm/x86/powerpc whatever you want.
Microsoft has the ability to innovate and produce amazing products it just they carry too much weight from the past and that holds back entire product lines.
Apple went all in on ARM native versions of their stuff on day one.
Microsoft has constantly and aggressively failed to commit. Be it to Mobile or ARM or HoloLens or whatever. They simply haven't made it clear that supporting their new platforms is compulsory/expected, and consequently, most vendors have simply passed on supporting them.