So, if you have everything already on macOS (I still hate that name change), I can get not wanting to switch. But what on Earth is it doing so much better than Windows that at minimum a decade would be required for it to catch up?
So, if you have everything already on macOS (I still hate that name change), I can get not wanting to switch. But what on Earth is it doing so much better than Windows that at minimum a decade would be required for it to catch up?
* Constantly changing APIs based on Microsofts internal politics vs. the very stable Cocoa
* HiDPI that always works or has good fallbacks
* Touchpad / gesture support that is actually pleasant and precise to use
* Battery life
* Multidesktop
* POSIX scripting (that one is slowly coming to windows now)
* Can be restored from another computer in a matter of minutes (see also the first point)
* PDF support baked into OS
Really? I can run Windows apps I bought 10 years ago easily, whereas many Mac apps seem to break with every OS update. It's also extremely hard to build apps for older versions of Mac OS X, as Apple hide the older versions of the SDK.
Cocoa has been a long path, but my Windows friends have had a constant churn of the latest API to use.
1) I am talking about the stuff we are supposed to use above the base Win32.
Whether it's WPF, WinForms, WinRT, or whatever the new flavour of the day is, it's always a layer on top. And that layer is never perfect, because you still have to do the occasional [DllImport("Kernel32.dll")] interop reference.
Here are the currently supported ways to deal with windows on Windows:
* HWND
* System.Windows.Window
* Windows.UI.Xaml.Window
On OSX, you use Cocoa. When Apple introduced Swift, they didn't have to layer on top of the API accessed by ObjC. When you write Swift code, you call the exact same APIs as you would have done with your ObjC code.
Here are the currently supported ways to deal with windows on the Mac:
* NSWindow
There was the Object Pascal Toolbox, replaced by C Toolbox (MacApp), replaced by MPW, replaced by PowerPlant, replaced by Carbon, replaced by Cocoa.
I can list many other examples, even Cocoa has lots of deprecated APIs since OS X 10.0.
While Apple floundered during the 90s with their OS strategy, their API strategy in OS X has been absolutely rock solid.
It's now 2016, Carbon has come and gone as it was intended to and Cocoa is still around and is still the API you use for working with the Mac. If you're trying to do something on the Mac, there's going to be a single officially supported way to do it and that's it (if it's supported at all).
Meanwhile, there are three totally different frameworks on Windows that you can use to do the same thing, all of which are officially supported and none of which are deprecated.
There are quite a few 32bit apps making use of it and they will never be ported to Cocoa.
> Meanwhile, there are three totally different frameworks on Windows that you can use to do the same thing, all of which are officially supported and none of which are deprecated.
Win32 and MFC are deprecated for new applications, the way forward is UWP with XAML.
Project Centipede is just for porting existing code into UWP world.
Windows Forms was officially deprecated at BUILD 2014.
That's not a bad thing. It means if I wrote an app 5, or 10, or 15 years ago, I can keep working on it and updating it without having to throw most of the code away and start again.
Edit: maybe it would help you to level out your perspective by thinking about some reasons why almost every business on the planet runs Windows and not Mac.
* Multidesktop
* PDF support baked into OS
He's right with these.
I now solely use the touchpad on my MBPr. I cannot see myself ever switching back to a mouse. Having been a mouse user for 16 years!
The ability to do a 3 finger swipe and switch to another virtual desktop in a split second is awesome. Is this possible on Windows? I don't know.
I was working on a Windows 10 machine yesterday and PDFs opened with Edge. Again, I don't know if it's right or not.
Here it is again: Everything that person stated was either incorrect or extremely insignificant because obviously none of those reasons have affected Windows very significant market share.
EDIT: What I don't have time for anymore is refuting every person's laundry list of nit-picks.
Edit: Every business on the planet runs Office, and they used to all run Exchange, Outlook and SharePoint. They got Windows as a side effect.
I agree. :)
Maybe those other shitty operating systems makers should try harder if they want to replace Windows. It won't happen though because none of them care about their business customers as much as Microsoft does.
Every is a bit strong, but...
Well, IBM wanted to use an OS called CP/M and was buying a lot of products from Microsoft. Something stupid happened and then IBM bought their OS from Microsoft. Microsoft was allowed to license it and Compaq figured out a work around for the BIOS issues. Thus DOS became the big thing because of IBM then all the other PC companies. Apple totally flubbed the Apple III, and Commodore didn't retain their leading market share. IBM then completely failed to follow-up with OS/2 (seems working with Microsoft to compete against Microsoft Windows is not a healthy move).
DOS begat Windows which begat Windows NT, and the software was good enough. I can buy a PC from more than one company and they have a lot of non-technical, business support. Microsoft doing a bit of cheating probably helped. It actually helps sell support contracts to have some problematic areas in your software which generates an amazing ecosystem that businesses understand (paying someone to be responsible is understandable).
A lot more people drive Kia than BMW, but I really wouldn't argue Kia is a better built car.
2) Applications written in the 90s still work on Windows 10. There was a short period (around Windows 8) where MS started dropping all their old APIs, but Windows 10 has stabilized that.
3) Yeah, screen resolution stuff is finicky on Windows but this is largely due to legacy apps. Modern apps don't have issues with this.
4) The Microsoft Precision touchpad APIs solve this problem. Admittedly far too many manufacturers are still using the old system (which pretends the touchpad is a USB connected mouse) but the ones that have switched to the Precision APIs are really nice, and keep improving with each Windows update. I expect very few non precision trackpads to exist come 2017 models.
5) Windows Laptops have as much, if not more battery life than Mac laptops. (The surface book gives you a 16 hour option). I don't think this is very valid anymore.
6) MultiDesktop - If you mean virtual desktops, Windows's Virtual desktops are no worse than MacOS's. Neither are close to what Linux offers. And if you are talking about multiple monitors, simply the presence of Win+Direction Keys makes Windows superior.
7) POSIX scripting - This is huge. It's why I usually run a Linux VM in my Win10 machine for most of my programming. Good thing that MS is improving, but I am not convinced the Linux Subsystem will ever be as good as being a POSIX OS in itself.
8) I have to strongly disagree with this one. Time Machine corrupts far too easily. You can theoretically restore from elsewhere, but the failure rate is way too high for anyone to trust Time Machine as a backup system. Windows backup while far less user friendly, is more reliable. If you are referring to more UNIXy solutions (which might be the case considering you refer to point 1), you may be correct.
9) Windows 10 has native PDF support.
Bit late but just to chime in on this, to my knowledge on Windows 10 you cannot:
- Save desktop arrangement so your setup persists through shutdowns.
- Assign apps to specific desktops so they always open straight on that desktop.
- Assign keyboard shortcuts so you can jump to specific desktops rapidly without sliding through or using the mouse, e.g. ctrl + 1-9.
If you can do any of these, then I would be genuinely grateful to hear how as I'm evaluating returning to windows as my main OS. Without these Windows virtual desktops are more of a proof of concept and are lacking the tools needed to make them actually useful and productive.
> Windows 10 has native PDF support.
All of my PDF's seem to want to open in Edge by default, which is a web browser. On macOS they open in preview, or quick look.
Seems like I would take a super powerful Windows or linux server any day over a lower powered Mac Pro just because of the OS if hardware specs were that critical.
Taking 10 vs 1 minute to render would be way more important.
BTW, Windows 10 has multi desktop and most apps work fine with high DPI.
Every single app integrates well and the scaling is flawless even for the few that don't support 2x mode. I have never dragged a window between screens on the Mac and seen it appear at the wrong scale.
I've done it about 50 times in the past week at my day job on my Windows machine. To be fair, that Windows machine drives a VR headset that you just can't use on OSX because no Macs have the compute power needed - there are definite wins to going with Windows.
It's just that the Windows mentality is to just get most things working and assume the rest is just something that most users won't care about, whereas the Mac mentality is to get it all to work together seamlessly.
But yes some windows apps still leave a lot desired on 4k if they haven't been updated.
I enjoy both OSs (the UX is basically 90% the same btw), they're fine. And there are areas where one works better than the other. By focusing on the issues with one of them without realizing the issues of the other just shows that you're probably not familiar with the other.
I'm not disputing your point, just showing your partiality. I've literally not had to "manually" resize or drag a window in Windows since Win7, but I do it everyday on mac. The Windows model for window management is just better, but you'd never hear it in these comments.
I use Windows more than OS X these days.
Now fill the other 9 years and 10 months, minus two or three developers that are still working on some of the bigger items for another couple of months at most.
* My Razer Blade 2015 has no problem driving its hidpi screen and my lodpi monitor, even at the same time
* My battery lasts 8 hours with a VM running, which is about as good as any MacBook I've ever had
* Multi desktop exists in Win10, Win+Tab lets you switch desktops
Windows isn't perfect, and I spent a long time on a combination of Linux and Mac machines, but my daily driver is Windows with a Linux VM for programming now and I'm perfectly happy.
One of the developers at my work can't do fine tuning of our styles because his Windows multi-display setup won't re-render apps at 1x when he drags them to the lodpi monitor. Instead it renders the app at 2x and downscales it to 1x, blurring everything.
Really? Mac OS also has a very long history of deprecated and thrown out of the window APIs and SDKs.
As for web development, there is nothing you can do on a Mac that can't be done on Linux or BSD apart from testing in Safari, and Safari has a smaller user base than IE/Edge. Hell, even Windows is improving in this space.
I guess one could argue that macOS is a more aesthetically pleasing environment to work in, to which I counter that I'd rather work in BeOS/Haiku as I find it more aesthetically appealing than any other OS. In other words, that's purely subjective.
* Better touchpad support throughout the entire OS.
* Vastly superior HiDPI support (especially if you're using a multi-screen, multi-DPI setup). I cannot stress how poorly Windows 10 performs in this regard. This has been a solved problem on the Mac for years.
* Better colour management through the whole UI stack.
* Better tablet support (OSX has had integrated support for tablet events since 10.4, on the Windows side there were still apps that broke when the Surface 3 launched almost a decade later due to using a third-party API for tablet events that needed custom drivers)
* Core Audio. OS X has had the same set of audio APIs since 10.3, and they've been well regarded for years and years. It wasn't until Windows 10 that you could argue Microsoft had finally caught up, and there's still people with ASIO driver compatibility issues. That's literally 12 years it took for Microsoft to catch up.
* OS X had scrolling of inactive windows for over a decade before Windows caught up. I actually think it's something that was there in 10.0 but I only started using Macs at 10.3 so I can't be sure.
* Spotlight. Spotlight is almost the perfect analogy of the difference between OS X and Windows, and I'm just going to look at one tiny feature of it. If you want to do some math on Windows at a single keypress, you need to turn on Cortana which only became availble in Windows 10. Cortana isn't even available in every country. Meanwhile OSX has had that built into Spotlight since 10.4 and it works on every Mac ever shipped since then, no matter what country you're in.
* File tagging. OSX has had this for over a decade, and you still can't do it in Windows.
* An integrated C/C++ runtime library, like every other Unix ever. It wasn't until Windows 10 that you could ship C/C++ code without worrying about whether your end user had the right msvcr/msvcp DLL installed on their machine.
I'll stop here, because there's so many things that OSX has had for a decade or more that Windows still hasn't caught up with that I wouldn't be surprised if Windows doesn't catch up after another decade.
* Precision Touchpads are equally well supported in Windows.
* HiDPI is better on the Mac
* I don't know much about this.
* Are you referring to Wacom style tablets? Not sure about that, but if tablets in general, OSX tablets don't even exist, so it's irrelevant.
* Windows Audio APIs are as good as Core Audio now.
* This really isn't that big a deal. In Windows it leads to different benefits, where my mouse could be anywhere, ubt I could still scroll the page I was reading.
* Cortana is better than Spotlight now. I didn't know that Cortana would be completely disabled in countries that aren't supported. That sucks.
* Windows has had file tagging since Win 7.
There really isn't that much of a difference. There are places where Mac OS is better, and there are places where Windows is better.
* The APIs are there now, but the hardware isn't on many machines.
*
*
* Yes, I'm referring to graphics tablets. I've had to deal with the APIs for that stuff myself and what was about 10 lines of extra event handlers on OSX ended up being well over 200 lines on Windows.
* There's still driver issues that aren't present on OSX.
* You've got to realise that anywhere where you think "this really isn't that big a deal" it's actually a huge deal to the people who use OSX daily and want a better Mac Pro because Windows doesn't care about the small things.
* Cortana isn't better than Siri though, which is what it's actually meant to compete with.
* To be fair, the feature was so undiscoverable that it took someone on Hacker News telling me about it before I knew it existed.
A lot of my post was pointing out things that have been better on OSX for literally more than a decade before Windows finally caught up in a few areas.
HiDPI is probably the biggest thing that Windows just won't catch up to for a while. The API compatibility requires Windows to support APIs that will stop HiDPI from working well, because old Windows had the ability to set DPI that affected certain UI components but not everything.
My point about the scrolling isn't that it's not a big deal because it's a minor deficiency. My point is that it's a design choice, and many prefer the Windows method. Neither choice is inherently better.
Despite having come in much later, Cortana is at worst about as good as Siri. For one thing, on the desktop, I can actually type in my Cortana requests. The fact that Cortana combines Siri and Spotlight makes it far more powerful and useful. It's kind of insane that Apple thinks people want different information when they ask the same question when they type it, or when they speak it.
Windows has been a lot better than OSX in many ways as well. Especially since Windows 7. For one thing, it will take until next year before Apple gets a decent File System, instead of a kludgy mess.
What's worrying for Apple is that Windows is improving a lot faster than OSX. The gap between them is narrowed very significantly, and personally, for the past few months, Windows 10 is a much nicer environment than OSX (and I've been using OSX exclusively for over a decade).
I think the idea that Windows is so far behind OSX is just not true. Part of it is that this has been true for so long, and Windows 8 was so bad, that people believe it instinctly. Part of it is that people moving to Windows want it to be like OSX, and anything that is different is considered worse.
When I've wanted to do some quick calculations on a Windows PC at a single keypress, I've pressed the calculator button on my keyboard and a calculator has come up. And this has been true since the turn of the century (for me personally; for Windows for several years longer than that).
Each one of them comes with their own particular set of quirks/warts and I can't objectively say one is so superior that I'd rather use it to the exclusion of the others.
It does similar things with boot times (measure and report about slow startup apps) and IE add-ons. I want my OS to make suggestions about changes I could make to improve my experience.
The WSL will never replace a native Linux OS. Period. But it will be pretty useful for some lighter use cases. As a dev, I'm still not convinced it's good enough, given the recent issues with Ruby and Node.
I'm actually surprised at the question, considering the number of devs who work on macOS (and I'm not talking about front-end folk).
But, I kind of agree actually, the only true issue was advanced socket issue with PhantomJS. Like for some reasons, Capybara/Poltergeist can't connect to it. It's the only reasons I am back to MacOS. But, I think I will switch as soon as it fixes. It should be soon.
https://github.com/rails/rails/issues/26054
I'm running current stable (full disclosure: MS FTE here), and there are still a few hang-ups that I know are being addressed (and some already fixed) in the Insider Previews.
I had to leave the Previews because I needed to pin down a few things, and mostly use Docker for Windows instead of WSL for work. WSL will not run Docker containers directly (for instance), but I managed to get the CLI to run in WSL to control them inside the Docker VM. Well, until the last Docker upgrade reset the configs... :)
Meanwhile Windows now has everything Ubuntu does.
Thanks Open Source!