The Wrong Abstraction - <AUTHOR> http://www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction <comment><USER2> I can tell an amateur programmer from a professional by looking at their order of priorities when they grow a code base.

Amateur programmers tend to put code de-duplication at the top of their priority list and will burn the whole house down to that often-trivial end.

This writer is pointing out that there are other concerns that far, far trump duplicated code -- and she's right. However she's not elaborating enough on what it is a "wrong abstraction." We can be more precise.

The real offense when we factor duplicated code is the new dependency that is added to the system. And this is what amateurs don't understand. Every dependency you bring into your code architecture costs you and should be judiciously introduced. De-duplication of code ALONE is _rarely_ a strong enough reason to add a dependency.

If you want to be a professional programmer one of the most important things to acquire is a distaste for dependencies. Every dependency you add should be carefully considered (and lamented as a reluctant necessity if you decide to introduce it). As a 20 year veteran in this industry having worked on myriad code bases, I will always prefer a code base with duplicated code and fewer dependencies than the other way around.

So back to the "wrong abstraction". When we compose systems, we are looking for fewest dependencies and _stable_ dependencies. What I think the writer means by "the wrong abstraction" is a "volatile dependency".

I'm trying to be precise here because a common reaction to terms like "the wrong abstraction" is that wrong/right, its all subjective. The truth of the matter is that it's not subjective at all -- the higher-quality system is the one with optimally few dependencies and stable dependencies, these are measurable qualities.

<comment><USER3> Dependencies (coupling) is an important concern to address, but it's only 1 of 4 criteria that I consider and it's not the most important one. I try to optimize my code around reducing state, coupling, complexity and code, in that order. I'm willing to add increased coupling if it makes my code more stateless. I'm willing to make it more complex if it reduces coupling. And I'm willing to duplicate code if it makes the code less complex. Only if it doesn't increase state, coupling or complexity do I dedup code.

The reason I put stateless code as the highest priority is it's the easiest to reason about. Stateless logic functions the same whether run normally, in parallel or distributed. It's the easiest to test, since it requires very little setup code. And it's the easiest to scale up, since you just run another copy of it. Once you introduce state, your life gets significantly harder.

I think the reason that novice programmers optimize around code reduction is that it's the easiest of the 4 to spot. The other 3 are much more subtle and subjective and so will require greater experience to spot. But learning those priorities, in that order, has made me a significantly better developer.

<comment><USER2> > I'm willing to add increased coupling if it makes my code more stateless.

I like statelessness as a top priority. However I'm not sure how statelessness ever comes into tension w/ coupling. Aren't they mostly orthogonal concerns?

> I'm willing to make it more complex if it reduces coupling.

Complexity = f(Coupling), in my definition. So an increase in coupling results in an increase of complexity. Sounds like you have a different definition of complexity -- I'd love to hear it.

<comment><USER3> There's a few ways in which state vs coupling can play out. Often they're part of the architecture of a system rather than the low-level functions and types that a developer creates. As an example, should you keep an in-memory queue (state) of jobs coming into your system or maintain a separate queue component (coupling). By extracting the state from your component and isolating it in Rabbit or some other dedicated state management piece, you've made the job of managing that state easier and more explicit.

As for complexity, there are many different types. Coupling is a form of complexity, but it's not the only one. Cyclomatic complexity is another and one. Using regular expressions often increases the complexity of code. And one need only look at the spec for any reasonably popular hash function to see a completely different sort of complexity that's not the result of either coupling unique paths through code. The composite of all the different forms of complexity is how I'd define it since they all add to a developers cognitive load.

</comment></comment></comment></comment><comment><USER4> "Programmer B feels honor-bound to retain the existing abstraction"

I think it's more often likely that the next person comes along and lazily forces the most brittle, minimal change possible to make their new requirement work without thinking about the larger context. Even if that means putting a complicated conditional into the existing function, while leaving the existing function name intact.

This isn't about honor. It's simply bad programmer behavior. It might be due to lack of skill or experience, or maybe laziness, or lack of discipline, or some other negative attribute.

<comment><USER5> Or maybe programmer B is trying to maintain a monolith of pasta for which there is no documentation, the original programmer has long since left the company, no one is entirely sure what the business rules of the program are actually supposed to be, there are no tests, and you don't have time to actually read and understand all 100k lines of code.

Management just needs this one little feature tweaked, so you dive in to where you think that needs to go, make the new thing happen while absolutely changing as little as possible because god help us if anything breaks.

Now imagine that you're not the second or third person to be responsible for this, but maybe the tenth or so, and it's been going on for decades. And the last person to work on it was really new to this language and didn't understand its idioms very well, or vice Versace, and you don't understand the language very well.

I greatly enjoy these conversations about code quality and maintainability, but I've encountered it more than once where business constraints don't allow you to even start to think about these issues. You have no choice but to respect the abstraction you inherit because your job is to get in, get out, and pray you didn't break some edge case that no one would ever think of.

Or maybe I'm just an amateur/novice.

<comment><USER6> You can always chose to change the surrounding code whenever you are adding something to an existing mess, to make a bit less mess. I have heard excuses about not being given time to do it from the management many times before, but the fact is that you are the one who deals with the code, you need to make the decision. If you are not comfortable doing some change, you are the one who needs to be writing the tests or making sure you understand the code. It's not some kind of separate task. It's essential for doing your job right, so you should not expect extra time allocated for it.

Just adding your small change without touching the rest of the application is usually the easiest way, though, so most people just do that instead.

The best rule I have heard is to always leave any code you touch in a better state than you found it.

<comment><USER5> I don't think this is a realistic attitude. I've gotten my fingers burned more than once by trying to take this approach.

The problem with web applications is that they are not self-contained. You don't necessarily know who or what is calling what or how for some legacy applications.

I can agree with the concept of improving code as you see it, but changing the abstraction--the topic of conversation here--cannot be done willy-nilly for any non-trivial app. You have to dig up all the people are, or were, or will be counting on that abstraction, and that's a challenging thing to do sometimes.

And then you have to provide a business reason for you to allocate the time necessary to go read those 100k lines of code and understand them or write tests for them. And you tell your boss this is a mess and needs serious work, and he says, "Dude, this isn't rocket science, and we're going to burn this whole thing down in a few years anyway, and all I need you to do is add this one button in this edge case and don't break our standalone desktop app that isn't going to get updated to understand this functionality."

You're idealism is admirable, and I don't disagree with it. But the reality of the world is that if you work for a company whose primary product is not software (hell, even sometimes when you do!) the priorities are about the business functionality, not about the state of the code or the right abstraction.

I just think it's a little disingenuous for people to have these conversations in a vacuum and attribute anything from malice to incompetence to a person who takes a different approach.

<comment><USER7> Maybe I am being idealistic, but I think the sentiment in the discussion concerns not only the ideal coding techniques themselves, but also the bigger picture of business needs. That is, if we took the approach of keeping code in somewhat decent shape, we would end up, in the long run, producing the whole system more efficiently, and reducing the TCO of the system for the user and the business.

I certainly hope that the discussion is not only about making the lives of the programmers easier.

</comment></comment></comment></comment></comment><comment><USER8> The problem was programmers between B and X didn't refactor to update the abstraction with their new understanding of the domain, and to better meet likely business requirements.

When programmer A introduces an abstraction, it's not as if they are saying "this abstraction is the one true way to represent the domain." The abstraction is a tool. It helps cover some duplication, and ideally express intent. But the tool needs to be updated when it's not useful.

</comment><comment><USER9> If you found yourself agreeing with article, yet have ever mocked mathematically-derived abstraction patterns like monads, it's time to reconsider.

Math is, at its core, the study of abstraction. Things that have been found to be good abstractions in math probably are good abstractions in programming.

Learn from history. Mathematically-derived abstractions probably are used because they are the right abstractions.

<comment><USER10> I don't think math is the study of abstraction. It seems to me it's proving truths about formal systems. Abstraction has the same purpose in math as it does in programming, a tool to more effectively communicate ideas.

<comment><USER11> Not sure I agree. Usually, mathematics is developed backwards - you have a concrete question that you want to answer, and you reason that it can be answered so long as such and such as true. The formal system is developed post-hoc to give yourself a language to reason in, but you're really trying to take the result you already "knew" to be true, and find the least restrictive system description to which it still applies. Then you look for parallels and generalizations. The abstractions are in a large sense the most important and difficult thing to create, because you're creating a schematic and saying "if you can rephrase your problem into these terms, then I already proved this intuitively correct thing for you, so you don't have to worry about edge cases". Algebra, geometry, calculus, etc. all follow this model. A lot of the conclusions in, e.g. analysis are obvious once you impose continuity.

The object of mathematics is to produce abstractions that make proofs possible or trivial. Sets, fields, groups, categories, functions, integers, reals, complex numbers, quaternions - these aren't notational conveniences that are introduced to make it easier to talk about. They're important because if you have something with the properties of a group, you know some powerful truths about it for free. If you change anything about the definition of group, the set of truths you know changes. People have been grinding on what the definition of a set should be for a century, trying to build the best possible abstraction, and they have all of the same problems coders have. You assume to much, it's not very general. Don't assume enough, there's nothing interesting to say that's unilaterally true.

So I would argue that characterizing math as the study of abstraction is largely fair. You "see" a result is probably true some of the time, and then you try to find out just how general you can make that statement.

<comment><USER10> Thanks for the response.

> People have been grinding on what the definition of a set should be for a > century, trying to build the best possible abstraction, and they have all of > the same problems coders have. You assume to much, it's not very general. > Don't assume enough, there's nothing interesting to say that's unilaterally > true.

This is a great point.

</comment></comment></comment></comment><comment><USER12> You: "We can implement this new feature but doing it right would mean we have to design a new architecture for the entire system, and that would take several months. Or, we could just hack it, change two lines of code and be done with it, but it might bite us in the future."

Management: "Change those two lines of code."

</comment><comment><USER13> For many decisions in programming, there are tradeoffs, and relying on general rules of thumb can be much worse than judging the specific case. And heuristics are often interpreted differently by different people.

Such is this discussion, imo. It's very possible to over-abstract. If something isn't extended, maybe it shouldn't be designed to be extendable, and if it isn't configured, maybe it shouldn't be configurable.

On the other hand, abstractions are the heart of programming, and finding a good one is what can make you much more productive and maybe even have more fun. The feeling when I've abstracted something and got more out than I put in is maybe the best feeling there is in this craft.

The difficulty is in finding the balance. I also dislike the rule of 3 as a hard general rule. There are many times when it makes sense to abstract something out of 2 uses, if there is a lot of code and clear separation and commonality involved, or you anticipate more uses later. Maybe even abstracting sub-problems out of one case makes sense, if separating the problem cleanly into two parts makes it easier to reason about. There are many times when it's a bad idea too; it depends on the specifics and it's a judgement call based on experience.

(And, I would even say, there is room for personal taste in programming about this; where the sweet spot lies may vary from person to person.)

</comment><comment><AUTHOR> I wrote about the problem here: [http://250bpm.com/blog:36](http://250bpm.com/blog:36)

The fact that abstractions can often add complexity rather than remove it should be taught in schools.

The problem with distinguishing between the two cases is that it often requires business domain knowledge. And programmers, sadly, rarely care about the domain logic.

<comment><USER14> > _And programmers, sadly, rarely care about the domain logic._

Oh, but we do. It's the one thing we want to know but we pretty much never get from our customers. No surprises there - most people are not equipped to express their "domain logic" in a way that is useful for automating it; quite often they don't even understand it. Humans can hand-wave their way through anything, relying on intuition, patterns and methodologies. They don't _need_ to understand what they're doing deep enough to express it as code.

And so what usually happens is that your client/manager gives you a nonsense spec saying "this thing should do that when clicked, and that thing should do something else". And, as a programmer, you then have to reverse-engineer the domain abstractions from it; abstractions the people giving you the spec probably don't understand themselves.

<comment><USER15> That's why understanding the domain logic requires cooperation between programmers and those who understand the domain.

It might not be that they don't understand the domain "deeply enough." Maybe they understand it in the way that is relevant for their work, which typically doesn't require formalization.

Making sure this collaboration actually happens is one of the big topics of _Domain-Driven Design_. We can't just expect to be given a correct model; teasing that out is part of our job. If the spec is nonsense, we should say that and try to fix the process.

</comment></comment></comment><comment><USER16> If only Programmer B had avoided that initial choice to preserve the broken abstraction rather than abandoning it then and there.

He must have been practicing Deadline Driven Development.

<comment><USER17> > He must have been practicing Deadline Driven Development.

or The Team Has A Hammer Development

</comment></comment><comment><USER18> TL;DR: If you have made a mistake, return back to the previous known working state, proceed from there.

It does not matter much which was the specific mistake, really: a bad choice of an abstraction or something else.

 _Good_ abstractions help immensely; programming is all about them. Let's not forget it, too.

</comment><comment><USER15> Richard P. Gabriel wrote about this in connection with the idea of design patterns, e.g. in _Patterns of Software_. Here's a nice quote from the beginning of a chapter:

> _" The room fills with cold, conditioned air; outside the heat hazes, > filtered through greened glass windows: a new building hardly first > populated. The speaker is wild-eyed, explaining new ideas like a Bible > thumper. His hair is a flat-top; his mouth frowns in near grimace. He > strides to my seat, looks down and says in a Texas drawl, 'and the key is > simply this: Abstractions. New and better abstractions. With them we can > solve all our programming problems.'"_

</comment><comment><USER19> I'm reminded off ESR's "curse of the gifted" email, schooling Linus Torvalds on the lack of modularization and code-sharing in Linux's driver code. :)

[http://lwn.net/2000/0824/a/esr-sharing.php3](http://lwn.net/2000/0824/a/esr- sharing.php3)

<comment><USER20> Oh my. I recall reading this years ago. I had totally forgotten that Eric basically tells Linus to grow up and learn to use version control. Now we're all using Linus' version control.

</comment></comment><comment><USER21> I hate needless abstractions for the sake of removing duplication, DRY, etc. It's mad. Most of these languages don't have proper macros and so you end up going through these logical contortions to achieve a particular pattern of behavior... and it's just noise. Anyone who comes along can look at that code for hours and never know whether it performs any work (or even what that work is).

A little duplication is fine until you figure out what the real problem is. The problem is usually in your data. Maybe it's not structured properly or you need to simplify the steps to transform it at an earlier stage.

A good specification will go a long way to reducing the desire to introduce hapless "abstractions." An abstraction, in the mathematical sense, will hold over the domain and introducing a new one merely allows you to manipulate objects on the lower level using new algebras, predicates, etc.

Code abstractions are often the leakiest abstractions. Especially the kind the author is talking about. Avoid them. Even if you have a little bit of duplication. Only start worrying about that duplication when it starts spanning compilation units/modules/whatever and is actually causing problems. Then look at the data and figure out how to structure it so you don't need that code all over the place.

<comment><USER22> I think lack of things like macros is the bigger problem. There are a limited ways to abstract, or represent duplications, in a lot of languages. Sometime a comment in an issue tracker might help.

</comment></comment><comment><USER23> It's funny how often I've made this argument with even fairly experienced programmers and they seem to have a visceral reaction to the code being "less dry" than it could possibly be.

Similarly, once a codebase uses several very wrong abstractions, it becomes significantly more confusing to work on, exponentially increasing cost.

The temptation to use a mature library as a dependency is very strong since time is initially saved. When that library introduces the wrong abstraction, the consequences can be severe.

I typically argue for (at least) creating the correct abstraction and having it wrap the mature library to constrain or properly name its behavior, and to make it less strongly coupled to the rest of the system.

It doesn't just take experience to realize these sorts of things, it takes a willingness to question one's own code and imagine how it might have been done better, or how it might appear to someone who didn't write it.

<comment><USER24> It's all a bit no-true-Scotsman though.

abstraction != dry bad abstraction != anti-dry

Abstraction is primarily about separation of concerns, not about avoiding repetition. Drying out code that's repeated all over isn't the same as creating a formal abstraction for some element of the overall logic.

Which is why

>once a codebase uses several very wrong abstractions, it becomes significantly more confusing to work on, exponentially increasing cost.

And drying out code makes it easier to maintain, but it doesn't guarantee that the architecture isn't a mess.

The problem is perhaps that CS teaches algos, and sometimes it teaches design patterns. But there's almost no useful theory of abstraction design.

Design patterns are more or less as good as it gets, and all they do is give give you a cookbook of stock formulas to try.

Beyond that, there's no useful way to _reason_ about abstractions, test them for domain fit, or rate them for elegance and efficiency.

<comment><USER23> Precisely. Very well put.

If anything, some developers use design patterns as a grab bag when solving a problem... a better approach is to model the solution and then be ready to "back in" to a design pattern upon noticing strong similarity or observing that the design pattern is a bit more abstract way of doing the same thing.

Because of the tendency to pick a pattern first and design for the domain later, many instances of design pattern use in the wild are subtly (or not so subtly) incorrect.

> Beyond that, there's no useful way to reason about abstractions, test them > for domain fit, or rate them for elegance and efficiency.

Very true indeed. Looking at a design through the lens of coupling and testability and modularity is a good start and can reveal many problems, but I think the real gotcha has to do with naming: Once we name a concept/abstraction we are likely to reason within that abstraction, and we rarely consider whether we are stretching it too far, or if it is even that _thing_ anymore.

<comment><USER25> A graphic I found very enlightening in the past year is here: [http://blog.thecodewhisperer.com/images/age_old_battle/virtu...](http://blog.thecodewhisperer.com/images/age_old_battle/virtuous_cycle.png)

from this blog post: [http://blog.thecodewhisperer.com/2013/12/07/putting-an- age-o...](http://blog.thecodewhisperer.com/2013/12/07/putting-an-age-old- battle-to-rest/)

There's a lot of other good stuff there too, when you start digging through the archives.

Generally, I find that I've got to build a prototype first, which is quick and dirty and ugly, but works. Then iterate as the structure emerges. Some things stay in flux, and it's okay to leave them messier, but eventually the code and functionality settles out and commonality arises. Quite often, I don't necessarily know what I'm doing going in; I've got a general goal, but until I experiment a bit, the best way to get there is unclear.

One of the joys and pitfalls of a multi-paradigm language like C# is that there are so many different ways to skin a cat. You can pick and choose procedural, object-oriented, functional, or some bastard mishmash of all of the above and more.

</comment></comment></comment></comment><comment><USER26> This may be obvious, but when working on Java I've found that this applies not just to classes but also to methods. When refactoring a poorly-factored class, often the most effective way forward is to inline all the private methods (introducing a lot of duplication) and then factor out the duplication.

<comment><USER27> It is even more effective when you are faced with a bunch of classes, most of which do nothing but delegate their responsibilities to others. I have a case in front of me right now.

Data-flow analysis was a method that was swept away (somewhat unfairly) on the grounds of being too procedural and not OO. One of its key tenets was that once you had discovered the essential flows and interactions, you should discard the problem-space partitioning that helped you find the graph, and use the graph to partition the solution space (which might well result in the same partitioning, but not always.)

</comment></comment><comment><USER28> There is another koan I would recommend to the interested:

      Quantity is easier to control than complexity.

I propose that "the wrong abstraction" is "complexity without benefits". In light of the sentence above, duplication is clearly the lesser evil.

</comment><comment><USER27> While I have no objection to the notion that duplication can be the right choice in some circumstances, and I completely agree with the author in thinking that pressing on rather than backtracking and taking a different path is a source of much complexity, his pseudo-example misses a third alternative: instead of (re)introducing duplication wherever the current abstraction is used, derive a generic abstraction covering the common aspects of the previous and new requirements, and use that in implementing two new abstractions, one to replace the old, and the other for the new cases.

</comment><comment><USER29> A 3rd option would be to simply apply good programming standards like a function doing one thing and only one thing.

<comment><USER30> At some point, you're gonna have to introduce some logic into your program, and that logic is gonna have to be in a function.

</comment></comment><comment><USER31> Meh, it's an easy situation to get out of though. Especially with a typed language and decent IDE: right-click, "inline function"; check your git status to see what changed, go to those files and remove unused branches (which a decent IDE should hightlight and provide 2-keystroke fixes for). 2 minutes, done.

Grotesquely replicated code is a much more difficult situation to resolve.

I'm guessing the OP primarily uses untyped languages. I'd offer that _that_ is the core of the problem, not the abstractions.

</comment><comment><USER17> Isn't a bit of this governed by which programming paradigm your language uses? I get the feeling the answer and approach are much different when comparing Forth to Java.

<comment><USER32> Yes. In theory there is a programming paradigm which fixes this, called "aspect oriented programming." I haven't seen a really accessible aspect- oriented system however.

<comment><USER33> Decorators in Python are pretty much the same idea. I see them used quite a lot in Flask and Django.

</comment></comment></comment><comment><USER34> I read somewhere, but have forgotten where, that having doing things same way twice is ok, only when you're second time repeating yourself, think about using an abstraction.

Or to say it more succintly, duplication is not a problem, triplication is ;)

I have found that following this simple rule I allow the development to go forward, and can go back to it when I have better knowledge of the system at large. At later date I might have a better luck in choosing the correct abstraction.

</comment><comment><USER35> Or, in terms of OOP, wrong abstraction is when you have subclasses with pretty much everything redefined in each.

I don't think this is very common though. You will more likely see a lot of duplication in poor legacy code, and not because the coders were so clever, but quite the opposite: it's when they barely even understand how to extract abstractions.

<comment><USER36> Or baroque structures of abstractions where you have a real problem finding where stuff actually gets done - sometimes combined with a need to base all application classes on a common shared abstract base class even though they really don't share anything.

</comment></comment><comment><USER37> One thing I've put a lot of thought into recently is what parts of a program _should_ typically be abstracted, because when you come across them they might be your best bets for big wins.

Top of the list: constants should probably all go in special structures with the goal of guaranteeing consistency and making them easy to understand at a glance. Everyone might know that charge code "X" means a check payment, but what happens when a new developer looks at that code with "X"s everywhere? It's more verbose to use constants.chargeCodes.CHECK_PAYMENT but nobody will misunderstand what you mean, and your IDE will be able to verify that your codes are valid. That's worth an awful lot of extra characters.

Bonus win: when your legacy backend finally gets upgraded, you have the option to change to a new code for check payments, easy as pie.

</comment><comment><USER38> This is the old truth - premature abstraction is a root of all evil (I know original quote was "optimization", but isn't an abstraction just some "architectural optimization"? ;)

On the other hand: I often see _copy pasted_ code which have these same characteristics author wrote about: "Another additional parameter. Another new conditional. Loop until code becomes incomprehensible."

If somebody writes too many conditionals, parameters and creates incomprehensible loops, then he will do it always, no matter whether in abstracted code or in copy pasted code...

The problem is that most of programmers are not skilled enough to write good code.

So sometimes there is a need for refactor wrong abstractions in legacy code, sometimes there is need for cleaning tons of copy-pasted code and make good abstractions... Either way - maintaining is hard.

</comment><comment><USER39> Firstly, there is no such things as perfect abstractions, hence the The Law of Leaky Abstractions. Secondly, without abstraction we would be writing in machine code. So unless the authors enlightens us on what makes an abstraction wrong the whole discussion is a waste of time.

</comment><comment><USER40> My own observation is that programmers have a marked tendency to assume that because two methods have similar or identical behaviour, that this implies they should share an implementation. In large code bases, its common to find methods that have identical implementations 'by chance'. By which I mean that the commonality is a side effect of requirements that could readily change.

In my opinion, the best defence against this is good documentation: if a two methods have clearly documented behaviours, then even if their implementations have been fused, a subsequent programmer will have more context (and more confidence) reduplicating the code in response to further changes.

</comment><comment><USER41> On the other hand, moving to the right abstraction is one of the most powerful ways to improve a code base. Often the right abstraction cannot easily be seen from existing code - they come from the domain.

<comment><USER42> Someone once told me: "Just looking at Java code, you'd never find monads."

</comment></comment><comment><USER43> In my team we usually work with the principle of 3

"if it's non obvious wait for 3 cases before abstracting it"

</comment><comment><USER44> The same applies to dependencies. I've grown very reluctant towards introducing a dependency for the sake of deduplication. I'd rather have isolated modules than a de-duplicated Big Ball of Mud.

</comment><comment><USER45> It's taken me perhaps longer that t should have to get here, but boy oh boy do I think this is spot on.

</comment><comment><USER46> False dichotomy. You can avoid code duplications while using the "right" abstractions.

<comment><USER47> expand?</comment></comment>


Is Internet Access a Human Right? - <AUTHOR> http://gizmodo.com/5745478/is-internet-access-a-human-right

<comment><USER2> The author boils the "right" to internet access to a "right" to communication... but there is no such right, internet or otherwise. If you go to jail, you're isolated from the world. If you're bad in jail, you're isolated from the jail.

Humans don't have a right to communicate, for better or for worse... and I don't see why the internet should be an exception (as much as I'd like it to be, given my own addiction) when telephones, letters, telegraphs, roads, and person-to-person communication weren't/aren't.

<comment><USER3> jdp23 cites Article 19 of the Universal Declaration of Human Rights.

Why is that declaration wrong, and your declaration right?

Humans are social animals, and communication is so much a part of us that many of us get sad, or depressed, or destructive if we can't communicate with others.

As a human, do you have the right to breath or eat? Do you have the right to defend yourself? Do humans have any rights at all? Why not?

And if we do have rights, then why not the right to communicate, and by that communication the right to self determination and to oversight of government? Are none of these rights?

In the United States, do we not have the rights in the first ten amendments to the Constitution?

</comment></comment><comment><USER3> > If I were one of eighty million people living in a country in the midst of a > nascent political upheaval whose access to the rest of the world was being > antagonistically removed, ...

And whose access to _each other_ was being removed too.

When I read this morning of Egypt turning off the internet I went a little cold, because our own (US) government could just as easily do the same thing here.

</comment><comment><USER4> Yes. Article 19 of the Universal Declaration of Human Rights:

"Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers."</comment>


Apple fires employee after daughter's iPhone X video goes viral - <AUTHOR> https://www.engadget.com/2017/10/28/apple-fires-employee-over-iphone-x-video/ <comment><USER2> The fact that the employee was present during the filming of this makes me suspect it was done intentionally.

<comment><USER3> What does he stand to gain, surely this is a breach of contract.

<comment><USER2> His daughter gets famous and gets into a career she wanted?

<comment><USER4> It is fleeting though: her "fame" and potentially career (though seems like that isn't her end goal, seems more like she's like every teenager I've met who wants to publicly video document everything and use it as some kind of social interaction) are predicated on access to prerelease Apple hardware. That's gone now.

</comment></comment></comment></comment><comment><USER5> duplicate: [https://news.ycombinator.com/item?id=15576895](https://news.ycombinator.com/item?id=15576895)

</comment><comment><USER6> In the video he leaked Apple employee QR codes, and code names for unreleased products. He was very careless and deserves to get fired, given the position of trust he was given by Apple. I'm not sure why he was so careless or why he thought it was a good idea, but it clearly shows a lack of judgement on his part.</comment>


Kuo: Apple to include new scissor switch keyboard in MacBook - <AUTHOR> https://9to5mac.com/2019/07/04/kuo-new-keyboard-macbook-air-pro/ <comment><USER3> I desperately hope this is true. I have the first MacBook Pro that came with the Touch Bar, and it's the worst computer I've ever owned. The keyboard has failed twice, and the Touch Bar is inferior to the old hardware keys in every way. I hate it. The only reason I got it is because the MacBook Air it replaced was dying and I couldn't wait any more. Assuming this report is true, my only remaining worry is that they won't offer a version of this new Pro without a Touch Bar, or that only a model with a smaller display will offer hardware function keys, like they've done in the past.

<comment><USER4> > I have the first MacBook Pro that came with the Touch Bar, and it's the > worst computer I've ever owned.

Same here (well, I have the "cheap" one without the Touch Bar). Everything has been replaced at least once (on Apple Care, fortunately) except the bottom plate.

> The only reason I got it is because the MacBook Air it replaced was dying

Same here. That MBA was a fine machine.

<comment><USER5> I'm still using my MBA from mid 2013. It's a wonderful thing. Battery is "replace soon" but it's mostly plugged in. It's battered and bruised, but still fast enough. I've been debating a change for a while and figured at the start of the year I'd wait to see if they were going to ditch the bf keyboard if they release a new MBA. Super glad I waited, fingers crossed I get the same life out of the next one!

Say what you want about Apple and price, but I've had PCs since 1994 and the two Macs I've had have (usefully) outlasted every other machine by quite some margin - this one in particular. 6 years without formatting a Windows machine (I can't talk for now, but especially back then) would be crazy.

<comment><USER6> I have a 2009 MacBook Pro (Core2Duo + 4GB of ram), I've added an SSD years ago, and it runs absolutely fine, I use it almost daily to browse the web. Even the battery still works(only for about an hour, but it does).

<comment><USER7> > I have a 2009 MacBook Pro (Core2Duo + 4GB of ram), I've added an SSD years > ago, and it runs absolutely fine, I use it almost daily to browse the web. > ... the updates stopped at El Capitan unfortunately. ... I'm not that > bothered.

You might want to consider running Manjaro[0] or Haiku[1] instead (I've had great luck with both on older MacBooks [2,3]).

Nessus reports El Capitan as a "Critical" vulnerability due to lack of security updates:

 _According to its self-reported version number, the Unix operating system running on the remote host is no longer supported._

 _Lack of support implies that no new security patches for the product will be released by the vendor. As a result, it is likely to contain security vulnerabilities._

...

 _Mac OS X 10.11.6 (intel) support ended._

 _Upgrade to Mac OS X 10.14 / 10.13 / 10.12._

[0] [https://manjaro.org](https://manjaro.org)

[1] [https://www.haiku-os.org](https://www.haiku-os.org)

[2] [https://tinyapps.org/blog/201811010700_linux_for_2009_macboo...](https://tinyapps.org/blog/201811010700_linux_for_2009_macbook.html)

[3] [https://tinyapps.org/docs/haiku/](https://tinyapps.org/docs/haiku/)

<comment><USER6> Sure, but it's a laptop to look up some kitchen recipes, watch YouTube and use facetime occasionally. If it has security vulnerabilities I'm genuinely not bothered - any minute spent installing another system is a minute just not worth it for me.

<comment><USER8> Which is fine if you keep that laptop in its own isolated network. Otherwise it might end up being used for gaining access to other machines in your network.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Having used the 2018 MacBook Air for about 3 months now, I can say I really detest it and I would return it if that were possible.

1) the keyboard. This thing really feels like slamming your fingers into a metal slab. I think my iPad Pro keyboard is better. The MacBook Air keyboard is also very loud. For something with so little depth the sound is shocking.

2) the webcam. Total garbage. In a laptop this expensive I think this is inexcusable. my old ipad has a significantly better camera for video calls so I'm not carrying around both. Ridiculous.

3) the new charger is so much worse than I could have expected. The lack of MagSafe I knew about, thought it would be ok. Really a big loss. There's also something wrong with the cable. It's constantly getting kinks/twists in the wiring which I can't straighten out, even though I baby it.

If they release a new MacBook Air this year I'll definitely feel a bit betrayed. Like they knowingly released something that was a stop-gap PoS.

<comment><USER10> With Jony Ive gone, I hope they finally move towards function over form.

From what I've been reading, the push for portraying Apple as a fashion company, came directly from Ive's side.

<comment><USER11> That portrayal has been making them good money.

<comment><USER12> Because, believe it or not, many people are happy with Apple's designs.

And it's not just sales; Apple generally ranks at the top or near the top in customer satisfaction surveys as well.

<comment><USER11> Oh I don't need any convincing that many people are happy with Apple's designs. People are happy to carry dongles to compensate for miniscule no. of ports, deal with accidents due to removal of magsafe, getting rid of escape key, bad keyboard (never thought developers would be ok with the last two) etc etc while insisting on continuing to buy fairly expensive Apple products. It pretty much underlines that Apple can basically get away with murder.

</comment></comment></comment></comment></comment><comment><USER13> It seems like there are two camps of people:

Those who are very pleased to hear they will be backpedaling on their updated keyboard designs.

Those who "don't understand" because they _actually_ like the new keyboards (and the TouchBar even).

No matter where you stand, the new keyboards are highly controversial and divisive, and that's not good. The old keyboards didn't put people into opposing sides, they just were there. Sure people compared them to other manufacturer keyboards, sometimes for the worse and other times for the better, but it wasn't a hate or love relationship by the user base. There was no "getting used to it," it was just a keyboard.

I look forward to a return to a non controversial, highly usable and widely accepted as "fine", keyboard. I hope that's what we get.

<comment><USER14> > The old keyboards didn't put people into opposing sides, they just were > there.

Have you ever spoken to a thinkpad advocate re: chiclet keyboards? The previous mac keyboards were absolutely controversial. It took years for the previous keyboard to be 'just a keyboard', which I do acknowledge happened.

> I look forward to a return to a non controversial, highly usable and widely > accepted as "fine", keyboard.

Honestly, this will never happen for two reasons:

1) people's needs are diverse enough where that's simply an impossible job. I happen to _really_ like the current apple keyboards, but the reliability is bad enough for me to want a change. The consensus where I work (100ish mac laptops) is that the keyboard is awful. Someone is going to be unhappy, and it sounds like it might be me :(

2) There's some segment of the technology world (non-unix people?) that will latch onto any criticism of apple - fair/deserved or not - and shout it endlessly.

<comment><USER15> > The previous mac keyboards were absolutely controversial. It took years for > the previous keyboard to be 'just a keyboard', which I do acknowledge > happened.

I would dispute that people stopped caring about the keyboard shortcomings. They're ergonomically bad keyboards, just not bad enough to keep complaining for this many years. If all Apple cares about is what people are currently chattering about, they're missing an opportunity to improve the product, because I still regard the MacBook keyboards as a reason to buy something else. When I think of the painful adjustment that I'll have to make if I ditch Apple laptops in favor of something else, there's a voice in my head saying, "Remember when a laptop keyboard could feel _good_ to type on?" Banging my fingertips into a hard surface all day never became "just a keyboard."

<comment><USER16> > I would dispute that people stopped caring about the keyboard shortcomings.

Let me guess, you have a guy feeling about this stuff?

<comment><USER17> Can you please clarify, what is a guy feeling?

</comment></comment></comment></comment></comment><comment><USER18> Finally! It took four years to admit there is something wrong. And one more year to change upcoming laptops. - It's unbelievable how this crap could be released. Coming from a ThinkPad to a MBP in 2015 I was even disappointed by the keyboard of the MBP 2015. Then switching to a MBP 2018 I was shocked how much worse things could get (for the sake of thinness?)

<comment><USER19> What's wrong with the 2015? That's the last good version of the keyboard IMO.

<comment><USER20> It's not as good as those on Thinkpads.

<comment><USER21> Which thinkpads? From 2003? From 2010? From today?

<comment><USER22> I got an X1 Extreme. Keyboard is amazing. Didn't know these keyboards were so much better than any MAC I owned until January this year.

<comment><USER23> Dat touchpad though...

<comment><USER22> I don't mind it. I use the keyboard 95% of the time. Then touchpad much less. While Apple has the best touchpad. Keyboard is more important. IMO.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> I can't stop but speculate if departure of Ive had anything to do with this. I guess there was a lot of push-back internally about this, but because of Ive, they had to endure 4 generations of butterfly switches. Touchbar also is just a resource hog for nothing extraordinarily useful. I haven't seen people use it too often. I bet they did user studies and found out that the Touchbar wasn't the new interaction method they hoped it would be. And now, they are planning to introduce new macs without them. I bet Ive feels bad about having to see his decisions being rolled back. Anyway, I hope the rumored 16' Macbook pro actually caters to the professionals by prioritizing thermals over thinness, and if one can wish, it would be nice if Magsafe could ride this rollback train.

<comment><USER25> This app was released recently:

[https://pock.dev/](https://pock.dev/)

It puts the dock in your touchbar. It's the first time in the 9 months I've had this laptop where I've actually gone "ok, this is useful" and I am actually using it. I now have the dock auto hide and I mostly use the touch bar to open apps.

That said, I'd still prefer they ditched the touchbar in favor of function keys. I'd be happy if they shrunk the ridiculous size of the touchpad a bit, and put a row of function keys in between the touchpad and keyboard as well.

<comment><USER26> Personally, while I have never once used the touchbar, I do think the ability for apps to display contextual function keys has a lot of use cases. I would be happy if they released physical keys with little oled screens on them, like that old Optimus keyboard. Apparently it was garbage but the tech has come a long way in ten years.

<comment><USER27> Apps can display contextual functions on the screen! The main problem with the touchbar is that you never look at it. It's not discoverable.

<comment><USER26> The problem with the touch bar is that you have to look away from the screen to use it. Physical buttons would allow you to touch type, and I don't think it's a problem to scan the keys a few times when you start using a new app. In that sense they are just as discoverable as keyboard shortcuts. You look them up a few times, and eventually you use them without thinking about it.

</comment></comment></comment></comment></comment><comment><USER28> Once I got used to the new keyboards, I actually far prefer them. Ditto with the TouchBar. Yeah, I'm a heretic I suppose.

Keyboard: pleasant clicky-ness and little movement required. Thin AF.

TouchBar: customized with BetterTouchTools to be a hybrid of my most often- used shortcuts (expand menu, alfred, fantastical, window management, and 1password on the left, notification center and lock screen on the right) and music controls with gestures in the middle: shows current track, can change volume, switch tracks, play/pause, mute, or tap into a submenu to pull up most frequent playlists and add current songs to my library. Way better than using the function keys of old.

Oh and the escape key… long remapped to caps lock. If I really need caps lock, fn + caps lock key toggles it.

<comment><USER29> The problem that most people have is not with how it feels, it's how unreliable it is with buttons failing or missing keystrokes. Sometimes only caused by a spec of dust.

Getting used to the feeling of the flatter keyboard isn't really an issue for most people.

<comment><USER30> No, most people have no issues. There is not a 51% failure rate. Being in a group does not a majority make.

<comment><USER31> According to Twitter Poll by 50 different Web SaaS companies, All of them had MacBook Pro Keyboard failure in their team and have been working around them.

If you are telling me even a 5% keyboard failure rate within the first 2 year of purchase is an acceptable number that we can simply stop further discussion and say we agree to disagree.

</comment></comment></comment></comment><comment><USER32> Thank goodness. MacBooks are the best laptops in many respects, but I had to cross them off the buy list due to the keyboard. I understand it's controversial, but for me I've spent plenty of time using the butterfly keyboard and it just doesn't feel comfortable to me. And I'm not some mechanical keyboard purist, actually my favorite keyboard of all time was the previous chicklet keyboard. A runner up for me is a travel Bluetooth keyboard with round keys that Logitech makes.

<comment><USER33> > MacBooks are the best laptops in many respects

I've never heard this before.

I thought some people needed their proprietary software that could only be run on Apple products, and that is what forces someone to buy a Macbook.

What are they best in class for?

EDIT: Thank you for the serious responses

<comment><USER34>
      I've never heard this before.

For several years (after the ThinkPad brand got sold to Lenovo who promptly started shipping it with spyware) there wasn't really a PC laptop brand with a rock solid reputation for high build quality.

Lots of companies were putting their badges on inch-thick, mostly plastic 15" laptops with mediocre touchpads that never delivered the battery life they promised. And if your employer issued you with a Windows laptop, that was what you got. Remember laptop bags, when moving a laptop needed padding and a shoulder strap and pockets to carry your mouse and power brick?

That's not to say there weren't some good products out there - there were some well designed Vaios, some pretty daring early tablet PCs and so on. But there wasn't a brand where you could say "Just buy an X" and know that you'd get a good quality product.

Of course, in recent years a lot of PC manufacturers have stepped up their game (or maybe I'm just spending more money?) while Apple has had a few stumbles.

<comment><USER35> > _...the ThinkPad brand got sold to Lenovo who promptly started shipping it > with spyware..._

That's incorrect. You're referring to SuperFish, which was only on Lenovo's consumer machines, not on ThinkPad.

[https://support.lenovo.com/us/en/product_security/superfish](https://support.lenovo.com/us/en/product_security/superfish)

<comment><USER34> Nonetheless, it cast a big shadow over the brand; you couldn't just advise someone to buy a Lenovo.

<comment><USER35> Oh, I would never just advise someone to buy a Lenovo. They might end up choosing some mediocre IdeaPad!

I only advise people to buy ThinkPads, and I make specific recommendations on what model to get and which options to choose after we talk about their needs. For example, most people are better off getting a better display instead of a faster CPU if they don't have the money for both.

Everyone I've advised like this has been delighted with their ThinkPads. If there is any "shadow" over the brand, it hasn't affected them or me.

</comment></comment></comment></comment></comment></comment><comment><USER36> Great, the butterfly keys were an enormous downgrade in terms of comfort, and one of the reasons I sold my 2017 Macbook Pro.

But will they still keep that awful touchbar where the Esc and F1-12 are supposed to be? Then I'll still be passing.

<comment><USER37> I'm still using my 2012 MacBook Pro desperately hoping they release a new 15-inch line without the Touch Bar. I had bought a MacBook pro with the Touch Bar and after a few weeks I just hated it more and more and returned it.

I'm still mad about them ditching MagSafe but I can get over that at least.

<comment><USER38> Same here with the Macbook Pro 2012. I upgraded its SSD cheaply using a mSATA adapter, something that's not possible with more recent models.

I don't see how this lack of upgradability meets the needs of "Pro" users.

<comment><USER39> Same here. I'm sticking with 2012 until Apple makes a MBP at _least_ as good as it, from a usability and reliability perspective.

</comment></comment></comment></comment><comment><USER40> Am I the only person who likes the butterfly keyboard? I like the feel of the low travel and the clickiness, whenever I use an old style MacBook the keys feel mushy.

I have had reliability problems though. Mostly I've had keys that don't respond, but have always been able to fix those with compressed air. But once I had a sticky key that popped every other time I pressed it, that required a free Apple repair.

<comment><USER41> > Am I the only person who likes the butterfly keyboard?

Yes

<comment><USER42> >> Am I the only person who likes the butterfly keyboard?

> Yes

No. I like it. To me it feels precise enough for a laptop keyboard, and better than the good but mushy previous version, with which I could have tactile feedback but no key event from time to time.

The only issue I have with it is the Damocles sword of reliability (crossing fingers here, it's been perfectly fine for now) and the up/down arrow keys but I'm a liberal user of vim as an editor and generally emacs shortcuts so it doesn't bother me too much.

</comment></comment></comment><comment><USER43> That's good news—for the people who are buying laptops next year.

Hopefully the return to scissor switches is combined with some improvements to the touch bar. My suggestion to Apple would be: put a small physical ESC key on the far left of the touch bar on 13 inch models, and include both physical F-keys AND a touch bar on the larger models.

Bonus points: allow people to choose classic F-keys on the 13 inch models as a BTO option.

<comment><USER44> I would love to see Apple make the touch bar an option. If Apple sold two identical MacBooks models, except for the touch bar, my guess would be that they would sell significantly more units without the touch bar.

Is anyone seriously benefiting from the touch bar or even using it for anything other than as a gimmick?

<comment><USER45> IMO it's a liability and an unmitigated failure. It feels like a decision which came down from the board room, not from UX. Like: how can we make this product "pop" and at the same time make keyboard replacements produce more revenue?

The toudchbar is useless without developer adoption, and there will never be developer adoption if the only people using the feature are those who can spend a couple thousand dollars on a laptop. It seems to me the non-inclusion on the new Macbook Air was an admission of failure.

</comment></comment></comment><comment><USER46> Apple has squandered a lot of its goodwill. It reminds me of my relationship with Microsoft products. As long as they were shipping, they were making money in the short term because people were coerced to buy in.

For 5 damn years the Air didn't get a Retina display. Right now, I can't buy 2.8Ghz Macbook Pro unless I get the TouchBar. I can't buy an Air unless I settle for much lower specs.

The dongles and USB-C are a mess. The 2-meters-at-most charging cables are a downgrade which will mean shorter battery life due to lesser plugging in. The lack of Magsafe is a downgrade, they removed a feature. The lack of any port variety which my 2013 Macbook Air did exceedingly well is a major downgrade. Consumers must carry a variety of dongles because the laptops don't offer a variety of ports.

Profits are fine as long as they don't lead to perverse behavior. Apple needs to stop playing these fucking games and ship some pragmatism.

The Apple of Cook is reminiscent of the Microsoft of Ballmer. He is totally out of touch with the product -- the very thing that Jobs inculcated.

<comment><USER47> See, I use a retina MBP touchbar and really don't agree. Apple has made some missteps but it's still the best pro laptop for my uses. Over two years with one replaced keyboard (because I spilled wine on it!) and no sticking keys.

USB-C is awesome. I can reuse all my 3rd party and Apple adapters for my USB-C peripherals, including tablets and the Nintendo Switch. In retrospect, Magsafe wasn't that great (comes off too easily). Moving back to older USB ports really would make no sense. They're obsolete. If you have older peripherals, get the dongles. We've been using dongles since the VGA/DVI days or Serial/USB days, so I really don't get the problem with them. Life moves on.

I have a need for HDMI and VGA and Mini DisplayPort and old USB... not to mention lightning. MUCH rather would have a single standard of multi-port w/ dongles than a mess of fixed ports.

Also, on what planet did anyone have a Magsafe cord over 2m? It was fixed to the adapter. The 2m usb-c cable is removable, add it with the 1m (edit: 2m!) power cable and it is a further reach than any prior Mac laptop adapter I've had, though I suppose third party ones exist.

<comment><USER48> > Also, on what planet did anyone have a Magsafe cord over 2m? It was fixed to > the adapter. The 2m usb-c cable is removable, add it with the 1m power cable > and it is a further reach than any prior Mac laptop adapter I've had, though > I suppose third party ones exist.

The power brick had a 2m detachable line-voltage cable, and fixed 2m low voltage cable. 2 + 2 = 4. I can sit 4m from the wall and charge using only the power adapter that came with the computer.

I'm also confused why you seem to think that Apple couldn't engineer a low voltage cable with connectors at both ends. Wouldn't that solve the cable fraying issue mentioned in your other post?

I see many people making the same argument as you: that USB-C is better because the cable is detachable from the power brick. Can you help me understand why you believe that Apple needed to move to USB-C to on the _computer end_ in order to make a cable removable at the _power supply_ end?

Apple could have easily had the best of both worlds: Put a USB-C plug on the cable and USB-C receptacle on the power brick. Then put both USB-C and magsafe receptacles on the computer. The USB-C -> magsafe cable could either be included with the computer or sold as an optional extra.

<comment><USER49> > _" Can you help me understand why you believe that Apple needed to move to > USB-C to on the computer end in order to make a cable removable at the power > supply end?"_

The thing is, once you make the cable detachable at both ends, it eliminates the need for MagSafe in the first place.

A USB-C laptop will not go flying across the room if someone trips on the cable, because the cable will detach at either or both ends before that happens.

<comment><USER50> I'm not going to test this, but I seriously doubt it.

My 13" MacBook is very light, and I can even lift it half way with the USB-C cable. Pretty certain it would fly to the floor if my feet swept the cable that way. Of course, I don't have it set up so that can happen.

<comment><USER49> Good point about the MacBook - they're much lighter than my MacBook Pro.

I'm surprised you can actually pick it up by the cable, however! The fit of the power cable in the USB-C ports on my (2017) 13" Pro is very loose - <USER2> fact, sometimes the power cable slips out on it's own with even a small movement. Maybe this has changed in the 13" MacBook?

<comment><USER50> I can't _fully_ lift it off the table, but it gets pretty close.

The fit of my TOTU dongle cable _is_ pretty tight, I guess, now that I think about it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER51> I think I'm definitely in the minority here on this community, but I actually don't mind the keyboard and TouchBar.

The keyboard, although not as good as my Thinkpad, is far superior to many still and not bad. The problem I have with the keyboard is that it's not a user replaceable part and is nigh impossible to replace. Since it's the most used component arguably and wears and has moving parts and is exposed to the real world being able to for example like my Thinkpad of past take it out or replace it or clean it. Similar case could be said for the battery.

The Touch Bar I don't mind and like. Mapping the Esc key to caps lock works better for me anyway since I have small hands with short reach. I look at it as an evolution of the finger print reader you would often see in previous years on other laptops. Plus, it's programmable, which you would think the creative and entrepreneur bunch here would love and find many hacks and ways to take advantage of. I guess not.

I do look forward to any changes Apple decides though. The only Apple keyboard and computer I hated was the Titanium PowerBook. The keyboard on that and the fragility of the whole computer was terrible. My favorite so far as been the Aluminum PowerBook G4 12 and 17. Followed by the first MacBook Pro.

<comment><USER52> We likely are in the minority, but I find the 2016-19 era MacBook Pro to be the only laptop I can comfortably type on all day without triggering RSI pain. I also make extensive use of the Touch Bar. I will think twice about buying an updated machine.

<comment><USER51> I won't think twice, I'll be jumping right in on the new one, I think at least. Assuming it only gets better from here on out. I'm still deathly scared of the battery becoming worthless as well as my keys stop working reliably. The 'L' right now on my 2017/2018 MacBook Pro might need an Apple Store visit soon and I have had a keyboard cover on it since the split second I took it out of the box. I don't feel safe without the cover until the keyboard is a replaceable part again.

<comment><USER52> A counterpoint: I have not had an issue with my 2017 model despite never having had a case or keyboard cover, and travelling weekly with it. If you want a laptop with a replaceable keyboard I would look away from the Apple ecosystem, it's quite obvious that is never coming back regardless of any design updates.

</comment></comment></comment></comment><comment><USER53> Too late for me. I've already jumped ship and the effort of moving back isn't worth it. I still have and use apple products, but I've no interest in buying any more now, thanks to the shoddy experience I had with their more recent products. I also have no interest in airpods, so a new iphone is out too. Apple won me over quite late and then within about two years lost me again. It made me sad, because I really liked their products during that time, especially the multi-device experience, but I now already use too many non- Apple devices for that to matter and don't care anymore now.

<comment><USER54> What are you using now? I have a ThinkPad T470p and really like it. The keyboard feels really great, although the fn key placement is a bit annoying.

<comment><USER53> Mixture between a desktop, a cheap laptop (which I plan to replace with an X1 Carbon or a Thinkpad isn't he coming months, although I haven't researched it yet) and an old Mac Mini when I want to use mac software. OS-wise, I use Manjaro Linux.

</comment></comment></comment><comment><USER55> Don't understand the problem. I like new keyboard more than the previous one, I'm indifferent to touchbar and mapping escape to capslock was the best thing ever. The only thing I hate is keys getting stuck, but it actually stopped happening(2017 model). I wouldn't like to come back to old keyboard now.

<comment><USER56> The problem is that the keyboard breaks very easily, at random.

<comment><USER57> If you're always in a clean environment, the keyboard is ok.

I've used 3 consecutive mac laptops on the same balcony, open air. The one from 2010 and the one from 2014 are just fine thank you. The one from 2018 already has keyboard problems and it hasn't even been a year since i bought it.

So yes, the keyboard is complete and utter shit.

</comment></comment></comment><comment><USER58> Apart from reliability concerns (mine hasn't failed yet), the macbook 12" butterfly incarnation has become my favorite mobile keyboard now. Other keyboards, like my old-gen macbook pro feel mushy in comparison now, and at least for the ultra-svelte macbook 12" the obsession with thinness and lightness does pay off. I wonder if we will see a wave of butterfly nostalgia when the new design comes out.

</comment><comment><USER59> I see many people complain about Apple products recently, but very few actually moving away to alternatives. It seems many are caught in the comfort zone of that walled garden, not to say locked in. This is why I started avoiding Apple products many years ago. Watching things evolve "from the outside" now I find it sad and funny at the same time.

<comment><USER60> It is possible for something to be simultaneously (a) crappy; (b) expensive; and (c) the best option available.

Prior to 2006, I was a hardcore Linux (and then FreeBSD) fan, but I had to use Windows for a lot of work- and school-related tasks. When Mac switched to x86, I felt less nervous about investing in it, knowing I could go back to Windows/Linux if I wanted.

When I switched, what I came to realize was that Apple - and Jobs specifically - was mostly not content to just be the best option available. They thought through the last little details. They added accelerometers to hard drive enclosures to stop the disk if the laptop fell. They made power cables attached by magnets so you wouldn't send your laptop flying if the cord was pulled. They had a philosophy that the computer should Just Work and - for the most part - their execution showed how dedicated they were to that.

Apple is no longer in that league. Hardware failures, design failures, software failures including goto fail and root password vulnerabilities... Apple simply isn't a perfectionist company anymore. Sure, there is a litany of "What about..." comparisons you can make from times Jobs got defensive instead of being a perfectionist, but this is different. It used to be the exception. Now it's the rule.

That's why people are upset. Something that used to be reliably great is now merely better than the rest - a low bar.

For many, there isn't a better option to turn to. If you want a mostly hassle- free Unix experience with wide COTS software support, macOS is your best choice. But it's a lot sloppier than it used to be and that justifiably causes some angst.

</comment></comment><comment><USER61> Great! Now all they need to do is bring back MagSafe and 2 USB ports and all will be well again

<comment><USER16> > and 2 USB ports and all will be well again

The pro has 4 usb ports.

<comment><USER62> GP means real USB ports not the horror that is USB-C

<comment><USER63> What's wrong with usb c ?

<comment><USER62> Most stuff people use USB for still have the good old USB-A adapters: mice, keyboards, USB sticks/other drives, card readers, LTE dongles.

The things that actually need the massive speed benefits from USB-C (10G network adapters and PCIe enclosures) can have USB-C, fine with me, but please don't force users to buy and especially lose adapters just to be able to use their existing stuff. And no need to make shit ever more expensive and complex, a mouse won't ever need anything from USB-C.

<comment><USER64> I have a hard time understanding people that just keep complaining about the new USB-C ports instead of just buying a handful of those ([https://www.amazon.com/dp/B07CVX3516](https://www.amazon.com/dp/B07CVX3516)) and permanently attaching them to the mouse/keyboard cables.

</comment></comment></comment></comment></comment></comment><comment><USER65> My late 2017 MacBook Pro just started exhibiting signs of the butterfly effect. Not looking forward to giving up the machine for a couple days only to have it fail again. For me, the touchbar is also useless except as an annoying feature that tries to reactivate Siri or suddenly creates a new document when I overkey. Such a poor design.

It's sad because other than the fact that I hate it I actually love the machine.

</comment><comment><USER66> Finally! Now please also admit that the TouchBar is a colossal failure that only a few niche users grew to like and either:

1) Ditch it completely - return the Fn key row back but add button for Touch Id (a. la the new MacBook Air) OR

2) Invent a better version with Haptic Feedback so that Touch typists get a FEEL for hitting keys instead of moronically having to look down to ensure that they did not F* things up

</comment><comment><USER67> Now just get rid of the touchbar and I'll consider using a Mac again.

<comment><USER68> Have you actually used it though? I find it kind of useful. Not super useful but at least slightly more useful than gimmicky.

<comment><USER37> Not the OP but yes I've used it and yes I hated it. 95% gimmick and frustrating as hell to use. Had to return my laptop and I've been desperately waiting for them to remove it for a 15-inch pro.

</comment></comment></comment><comment><USER69> So I guess now we know why Ive got fired?

<comment><USER70> More like gently pushed out, he's still consulting for them. I hope they revert other changes: bring back magsafe and USB ports

<comment><USER71> The "consulting" thing is pure window-dressing IMO. I have several friends who work for Apple, and from talking to them (+ everything I've ever read about their culture) either you're in the tent or you're out. Outsiders have no meaningful role in their process.

<comment><USER45> It really makes me appreciate how valuable it is to have a physical mute button on every device which makes sound. Especially when it gets hung for a few seconds, and I have to manually mute from the task bar using the cursor.

</comment></comment></comment></comment><comment><USER72> I'm really hoping for materials improvements across the board on the next 13" MBP. I haven't had that many issues with the keyboard, though do find it a little loud. However, I find that the aluminum scratches too easily, gets stained quickly, and the screen coating is very vulnerable to damage from both the keyboard pressing against it and just bout anything touching it. Likewise, while I happen to have only been using it exclusively as a portable laptop with not much plugged into it, the thought of trying to plug this into the wall, a monitor, and an external HD at the same time is infuriating. Even if I had a USB-C to displayport connector, I'd be out of ports. Couldn't even plug in a Logitech wireless mouse at the same time. It's pretty upsetting that I spent so much money and have more constraints than I did before.

<comment><USER73> You've pretty much summed up where I am with my 2017 13" MBP. It was a huge purchase for me and I felt it was an investment at the time (I'm spending a few years learning coding skills having been made redundant), but having had to have the screen replaced because of keybaord damage, and having ugly- looking wear around the thunderbolt ports - all of this on a laptop that I treat very well, and which had had a hardshell case since day one and always travels in a padded slip case - I can't say I'm impressed at all.

If it really was a 'pro' piece of kit, I wouldn't need to put a sheet of A4 paper between the screen and keyboard to avoid the glass getting damaged every time I shut it (it's now out of Apple Care warranty, and another screen would be £500). I actually like the feel of the keyboard (although it is noisy), and I love the trackpad - anything else feels like a cheap toy in comparison now.

I've needed on occasion to use it with external hardware - soundcard, dongle for Cubase, USB memory, etc., and it's a messy pain. I also have a 2010 15" MBP I was recently gifted, and it's better overall because it's solid, reliable and has lots of ports, and doesn't need to be treated with kid gloves. Yes, it has the procesing power of a ZX Spectrum in comparison to the 2017, but I can live with that. It's become my travelling laptop instead of the 2017 because it's not a hothouse flower.

I don't know if this trend was solely Jony Ive's, but I sincerely hope they will make actual 'Pro' machines in the future.

However, I shall not be buying one. This cost me a fortune (twice as much as any laptop I've bought in the past), and it's once bitten, twice shy, I'm afraid.

</comment></comment><comment><USER74> I hope this is true. I was about to replace my 2013 MBP with a used 2015 or shift over to Windows. (The Lenovo Carbon has a great keyboard.) I can wait until next year to see if Apple really does the right thing but if not - it's Lenovo for the new machine.

<comment><USER75> The only reason I passed on the carbon is because of the screen. Apple has spoiled me with their glass screens.

</comment></comment><comment><USER76> I feel like I'm the only one that actually preferred the new butterfly keys over the old one; even after some keys got sticky and I had to get them replaced.

I was able to get a few more 2 year old internal parts replaced while it happened so it was pretty worth it IMO.

</comment><comment><USER77> All said and done, the problem with butterfly keyboards is the reliability. We don't associate 'unreliability' with Apple devices and screwing up on the keyboard is a big screwup because for those whom it won't work, it just makes your laptop unusable. Hence the justified pushback.

That did not happen with removal of CD drive, adding USB C only ports, removing magsafe. All these cause some painful transitions, they did not make your laptop unusable.

FWIW, I have 2018 MBP and so far the keyboard has worked fine, though I don't enjoy the lack of tactile feedback; I can see the perspective of those who bought it and the butterfly became kaput.

</comment><comment><USER78> If Apple couldn't fix it with two iterations there might be fundamental problems with the design. Good riddance.

</comment><comment><USER79> Avid user of Apple gear for many years and so happy they are throwing out that garbage. Ive never had the displeasure of actually using the butterfly keyboard on my daily driver (holding out with mid-2015 MBP 15) and dont plan on upgrading to a new Apple laptop if I have to deal with the touchbar/keyboard non—sense.

You'd think with the thousands of skus they ship today they could figure out most people would be happy with a refreshed 15 with 2 USB-A and 2 USB-C ports (I can live w/o Magsafe)

<comment><USER64> If you are an Apple user for many years, you will know that they won't go back to USB-A. And actually, that's a good thing.

</comment></comment><comment><USER80> I was prepared to hate this keyboard when I bought a 2019 MBP bc my beloved 2015 MBP just wasn't cutting it conpute-wise anymore, but...I don't. It's not bad, maybe I even slightly prefer it to the old one. I have experienced some sticking on the "l" key and that IS super annoying and needs to be solved. But the functional experience is...good. I miss MagSafe and usb-a and the touchbar is worthless so I've got gripes but to my surprise the keyboard really isn't one of them!

</comment><comment><USER81> Maybe they'll use that opportunity to also fix the cursor key layout to resemble an upside down T again.

</comment><comment><USER82> I'm still nursing along my 2011 MBP. It's my work truck. Everything in it has been replaced or upgraded, but it still works well. The point is that it was _possible_ to upgrade it myself. I won't buy another Apple product unless it has that feature.

Oh, and no dongles necessary.

<comment><USER83> I was doing the same until last week, happily chugging along on my pet project when my 2011 15" MBP screen went white as a ghost. Diagnostics all point toward a problem with the GPU; apparently that generation has a known defect that's only (temporarily) repairable by replacing the logic board. A repair too costly for me to justify.

My recommendation would be to avoid graphically intense work if you hope to continue using the machine for a long time.

I was seriously bummed when my machine died. Fortunately I was able to buy one of the very last Apple refurbed 2015 MBPs, which is still user upgradable to some extent, and avoids all the horrendous design trade-offs of the more recent generations.

Best of luck keeping the old machine going!

</comment></comment><comment><USER84> I recently bought a MBP, my first ever Mac, and it is absolutely amazing. Smooth, fast, secure, and the trackpad is an incredible experience. My only significant complaint I have of it is the keyboard.

If Apple replaces only the keyboard, the MBP is the undisputed best laptop available today.

</comment><comment><USER85> They only need to drop touchbar, bring back magsafe, and then we'll be back to sanity!

<comment><USER86> I'm still using a dual core. Apple thinks if you want a high end laptop, you want a touch bar. I don't, I played with it and returned it. I vastly prefer the real keys.

</comment></comment><comment><USER87> Yeah! I really don't like the current keyboards.

Also while your at it - produce a proper Pro laptop!

Worry less about the thinness and \- add better thermal control \- more memory \- more storage. \- extra port or too so less requirements for dongles. \- option for matt rather than shiny displays \- old style trackpads with physical click - the new ones give me cognitive dissonance

In terms of touch bar - it's mixed. I really miss the physical escape key ( but then I'm an emacs user ), but quite like the context dependence of the rest - as day to day escape is the only one that's really memory mapped.

So can't we have a physical escape key and the rest be touch bar?

<comment><USER4> > produce a proper Pro laptop!

Hmm, I'm afraid they listen and produce a $15k laptop... But ok, the MacBook Air is still in the lineup.

<comment><USER87> Exactly - road warriors, who want lightness and style ( sales and senior management ) over substance can get an Air. Serious users - developers, scientists, artists - want a serious machine.

</comment></comment></comment><comment><USER88> I'd be interested in MBP sales figures from the batch of MacBooks with the new keyboard/touch bar.

From my perspective, despite a whole host of issues, very few people seem to have actually moved away from Mac's. I hear a lot of grumbling, but you only need to look at this thread to see people claim that the MBP is the best professional-grade laptop available today, when the issues with the OS, the keyboard, and the touch bar indicate that this hasn't been the case for years.

I assumed that for this reason Apple would have stuck with their design choice, and would iterate over time - unless there has been a significant enough drop in sales.

<comment><USER89> There's been room in the budget for me to upgrade my work MBP for about 6 months. I haven't considered it. I've got the old keyboard and I've seen what my coworkers have to deal with.

I've also convinced my wife to wait on replacing her decade-old MacBook.

<comment><USER88> Hmm, that's probably also a big part of it. A good professional-grade laptop can last for years. I've had my 1st gen Surface Book for about three years now and it's as fast as the day I bought it. Unless something breaks, I have zero reason to upgrade to anything different.

I'm in the same boat as you at work. I've got an older MBP, and despite a dent in the screen and some trackpad issues I would rather stay with this model than upgrade to a newer, inferior one.

</comment></comment></comment><comment> edouard-harris I wonder how much this change (if true) is correlated to Jony Ive's departure.

</comment><comment><USER90> Great! Maybe next year I can finally get a new mbp :) I've been staying on 2013 mbp because of that but it's getting long in the tooth (plus affected by staingate but apparently too late for Apple to fix)

</comment><comment><USER91> About time, been wanting get a MacBook pro to replace my 2011 MacBook Air but wasn't going to get one with that keyboard. Will still wait a while to see if new design is any good.

<comment><USER92> Yep, same here. I broke down and got a used 2015 MBP when the new Gen Airs came out, because I needed something and just couldn't handle the butterfly keyboard. ($day_job machine is a 2017 MBP, and 95% of the time, I use an external keyboard/monitor)

</comment></comment><comment><USER93> You can pry my early 2015 macbook air from my cold dead hands! Easily the best laptop I have ever used, sturdy, cool to touch, lightweight, keyboard is fantastic and never hurts to use for a long time.

I want Apple to release this same model with updated specs, why ruin a great formula by adding touchbar which I never ever ever use. It's like the R&D department/marketing had to use their budget or lose it and they cooked something up which made no sense but looked cool in promos.

</comment><comment><USER94> Thank you Apple. This was needed! I have a bricked 2017 MBP that I don't want to fix. It's too expensive to fix and not worth it breaking again.

</comment><comment><USER95> I own MacBook 12 inch with 2nd gen of this keyboard from 2017 and actually like it more than on MacBook Pros that I got from a company I worked for. It seems to be a bit different, like click is smaller and is quieter. In MacBook 12 it matches whole laptop philosophy of being the thinest and lightest and even has smaller trackpad that you doesn't accidentally touch while typing.

</comment><comment><USER96> Apple has a history of really bad design ideas in my opinion.

Anyone remember the older Mac towers. Whose bright idea was it to stick razor sharp edges on the handles to pick up a 30 lbs box?

Or requiring people to use a metal file on their MBP so they aren't resting their wrists on a razor sharp edge.

Several years later, it is still a pain having to use dongles to plug in USB devices.

Now give us back the escape key too.

</comment><comment><USER97> It's too late, I sailed away. It took me a year to have a good linux setup, not switching back.

But I'm glad they finally admitted the problem.

</comment><comment><USER98> I have the 2017 MacBook Pro. It did take a while to get use to the keyboard. Now I find other keyboards are mushy by comparison. On the touchbar, never really thought much about it. Seems to work okay for me. I'm amused by some of the folks that just seem to hate the later MacBook Pro's. Their hatred seems misplaced and over-wrought.

</comment><comment><USER99> I think one of the bigger failures with the Touch Bar is that it's not available for a desktop computer - it would be far more advantageous for developers to support it in useful ways and invest developer time in it, if we could buy an external one, especially for an iMac Pro, for instance, where it could be included. My two cents.

</comment><comment><USER100> While good recognition in the flaws of the keyboard mechanics, this still doesn't fix: \- no esc key (ok fine, ctrl-[) \- oversized trackpad where palms in resting position actuate it \- the "fat" keys with little to no gaps \- the weird oversized and awkward arrow keys

Seriously, just go back to 2015 keyboard/trackpad.

</comment><comment><USER101> I sardonically worry that they will offer a touch screen keyboard instead.

<comment><USER102> The Lenovo Yoga Book is a hinged tablet. Bottom half is a glass surface with both capacitive touch and Wacom digitiser. It comes with a Wacom pen, which has a swappable ballpoint pen nib so you can draw on paper and have it digitised. There's a backlit silkscreen-type stencil that shines through a (permanent) keyboard layout. And touchpad. So, it's touch-screen typing on a fixed keyboard layout. And you can swap between pen-digitiser and keyboard mode. A crazy set of features. I was very excited to buy it.

They keyboard is very hard to use. The pen is laggy and there's no really useful Android software. I use it exclusively for watching videos. Go figure.

Still, I'm glad they tried it. There's too much device monoculture IMHO.

[https://www.lenovo.com/gb/en/tablets/android-tablets/yoga- ta...](https://www.lenovo.com/gb/en/tablets/android-tablets/yoga- tablet/Lenovo-YB1-X90L/p/ZZITZTOYB1L)

<comment><USER103> The bit about the swappable pen tip picked my interest, cool feature! As an avid believer that pen input is the most flexible way to express your thought process, I find it a bit of a lost art though, people born in the new millennium just wont spend the time to learn to write cursive. I went through most of the Note generation from Samsung and the SPen is getting really close to the look and feel of writing on paper. There's a Google hand writing keyboard for Android that is really good, in fact I am writing this using it. Still, it looks like it will continue to be a niche functionality at best.

<comment><USER104> About 15 years ago during my studies I dreamt of a tablet device with pen input and hand writing recognition for advanced maths. I was writing a lot during my physics lectures but almost no plain text. I would still like to have such a device, but also with a CAS integrated with the handwriting recognition. This would take the pain out of typing stuff into a CAS using obscure syntax.

<comment><USER105> IMO iPad Pro with the appropriate software would be perfect. However, I think handwriting recognition for math might be too much a niche for developer to focus and polish into software that's a pleasure to use.

<comment><USER104> And recognizing math is hard. That is a huge set of symbols (sometimes with semantically meaningful "tiny" variations like doubled up vertical lines on an R) and their size and relative positioning carries a lot of meaning. Handwriting is a walk in the park compared to that.

</comment></comment></comment></comment></comment></comment><comment><USER106> I was on board with a company trying to make a new type of keyboard switch in 2017. The venture folded, but I'd say not for technical reasons.

They used a parallelogram mechanism in addition to a spring to provide quadratic easing in force feedback.

Nobody tried the same scheme since then as I know.

</comment><comment><USER107> I actually think that ASUS ZenBook Pro Duo is now much more innovative than recent MacBooks and I'll likely get one next year for a "travel Deep Learning" workstation with a great design (resembles classic 8-bit computers a bit).

</comment><comment><USER108> Cannot wait to hear what they're going to say about "reinventing keyboard"!

</comment><comment><USER107> Apple needs to invest in force field research to ship a flat keyboard with keys simulated by force field, keeping fingers away! That will be the realization of Jony Ive's modernist aluminium/glass plate dreams. No more moving parts!

</comment><comment><USER109> The complexity and cost of butterfly keyboards comparatively to traditional keyboards, reliables and cheaps just reminds me a bit an article I read on the development of Electromagnetic Catapults in US Navy (hard to build, astronomical costs).

<comment><USER110> Are you referring to railguns?

</comment></comment><comment><USER111> Whenever I type on my original/2012 "retina" MacBook Pro it is a revelation. When I type on the 2016 model... I try to use an external keyboard.

I'm pretty sure the 2015 non-butterfly MBP was the best laptop Apple has made to date.

</comment><comment><USER112> Please bring back the MagSafe magnetic connector, so I can upgrade my MacBook

</comment><comment><USER113> Am I the only person that would love a thicker laptop with more features from Apple?

I don't need thin. Thin doesn't excite me. More battery would excite me. More ports. More anything but thin.

</comment><comment><USER57> I wonder how much this will affect sales between now and the 2020 model. As a 2018 owner, I strongly recommend everyone who can to hold out until they change the keyboard...

</comment><comment><USER114> Shout out for the current generation Surface keyboard (both full size, and, surprisingly also the Go). A thin and light keyboard that is almost pleasing to use.

</comment><comment><USER115> Are the butterflies justifiably thinner than the older chicklet keyboard? I feel like there is no way they made a measurable difference... But maybe it did.

<comment><USER116> 0.5mm travel versus 1.3mm travel, so less than half.

</comment></comment><comment><USER117> It was the reason I bought an XPS 13 instead of MBP when I got a new laptop. Wonder how many advocates they lost amongst the professional segment.

<comment><USER118> There was (in my filter bubble) a pretty big wave of people moving away (or at least looking) after Apple introduced their touchbar models; I wouldn't be surprised if they felt that in their numbers. Or if they didn't because lower volume but higher price can even one another out, I guess.

</comment></comment><comment><USER119> I don't own a Mac, but on behalf of anyone who has ever shared a room or train with that click clackedy mess, thank you Apple.

</comment><comment><USER120> Touchbar:

Needs to always be on

Needs haptic feedback

<comment><USER121> Also: Either shorten it by one button and keep physical escape key, or move it up and return the entire half height function row.

<comment><USER43> Do the former on 13 inch models and the latter for 15+ inch models.

</comment></comment></comment><comment><USER122> the keyboard is actually awesome, when it works properly. I really love it. The short key travel is great, and using older macbook keyboards now feels like going back to a typewriter.

However, I am also one of those who's taking his 2 months old macbook to repair shop, coz one of the keys just stops clicking and becomes rubbery.

</comment><comment><USER123> Yes finally. I still haven't updated my work laptop which is 2015 Macbook Pro because of the Butterfly keyboard

</comment><comment><USER124> Better switches, a smaller mouse pad, and destroy the touch bar. Let's go back to 2014 and be happy again.

</comment><comment><USER125> Thiiss is reaelley good newes, my thirid genereatiiion keyeeboard . stiill has . isssuees

</comment><comment><USER126> If I can't get discrete graphics WITHOUT a Touch Bar in October, I'm buying a Surface.

</comment><comment><USER127> Finally!!!

I don't mind the touchbar, rather the quality where dust particles break it down.

<comment><USER18> Touchbar: Never use it. Reprogrammed my keys to have Esc mapped on Caps (if it's hit alone) and Ctrl (it if is hit in combination with other keys).

<comment><USER128> Mind sharing what you used to get this Esc behavior? (single vs combo hit)

<comment><USER129> I'd like to know as well.

I've got [capslock] mapped to [control] via system prefs already, and I'm not willing to give that up. As a Vim user, that puts me in a quandary for how to deal with the [escape] key should I ever move to a touchbar MBP, and is one of the reasons I'm still typing this on a 2012 MBPr. I live inside Vim all day every day.

</comment></comment></comment></comment><comment><USER106> And at the same time, Dell switches its XPS line to butterfly switches...

</comment><comment><USER130> They really need to give a proper apologize to all customers for it.

</comment><comment><USER131> Apple does have a patent for glass keyboard that uses haptic.

<comment><USER132> jesus christ, don't let apple bring that evil into the world on a macbook. on an ipad maybe but if it's on a mac i'll have to carry around my bt keyboard everywhere and that's no bueno

</comment></comment><comment><USER133> I took multiple days to get my hackintosh running. The only reason I kept going was because I didn't want to buy a MB that could break down anytime and take days to repair. I am glad they are finally switching the keyboard.

</comment><comment><USER134> This is good news! Sad to say I can't buy another Mac laptop until the Touch Bar is gone, too. Sad, too, because that means I'm stuck with Linux, which is much higher maintenance than Mac OS. ;-)

</comment><comment><USER135> Buy a used 2015 MBP to tide you over until 2020.

</comment><comment><USER136> The hand-wringing and breathless condemnation around this keyboard borders on hysterics, so I will be glad when a new design shifts the criticism to something more interesting.

</comment><comment><USER137> Next up, extending the touchbar into a a touchscreen keyboard.

No moving parts, even thinner, far more expensive, looks trendy, absolutely unusable, it's the apple March of progress.

</comment><comment><USER138> Yeah!

The new MacBook Pro is looking mighty attractive now.

</comment><comment><USER139> Waiting to replace my 2013 MBP someday... it has been wonderful (it has the old keyboard style) but please Apple, make it soon.

</comment><comment><USER140> only once i had a mac keyboard, and it didnt work on my mac. good stuff. no suprise here...

</comment><comment><USER141> I like the butterfly keyboards.

<comment><USER142> Me too, for the first few days, before they inevitably start acting up.

</comment></comment><comment><USER143> The glory days are long gone.

</comment><comment><USER144> ... but still the touchbar.

</comment><comment><USER62> Now make it thicker, add decent CPU/GPU combos and an SD card reader for us photographers...

</comment><comment><USER145> thank god, the butterfly keyboard sucks.

</comment><comment><USER146> What about missing jack and hdmi ports?

</comment><comment><USER147> This is Vox blogspam.

Original source from the article: [https://9to5mac.com/2019/07/04/kuo-new- keyboard-macbook-air-...](https://9to5mac.com/2019/07/04/kuo-new-keyboard- macbook-air-pro/)

dang could you update it?

Edit: not sure why this is being downvoted, this is literally the source URL quoted in the Verge article and Vox sites (including this one) are frequently filled with clickbait.

</comment><comment><USER148> I'm a tiny bit upset. I really liked the keys becoming lower profile. I don't get any joy out of expending extra energy depressing buttons. For example, mechanical keyboards give me extreme RSI wrist pain from straining to push down all of the switches. Secretly I was hoping Apple would create a haptic capacitive touch keyboard with a display behind it.

<comment><USER117> Is it possible you were thinking you had to bottom out the keys on a mechanical keyboard? Good switches have a fairly long travel, but it's important to note they're not designed to be bottomed out, they're designed to be pushed to the activation point and then released. Where that activation point is may be harder to detect on some switches, but "clicky" switches like Cherry Blues have a strong tactile indicator.

<comment><USER148> I totally agree about bottoming out. It's more about the amount of force needed to trigger the switch, which on a capactive touch would be 0. I use o-rings too to decrease the length of the throw and to make bottoming out quieter and less impactful if it happens on accident. Mechanical keyboards just don't agree with my hands and wrists sadly.

</comment></comment></comment><comment><USER149> Well good riddance. They have become ridiculously expensive

</comment><comment><USER150> Anybody still buying MacBooks doesn't know what they are doing... A Lenovo Thinkpad would destroy it in every way imaginable, but marketing is more important that real world function

<comment><USER151> Some people (like me) still prefer MacBooks due to software rather than hardware. Building a Hackintosh is not pain-free and, although the Linux experience has improved a lot, is still not at the same level.

</comment></comment><comment><USER152> The comments in this thread are hilarious. I guess some of you all have forgotten about that can of duster you've relied on for the last 30+ years to clean the muck from just about every keyboard. I don't understand the rage...

I use my MBP just as much as anyone, the butterfly keys feel so much better than the old clickity keys and I've gotten use to the TouchBar. F Keys we're useless to me unless they were remapped, and now the TouchBar gives me a lot of options for customizations.

<comment><USER153> Been kind of my experience too. Bought my wife a rose gold entry level MacBook a couple of years back and, it's one of the nicest laptops I've ever had. I have a MacBook Pro for work and the touchbar doesn't bother me. Screen is beautiful, plenty powerful.

I'll throw one crit out there though: the wireless mouse on my iMac Pro. When it runs out of batteries you have to plug it in, but it plugs in on the bottom. Wired mice have existed since the invention of the mouse, so it's pretty frustrating that you can't just plug it in to the front and have it act like a wired mouse while charging. This was clearly done so that the mouse could have its svelte shape. Sigh.

</comment></comment><comment><USER12> I personally love the Touch Bar and I really like the quiet, soft, short- travel keys on the 2015+ MacBooks. Other than a "rigid" cursor key on the first-generation 12" MacBook, I haven't experienced any unresponsive keys, definitely not on the Pros, yet (though that may be because I always use a protector or "keyboard condom" to prevent finger stains and smudges.)

I do not miss MagSafe or the headphone jack either. I prefer thinness and lightness. I'm one of the people who have been satisfied with Macs for a long time and haven't considered switching to anything else, and despite what the loud minority may make it seem like, I'm clearly not alone:

[http://www.macrumors.com/2016/11/09/new-macbook-pro-has- outs...](http://www.macrumors.com/2016/11/09/new-macbook-pro-has-outsold-all- competitors/)

<comment><USER154> I personally think the new keyboards are atrocious, but that's your opinion and I respect it. Until the "loud minority" part.

Your love for Apple is blinding you, I doubt they would shell out the money for a replacement program if it was truly just a "loud minority".

<comment><USER12> They have replacement programs for other issues, like faulty batteries and logic boards, regardless of whether many people are affected or a few.</comment></comment></comment>