6 ms·
I’ve been a Mac user for over 30 years. What kept us when it was a slower, more expensive computer was the user experience. The Mac UX team is being led by ama
by tambourine_man 5y ago
I’ve been a Mac user for over 30 years. What kept us when it was a slower, more expensive computer was the user experience.
The Mac UX team is being led by amateurs. Big Sur’s redesign is a joke that Monterey hasn’t began to fix. Let’s not even discuss whatever almost happened to Safari.
The Unix layer is abandoned. Why is it harder and slower to run docker on macOS than anywhere else? In the 2000-2010s, Macs were developer’s first choice.
Cocoa was not only a joy to the end user but for t he developer to write apps on. I’d rather write a Web app than a Mac app these days (but not use it, yet)
The article is spot on.
Good hardware alone won’t be enough to sustain the Mac’s relevance long term. It needs consistent, predictable, discoverable UX. It needs to be the best developing environment.
- eyelidlessness 5y ago> The Unix layer is abandoned. Granted I’m still on Catalina, but I have never heard anything like this before. That seems like it would cause a huge uproar. But… > Why is it harder and slower to run docker on macOS than anywhere else? … I don’t think this has to do with the Unix layer, and I’d expect other Unixes to similarly struggle with Docker. Because Docker only runs natively on Linux. All other OSes need either a VM or (in Windows’ case) WSL. To be honest I think this is one of the biggest problems with Docker and I’m not sure what Apple can do about it (switching to Linux underpinnings is entirely unrealistic). Otherwise I largely agree, but I feel this deserves clarification.
- ricardobeat 5y agoWe’ve been running VMs at near native speeds for a decade. Docker on Mac runs 20-50x slower mostly due to poor I/O which is a platform “feature”, they are already on the latest hypervisor framework provided by Apple.
- favorited 5y agoYou can run VMs on the Mac at near native speeds. I play some pretty unoptimized games with friends who are running Windows in a VM on their M1 Macs, and their performance is fine. It turns out Windows developers using Docker have the same complaints that Mac users of Docker do. In fact, I know people who run Docker Desktop inside a VirtualBox Linux VM on their Macs because it's so much faster than the VM Docker spins up.
- easton 5y agoThe problem isn’t that the VM itself is slow (in fact, Apple’s hypervisor is pretty good IME) but that sharing files with the Mac filesystem is slow. If you use Docker volumes the issue goes away, but that’s kind of hard unless your editor has support for cloning your code to a Docker volume (so, it’s hard unless you use VSCode). The dev environments feature in preview for Docker Desktop[0] is supposed to make this flow easier, but if you have to do anything that doesn’t fit into the “I’m writing a web service that is easy to proxy” mindset, you’re better off doing a full VM with Linux (via Multipass or VirtualBox or whatever) and keeping your code in there if you want maximum performance. 0: https://docs.docker.com/desktop/dev-environments/ https://docs.docker.com/desktop/dev-environments/
- sneak 5y agoReminder: Docker Desktop is a) closed source and b) also is spyware. You're much better off using your own VM and the free software docker CLI tool. Set DOCKER_HOST to "ssh://root@$VM_IP".
- eyelidlessness 5y ago> Docker on Mac runs 20-50x slower mostly due to poor I/O which is a platform “feature” Unsubstantiated claims like this often get a rise out of me, and I was tempted to reply with a sarcastic “go on…”, but I’ll try to have a more charitable discussion. APFS performs very well. So does ext4 or zfs or whatever. So it seems your claim is not only that the file system bridge is the source of performance degradation (which it is, I agree), but that’s somehow by design for [reasons]? This is my sincere, charitable attempt to understand your scare-quote laden use of the word feature. Is that what you mean? If so, can you explain why? If not, I’m happy to understand what you actually mean.
- ricardobeat 5y agoThat might be exaggerated because I'm including overhead from other aspects of Docker, but those are not exactly made up numbers - it's roughly the difference between building the project I currently work on locally, vs building its Dockerfile. It goes from 10-20s to 6 minutes. It takes 2-3 minutes to install node_modules alone due to the massive number of files. Trying to mount them with buildkit, provide a prepackaged cache folder, etc, are all pointless since they suffer from the same I/O slowdown. Building a go executable also goes from < 10s to > 60s.
- eyelidlessness 5y agoI don’t question your measurements, I even agreed with your technical root cause analysis. What I questioned was, emphasis added to clarify: ‘poor I/O which is a platform “feature”’. This seems like a chip on shoulder attack, but it doesn’t seem like you have that particular chip on your shoulder. So I’m asking again if you can clarify what you meant by platform feature.
- linguae 5y agomacOS has not abandoned its Unix layer, and in fact is still a certified Unix (https://www.opengroup.org/openbrand/register/ https://www.opengroup.org/openbrand/register/). However, there is a growing gap between certified Unix and the innovations that *nix-like systems have included in the past decade. macOS has not kept up with Linux and the BSDs in terms of feature parity, resulting in a growing gap between the features that come with modern Linux, FreeBSD, and OpenBSD versus macOS. A minor issue is macOS's BSD-derived utilities being based on late 1990s-early 2000s versions and thus not taking advantage of functionality added in later versions of these BSDs. Other issues include no support for file systems such as ZFS and btrfs in macOS (though I remember when ZFS support was proposed for Mac OS X Leopard), and macOS not supporting FreeBSD jails (https://docs.freebsd.org/en/books/handbook/jails/ https://docs.freebsd.org/en/books/handbook/jails/).
- Wowfunhappy 5y ago> Other issues include no support for file systems such as ZFS and btrfs in macOS It's no thanks to Apple, but there actually is a very good ZFS driver for macOS. I've been using it for several years. https://openzfsonosx.org/ https://openzfsonosx.org/ (You can't use ZFS as your root filesystem though, which may be what you meant.)
- PaulDavisThe1st 5y ago> Cocoa was not only a joy to the end user but for t he developer to write apps on. Cocoa is still there and has hardly changed. Maybe there are some new macOS capabilities that it doesn't provide the right access to, but I'm not sure what. macOS will only ever be the best development platform for macOS. For cross-platform development, it's always going to be worse than Linux, just because the Linux world takes x-platform seriously.
- deergomoo 5y agoI wish they’d abandon the annual release cycle. At this point I’d argue even the iPhone is mature enough that annual releases are more hindrance than help, but this is certainly the case for the Mac. > The Mac UX team is being led by amateurs At some point it appears software design at Apple was taken over by someone who thinks that hiding controls behind hover states and overflow menus (such that you can’t actually see what an app can do without discovering it by accident) counts as making the software simpler, when in fact the opposite is true.
- xxpor 5y agoI think the every 6 month minor release cycle Windows and Ubuntu have converged on is probably the right one. You can't actually do enough stuff in a year in something like an OS to justify a major version upgrade.
- ksec 5y agoI wish they abandon user feature release. Apart from UI changes like Dark Mode, I cant remember a single new feature from the past 5 - 6 years that I used on macOS. There is no need for user feature as marketing. Bug Fix, Security Update, Performance, Drivers, API update are good enough. To the point I am thinking, OS UX are near the end of the S curve. It is pretty much done.
- checker659 5y agoAt this point, I’d be grateful if they release what they promise. Universal Access, where art thou?
- andrekandre 5y ago> At some point it appears software design at Apple was taken over by someone who thinks that hiding controls behind hover states and overflow menus (such that you can’t actually see what an app can do without discovering it by accident) counts as making the software simpler, when in fact the opposite is true. when design is done for marketing purposes, that is what you get
- Wowfunhappy 5y ago> Why is it harder and slower to run docker on macOS than anywhere else? Is it harder than on Windows? It's harder than on Linux for sure, but that's because Docker uses features that are part of the Linux kernel, and so doesn't really work natively anywhere else.
- alerighi 5y agoDocker is slower because it runs a VM. The macOS kernel doesn't include any containerization API, thus a native Docker cannot be built. Of course even if it can be built the kernel would be completely different than Linux and you could only run macOS containers and not the containers on the public registry, but it would still be an improvement. Microsoft solved the problem by running an optimized Linux kernel in a lightweight VM that integrates with the host operating system. Mac are not friendly to a developer. And they never were. The only reason why developer use them is because they need to program on iOS and thus need XCode (that is a terrible IDE) and the iOS toolchain. As a developer I want a system where I am in full control and not a system that is locked down as macOS. I use Linux as a developer (in the embedded area) and it's perfect to me. Only sometime I have to use a Windows VM because of some esoteric hardware platform that have their proprietary compiler that works only on Windows.
- akfanta 5y ago> Mac are not friendly to a developer. And they never were. The only reason why developer use them is because they need to program on iOS and thus need XCode (that is a terrible IDE) and the iOS toolchain. That's just wrong on so many levels. The majority of developers using Mac don't touch Xcode at all.
- alerighi 5y agoDon't see what macOS gives you more than Linux if you don't need XCode. While I can understand developers that use Windows (there are a ton of compilers and development environments that unfortunately are only for Windows, especially in the embedded field) I can't name a tool other than XCode that doesn't run on Linux. And why should you spend a ton of money on an underpowered Mac while with the same amount of money you get a more performant Linux workstation I have no idea. And not name the fact that m1 Mac are cheap, yes they kind of are (not really, for 1200$ you can get a similar performant Linux laptop), if you don't need to run x86 software or virtual machines. MacOS to me is an OS that is difficult to use and understand, with so many problems (that are admitted even by Apple, for example it wastes a ton of RAM for nothing). Really I know macOS, I had a Macbook in the past, a Macbook pro 15 mid 2015, and it was kind of good (well, I paid it a ton of money), and still some things I appreciate more than my current laptop (the screen and the touchpad are fantastic, for example), but I hated MacOS, update after update it become slower and more full of useless stuff that consumed resources, and full of stupid privacy and security features that get in your way (like stupid prompts that you get when you try to run a third party application downloaded from the internet and you have to get every time in the Settings application to consent it - something that I had to research on the internet how to do the first time. They say Apple is intuitive right?)
- kitsunesoba 5y agoDocker running badly is just as much a Docker problem for it being so tied to Linux as it is a macOS problem. It’s one of the big cons of a “ship the whole rainforest” approach: you’re trading fewer variables for your application for performances losses due to greater possible incongruities between the abstraction and the host. One would have similar issues rigging up Docker to run on FreeBSD, because that’s also not Linux despite being plenty UNIXy.
- wmf 5y agoAFAIK macOS doesn't have namespaces/jails/zones so it would be near-impossible to build native Docker for macOS.
- elpescado 5y agoHow useful would Mac-native docker be? You couldn't run any of your Linux containers and I cannot see much utility in macOS containers.
- wmf 5y agoPlenty of people develop on macOS and deploy on Linux (this isn't completely reliable but people consider it good enough for Ruby/Python/Node.js) so I could imagine a portable Dockerfile that generates either a macOS image or a Linux image depending where it is built. This would speed development dramatically.
- elpescado 5y agoBut isn't the whole point of Docker having a 100.0000000% repeatable environment? And how would that portable Dockerfile would look?
- linguae 5y agoExactly. As a long-time Mac user, I miss the days when Apple and Microsoft were focused on advancing desktop computing, and when they heavily invested in the macOS and Windows platforms. It seems that ever since mobile computing gained a foothold and when Web applications started becoming to be feature-by-feature competitive with native desktop applications, the industry has largely and effectively abandoned the desktop except to serve essentially to provide platforms for device drivers and windowing systems that will ultimately run web browsers (which, lo and behold, happen to be developed by these same platform vendors). Native mobile applications exist, but only to justify the existence of walled-garden app stores. Modern operating systems have essentially become ChromeOS with support for "legacy" APIs like Cocoa and Win32 for running "legacy" desktop applications. It would not be an exaggeration to say that the success of the iPhone was the worst thing that happened to the Mac. Compared to the iOS ecosystem, the Mac now makes up a small minority of Apple's profits. While Apple's ARM-based Macs are undoubtedly a major advance in terms of computer hardware, unfortunately on the software side macOS just isn't the same as it used to be. Mac OS X in the 2000's was truly ahead of its time, but today macOS is no longer heads-and-shoulders better than its competition, and its Unix core lags behind modern Linux and *BSD in terms of features. While the Web has many advantages such as ease of distribution, there are key advantages of traditional desktops, such as better latency, the lack of dependence on Internet access, and the idea of desktop applications conforming to the UI/UX guidelines specified by the platform. Unfortunately, if all of our applications are Web applications, whether they are running in a web browser or as Electron apps, we lose out on the consistency and interoperability benefits that come from well-designed desktop applications. I think the days of a polished ecosystem of well-designed applications that have consistent UI/UX guidelines with each other is coming to an end due to these market pressures.
- sneak 5y agoLet's not forget that they are shipping signed, unmodifiable OSes (in the default security config) that will be scanning your local files without your consent for contraband, and any true or false positives will be reported to Apple and the police. They are proceeding with this plan, now that the initial fervor has died down. You can't turn it off without disabling the majority of the platform security protections on the machine.
- aparticulate 5y ago> Let’s not even discuss whatever almost happened to Safari. The weird Safari summer was beta process working properly imo. They incorporated literally all of the constructive feedback. The common sentiment is that Safari now is better than the previous version. Now if only Firefox could have followed this path with the removal of compact tabs but that's another story...
- tambourine_man 5y agoRegarding the many Docker/Unix comments: there was a time when Apple led the way on Unix land. If you love or hate systemd, you have Apple and launchd to thank for. Apple should have either let or at least recognized the need for containerization and followed. Process isolation done right could solve end user security issues, instead of the half baked annoying dialog boxes they have littered throughout the system. It could also allow something similar to Docker for developers. They also need to solve their relationship with GPL3. If it’s indeed that toxic, then they need to write or adopt alternatives with different licenses, instead of just shipping decades old binary.
- rcarmo 5y agoDocker is based on Linux namespacing, and the Mac does not use a Linux kernel, so you have to run a VM to have one. That's it, period. The "harder and slower" bit is debatable (you can run podman, for instance), but a lot of it is on Docker's side, not Apple's -- they even provide a hypervisor you can use with 10 or so lines of code!