MacOS 10.14 Mojave Reviewed
arstechnica.com
arstechnica.com
(Possibly related: https://www.forbes.com/sites/quora/2012/02/15/why-does-adobe...)
I explained, "I'd love to use Photoshop, but it fails to do the very first thing I need when I look at a batch of photos I shot in burst mode: flip back and forth between them to see which is best."
PSP let me flip between two photos instantly so I could see which I liked; Photoshop couldn't do that. Every time I used Ctrl+Tab to switch photos, it first drew a placeholder checkerboard across the entire screen, and then it slowly pulled in the new photo block by block.
Of course, there was probably some good technical reason for this: maybe some legacy Photoshop code designed for even older computers with little memory. But that didn't help me.
The funny thing about your (valid!) complaint is that browsers are perfectly capable of doing the right thing for you when you replace one image with another - an instant visual swap. But instead, people add scrolling and fading and other effects just to show off how "designy" their site is.
>The end of OpenGL and OpenCL on the Mac
A solid summary of the situation, but to me where Apple really deserves blame there is not having MoltenGL and MoltenVK (and perhaps some theoretical MoltenCL too) as 1st party projects. I completely understand them wanting their own directly writable and controlled low level graphics language and having that be the interface layer. They are pretty vertically integrated and are now even doing their own GPUs, but even before that on the Mac they have long built the OS very strongly around GPU capabilities (for better and for worse, basic VM experience is very mediocre if you don't have a hardware GPU to passthrough). If anything I'm mildly surprised in retrospect Metal wasn't done earlier, OpenGL wasn't working for them and it's that big a deal. Microsoft invested in their own graphics layer for Windows ages earlier.
But controlling their own low level layer doesn't mean that higher level non-proprietary interfaces shouldn't still be supported on top. Part of the point should be to enable abstraction there. Apple is a big enough player and platform that this shouldn't be a zero-sum game, and their perfectly understandable strategic concerns addressed by Metal don't preclude OpenGL continuing to be officially supported as a layer on top of Metal. Apple could have even done it as another open source project of which they were the primary sponsor even if they wanted to manage it that way.
This may be just another symptom of their unusual startup-type culture which lets them hyperfocus on specific products but reduces their corporate ability to multitask, but it's still a shame. It could have been just about supporting newer and better stuff going forward, not taking something away. Even if MolenVK/MoltenGL ultimately fill some of that void I don't think that should have been relegated to 3rd party only.
Supporting a MoltenGL as a first class item defeats the whole purpose of moving away from OpenGL to begin with from their perspective. OpenCL never got the critical mass in their eyes, and someone else is already taking on MoltenVK.
There's also graphical issues at high resolutions. I've been planning on buying an Nvidia GPU so I can actually play games at a decent frame rate.
Are you telling me part (or all?) of the problem is bad drivers? I got the drivers from Windows Update rather than from AMD so they would just update themselves and be the correct ones.
There are some games that straight up don't call endscene and present and crap like that in DirectX land. Or have bugs in their shaders, expecting the driver ISVs to just completely rewrite them by hand anyway. Nvidia can get away with this because they have something like 10x the engineering staff as AMD's on the GPU sides of their companies. Apple never had a hope of competing in this space at the same level.
AMD pushed Vulkan (and Mantle previously) hard because it lets them break the cycle due to the layering concept in the driver stack. Intrinsic in how those drivers work is allowing end users to stick API verification layers in at load time. This will allow AMD to go to the press and say "see, it's not us, it's the application developer that wrote terrible code" without leaking any internal IP of those other shops.
It's always better to get graphics drivers from the chipmaker directly for both Nvidia and AMD cards.
Why can't they continue to support OpenGL at least to the level required by WebGL? And if they want to switch out the backend to some kind of GL-to-Metal translation layer, so be it.
I don't care whether it's a native driver or a compatibility layer. If I do care, for performance reasons, I should be using Metal, sure.
I still don’t see why that Safari implementation of OpenGL would have to stay internal.
For the record, there is an Apple-led initiative to bring a modern GPU interface standard to the browser:
https://webkit.org/blog/7380/next-generation-3d-graphics-on-...
Also the APIs do not map 1:1 to OpenGL ES anyway due to security constraints.
I'm certainly not aware of nVidia doing anything special for our game, and honestly, they haven't really been super easy to get help from when we have attempted to ask them questions about problems that are nVidia specific that we run into.
Since we are not a big publisher, it's super difficult to maintain a relationship. We will get assigned someone to talk to, and next time we actually have a problem that person will have quit / moved to a different department / stopped caring about us.
Our game is in top 10 on steam right now, and is typically in the top 20 even during low periods, so I would have thought we would be somewhat higher up the priority list for specific attention if that was going to happen.
So all of that is to say, we pretty much have to deal with the problems ourselves, not rely on nVidia to fix them for us.
That being said, people complain about problems on AMD in our game all the time. So why is that?
Forget game specific optimisations, I think it's just that nVidia has just plain better drivers in general.
When we are developing new engine features, the difference is pretty clear. If you naively implement a shader, it often runs faster on nVidia initially. It's usually possible to persuade the AMD drivers to run things just as fast, but it's totally non-obvious how.
That's the thing. Ubisoft, EA, etc. get special treatment that happens before release. If you've released and it works without custom drivers, then obviously you don't need that special treatment.
Nvidia understands that you gamers buy graphics cards to run games on them. They just want their game to run and look good on the graphics card. They don't really care about how bad the game developers are and want efforts Nvidia had to take to get the game to run. At the end of the day, games running good means happy customers.
Yeah, they should have learned from OS/2 and that other graphics subsystem it supported for compatibility (sorry, forgot what it was called)
Foo on top of bar will always have incompatibilities and performance problems compared to foo on bare metal, but third parties will develop for it anyways if it gives them an easy path to a larger market, and the risk is that bar will become an implementation detail, rather than a competitive advantage.
Electron apps are a good recent example. I bet all major OS manufacturers would like to get rid of them, if it meant those applications ran on their OS and not on others.
AAA studios are quite comfortable writing multi-plaform game engines since the 80's.
My opinion on APIs have gone from new and bleeding edge to 'support it till the sun burns out'. Computers and meant to work. on linux or mac, no executable over 5 years old seems to work. But if download a .exe from the early 90's on a PC, it often just works.
In 100 years, the windows API and .exe are going to be the lingua franca of programs. there are many indications this is happening, valve baking WINE into steam, the fragmented package managers on linux, and no common runtime environment taking off.
That being said, I will eventually die. Now, the question becomes what are the people that follow after me going to be using. I have kids in school: both use Chromebooks for school work, in one case a PS4 for gaming, and hand-me-down iPhones/iPhone SEs for social, gaming, and the like. Could they eventually need a PC? Possibly, depending on their career path/interests and the level of support for iPads, Chromebooks, etc. at the time. But they don't need it now. And I know people who are my age and older who limit themselves to iPhones/iPads for technology beyond the TV. None of these things are running Windows.
I'm a developer at work for internal applications (and some external). All of my non-server running things are web applications. They could be accessed by Chromebooks instead of the hp Windows 7 laptops we use now. I doubt we'd switch off PCs due to familiarity at the very least, but we don't need them.
https://www.statista.com/statistics/272595/global-shipments-...
The day of replacing a PC tower every 3 years are gone.
The sales of smartphones on the countries where pre-pay is the way to go are also declining.
Tab completion now shows dot files as well; ".DS_Store" is there everywhere. I wonder if they have a plan to do away with the .DS_Store anytime soon.
But then I also see tons of Thumbs.db
Can someone more knowledgeable than me explain how in the world this is an improvement? The old Core Storage model perfectly makes sense to me: it strictly operates beneath the level of a file system, combining multiple physical volumes into a logical volume family which contains a logical volume. It moves blocks between SSD and HDD using frequency of access. Now, why should we suddenly need to look at the type of file to determine which block device to store the data? Even if it's an application, but if it's not frequently used, why should we keep it on SSD?
And filesystem metadata should be even more obvious. Since basically all file operations need the directory entries and the inode information, the old Core Storage-based system will automatically move them to the SSD. Why do we need to explicitly tell the filesystem to do this?
Overall this feels like a step backward to me. I like systems that are dynamic and self-adjusting, not those with hard-coded rules and heuristics.
Also I'm a bit disappointed as the author, while producing a fine review to read, didn't quite do the deep-dive I had expected for a system that's arguably the most important in an OS—a system in charge of storing user data.
We don't "need" to, it's an extra optimization.
>Even if it's an application, but if it's not frequently used, why should we keep it on SSD?
Because if we have the space to spare on the SSD, we'd appreciate the faster launch when we do try to use that app. And for other types of files it can now decide to move them or not move them based on the benefit from the faster load, not just the frequency of access (and thus optimize the SSD use).
This is just wrong. Gatekeeper is not the iOS-like privacy controls. It's about enforcing apps to be from the MAS or identified developers. https://support.apple.com/en-us/HT202491
You can tell it's made to spec and with zero developer love softening the rough corners, because no developer who cares would make a full-screen screenshot view mode you cannot exit with Esc.
it makes complete sense, I switched over to mac in 2017 and as I got used to the gestures I tried them everywhere. if i'd found one place where they didn't work I would have abandoned them. the side swipes also work in Netflix on chrome on Mac. I really LOVE this aspect of the mac. gestures are functionally useless on windows coz of the uber patchy support for them....
While probably technically much more difficult, maybe they could have the first Mojave launch of every app occur in a separate and invisible “everything allowed” area, where the system just pretends to allow things and tracks everything that the app did on launch that would require permission. And then, it can display one box with a summary of features that seem to be required for that app, relaunching the app in the real system sandbox if approved.
Followed by a table with the function (I.e Camera, mic), a description from the developer about why, and a checkbox to accept or deny.
The behavior you describe is the old Android take it or leave it approach. It doesn’t work because then all apps refuse to work if they don’t get ridiculous permissions.
That all depends on context, if an app asks for all the permissions on first run, the user doesn't have any context to help him/her deny access.
This is frustrating behaviour in general when you have a bunch of apps open at work. Slack will repeatedly attempt to steal focus on launch as it displays a splash screen and then the real app (a chat client requires a splash screen now!?), most apps using Sparkle for auto-updating will throw more prompts at you as new versions roll in, a different updater from Microsoft or Adobe will boot up to check on those installs...meanwhile all of them are trying to resize to full screen or appearing in some next-best position, because they're all competing for the foreground.
You can't do shit until you're sure the computer's settled down. And that's before you get the extra permission prompts.
Is that true that Mojave looks ugly on non-retina displays, won't allow your scripts to access some stuff previous versions allowed, integrates with Apple's internet services and DRMs more tightly and can have problems with playing old Windows games like Fallout 3 with Wine?
The Apple iCloud stuff is still optional. A "hacker" should have no trouble with the Terminal commands necessary to disable SIP.
Dunno about Fallout but Boot Camp and VMWare are still around.
> Boot Camp and VMWare are still around
At least it's too space-consuming to maintain a separate Windows system on a 128 GiB SSD, Wine/CrossOver feels a better solution in the cases where it can manage.
defaults -currentHost write -globalDomain AppleFontSmoothing -int 3
defaults write -g CGFontRenderingFontSmoothingDisabled -bool false
Maybe they only removed the switch on retina macs.
HFS+ was terrible, but at least I knew most of the ways in which it was terrible.
I've always found Spotlight to be utter garbage, but that's not the fault of HFS+.
The system requirements for HFS and HFS+ reflected this and partially explain why there was little progress for literally years at a time.
https://arstechnica.com/gadgets/2011/07/mac-os-x-10-7/12/#hf...
Eventually, you have to start over.
Drag the app to the trash?
My complaints re disk space are mostly still around because SSD prices are still not cheap compared to spinning disks. For example, I went from 80 GB (2005 Dell Latitude) to 120 GB (2007 MBP) to 256 GB (2013 MBP). Desktop drives at the time were probably triple to quadruple the storage at half the price, so it's still an issue.
To migrate everything to an SSD in my next machine will take somewhere between 1-2 TB, and last I checked, the 1 TB option on a MacBook Pro was $600.
The first review I see for AppCleaner on the MAS right now is from a very happy user who just reclaimed 19 GB on their MacBook Air after a first run on a 4 year old machine.
For that user, hard not to disagree that that matters.
Also: 7 GB was from AirMail not deleting its 'junk'. If that junk was in fact its internal cache of emails then that user has thought that those emails had gone with the app, while in fact they were still carrying them around. Now that could be a very big deal. (Unfair to assume, but a reasonable scenario).
The fact that the Installers don't do well with this kind of situation is probably an indication they should survey the landscape and buy one of them so it can be integrated.
There’s also things like Garage Band’s downloaded instrument files, which do stick around... but only because other apps (e.g. Logic) can also use them.
He was(is!) a great writer, programmer, and colleague (separately, of course). Hope he's up to something fun!
John also has some other podcasts like Robot or Not[2] and Reconcilable Differences[3], but ATP is by far my personal favorite.
[1] http://atp.fm/ [2] https://www.theincomparable.com/robot/ [3] https://www.relay.fm/rd
So, it just happens when your laptop goes into hibernation with FileVault enabled?
Command+Shift+5?
> The way the Kids These Days are customizing their email is with emoji
Kids These Days don't use email. Or at least, often, that is.
I now kind of miss the ability to have only dock, menubar, notifications side bar, spotlight and HUD for brightness, volume be black.
This mode offered a great balance between classic window chrome and the too much brightness you now get in "light" appearance mode.
I find I can't work in dark mode during daytime. Way too many reflections and reading mail and PDFs in preview are too jarring. Black, beside white makes each other stand out so much.
I think macOS is now least polished it has ever been.
I'd love to know why. The transition to APFS for all other devices has been utterly seamless. Apple probably has a whole filesystem team. I wonder if you have any special qualifications to justify why you think you know better?
Yes, the solid state storage for which it is designed. The Fusion Drive by definition includes rotating media and compounds this problem by involving 2 devices in a common logical storage device.
The APFS support for Fusion Drives was pulled from High Sierra for reasons that were never explained so there were apparently issues, and without knowing what those were it is impossible to evaluate how likely it is that these were all resolved now.
Also noticed the resolution is a little bit brighter and nicer for an old MBP.
I have a bunch of older iMacs I have stuck at 10.12 for this reason.
I have no idea if APFS on Mojave behaves better but if it doesn't force the file system upgrade (didn't check this yet) I see no reason to avoid Mojave. APFS would make a lot more sense on an SSD but even with 0 improvement (excluding visible performance drops here) at storage level the other features alone should make the upgrade worth it.