Meanwhile, user-controllable per-process (or per-app) sandboxing would provide tangible benefit to all of us. This means, easy controls for accessing filesystem, network, cpu, gpu, memory, peripherals, and other processes.
Most of these controls exist, but in ways that don't map well to the desktop environment. How do I see what that adobe agent is doing? Sure, I can buy Little Snitch, but this should really be built into the OS. Too much of the UNIX model is designed to secure a user's information from other users, which simply isn't a massive concern these days when we often have dedicated workstations and have issues trusting the processes we run as our own user. What if I suspect my TODO list has a built-in bitcoin miner? I should be able to limit its use of the CPU and GPU.
Meanwhile, my editor still needs to read the configs of all my sandboxed apps, and whatever else I want it to access. This isn't necessarily an easy problem, but it's one I have confidence Apple could tackle, especially with mobile paving the way already.
All this time, docker has been innovating on the sandboxing, with mostly positive results. Android, I believe, runs each process as its own user, leveraging the existing UNIX controls better. I'm not sure what precisely iOS does, but it's locked down well enough to cause me immense frustration building stuff for my phone--not exactly what I'd like to see on the desktop, but they clearly have the ability to provide many of the controls I am looking for on the desktop.
I'm sure this would result in an improved UX as a result, TBH.
If not, Google is coming down the road with Fuschia.
Going forward, advanced sandboxing is indeed one of the most important things that I would love to see Apple focus on. Ever since I first considered the possibility that apps can have individual access controls, probably around the time I first encountered SELinux/RSBAC and later AppArmor, I've been wondering why vendors aren't pushing this as an absolute top priority on the security front.
Meanwhile I'm using this:
https://beta.f-secure.com/key/XFence
It's Jonathan Zdziarski's Little Flocker rebranded after he sold it to F-Secure. It works great, but it does admittedly require an upfront investment.
2 caveats:
- Current version only works on Sierra (I'm not touching High Sierra until just before the next one comes out)
- Creating "any via" rules can lead to noticeable slowdowns, while "ancestor" rules, even though they are theoretically more expensive, don't (unless one overuses them, I suppose). It's probably a bug.
Other than this, I've been using it for over a year and have no complaints whatsoever.
I think OSX's UX problems are mainly in the first category - Apple just doesn't care. Windows introduced snapping in Windows 7, nearly ten years ago. It is extremely useful and seems pretty easy to implement. As you say, you can always get a third-party application like the (fantastic) BetterTouchTool. But you shouldn't have to do that for something so fundamental. The very least Apple could be bothered to do is keep up.
It has multiple desktop spaces, fullscreen mode, and "expose". It used to be that clicking the green dot on a window expanded it in developer-defined ways that were often unpredictable, but that got replaced with fullscreen mode.
With window snapping, I can use keyboard shortcuts to quickly position each window and have all 3 windows be fully visible in their own distinct space, without having to remove my hands from the keyboard.
If window snapping 'doesn't provide any benefit', then there must be some alternate method that achieves what I've described above. What is this alternate method?
I'm also hoping Fuchsia will save us.
Time will tell.
Edit: looking up in dictionay, it's actually /fjuːʃə/.
I joke, but it's important to remember just how far behind Windows in basic operating system architecture Mac OS 9 was when Apple launched OS X. Apple absolutely had to replace Mac OS from the ground up. It had no choice.
Is macOS (the artist formerly known as OS X) in the same position today? I would argue no. Most of the "problems" with macOS are either UI complaints like window snapping, or ugly bugs--which are more likely the result of development workflow issues than fundamental shortcomings in the technology of the OS. When Microsoft made the big shift to address their security issues, it was mostly a sea change in how they developed Windows, not a ground-up rewrite of Windows.
No, but it does need to be brought on par with the state of the art in UNIX world — things like process sandboxing, container support, process limits (like cgroups), a modern development environment (like .net is for Windows), better package management (App Store is a bad joke), cross platform development between for iOS and macOS, stability, performance enhancements etc. In fact, I am OK with the UI — it could do with some modernisation and new features, but for the most part, it is very usable.
And the tooling could definitely do with an upgrade. They are still using an ancient version of bash, for example. If they can’t use newer bash because of GPL, they could write their own shell, for example. The fact that something like Homebrew is the go to package manager tells the story of a major gap.
I only noticed this a couple of years ago when I tried to switch to Windows. When trying to find replacements for apps I use daily either there was nothing that had the functionality I wanted or what I found was just terrible. I found tons of win32 crap, or apps that didn't support scaling properly. Even software from Adobe...
Some examples: Alfred, iStatMenus, Karabiner, BetterTouchTool, etc.
After a couple of days and a buggy experience with a Surface Book 1 I returned it and bought a MBP.
A huge point in favor of Windows is the diversity of its ecosystem.
And what's wrong with Win32 per se that you'd discount it as crap? Not everything needs to be 64-bit (and since on Windows the only compelling reason is >4GB RAM usage - it shouldn't).
I’ve contemplated switching to Linux for a while, and keep a laptop with Fedora installed, but every time I seriously consider it I picture losing those key applications and the tight integration with my other devices and I can’t justify it.
I will agree that window snapping should be native. Still, the three dots is overall more consistent and visually nicer to me than Windows' min/max/close.
It may be because of how I use a computer, but I only use Spotlight as an application launcher. Because it's there I will type stuff in the "Search" box in Finder, expecting to filter on the filename of the current folder--instead it it searches "This Mac" and my results are variable names from open source code I've downloaded. Since it also omits results from System files and preferences, like ~/Library, I often use good old locate in a Terminal.
Windows Control Panel is an unholy mess. macOS' Preference Pane search, as well as searching for menu items under Help inside any app, is a godsend.
http://osxdaily.com/2013/03/12/change-finder-search-to-look-...
There is a 'Primary Monitor' setting - this determines the window presenting the Dock and can be changed by clicking and dragging the 'menu bar' idiom between windows in the 'Arrangement' tab in the 'Displays' preference pane
Builds with 'sets' (tabs) have already circulated to Windows Insiders, so it can't be very long until we see them in the stable builds. They even work across apps! https://www.theverge.com/2018/5/8/17318334/windows-10-sets-a...
> Spotlight is the best system-wide search compared to Windows or any third-party Windows tools.
Have you tried Wox? https://github.com/Wox-launcher/Wox
> Devices like audio interfaces and printers are so much easier to get working than on Windows.
Windows auto-detects network printers. I'm not sure how much easier than that it can get.
> The system preferences menu is a lot cleaner and easier to navigate than control panel
That's why Microsoft made the Settings app. It used to be pretty bare, but has gotten quite functional and fully-featured over time, so I think we're at the point where it's unnecessary to touch the legacy Control Panel anymore.
There are legitimate gripes to be had with Windows (not in the least its data collection), but I don't think most of the ones you listed are the ones.
The real questions are whether or not present-day Apple administration has enough vision to (want to) carry out an OS migration and, as you mention, whether or not the vision is any good.
Every WM or desktop combo in Linux has other features I find highly convenient which are strangely missing from Mac and Windows, such as a drag modifier key for windows, which allows you to move a window when the title bar is off screen. I prefer features like windowshading to minimization, too, and it is simple to configure Linux to do that, unlike Mac or Windows. I don’t use the feature, but would surprised if window-snap-to-borders wasn’t supported as far back as KDE 1.3 or WindowMaker .92.
Linux has always been the OS where you can do just about anything you want with enough research and effort, but it still matters what the most mainstream distro offers out of the box at any given time.
Linux is highly extensible and modular, so it’s hard to say what it provides ‘out of the box’, even a given distro. For almost any distro, it’s very simple to start using a different WM (literally 3 steps).
I suppose it’s true that for the majority of users, what the defaults are is more important than an option merely being available as most people will never even read the settings menus.
Apple did something similar when they switched from Classic Mac OS to Mac OS X - a transition which helped them stay alive and eventually bounce back when almost every one had given up on them. The transition indirectly led them the ultimate success of iOS and iPhone.
Microsoft was left behind in the smartphone race because they were late to the transition — the smartphone revolution started when they were still going through it and they were caught empty handed. They had nothing to show when they desperately needed an OS for smartphones. Had they launched the equivalent of Windows Phone 8 in 2009 or 2010, the history may have been very different from the one we know.
But the world has come full cycle, while the Microsoft Windows ecosystem is still relatively young and can probably keep going for another decade or two, Apple’s OS is starting to show its age. It’s not just the age of macOS — it is much older then that. Apple finally decided to overhaul their filesystem, but other things like the kernel, the API etc. still need the treatment.
And a large proportion of the kernel and APIs very obviously go all the way back to early NeXT days; they're really as old as WinNT is.
The maturity of the desktop software "market" is also evident in Linux. Ubuntu has recently choosen the venerable X.org rather than wayland for its LTS release over compatibility and stability concerns. I'd say that's a reasonable choice; after all, you're using Linux for apps that have been in the making for over 20 years, such as Inkscape, Krita, Gimp, Blender, etc.
I'm also not sure what Docker and sandboxing brings to the table (except for developers). Desktop workflows are organized around open file formats and clipboard cut/paste.
So I agree future Apple products will focus on iOS. There's simply so much more money to be made there.
Apple may well get out of the developer game, which seems like a dumb idea given their market share, but I'm neither a finance expert nor an Apple executive, so maybe that's just how the numbers play out.
Microsoft is making a decent-sized push in this space lately, with the Linux subsystem, Visual Studio Code, etc. So I would guess they'll end up taking Apple's market share, which is a bit of a shame as far as I'm concerned.
I bet if they had kept the original POSIX personality and improved it throughout the years, many devs would have not looked elsewhere.
No doubt it would be easy to provide a disable option; just because it annoys you doesn't mean it shouldn't be implemented.
It supports keyboard and mouse snapping for windows with fullscreen, half screen, quarter screen and center presets.
I'll leave my old comment about it here: https://news.ycombinator.com/item?id=12097859
And a link to the script here: https://gist.github.com/spartanatreyu/850788a0441e1c5565668a...
Reminds me of DOS days.
- Peppering the network drive with trash files containing OSX-specific metadata
- Failing to reconnect when the computer goes to sleep, except not really because it thinks the drive is still there, but you have to go through the connection process all over again before you can actually use it.
- Getting out of sync with the file server and keeping the local copies of some files under slightly-different-names. But you can't see the real ones either, even after you reconnect. So all of your path references just break.
etc. etc. etc.
There's an app that will automatically clean those up. Unfortunately, I can't remember the name of it right now. Hopefully it'll pop up on Google for you, if you're interested.
At least not until we have input systems that are superior to keyboard and mouse (and no, touch screen so far is not).
When Apple decided to innovate in the space, they made iOS. Now you could that's not a desktop OS but the thing is, I don't think they care about this desktop/whatever distinction, these are all computing devices, with different use cases.
Meanwhile, Windows, the leader in desktop innovation, tried everything at once, pretending to be a mobile device with full screen windows, then reverting it, removing and adding back the start menu, changing the look and feel to Metro and now Fluent, and even in the technology front there is constant churn. That may be innovative but I definitely don't want to be in the midst of all this innovation in my work computer.
- A fully-accessible file system
- A bash command line
- Tool support. Repositories, code runtimes, compilers, IDE's, etc.
I know there are some all-in-one web-based IDE's that you can work in, which are interesting, but I've yet to see one that could act as a full replacement for professional, native tools. And most of those don't support anything other than web development.
Sadly, Apple has scared me off their legacy software rewrites with their rewrite of iTunes and High Sierra. The releases were either disastrously sloppy (High Sierra) or a complete letdown (iTunes remains hot garbage).
Removing iTunes' persistent nav bar + tying it to Apple Music on Mac makes it one of the worst pieces of software I interact with on a daily basis. I don't want OSX to suffer the same fate.
http://web.archive.org/web/20130301120749/http://www.apple.c...
12 years later, the application is a nightmare to use while Spotify is a joy. I have my fingers crossed that Spotify remains usable, because I don't see them making huge business model shifts.
That said, the focus is clearly much more on iCloud these days, Time Machine feels like it hasn't seen development in years. I was lamenting its slow performance the other day.
I do wish Apple reconsidered their approach to time capsules, providing an appliance you could back up your machines to was genius. It helped family have proper back ups. Sadly, there is no easy everyday replacement in sight. For many the cloud is not yet an option.
In North America yes, in Europe it never really took off outside the first level countries.
I only touch Apple devices for iOS development, and they are shared as part of a company pool.
And I bet African, Asian and South American developers would share a similar opinion.
Later I can cross-check it.
We should all get the picture and migrate elsewhere, I'm afraid. Windows laptops are looking more and more appealing...
Here's what I'd like to see: a fresh desktop OS that actually innovates in the space. Desktop UX innovation has slowed drastically in the smartphone age, and for Apple it's come to a screeching halt (Windows - dare I say - is now the leader in desktop innovation). The fact that OSX is the only modern desktop OS that doesn't have window snapping out of the box is simply shameful. Even Ubuntu has it now, without any Gnome extensions.
Despite all this, OSX still has a huge foothold as the developer platform of choice - especially for web - because of its combination of quality hardware, Unix-ness, and relative stability (though all of those are becoming harder and harder points to defend). Apple should take advantage of this and throw power users a bone. We've been waiting for years on end. Stop working on useless things like the Touch Bar and start rethinking what a desktop operating system can be in 2018.
Unfortunately, what would probably happen if they built a new desktop OS is iOS with mouse and keyboard support, and developers would leave in droves.