May 24th, 2016 • 1:35 pm
In March, I wrote about my experience with OS X 10.11 (El Capitan), in relatively glowing terms. After my nightmarish experience with OS X 10.10 (Yosemite), the relatively smooth upgrade to El Capitan and the significant improvements in responsiveness were like a breath of fresh air. I even found long-standing bugs that were significant for me and that had finally been fixed…
Now that a few months have elapsed, however, I am afraid I need to revise my judgement somewhat. El Capitan is still a vast improvement over Yosemite, but I can now report that there are significant issues with OS X that were introduced several years ago (the consensus being that many of them first appeared in Lion) and are still not fixed in El Capitan.
First and foremost, there is still a major issue with keystrokes disappearing into the ether. I first reported on such a problem in OS X’s Mail back when Lion came out, in 2012. Since then, in every single version of OS X that I have used, I have noticed the problem, not just in Mail, but in various other applications, both Apple applications and third-party applications. It is, of course, an intermittent problem that is, for the most part, impossible to reproduce reliably.
I recently wrote a post about a particular scenario in OS X’s Finder where I can reproduce the problem 100% reliably. But this is just a particular scenario. There are many other scenarios (composing messages in Mail, writing texts in Word 2016 or Nisus Writer Pro, etc.) where the problem with disappearing keystrokes occurs randomly and unpredictably. It’s like OS X suffers from responsiveness “hiccups”, and these hiccups are enough to cause it to lose track of what’s currently being typed by the user.
The feedback I got after writing that post was that it probably had something to do with OS X handling stuff “asynchronously”… I am afraid I don’t know enough about the innards of OS X to understand what’s going on here. All I know is that responsiveness problems in OS X are nothing new and that, in the past, as far as I can remember, OS X always seemed to have some kind of internal buffer that would prevent it from losing track of what was being typed. Yes, the flow of text being typed out would sometimes be interrupted by hiccups, but these hiccups wouldn’t actually cause OS X to lose keystrokes. They would be processed eventually, after the hiccups had passed.
Now, since Lion at least, OS X basically has hiccups that not only slow you down, but actually can cause some of your keystrokes to disappear altogether without bring processed. How is this acceptable?
As usual, problems in OS X manifest themselves in clusters, and there is no denying that the problem with lost keystrokes tends to be worse in applications that also have their own responsiveness issues, most notably in Word 2016. This effectively makes Word, an application that is already of very poor quality to begin with, even worse. The problem with vanishing keystrokes also tends to get worse overall when there are several background processes that are taking place, and actually slowing down the entire system for obvious (and understandable) reasons.
But let me be clear about this: The hiccups and the vanishing keystrokes can only happen in OS X even when there is no obvious reason for the system to become less responsive, even only temporarily. My system is complex enough that I cannot fully know, at any given time, exactly everything that is taking place, but I always keep an eye on CPU levels on my Mac, and the hiccups and the vanishing keystrokes can happen even when CPU levels are quite low and there is no apparent reason for my machine to experience a slow-down.
Worse still: The hiccups don’t just affect text entry. If a hiccup occurs while I am in the process of typing a sequence of keystrokes to execute a series of actions, i.e. a sequence of keyboard shortcuts in an application, it can actually affect the execution of the actions. And of course, unlike text entry, which is visible on the screen, missing keystrokes in sequences of keyboard shortcuts are not easy to spot. It can be rather maddening!
I find it rather sad that, in 2016, on a very powerful machine (a 2014 Mac Pro), I find myself having to monitor activity levels on a regular basis just in order to try and better understand why my system is not more responsive or in danger of losing some of my keystrokes, and adjust my own behaviour accordingly.
When exactly will Apple finally produce a computer that does not force fast users like me to wait or adjust their own speed? As I said, overall, El Capitan is indeed much more responsive than Yosemite, at least on my 2014 Mac Pro, with the same array of both Apple and third-party applications that I use on any given day. But it still isn’t as good as a system such as OS X Snow Leopard used to be, and one of the main reasons is that responsiveness issues (which have always been a fact of life in OS X) are now compounded by the very serious problem of randomly vanishing keystrokes.
I would probably be much more tolerant of hiccups if they didn’t cause keystrokes to disappear. I would be able to simply ignore the hiccups then. But as it is, I cannot help but notice them, because whenever they happen, there is a risk that I might lose keystrokes and have to retype, in part or in full, what I have just typed all over again.
Am I really the only one who’s bothered by this?
(Things can get even worse. From time to time, I experience a hiccup that is so bad that it causes the foreground application to somehow “seize up” completely when it comes to keyboard input. When that happens, even though the application itself remains responsive — I can still navigate its menus, dialog boxes, etc. — it refuses to process keyboard input, instead playing a system beep or doing nothing. When that happens, things don’t get back to normal by themselves. I have no choice but to quit and relaunch the application altogether. You won’t be surprised to hear that the application most often affected by this is Microsoft Word 2016, but I believe I remember experiencing the problem in other applications as well, even if it’s much rarer.)