Things are so broken here at Apple. I joined about 4 years ago.
I am awed by the fact that we manage to release any software at all, let alone functional software.
The biggest problem is communication. No one fucking communicates.
- No communication between orgs. Tons of bureaucratic tape to cut through just to get a hand on someone working on a different product
- Barely any communication between teams. Literally every group of 4 people is in a little silo with no incentive to go outside it
- Broken management structure. I have had many managers (a red flag in itself) but even worse none of the managers take suggestions from engineers. Everything is purely top down. If an engineer realizes there is a problem on a macro scale they cannot fix it. It is literally impossible to unite more than 1.5 teams to get anything done.
- So what happens is that you’re working on a product that’s part of another product but you never talked to any other teams or orgs on how to make your product fit in
- 10 different teams working on the same products and services. Zero unification means you are literally wasting developers and internally fragmenting every tool. Even worse, these teams compete for internal market domination
- Culture of secrecy means nothing gets fucking done. You file a bug report and you can’t even see it any more for some orgs
This is only the tip of the iceberg. There are fundamental and serious problems at Apple that no one in management gives a shit about solving. Any time engineers try to congregate or work on anything constructive with another team, they are shot down.
The only time I have seen cross-team developers working together has been to deal with critical bugs.
Because of the lack of communication, none of management’s goals align. They are all out of sync and poorly thought out. So year after year your manager has something they want you to implement but the feature for the year is bullshit because it makes no sense and is just there to pad the manager’s resume.
And you can’t speak out about this. Apple doesn’t take well to employees complaining. Even then, because of the lack of organization there is no one you could raise these issues with.
It absolutely isn't the individual employee developers job or responsibility to try to fix corporate culture. Almost anyone on here or reading this is a line worker developer and trying to take on the job responsibilities of C level staff is setting yourself up for disappointment and failure.
Any company larger than a few dozen people is entrenched - there will be a hierarchy and the top will dictate the order of things. If they are paying you to write pointless software then you are either content with the paycheck and probably a lot of free time at work if nothing really matters or can go somewhere else to find meaningful work.
But seriously, the larger the company the less you should ever consider thinking yourself as some engineering talent can change the system. You change the system in those circumstances by realizing the failure, networking with your peers, and starting your own company to do it better. Assuming you didn't sign a deal with the devil by noncompeting your way into being stuck. You were hired to write code, not fix corporate culture. Largely because most large corporations have layers of management dedicated to insuring it is not fixed.
In my first job I was put into a team of about 5 people in a company of roughly 10,000 employees. After a year or two, another junior person joined my team and he started making contact with senior people all over the place, not quite C-level but only one or two levels down. Not even just in the software department but product development and in sales (to get an idea of user requirements). He sat next to me so I heard all the phone conversations (and winced!).
As time passed, it gradually became apparent to us mortals that he wasn't just being humoured - the people he was contacting came to respect him and even consider him their man "on the inside". He ended up doing pretty well - not promoted instantly to senior management, but certainly promoted faster than me (and ended up moving to sales).
Now admittedly lots of things are different from what your comment is suggesting. That company was big, but not as big as Apple (?) and intra-company communication nowhere near as bad by the sounds of it. This guy also didn't try turn over the whole company culture; for the most part he just spoke to the right people to progress things within our team's products. And finally, a key ingredient was him; if I made a conscious decision to act like he did, I'm sure it would not have gone well.
But my point is just that you shouldn't always write off fighting the corporate hierarchy. For the right person, in the right situation, it can actually make sense.
My argument is more that if you do "fight" the hierarchy, you are doing it as charity. People are paid exorbitant amounts to analyze and structure corporate cultures efficiently, way more than any of the grunt developers will be, and trying to take on those kind of job responsibilities without the compensation for it, even if you are the one in a million that succeeds, just means you did an amount of work that would in professional business be worth a lot to the company for free, and they don't have any obligation to compensate you for your effort because its not your job to do.
And thats all predicated on you succeeding, of course. You weren't offered the responsibilities to fix corporate culture, and thus trying to do so in the first place often just serves to piss off your higher ups who feel you are disrespecting their authority to do it themselves.
Yes it isn't but who else will do that for them? Culture is only possible when people talk to each other and/or exchange thoughts in other ways. If normal people can't do that, there's no single culture, there's many little cultures. Remember that organizations are people and not some magical beings from a different dimension.
Culture is one of those things where once it's broken, it's usually easier to let it die than to fix it. Go join some smaller organization that doesn't have a broken culture and help it succeed. Once enough people do that, the small company becomes a big company, the big company rots on the vine and eventually goes bankrupt, and the cycle starts again.
That assumes that the big company doesn't have enough inertia to keep going on and on, strangling the small business or buying it outright (thus incorporating it into the broken culture, Borg-like).
This. Culture is one of the only things that every employee can change by themselves, just by going out of their way to find and talk to people. It takes work, but also takes absolutely zero permission or red tape, and it makes a huge difference. Talk to a new stranger at work every day, and in a month, you'll be solving problems nobody knew about.
disappointing to see this grey, because i think there's a lot of truth in here.
i think a lot of developers are used to wielding great power with technology, getting immediate visceral feedback, shipping, and whatever else. this gives them an impression that fixing people problems is just as easy - the equivalent of opening up the ol' IDE and rocking out for 8 uninterrupted hours, getting an MVP up.
the differences, though, are crucial. the compiler doesn't lie to you - you missed a semicolon; that's not the case with people. the in memory database doesn't have another agenda; again, not the case with people. the UI doesn't aspire to be something greater, or protect itself; managers often do.
i really appreciate that individuals try - i just don't think it's really worth it, if the org is > 15 or so people.
People really hate to acknowledge that working for most corporations, especially big public tech giants, is not them being welcomed in to change the world and blaze trails but to write code for their boss.
> Assuming you didn't sign a deal with the devil by noncompeting your way into being stuck.
Well, in California it's basically impossible to enforce a non-compete, so there's that going for anyone who wants to do this as a current Apple employee.
I think the issue is that culture at Apple is very much not supposed to be this, and this probably isn’t what the C-suite is intending to push. So you’re not really going against them; rather, you’re going with them but against the current status quo.
If upper management wants culture to change they will take the action necessary to change it. The last people to be powerless to inflict change on a corporation are the executives running said business.
You should do some reading about the idea of the "frozen middle", which is pretty much what's being described as the problem. It's as resistant to edicts from the top as ground-up initiatives from the bottom.
In the sense that everyone wants cake and to eat it sure.. But really everything anyone wants is stack ranked and their management prefers the apple demo to the world format long after the luster has gone in no small part because of the secrecy, silos and paranoia it requires. In a financial sense their management is right and an employee wanting to be part of something less bland and Oracle like is wrong.
> Any company larger than a few dozen people is entrenched - there will be a hierarchy and the top will dictate the order of things.
To a point, but have you ever tried changing something purely through a dictate from the top? People will just say ‘Yes boss!’ and then keep working exactly as they had been.
When I worked there under SJ, the Mac OS org (then under Betrand Serlet), it was sort of open amongst the org itself. It was really easy to walk to someone's office and strike up an interesting conversation. Many late nights were spent working through collaborative problems. Or randomly, I had a friend who would pop by my office and spend hours explaining how he figured out some complex Javascript compiler bug of the day.
It always felt like we were in a mission to ship Mac OS together. What Apple did do back then was create these special versions of the OS that had a few key hidden/secret products that SJ was going to demo, like iTunes or iPhoto. So while I could install the latest internal developer build of the OS, it would have a feature or two missing. You would then get radars that mentioned the code-name and explained a bug that you had to fix for the feature, but you had to fix the bug blinded and send the bug back to verify. (Radars could never be closed until the original creator verified them) The secrecy didn't really get in the way and it made for an interesting culture.
Then it all started to change when Forstall was promoted to VP of the iPhone effort. He took what was probably meant to be a short term secret launch team culture and expanded it to create this massive secret island in the company. The program office and by extension, the original founding engineers were all promoted to management that expanded on the secret culture. I think if management meant to open the culture back up to the same level as Mac OS in 2009, they would have been burned by Samsung and Palm WebOS making exact copies of the software coming out at the time. So the hyper locked down culture persisted and SJ passed away. Then Forstall was fired and Federighi was promoted to replace him and merge both the Mac OS and iOS orgs finally killing off any of the remaining openness that once existed.
Then came all the ridiculous tools such as checking someone's security clearance when you had a meeting with them. [Apple Confidential] :-P
I’m on an internal infra team, and even tho we’re supposed to be making tooling for the rest of the company, it’s just as much of a clusterf*.
I’ve been interviewing with other teams, but with this disaster of a release and us demonstrating that our corporate values are just empty words in the face of opposition from China, it’s likely time for me to make my exit.
The overt sexism that I’ve been witness to in iCloud management certainly doesn’t help either.
There is shockingly little female representation, especially in management. I’m well aware software engineering skews male, and infrastructure even further so, but the numbers are absurd.
In one section of iCloud, there’s zero female managers in a 200+ person org. In another, after recent re-orgs, there’s only one remaining female manager in a 600+ person org, and even then, she only has a small team of engineers. No representation in upper management whatsoever.
With multiple recent re-orgs caused by poor management, there has been ample opportunity to address this imbalance, but upper management has doubled down, cancelling nearly every project managed by a female manager before the changes, or giving their projects to male managers.
I raised this as a concern with HR months ago, but they have yet to take any action or even follow up.
I should note that most developers here really do care, and that’s probably why products can be released in the first place. You have to have really dedicated people willing to cut through the organizational bullshit to get things done.
All of the engineers I’ve met here are smart and innovative. Only if we could organize, things would be much better.
Not OP, but I'm guessing they mean something like 'make sure the right hand knows what the left hand is doing'. Making sure the effort to produce something is done collaboratively by all teams instead of each team working in isolation without coordinating with others, with the risk of duplicated effort or one team tripping up others.
This sounds largely as I feared. The organization was built to serve the will of an omniscient god-king who knew better than anyone else. And now he's gone, and the organization is still set up to make orders trickle down from on high (despite no-one qualified or interested being there to make those calls) and hasn't learned make good decisions by communicating internally either. So the acolytes and high priests try to just keep doing what they were doing before god died.
If you read other insiders’ comments here you can notice that this is not the case at all. Under Jobs the Mac OS team was more open and collaborative, so probably this happened “by chance” and the death of Jobs was probably a force toward closeness.
It sort of makes sense to me. The god-king likely demanded answers and accountability, that must make people cooperate somewhat. With stagnation, power plays and petty turf-wars take over.
Agreed. When Sj died a power vacuum opened. His presence really was so big that there is no way a single person or even a couple people could fill the charisma and power he wielded over the company. Anytime there is a vacuum, the power plays and turf wars become the goal over delivering product.
He's specifically talking about how the product subsystems are effectively mapped out by the product departments and that they should try to interface with each other with minimal constraints.
But, my take was that there needs to be a LOT of communication between departments and an ongoing debate between them as well.
Edit: The more that I think about it...
This might a big reason why Musk companies defy the odds, and why it is so difficult for incumbents to catch up.
The over the air updates of Tesla are a good example of hardware & software departments working together to make something very difficult to compete with (if you're a regular old school siloed company).
On two occasions I have been asked, — "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" In one case a member of the Upper, and in the other a member of the Lower, House put this question. I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
Passages from the Life of a Philosopher (1864), ch. 5 "Difference Engine No. 1"
When my friends at apple talk to me I feel any of them could write your post except...none of them would say "I am awed by the fact that we manage to release any software at all, let alone functional software" (well, maybe one would).
I'd like to work with these folks again* but the incredible secrecy would bug me. I understand that some things have to be secret, and I don't at feel I need to know what that group over there is doing but I'd like to talk with my (NDAd, same company) friends about what I work on! So I don't even apply for a job there. But some people seem to consider it OK.
* The subset of friends there who used to be colleagues of mine, I mean.
> - So what happens is that you’re working on a product that’s part of another product but you never talked to any other teams or orgs on how to make your product fit in
I'm surprised to read this, because I've always thought tight integration and clever synergies between product lines were precisely one of the things Apple excelled at.
And I was wondering how exactly they managed to make that happen in such a famously secretive organization, where very few people have the 10.000 feet view required to come up with these ideas.
How do you make Mac Catalyst or Sidecar happen with 4 people silos who hardly ever meet and adjust ? How do you redesign the iOS photos app to the capabilities of the new hardware, in a way that will make sense once software+hardware become a product ? How do pictures of unreleased Airpods end up in recent iOS beta releases ? I mean, at some point you've got to make these things work together, and one decision on one side that's oblivious to the other side's constraints might make things impossible to them, and they'll want to push back. This is how "normal" companies function.
One more example, not something especially clever but more something that would have been a huge bummer if it hadn't happened : it seems like the Pro Display XDR has charging capabilities way beyond what any current Apple device might require, and it's speculated that it's for the upcoming 16" MBP : https://www.macrumors.com/2019/10/04/16-inch-macbook-pro-96w...
Again, how do you even achieve that if people don't communicate ?
Through extremely well defined internal interfaces and specs ?
> How do you make Mac Catalyst or Sidecar happen with 4 people silos who hardly ever meet and adjust ?
You don't. What happens is those features are broken or just barely work, and only once they become public can Apple finally get them working. Look at the new iCloud shared folders that's now been pushed to next Spring after early Catalina betas were wiping out people's iCloud.
the fact that GP is complaining about it may be an indication. by hiring good people who see the structural problems and work around them works. you can brute force work around poor management and a bad structure.
Edit: you can see this explained in one of snapples sibling posts.
I feel like there are people who get around the secrecy/isolation veil, they just have long-standing friends in other projects and can rely on them to push features and bugs though the bureaucracy. If you don’t have that, well, expect your Radars to sit in “punted from this release” until the end of time.
Seems crazy to hire the best engineers and pay them top dollar only to put a bunch of organizational barriers in the way they have to try and navigate if they want to get anything done.
That's hilarious and cute. I'm pretty sure I'd be told off if I tried to push cross-project collaboration up the management ladder beyond making an introduction happen.
This thread is really helping me understand why I can never see eye to eye with anyone on Hacker News. What I had assumed would be engineering companies are companies with engineers but without engineering culture, and there is zero autonomy to be had without getting into management in an over-stratified org-chart.
And what do PMs tell engineers on their team once they're back from their super secret meeting with the PMs from the other team ?
"Do exactly this, I can't give you context but it'll make sense on release day" ? Sounds like extreme Fordism (and basically a hellish way to work for creative minds) and a great way to prevent people from spotting problems early.
I'm on an internal tooling team @ PlayStation and man do I appreciate how much the company encourages cross-site and cross-team collaboration. Reading your comment made me cringe :/ so so sorry for you folks working at Apple.
I have a buddy who's an old Apple QA who tells me similar jaw dropping stories about the silos and secrecy. When I marvel how they can possibly ship all those wonderful products he says it's done through grueling brute force manual QA testing. Which also sounds insane but somehow it has mostly worked through the years. But maybe they're reaching the level of complexity where brute force manual testing is not scaling well enough.
yet, interestingly enough, Apple are never looking for manual QA testers, just Senior Automation Engineers. Or so it seems to me, a lone brute force manual QA tester who every once in a while wonders what kind of an effect he'd have at Apple.
I worked at Apple for a few years and he was not running around bringing teams together. At the senior leadership team level sure. But not at the engineering or middle management levels.
It sounds quite similar to what OP was experiencing i.e. lots of siloed, secretive teams across a very large, 100K employee organisation.
Absolutely. Based on various anecdotes it seems apple succeeded nearly in spite of him, but he surrounded himself with people like Wozniak, John Carmack, Tevanian etc people who’s confidence in what they knew could always win out against Steve’s bluster. Steve brought people together, but also brought creative tension. He was also pretty good at spotting opportunities and trends. Apple really does feel rudderless without him. There’s no coherence of vision between products. Quality doesnt even really seem to matter. Apple still operates in a very top down manner, but it just doesnt seem as though there’s anyone at the top with much in the way of interesting ideas. Watch did okay, but was hardly a game changer. Earbuds are a success, but they cant be making that much on them ... Steve’s gone, and more’s the pity for all concerned.
I used to work at Dyson and it was a similar story. I think the secrecy thing is key. They went on and on about "protecting our secrets" (ha) and operating on a need-to-know basis. It just meant communication was really bad, and getting help from anyone who didn't know you was impossible.
Don’t throw your managers under the bus, stay optimistic, anchor your message in whole company success. You might be surprised at the impact you can have & the replies you’ll get.
Here’s a formula you can try...
Hi Tim,
At <company presentation> you talked about <goal>, which I’m excited about!
I/we’ve been experimenting with <new approach>. We’ve seen <results>. What other teams should I/we collaborate with to help Apple get to <Tim’s goal> faster?
Cook is a corporate bureaucrat. in the best case scenario, he’d point you to your management chain, and in the worst, summon an inquiry into why you contacted him in the first place.
Perhaps a silly question, but if it is so broken, then why do you keep working there? Is it purely a money-thing? Is there still hope that things can improve?
Not judging, but I am genuinely curious about what drives engineers to stay.
If things are so broken, as you describe, why not just pack up and go work somewhere else? Personally I love many of Apple's products but wouldn't be willing to put up with that kind of workplace just for the sake of it being Apple.
Over the years I've been surprised a number of times by seeing Apple hire a particular software engineer that I wouldn't hire for my own little company. You're still kinda junior @ 4 years there, but.. have you seen seen any slippage in hiring standards?
Apple hiring is independent per team. You can literally interview forever at apple and the way each team interviews is wildly variant. Had some pretty cool interview loops. I got rejected and then got an offer after interview 4 or 5 with a team on a high profile app that I really liked.
Apple doesn't give good offers although, so I took another one at a company / team I also really liked with a better offer.
The best workaround I've found for this in large companies has been to sidestep the formal management structure as needed to actually get things done and working properly, and then give management credit for it.
The cleverest way to get rid of bad bosses (besides moving to another group yourself) is to get them hired by another company or promoted to irrelevance (though both strategies can backfire.)
was thinking.. the complaints listed above sound very much like an aerospace manufacturer/defense contractor i worked for before. little silos everywhere, and further complicated by gov security clearances. getting anything done was like mud.
Of all the elements you mention, the most deadly is the inability to speak out about the problems. The first step in improving anything is to acknowledge the areas that need work.
It’s an enterprise full of hipsters that tell themselves they’re changing the world in order to be able to take the punishment (or to be ok with unethical work). :P
You are probably segregated away from where the real work is happening. This is by design, because you haven't proven yourself yet or they don't trust you yet. Good work is being done in Apple every day. You're just not a part of it and are not seeing it.
After four years? Seriously? Why would a bad hire not be laid off at that point? What's the difference between "real work" and "not real work"? How many engineers are on-site at HQ who don't do real work?
There might be teams working on "secret" things that are better, but as far as I can tell the "we don't trust you yet so you can't work on anything until you do" is largely a myth.
Yeah, like iOS 13, Catalyst, and Catalina. It’s all rather amazing. Ship on time, ship all features that were announced, heck, their hardware teams can barely keep up!
And yet most of Apple's products are consistently best-in-class, so I guess it's working for them? And a bumper crop of bugs in a point zero macOS release doesn't count as a disaster. They've been shipping super buggy point zeros for two decades.
The integration of hardware and software is and has always been one of the things that make Apple's products best-in-class. I'm not sure what your point is.
> Culture of secrecy means nothing gets fucking done. You file a bug report and you can’t even see it any more for some orgs
> And you can’t speak out about this. Apple doesn’t take well to employees complaining. Even then, because of the lack of organization there is no one you could raise these issues with.
No, it sounds like any large multinational. In the end, all commercial entities turn into the same thing where they only differ in branding, segment and origins.
Right. The poblem is when you focus on and optimize for hiring excellent developers only. Then all the non-excellent people that contribute to the average are in middle-to-higher-level management.
> The final (well, first) Catalina release along with the outright awful public beta makes me think one thing. And that is Apple’s insistence on their annual, big-splash release cycle is fundamentally breaking engineering. I know I’m not privy to their internal decision making and that software features that depend on hardware releases and vice-versa are planned and timed years (if not half-decades) in advance, but I can think of no other explanation than that Marketing alone is purely in charge of when things ship.
I don't work at Apple, but this part hit home for me. In the past few years my jobs have revolved around shipping features at all costs with zero regard for engineering feasibility.
We all like to criticize CEOs for prioritize short-term stock prices over long-term company goals, but I'm beginning to think the average employee or middle manager has even more perverse incentives to make poor short-term decisions. I've seen a lot of engineers and managers swing for the fences to deliver headline features that can't possibly be completed on time with any standard of quality, testing, or long-term support. It doesn't matter, though, if your goal is to add that accomplishment to your resume so you can pivot into the next higher-paying job elsewhere. After that, your mess becomes someone else's problem and you're off the hook. Up or out.
> The iPhone could play a section of a song or a video, but it couldn’t play an entire clip reliably without crashing. It worked fine if you sent an e-mail and then surfed the Web. If you did those things in reverse, however, it might not. Hours of trial and error had helped the iPhone team develop what engineers called “the golden path,” a specific set of tasks, performed in a specific way and order, that made the phone look as if it worked.
I guess I post this here as a means to say, while what OP is talking about certainly sucks, Apple seems to have a long history of this. Doesn't make it better, and certainly what he's outlined seems extra bad, but not completely unexpected.
Great read! Thanks for sharing. Highly encourage anyone who is on the fence about reading the whole thing to go for it.
Steve, and others like him, do make me wonder. On the one hand, I work four days a week, never stay late at work, and live a good, steady life. But on the other hand, I see these super-stars, these drive-people-to-the-edge, sleep-on-shop-floor types, and see how much change and drive they create, it makes me start to think that maybe I should work _much_ harder. But then again, I quite like all this time I have to think on things. And of course, we don't get all the details about how this style of work _really_ affects home life; I'm sure we'd have much less respect for these super-stars if we knew they _all_ had screwed up lives away from work.
I know what you mean, the appeal of this total dedication. For myself, I've come to the conclusion that I could not do it for long, not as long as I'd have to. I think for those types like Jobs, Musk, it wasn't even a conscious choice they made to put all they had into their work, they are/were just driven. You'd know it if you were, too. They could never have done a four-day work week with zero overtime, it was never an option for them. So, enjoy your life as it is, this is yours, theirs is different, and don't think you're missing out on anything.
Reminds me of an anecdote I heard about starting your own company. It's great, you're the boss. You can work half days if you want. You even get to choose which 12 hours that will be.
Demos of new products always have golden paths, and even demos of production grade software have golden paths very frequently because maintaining complex software in a demo-able state is hard (i.e. historical reports need to show a plausible history without anyone actually using the system).
Indeed. Apple's MO for a LONG time has been, "The way things have always worked should always be rethought, and we've come up with a better way for you". Many Apple users on forums like this tend to be Apple apologists until they introduce that one change that's too much, and then it's all "Apple's lost their way!" when the reality is it's just Apple being Apple.
I've been at Adobe at a time when they shipped Creative Suite, as boxes (even though downloads started to be more prevalent, it was still very much pre-packaged software). People don't give Adobe enough credit for what it was achieving back then - every 18 months, like clockwork, it shipped an entire suite of huge applications, that needed to work well with one another. And they couldn't rely on post-release fixes - because US accounting regulations made it impossible to ship fixes after the GM builds, if I remember correctly.
And they did it. Reliably so - at least until CS6 (with the subscription, things changed, you can now ship fixes anytime). What's more impressive than the fact that they did it, is that from the engineering perspective, it was an "of course we'll do it" - there wasn't at any point any doubt that CSnext will be released, and will be released on time. And it had to be awesome - the entire company depended on it.
Thing is, there was nothing really special that Adobe did and I haven't witnessed elsewhere. Extensive testing, pre-releases/ getting the most loyal users involved early. Waterfall, yes - but "waterfall done right" (I don't think the overhead was too onerous). What they probably did "specially" though, even though it sounds mundane and boring... was to relentlessly cut scope. It was no shame to do less than what you initially planed for - but it was a crime to not say ASAP that you may not be able to do what you promised. I know personally of a feature that didn't ship in CS5, at all, because it was deemed "not ready" (even though at the start it was deemed as "required"); almost brought down a development center (that was supposed to ship it), and their biggest sin was not that they weren't ready, but that they didn't say so until it was too late.
The short version of all this, I guess, is that cutting scope can do miracles. I'm surprised that it's not used more widely - and somewhat saddened that even Adobe lost its skill at this (from my pov, the cloud has enticed the management to ship features that are not quite ready yet, and counter-intuitively, I think this actually slows them down now).
I work for a big software corp in SV with a yearly conference where we announce all of our products. Managers give zero shits about product quality as long as we deliver on time for the "big show". Bugs, future maintenance burden, and other shortcomings be damned because they'll probably be long gone after they get their promotion (and probably at another company rinsing and repeating) and by then, these issues become someone else's. This has caused engineers to become incentivized to place priority on delivering over quality. Funny how this short-term growth mindset comes top-down from where it all starts in Wall Street. If we want to fix the system, we need to first fix Wall Street and bring back accountability.
Counterpoint: I've worked at SV unicorns that were not public, and did not intend to go public in the near term. And they had a similar "damn the torpedoes! full speed ahead!" attitude. So I think it is more pervasive than just Wall Street.
The problem is deeper, it's psychological. At the level where full time, professional management begins it starts to become very unclear how to judge a manager's success over short/medium periods of time. Yeah in the very long run "is the product a success" can be used to judge, but that captures a lot of people who aren't the manager and may take years to figure out. You need to evaluate their performance before then.
So people come up with heuristics, like "does this manager meet their commitments". But software is inherently unpredictable so the answer to this question is always random. This results in managers trying to look like they're doing a good job by forcing early releases: they are thus seen to be "meeting their commitments" and must be good managers, with the quality issues showing up much later at which point they can just shrug and say, well, all software has bugs. Unless a layer of management higher up digs into individual bug reports and investigates really deeply to conclude, no, you forced an early release before it was ready, they won't be held accountable.
It's the principal-agent problem coming home to roost in a world without principals. Everyone is effectively an agent because the principals are sufficiently "diversified" that they don't really have substantial direct investment in long-term organizational success. What matters most is the short-term boost that you can use to dazzle the next employer.
Every employee knows that they're going to stay for 5 years max because companies have made it impossible for there not to be a massive market disparity if you keep stable employment. There are no perks to long-term loyalty and thus no reason to consider an employer's long-term interests as identical to your own. The outcome of this is the predictable situation we see now.
Like it or not, the company's culture comes from the top down. If the boss doesn't know or care whether the product is substantial, people who do will eventually be replaced at least until the boss is duly insulated from them. No one wants to rain on the parade of the guy who holds hire/fire authority.
There's a wider thing here too, which is that the market doesn't know or care about any of the technical details either. You need the touted features to work correctly just enough to create sufficient ambiguity, probably about 10-15% of the time. If you invest enough engineering effort to get them working correctly 90%+ of the time, that's a great deal more money and time spent on engineering for no market benefit. A competitor who dumps that money into marketing and sales will come out far ahead because technical quality and reliability simply doesn't drive sales.
Regulation for publicly listed companies means that the bottom is actually higher than for VC-funded companies, where nothing of substance needs to be generally known. (wework?)
Same short term thinking, same self-aggrandizement, same convincing yourself of how rational you are, when most actions are driven by emotions, but with more casual clothing.
"big-splash release cycle is fundamentally breaking engineering"
I strongly prefer Apple ship functionality incrementally. No more big bang.
Especially be more cautious with new kits (core libraries). Just one or two end user facing features on some fraction of hardware. Then expand over time.
With Apple's installed base, it's an engineering marvel there's so little drama. But I want no drama, which means waiting a bit longer. Which is fine.
I was thinking on this the other day, and I think what ultimately boils down to is this: there’s no “why” anymore at Apple.
Go back and watch old keynotes with Steve. Almost always, whenever he’s talking about a new feature or piece of hardware, he starts with the “why.” Not everyone will agree with the “why,” of course, but it’s still given.
Why do we want to get rid of the CD drive on MacBook Airs? (We see OTA software updates and media downloads as the way of the future and it wastes space.)
Why do we want to migrate from PowerPC to Intel? (We need better performance-per-watt so we can build MacBooks that have better battery life and don’t overheat.)
Why do we want to not have a physical keyboard on the iPhone? (Because the buttons and controls can’t self-specialize for each application.)
There are obviously exceptions to this rule, but by and large it’s fairly accurate. Now, watch the most recent keynotes. Has there been even a single second dedicated to WHY we need Apple TV+? Apple News+? Apple Arcade? Thinner keyboard mechanisms?
No, and it’s because we all know what the answer is.
There's still a "why" to those product launches. It's just that the "why" is no longer design-driven and is instead driven by business needs– namely, "we need to diversify our revenue streams away from just hardware sales and into services." This started when Tim Cook (instead of Jony Ive) took over as CEO.
I think the actual turning point was when Scott Forestall was fired & Ive took over software design. Prior to that, Apple had been a software company first. Even Woz talks about making hardware so that he’d have to tools to make software.
Ive created some amazing hardware, but I’m excited to see where the next few product cycles go.
Yeah, this is exactly what I was alluding to when I said "we all know what the answer is." It's the needs of the business, not customers, that are being put first.
Brilliant summary on the state of invention at Apple.
I think Steve really did give them the edge with design and innovation. Right now there's just no leadership with that kind of bold intent of any one thing in particular. Apple have sort of blended into other premium brands as well as premium brands copying a lot of what Apple do (Matebook X, every phone that copied the iPhone notch).
Are they re-architecting MacOS to be more secure as they've currently pushed for? Or are there middle managers at Apple who are measuring engineering by the number of commits their engineers do per sprint. Only time will tell - If they don't do this right (as with the butterfly keyboard) they really risk damaging their reputation as a premium brand with high quality.
I'm not sure if anyone has seen this yet, but Catalina is letting me login without entering my password!
I have two users on my machine.
1. I "lock screen" from the Apple menu and close the lid.
2. I reopen the lid and it does not ask for password.
3. I start using laptop and lock screen suddenly pops up, but asks password for the wrong user.
4. I hit random key and the screen goes away, and i can continue working.
Also, it looks like a lot of settings don't work on the lock screen / choose user screen. For instance, the pointer speed doesn't match what I have set, font sizes don't match either, and the resolution looks wrong.
Despite having a lower quality than before since a few years, Windows has login and locking features that actually work (and I don't even really remember of bugs in there, like ever), so no, from what you describe it does not feel like Windows at all, it feels like some completely broken crap.
While on the subject, on Linux I've also noticed that Xscreensaver (or GNOME screensaver, can't remember which) sometimes goes straight into the desktop after wakeup for a few seconds before the lock screen prompt actually appears. You can even run programs. Really bizarre and feels like this issue has been present for a while now. Has anyone else noticed this or is it just me?
I think this is because xscreensaver confines (grabs) the mouse cursor to the area occupied by the "Please enter your password" window. If this area somehow suddenly happens to be out of your screen boundaries (e.g. when xrandr --offing external screens), the mouse is ungrabbed and can be used to interact with the desktop. It takes a while before xscreensaver notices and grabs it again. Someone should probably figure out the exact steps to reproduce this and report it.
As said elsewhere, locking X is really hard, and xscreensaver architecture doesn't help. This week I managed to crash xscreensaver login prompt twice, unlocking the desktop without entering my password, and that was the last straw, I switched to xsecurelock which separates the login entry into another process, making such bugs much less severe.
Unfortunately I can't reliably reproduce the crash. A hardware fuzzer (also known as a faulty ThinkPad keyboard) was involved, and I don't possess the device any more. I think what it did was press certain keys very often — the keyboard matrix is sampled at 125 Hz, so I'm guessing it was pressing the keys about 60 times per second, but I'm not sure which keys they were. If anyone manages to reproduce this, please do give me a shout. :-)
Yeah, saw this the other day on an Ubuntu machine (running whatever the last release was, not LTS) I have hooked up to a TV. Flash of the desktop for a second or so before the login screen. Speaks to something fundamentally wrong with the way the whole thing works, I figure.
I had the same impression. That general feeling that the screensaver is like an app/overlay that is invoked only once the desktop is active. The speed of invocation also seemed related to how fast your machine is at launching general desktop programs...
I run the real xscreensaver though (I was building it from the source until around this time last year, now I run the one from alpine but I don’t think they’ve done anything weird (I haven’t checked though))
I’m pretty sure I’ve seen what everyone is talking about and it’s bothered me a little too (granted, my machine is configured in such an undiscoverable way that just opening an xterm window is obscure enough to be nearly equivalent to a very short pin, and then you need to know bash. Now that I’m not in college and don’t have anything important that’s probably good enough even without xcreensaver.)
I run xlock on suspend rather than on resume, seems more reliable. I'm any case, locking is trivial to bypass by pressing Control-C a few times on resume to kill xorg, hence why I also start X with "startx; exit" so that this drops to the login prompt instead of the shell.
> Right now with screensavers under X it's basically capturing the input and continually redrawing over the display.
> With Wayland, Kristian plans for the lock-screen to be part of the Wayland compositor. In having the compositor handle the screensaver role, it can ensure that no window can appear atop the screensaver surface, it can properly detect idling and grabs already, and has complete control over the screen. Unlike the X design, there wouldn't even need to be a screensaver "window" that's on top but the compositor could just keep painting a black screen. For those interested in a "fancy screensaver", a plug-in could be used or an out-of-process Wayland client for drawing whatever you desire.
for the record I used to be able to see a bit of the desktop on windows after waking from sleep before the lock screen came on. can't remember if that's still true, though.
Ah yes, I remember that happening on windows xp a lot when it was waking up or between screensaver and login timeout (when they overlap), you'd even get the transition-to-welcome-screen sound so you know it only just triggered the locking just then. I suspect if you are fast you can run something before it actually locks.
Recent Windows login issues I've had to deal with:
* Non-consensual insertion of Windows Update latency into my schedule. Often I don't mind. Sometimes, though, I really, really do.
* Said updates failing but giving no indication of failure other than taking infinitely long.
* Keyboard layout sometimes gets swapped back to QWERTY with no visual indication. This interacts especially poorly with stringent Active Directory 3-try-lockout policies.
* Network hiccups + active directory (or something) can cause login to spin indefinitely, requiring a restart.
* Login screen background occasionally changes to a random picture from my computer. Usually a wildly upscaled application resource. I haven't entirely ruled out my own clumsiness as a contributing factor, but I've also seen this in the wild, so it's at least a UX issue somewhere.
None of this is as bad, in a theoretical sense, as Apple's no-password fiasco, but it has resulted in a far larger footprint on my day-to-day activity.
There were some good bugs in the login part of windows 2000/XP. Most of the ones I know of involve opening a browser while still on the login screen (my favorite was in the help for the screen reader), which is running as the System user that has complete control over the system.
They fixed most of them somewhere around XP SP2 or SP3, where they pretty much disabled help functionality on everything on the lock screen.
When Cortana was introduced, they had some issues of being able to launch the browser while the machine was still locked (though as the user that the computer was locked by). You couldn't do much as the previous bugs as the lock screen still covered everything.
Wouldn't know about the windows lock screen particularly, and I haven't been a windows user since Vista, but such low quality software and UX is what I remember being accustomed to during my time with windows.
I've never seen a bug like that on Windows. Honestly, it feels like a lot of Mac users live in a bubble where Windows is a buggy pile of crap. Meanwhile most Windows users around the world are getting on with life on a stable OS with a great choice of hardware. While nothing's perfect, Windows is in a really good place at the moment.
As a Linux user I feel like windows users live in a bubble where where computers are more or less expected to behave like diseased wild animals rather than machines.
I came up with that idea (windows makes computers behave like organisms and not machines) during an internship where everyone was required to use corporate computers running Windows 10.
I haven’t used it on a personal computer since XP though so I guess you’re not far off.
On the other hand, I could scale my external monitor perfectly with W10, while on Linux the answer is still xrandr. Which makes everything blurry. Unless you scale Gnome/KDE to 2x and downscale.. which makes everything slow.
> While nothing's perfect, Windows is in a really good place at the moment.
Sure, minus the fact that my Windows box would be _spying on me_ if I wasn't a very technically capable person. That's a non-trivial driver for a lot of folks when they decide to pick Apple products. Or, at least, it was until recently with the iCloud / China debacle.
Except that I can not open "Windows Search settings", since it crashes after loading a few seconds. And all the other shit. It might not be as bad as this Mac update, I don't feel confident doing a comparison. But certainly take issue with "Windows is in a really good place at the moment"
Not OP but there will always be counterexamples for any software with a sufficient number of users. I've never experienced the bug you're referring to.
I've spent 15 years on a Mac before switching (back) to Windows *
I must say that Windows has... changed... In a good way. But that's not even the point. The point everyone keeps forgetting, is that OSX is tightly coupled with native Apple hardware, while Windows has to work on a zoo of devices.
My brand new PC running Windows 10 will simply not wake up from sleep, requiring a hard restart. A google search turns up thousands of similar complaints (and no solution).
Since Mojave, waking my 2012 rMPB results in a flash of desktop and content before showing the lock screen. This sounds similar, if not a continued degradation.
The huge spam of confirmation popups reminds me of the "debacle" of Windows Vista introducing UAC. It's kind of inexcusable that, a decade later, Apple did exactly the same UI fiasco.
Apple fanboy and software developer here. Also disappointed with the Catalina release. Had do an NV RAM reset, boot into safe mode, talk to Apple support to solve iCloud issues, and also click away dozens of privacy notifications.
But I still really don’t consider windows or Linux as legitimate alternatives because of the ecosystem log in.
Yes, macOS has its downsides. But what keeps me from even thinking about Linux are all these little niceties:
- copy something on my iPhone, paste it on the Mac (still regularly leaves people speechless when they watch me do it: “what!? You can do that?”)
- my watch unlocks my Mac
- my desktop is always in my pocket, all files sync’ed per default, zero config
- Start Reading something in safari, Hand it over to my iPhone in a second and walk out the door
- All my browser tabs synced across my Mac, iPhone and iPad
- I can curate my TV Watchlist on my Mac and it’s automatically available on my AppleTV when I get home that night
I could go on with dozens more of these little things that I can’t imagine living without anymore. I know that it’s probably possible to achieve most or all of this with a Linux/Android/Chromecast Setup. But every time I watch some of my friends do it, it just looks like so much work to set up and maintain.
The only argument I understand here is the joy of tinkering and that feeling of achievement when you get it to work in the end. Apple is a bit boring in that regard. A lot of the integration stuff just works (yeah, yeah, sure not all, but still more so than on any other platform I know).
I’m not 20 anymore and I just prefer to spend my time with other things these days than tweaking my OS.
So although I wish Apple would invest more into quality on macOS again, for me the walled garden just totally works, and I’ll stick with the lesser evil.
Those features are in no way exclusive. The clipboard sync? KDE connect does that for me between my phone, my laptop and my desktop (even though I use gtk desktops). All my files are in my pocket with syncthing, updated in real time through the filesystem watcher. Tab sync? Just log into Firefox, boom, done. All those things are set and forget - enable once, never think of them again. And they just work and keep on working.
The thing is that non-technical people aren't using those features on windows/linux desktops even if it is possible to do them, whereas they are using them for macOS and iOS
It's the barrier to entry and knowledge. I agree for tab sync but for most things it takes a degree of setup and also knowing that the feature even exists to set things up, but even casual Apple users seem to know about and use these features
Can I just say how happy I am with Xfce. It's a Linux desktop environment that looks like in the early 2000s. It's fast. There are no unnecessary frills. It just gets the job done. Its release cycles are measured in several years, and keep it minimal. I used to be on Windows, then macOS, then Ubuntu and now this. As a developer with soon to be 20 years of experience, it's the best environment I've had.
So was I until I switch to a 4k monitor and realize that there's no real, stable, functional fractional scaling on Linux, even less so on XFCE, unfortunately.
I main Linux on virtually every one of my computers, and I love it. I wouldn't switch off Linux if you paid me. But this complaint is spot on. It drives me crazy that we still don't have good support for higher resolutions.
And there's nobody else to blame for that -- we've known for ages that 4K and fractional scaling was going to be a thing, just like we've known for ages that touchscreens were going to be a thing.
But nope, let's just measure everything in pixels. It's like the majority of native developers on Linux all looked at responsive design on the web and thought, "I'm pretty sure that's just a fad." Everybody just dug in their heels almost on principle or something and refused to make it a priority, and now we're behind both Windows and Mac when it comes to high-resolution touch devices.
And I still run into people who argue that what we should just scale the physical size of a pixel for the entire desktop by a percentage, just so we can keep building fixed layouts that absolute position all of their elements. At a certain point, it feels more like a cultural problem than a technical one.
Everybody else is doing responsive design. QT already supports `em` units (well, sort of[0]). We could be using them on Linux.
Step 1: put 'xrandr --dpi <your actual DPI>' in .xinitrc
Step 2: Use QT applications (Plasma is a fantastic QT desktop)
Step 3: Enjoy your reasonably sized everything.
"Scaling" is a broken concept to work around applications assuming 96 DPI (which is considered scale=1). You don't need it if you use programs that actually respect your real DPI. Unfortunately X11 doesn't properly compute DPI settings, even though EDID information generally contains the screen size - I imagine, for fear of breaking stuff.
(You can correct GTK3/GDK applications by setting GDK_DPI_SCALE=<actual dpi / 96>, but in my view it's a sin that you need to do that)
Try using Linux on a laptop with an hdpi internal monitor, and a regular old external. It's a guaranteed way to generate a daily urge to throttle yourself. (Using Gnome in my case rather than XFCE, but it's still an unparalleled shitshow)
My work laptop is in this situation and it got to the point where I just ran the eDP display in 1080p instead. Honestly on a 15 in screen where I'm only doing code and not editing photos, there's no point in running it in UHD.
I dismissed this initially out of a felt need to max out the use of my hardware. But actually it does solve some problems. I prefer native resolution + 200% scaling when using laptop (also a 15") on its own. But given the laptop screen is further away when I'm plugged in at the desk, 1080p is more than adequate. It also means I can go back to Xorg, which obviates some Wayland bugginess.
So thanks for the idea - it truly had never occurred to me (oddly).
Depends on your distro but on Debian+XFCE I use ARandR (front-end to xrandr cli tool, which is a front-end to xorg's randr). Laptop plus external monitor works great, with auto-config on connect and other stuff.
This is the biggest thing keeping me from leaving the Mac for Linux, and it hasn’t really improved much in the last 4 years. I don’t think most people care about HighDPI (or whatever you want to call it), particularly Linux devs. But I can’t go back to lower DPI screens.
I do care about high dpi but not in the way most people seem to mean: I want as much text as readable on a screen. One of the many reasons for not using Gnome everything is that it insists on making everything SO BIG with enormous amounts of wasted space around it. Those 1600x1200 pixels on my laptop or 1920x1280 on the monitor are there to be used, not wasted. Firefox used to be another offender in this respect albeit one which is easier to tame - just change layout.css.devPixelsPerPx to something sensible (0.7 works quite well), move all controls to the navigation bar and close all toolbars.
Ubuntu 18.04 using 2x scaling is broken in lots of little ways for me.
From the simple (boot screen runs at 1x so text is unreadable) to the wierd (VirtualBox tangle of bugs), to the frustrating (dolphin file manager, which I use to avoid UI bugs in the gnome file manager).
I found workarounds for some issues, and maybe they are fixed in the next LTS, but there is no way I could recommend 18.04 with 4k to a non-professional.
Nah it's too big on a 28" 4k, trust me I tried everything before going back to Windows, even using Gnome Shell (which I despise) and experimental fractional scaling (which barely works, freezes and scales back to 100% randomly)
> I don’t think most people care about HighDPI (or whatever you want to call it), particularly Linux devs. But I can’t go back to lower DPI screens.
I find this surprising. I'd say anyone who does any serious amount of multitasking (whether a Linux dev or not) would easily want one. I think people do care but they are just waiting on better pricing/availability.
> I find this surprising. I'd say anyone who does any serious amount of multitasking (whether a Linux dev or not) would easily want one.
I would have thought so too, but this isn't my experience. The smartest developers I know at my current job still develop with old laptops with awful 720p screens (I mean, awful beyond just the low res) and can't be bothered to attach an external Full HD monitor, let alone ask for a 4K one. And still they are brilliant, produce great software, and are key when planning profound software changes in the company. These are people who I deeply admire and from whom I always learn something valuable when they speak. Keep in mind they are also developers, not "whiteboard engineers".
My conclusion is that we nerds tend to overestimate ergonomics, because they are easier to see ("pff, I can only type with a mechanical keyboard!", "how can people code with fewer than three 4K monitors!"), but the actual bottlenecks and difficulties of building complex software lie elsewhere.
My experience with hiDPI on Linux has been pretty varied. On GNOME, everything just works, and I recommend GNOME to most first-time Linux users. I use i3, and the scaling situation there involves setting some environment variables globally, but is otherwise fine (GDK_scale or something like that). The only issue I usually run into is when Firefox opens my file browser, which breaks the scaling somehow. Other than that, hiDPI is as good as it is in windows. MacOS definitely leads in that regard, but things have certainly gotten better to the point of not really worrying about it in Linux these days.
Seconding i3. I bought into vim when the evangelists came for me early in my career and it has payed wonderful dividends. I can't recommend i3wm for everyone but for those who like keeping their hands on the keyboard and want the wm to just get out of their way, i3 is perfect.
I think things will improve as more Linux devs get HiDPI monitors (ones with good IPS panels are still quite expensive). Ubuntu has some beta-level support for fractional scaling but it looked awful when I tried it. But I live in hope that it'll all be sorted out soon!
This is far from true. Gnome shell itself is mostly OK (if buggy), but only a minority of real apps work properly. The standard Gnome apps (Nautilus, Gnome Shell etc) are fine, but that's where the support pretty much stops.
Qt 5.14 is now in beta and has a toggle switch to do per-display scaling based off DPI on all platforms.
I've had a 4k 27" monitor mixed with 1080p and 1440p monitors of varying sizes for years and have managed to get 90% of software working great, and whenever I dip into Wayland get to use the fractional scaling there it goes up to 99% of software.
By using a combo of xrandr and Xfce's hi dpi setting, I've managed to make my linux desktop more stable, functional and consistent across a 4k screen and a 1920*1200 screen next to it than Windows can manage.
Sure, I had to put in a bit of effort, but now that I have the results are excellent, there's no scale jumping or even the weird rendering MacOS does when moving windows around.
Honestly I just had to switch window scaling to 2x in the Xfce appearance settings, then I run this to fix my layout on each login, giving me a consistent size and no weird rendering -
AFAICT this effectively renders the smaller screen as if it had a much larger resolution (2880x1800), then downscales, giving a good quality image, and then positions the 4k screen to the right of it. The key is the scale factor compensating for different DPI on the different screens.
I tried scaling the other way first, by giving a sub-1.0 scaling factor to the 4k screen, but that meant rendering a lower res and then upscaling, which looked terrible!
The only annoyance now that I have this set up is that occasionaly driver updates change which output is which and I have to update the script so it works again.
Not sure I did anything special, I'm using the clearlooks theme with some customisation of the fonts. See the other answer for how I sorted out the res/DPI stuff.
KDE has excellent support for fractional scaling, to a single decimal point. It is also a very lightweight and fast desktop environment, but has plenty of useful features.
I did try with Plasma on both Kubuntu and Arch at 1.2 and in both cases some controls had very ugly and/or blurry fonts and some were fine. The inconsistencies were too annoying.
typing this from a Linux desktop on a 4k screen, don't understand what does not work ? I can set whatever dpi in my .Xresources's Xft.dpi key and it looks fine
This lol and the tiny title bars that can't be resized in XFCE unless editing the XFWM theme images (unlike Mutter where the title bar size can be changed in a file).
Sorry but I don't have time for this anymore. I would have on my SUSE box in 2003.
Gnome does, but a WM that works isn't much use without apps that do likewise. Linux desktop software support for hdpi is an absurd mess. Some apps can switch resolution when you move them between screens. Others can't. When you combine this with Gnome's inability to deterministically start an app on the main monitor, this means sometimes it's sometimes literally impossible to get an app in the resolution & on the screen you want. Some apps start up with an apparently random resolution (Calibre, I'm looking at you!). What a horror show it is.
Wayland sort-of handles this. That is to say you can set scaling per-screen without xrandr hacks (with Gnome anyway, not sure about xfce). But there's such a variation in support from apps, it's still a mess).
It isn't simple? no. You have different env variables for QT, GTK and xrander can set its own DPI as well. It is kinda a mess, but I use i3 so I figure I'm in for whatever pain I put myself into.
I've been running Linux on HiDPI devices for a couple of years now and I've got things sorted to where it's no an issue on any new device. I need to give Wayland/Sway another shot at some point. I hope it has better native zoom support than X11.
I'm posting in the Linux thread because it's probably annoying to some to see 'but I moved to Linux' threads throughout this comment.
But the original post is very sobering.
I left OS X a few years back when the new laptop came out. Partly the whole USB-C thing I suppose, but I felt that there was pretty good hardware around and the new MBP didn't really shine (and was fiercely expensive). So I made the move to Ubuntu on some new Lenovo hardware (Carbon X1).
I really look forward to the twice-yearly Ubuntu releases. More of the same, rarely any huge new surprises and just generally more polish. I upgraded to Ubuntu 19.10 immediately once the 19.10beta came out and it seems speedier.
I'm sorry to see Mac users get so badly burnt but I'm very glad I made the decision to leave when I did.
For the touchpad I am undecided how much here is software and how much is hardware. E.g. install ubuntu on a macbook, is the touchpad still great or just average?
1) After upgrading I had the avalanche of permission requests. I clicked through all of them on day 1. Needless to say it’s running fine if you ignore running any of the new features.
2) For the first time in my 10+ years supporting Macs at an enterprise level, I’m holding off on upgrading my company to 10.15.
I’m genuinely pissed that there’s an over abundance of annoyances when upgrading that it’s not the Steve Jobs experience. Yes he’s gone, but his spirit and ideals for what brought Apple back from bankruptcy 20+ years ago.
I’ll veer off of Catalina into a Steve Jobs decision that made sense in 1997. Apple had too many products and it was too confusing. Steve said two types of users. Consumer/Pro. Two types of computers for them, portable/desktop. Now we have five different iPad lines. Multiple iPhone lines. What made things simple to focus on at Apple have gone away to colleg grads with no experience.
Catalina is definitely the most badly broken release in the last 10 years.
I can't get Chrome desktop notifications to work anymore, but the worst thing is that all my Apple Music playlists have disappeared from my iPhone.
They do exist in the Catalina Music app, but not on the phone where I need them. I suspect it's because my iPhone 6 isn't supported by the latest iOS release and there appears to be some iCloud version incompatibility that was triggered by Catalina. The iPhone Music app has crashed a few times as well.
They do warn me of just such an incompatibility when I open the Reminders app (which now has a far more convoluted user interface for no apparent benefit). I get the feeling that my decision to just keep using my iPhone 6 until it's not longer good enough will be difficult to sustain.
Catalina also randomly stalls for a second or two and some mouse clicks just don't register for a long time until they eventually do. This seems to have gotten a bit better now so I'm hopeful that it was related to uncached data.
I can add something to the list which is Sidecar i.e. using an iPad as secondary screen. It was a real nightmare to set it up as it’d not detect the iPad despite meeting all the requirements. I found no fixes online so I had the idea of logout & login again (iCloud) so that it might detect it.
Well, it detected I had an iPad but the connection would time out every single time. After rebooting both the Mac and the iPad (another wild guess) it kind of worked - very laggy and couldn’t use the Mac properly as clicking in e.g. System Preferences would open Finder to show me the app under Applications instead of the actual system preferences panel because of reasons.
It’s truly broken and felt like an alpha version. But this has been the trend with macOS and guess it’ll stay like this unless someone high enough at Apple decides to wake up.
SideCar was the reason I was excited for Catalina. But alas, the feature is not supported on 2015 Retina Macbook Pros, only the newer ones with the horrible keyboard, pointless touchbar, only one kind of port, etc.
I'm in the same boat. Installed the betas on both iPad and MBP about a month ago. Turns out my 2015 pre-horrible-keyboard MBP is too old. And none of the published hacks around the restriction work nowadays.
Had the same issue initially. Called Apple support who debugged it via remote desktop. Turns out Sidecar uses iCloud for handshake between the two devices (god knows why), and for some reason requires 2FA on iCloud to be turned on for both the iPad and the laptop, on each device. I didn't have iCloud 2FA setup completed on the laptop, so it didn't work until that was resolved.
Not helpful but I had the opposite experience. Sidecar Just Worked with my MBP and 2016 iPad Pro, and drawing on it was extremely smooth. A better experience than Astropad so far, personally.
All the nightmares are nightmares until they're not nightmares. Weird launch day bugs like the I bug on iOS 11 are distant memories.
Yeah, these bugs are bad, but to me articles like this really feel a lot like a broken record. Every September and October, when the major releases come out, there are bugs. And then by the time you're on 10.xx.2 or iOS xx.1.3 a month later they're just a bad memory.
If you don't want bugs, don't upgrade right away. That's not an Apple-only phenomenon - remember the Windows 10 October 2018 update that had to be entirely retracted?
10.14 is still supported. 10.13 is still supported. 10.12 is still supported. Keep using those if you want.
Except the rest of the ecosystem is constantly egging you to get on with it. I upgraded my phone to iOS 13 and right away it wanted to update the format of my Reminders, which would require I also update my mac.
I will “resist” Catalina as long as I can, for the simple reason that it will kill tons of much-loved software (from major games like xcom to small little opensource apps that may or may not ever get an update). But I already know at some point Apple will tell me that I have to move on just to keep some stuff working as before.
Someone get Apple marketing on the phone. They need to adjust their keynote messaging to: “It’s our best desktop OS ever! Oh and one more thing, don’t use it yet, it’s pretty fucked and we’ll hopefully fix it in a few months. It’s on you if you want to do our unpaid QA. And now, it’s my pleasure to welcome Bono to the stage to demonstrate the new animoji!”
> 10.14 is still supported. 10.13 is still supported. 10.12 is still supported. Keep using those if you want.
Unfortunately, not well enough. Catalina contains security fixes that apparently [0] haven't yet been backported to Mojave, let alone the others. I wonder how early or late into the beta those bugs were fixed; potentially, they've been patched for months.
In the last years, Apple has only shipped security updates for previous versions of macOS when the .1 release of their new OS came out. So you either dive into a buggy .0 release, or you live with well-known security issues for a month. It's ridiculous.
The author stated that the beta software did that over the summer. The author also stated that using their own personal account instead of a test account.
I’ve gotten calls from my mom after she’s done a software update and had a bunch of things break. She’s more careful now, but I think the expectation set for the general public is that when someone announces an update is available, that it’s not going to be Beta.
> If you don't want bugs, don't upgrade right away.
And what about people who buy new laptops? They're just screwed?
And, your new laptop hoses your iCloud so you lose functionality on your old laptop.
And, 10.12 claims to be supported, but you can't run the latest versions of some software (like Xcode). So, it's "supported(don't read the fine print)".
Yeah. I don't use any 32 bit software so I'm good there. Catalina has actually been the smoothest macOS upgrade I've had in awhile when it comes to all my 3rd party apps working. One annoyance was with some of my CLI programs (like Terraform) where I had to open them from the Finder right click -> open to get them marked as safe to run. That was expected though.
I mean Windows 10 May 2019 release was "deemed safe" only at the end of September. It is no surprise. Companies push to meet deadlines which in turn results in buggy releases. It happens in video games quite a bit too where the full release is nothing more than a buggy beta for a few months.
Okay, so you're saying that a dozen other games that I like to play sometimes are going to magically start working after I wait for six months before updating to the new macOS version?
These games are not even that old, released from 2010 to 2016 or so. And Catalina won't let me play them, because some asshole decided that I'll be fine without them, and removed 32 bit support from the OS.
Meanwhile, I can still play games from 1995 on Windows 10 without any problems.
But the second iOS X.0 is released, the support for iOS X-1.* is dropped immediately. The massive amount of security patches saved up for X.0 releases are not backported.
Couldn't agree more. These updates just aren't compelling. It's been a long time since a newer version had speed improvements. I stayed on Mavericks and El Capitan until support ran out. And I'll be waiting again until all the necessary 32-bit software has been ported.
I just upgraded to Catalina today on my MBP, and that screenshot of Allow/Deny notifcations hits the nail on the head! Likewise the popups about allowing apps to control other apps - what a wonderful way to introduce me to Catalina!
I mean, come on, there has to be a better way than this, especially from a company supposedly famed for it's user-orientated designs and thinking?
Maybe Apple could have gone through all the apps on their own App Store, built a whitelist out of the privileges that each of those apps effectively needs to do its job at all (not optional features, just the “makes the app more than a paperweight” feature-set), and shipped Catalina with said whitelist.
For example, if, when you upgraded to Catalina, the App Store version of Alfred was already installed on disk, then macOS should assume that you’re an Alfred user, who wants to continue to be able to do “the thing Alfred does” (launch apps) without asking.
And before you say “but what if this whitelist authorizes malware to continue being malware”—if there’s malware on the App Store, then they should probably solve that by removing the app from the App Store and deauthorizing the developer’s code-signing cert, so that Gatekeeper won’t run it any more. Just kill the vampires; don’t ask the user if they want to let them in.
> if there’s malware on the App Store, then they should probably solve that by removing the app from the App Store and deauthorizing the developer’s code-signing cert
Apple has been spectacularly poor at spotting bad apps on the Mac App Store.
I would have given all already-installed applications the permissions they had in the previous version of macOS. If I've been using an app for years it's a bit late to worry about it reading things that I don't want to read, and in practice showing a giant wall of permission prompts on first startup is just going to result in users clicking on Allow on all of them anyway.
Well, I'm not famed for my user-orientated designs and thinking!
But there are numerous ways this could be handled. A few off the top of my head:
1. Do nothing - leave things the way they were pre-Catalina
2. Default all apps installed pre-Catalina to "Allow", so you only get the prompt for newly installed apps
3. Make it configurable at the OS level, so you can set the default you want, and then tweak individual apps as you see fit
Honestly, I just want an off switch for TCC. (It can be in the Terminal-only.) I'm kind of surprised there isn't one—Apple is usually pretty good about providing this stuff on macOS (at least relative to that other platform).
Even with SIP turned off, there's no way to just blanket dismiss the dialogues. (Although, I'm sure without SIP someone could use code injection, but no one has, and given the amount of work it would require I'm not surprised.)
With SIP disabled, it might be possible to directly modify the TCC database…maybe someone can write a script to do this so it includes all your applications already.
I once put a 200 point bounty on an Ask Different question for how to directly edit the TCC database (when SIP is off). No one answered. No one answered :(
What about coalescing the lists of applications requiring specific permissions, for instance, and presenting that to the user at the end of the setup process in a more structured step? I'm imagining a list of "here are XYZ applications requesting location services access, pick which ones you don't want to give location access to" and then a list of "here are ABC apps that want microphone and camera access". It's not great, but it does eliminate the myriad popups. The more "Apple" solution would be to just have sensible defaults (deny) and only prompt the user when the app in question wants to access that specific item (the way iOS implements it).
> The more "Apple" solution would be to just have sensible defaults (deny) and only prompt the user when the app in question wants to access that specific item (the way iOS implements it).
This is how it works; it’s just that macOS applications are not used to delaying authorization prompts to the appropriate time so they ask for it on startup.
I haven't upgraded yet, but I would expect there to be a one-time user flow when upgrading. Walk the user through new features and then bring up a single page with a list of apps that need modified permissions. Let the user select all for 'Allow' and have them type in their password once. Done.
Detect when there are multiple apps that are asking for new permissions simultaneously and then ask the user if they want to go to the "bulk permission editing page" to manage them.
On that page there could be a grid of apps vs permissions with the permissions each app is requesting highlighted. One click to switch on each permission and even a power user could be on their way in a couple minutes.
LineageOS has a similar permissions list for all apps installed (albeit without a nice overview grid) that I think makes it very easy to manage what each app is allowed to do.
"please review permissions" opens a table with your applications listed in rows and permissions requested by each in columns. Popups like this remind me of the internet in 2003.
Maybe handle it with a sidebar that lists all of the requests. Apple knows people are going to get flooded with these requests, they should have had a queuing sidebar to list all of the requests and that you can go through them one at a time.
Take a look at where Windows UAC eventually ended up. A lot of this can definitely be streamlined by having the action itself also be the permission approval, as UAC now does.
Doesn't necessarily help with 3rd party apps, but it's a bit insane that the bundled apps on the OS itself have all these issues, too (like iterm fighting finder??)
EDIT: Or for notifications they could take a page out of Android's book. Default allow notifications, but after the user dismisses a few of them without interaction prompt if they still want to keep receiving them. Take a spam-filter type approach instead of allow/deny prompts everywhere.
Jobs was obsessed with design, but it had to actually work. “Real artists ship” was his famous quote and he was making tools for people who also had to ship. Cook and Ive aren’t making tools for working professionals, they are making exhibits for a design museum. This permeates the culture: no one in Apple management gives a flying fuck about the OS (or the keyboard) because you aren’t meant to use it or even switch it on. Just look at it and admire it, on your desk if you’re a pleb but preferably in a glass case in a white painted room.
Someone like Cook is probably very very busy with the logistics of running one of the worlds biggest companies. I dont think he cares that much about products, hes a businessman not a user
Great post detailing everything wrong with Catalina so far. I installed it on my personal Mac, and that scared me off of ever installing it on my work laptop. Hopefully I can jump to whatever the next thing is. Or maybe it's time to get off Macs for good.
At least don't try to use the version of Linux under MacOS as a Linux system. The OP is running cron jobs and Python in the background, and changes in the Apple security environment broke them. If you need to run Linux stuff, put it on a real Linux system.
>> don't try to use the version of Linux under MacOS
MacOS is based on Unix not Linux.
However, I mostly agree with your sentiment and would extend it to “use the right tool for the job”. Use launchd (although I hear it is on the way out) instead of Cron etc.
I recall Rene Ritchie saying that Apple introduced a new scheduler that they have used privately since Mojave (could be related to the BGTaskScheduler, but I'm uncertain).
I just remember thinking, oh crap, now I need to learn a new scheduler.
macOS runs on Darwin, which is a BSD derivative. There’s no Linux involved at any level as far as I know. Also, cron is a standard Unix tool that predates Linux by at least a couple of decades I think.
If you want a BSD system, run {Free,Net,Open,Dragonfly}BSD. You can do it on cheaper and better hardware than Apple offers. It just might not look as stylish, but who cares? T-series Thinkpads have better keyboards than Macbooks, and you can still get a used T60 for less than a hundred bucks. (More recent models will cost more, but you'd be shocked at what you can do with a T60 once you get a new battery, max out the RAM, and replace the HDD with a SSD.)
I'd just like to second the used-Thinkpad route. I picked up an X250 (Skylake i5) on eBay last spring for $160, and after maxing out RAM (8GB), a decent SSD and a new battery I'm out ~$350 for something that is both indestructible and quite zippy. Yes, it's not shiny, but IMHO it's a far more practical Unix-y workstation. (I mainly run Linux but I've tested OpenBSD too and everything Just Works.)
It's all very depressing. Like most of us here, I have become increasingly frustrated with the state of Mac (touch bar, bad keyboards, odd choices that fit neither creators nor developers well, and so on). No point rehashing it all.
But where does that leave us? I spent a year on Windows 10 not so long ago, on upper end laptop hardware with HiDPI screen, and it was less fun and more problem prone than macOS - especially when it came to fast day-to-day stuff we never think about, such as PDF printing, quickview, etc. Plus in Windows you get the mysterious stop-the-world issues (that I suspect are OS level misbehaviors when some remote network connection has become lagged). There may be some use cases where Windows is actually faster/nicer/better than macOS, but they're not non-MS development, Adobe CC work, regular file management work, etc. Maybe games are it.
Desktop Linux (even on standard desktop computers, not just specialized laptops) is far from perfect. Getting everything to work is a lot of effort, and then mysteriously something will stop working. Every window manager has some rough edges or cases where it's unpleasant. Getting and keeping a Linux Desktop in good working order is harder than it should be at this age of Linux.
ChromeOS?... I know some people who use that as their daily driver. Obviously there are desktop apps that they don't need/use (Adobe CC, for example). But what happens when some automated Google thing triggers an account ban? Bricked laptop and no data?
Thing really do not seem to be improving on the whole. Old problems are replaced with new problems, but the layers and separated concerns mean more complexity and more difficulty solving problems.
> Getting and keeping a Linux Desktop in good working order is harder than it should be at this age of Linux.
Maybe because all the developers ran away to Macs, instead of sticking around dogfooding and fixing bugs? Free software is a collaborative social enterprise - it's not really anyone's job to make free stuff for you to use. If, as a developer, you've taken the easy path of proprietary software for years, and now after finally getting fed up of being abused by a company that doesn't have your best interests at heart you return to the world of Free Software only to complain that it's still unpolished - then I'm afraid you are rather entitled, and deserve a serenading by the world's tiniest open source violin.
And make no mistake, the kinds of "rough edges" you refer to are not hard computer science problems. They're broadly just the kinds of everyday maintenance things that inevitably crop up in a huge software project on an ongoing basis and are easily fixed by many eyes and a little graft. The more eyes, and the more graft, the more polished the system.
For what it's worth, Desktop Linux for all its faults is still light years ahead of the competition. Far from perfect, as you say, but it really is the least bad choice. As they say - the best time to rally around Free Software is 10 years ago, and the second best time is now.
I have been dealing with computers since I started CS in school 18 years ago, and well my preferences have been changing since then.
I used to love playing with computers and being able to try different linux distributions even if I had to spend 5 hours to have a usable external monitor (actually spending that time was one of the best parts) but that changed mostly because of my needs, but also because of my economy.
When I had to start being more productive and I could afford it I bought my first Mac Book, and it lasted ten years! At that point I realized that maybe for me it was worth it spending that money and using that time to configure a keyboard doing something else.
I feel I was the target at that time for Apple with some of their products, maybe now things have changed and I am not anymore.
And I guess yes, marketing is what is driving them, but I think they are abandoning part of what they used to be their target and, hopefully, someone will fill that void with something that makes me as happy as when I bought my first Mac Book.
BTW, now I am using a Pixelbook and a Mac Book for my personal stuff and Windows professionally and although is getting worst and worst I will still keep buying them.
While I sympathize with your political position on free software, I have come to the unfortunate conclusion that this point of view is idealistic[1] and short sighted.
The vast majority of engineers don’t commit to switching to free software not because not enough hearts and minds have been convinced yet but because the entire economy and the basis of everyone’s material existence depends on a system that is at this moment market-based.
The popularity of proprietary software stacks is ultimately structural, as are the problems and caveats of proprietary software. Engineers are, in the vast majority, dependent on selling their labor to the commercial employment market for their livelihood, in many cases an extreme amount of labor in a highly competitive environment.
It is absolutely great that many engineers dedicate free labor to contributing to free software, and it is completely unreasonable to expect that anything at all could make the vast majority do it. Not an unreasonable expectation of an individual, but of the structure.
[1] in the sense of philosophical idealism vs materialism
The majority of web servers that serve all the web content that you use are Linux based.
Some of the most popular video games that have massive markets and revenues behind them (CounterStrike and moba games) have all started out as free mods to existing games.
The largest share of the worlds smartphones run Linux.
Twitch streamers, some of which make extremely high salaries, use open source broadcasting software
Python is now becoming the de-facto language of scientific computing, with all the major libraries available for free.
You are greatly discounting how much open source software has affected, and more importantly changed the direction of bought software.
I don't think anybody is doubting about the huge impact of open source in science and technology, is more that maybe linux is still not a substitute for some commercial products
But...it very much is if you are looking at software that falls under the group of "operating systems".
There are use cases that realistically warrant enterprise software, but those stem from the argument of optimization of time - for example, not doing all your computation stuff in python with spending upfront time learning it when you engineers know Matlab. But those are not intrinsic to the software, it just so happens that Mathworks funds universities and pushes their product to be taught in classes, so that they can get revenue from companies buying licenses when their engineers enter the workforce.
If colleges switched to teaching with open source software, this would have zero net effect on the capability/knowledge of someone that graduates said program, because all the material is going to be new to him or her anyways. And, it would also increase the userbase of the software, and thus improve it.
This!. Love your reply. I'm also tired of developers criticizing Linux desktop for not being friendly enough and running away to propietary systems instead of trying to help to fix what they don't like of Linux Desktop. That's the good thing of open source: don't like it? Then fix it and send me a patch and stop complaining. Its not like propietary systems where you only can complain (you can't fix)
Maybe they want to get stuff done, other than puttering around in the tooling. It's a nice option to have, but would be ruinous to productivity.
Also, design by committee rarely produces good UI. You can patch little UI bugs, but if you really want to holistically improve the UI it's a huge undertaking.
Just because you're developer, doesn't mean you want to hack on every tool you use. Software has gotten way too big for that.
I can attest that using free software is not ruinous to productivity - least of all in the field of software development itself.
You don't have to fix every bug you find. Just fix the odd bug, and work around the rest until somebody else fixes it; many hands make light work. But the work doesn't get done at all if you run away to proprietary platforms.
You don't have to boil the ocean. Just do your civic duty from time to time. Once a year, even. If everybody on HN used desktop Linux and, once a year, invested an hour into fixing a minor, polish-level bug, desktop Linux's polish problem would completely disappear.
> You mean like that crufty thing called homebrew?
What kind of problems have you faced with Homebrew? Can you please elaborate?
I use Homebrew all the time and it just works for me out of the box without any issues. I never had to edit configuration files or customize anything to make it do the right thing. It just works.
This attitude really bugs me. Linux is crap because the community around it is dysfunctional and doesn't care about building a working system, not because developers "ran away".
I am typing this on a Mac. I spent years as a desktop Linux user and developer.
For maybe 5-6 years, I invested my evenings and weekends in trying to improve desktop Linux. I fixed bugs in ALSA. I worked on Wine. I fixed bugs in GNOME. I wrote freedesktop.org specs. I did a lot of stuff.
I also watched as lots of other people tried to fix basic problems.
You know what my experience was?
Half the time, attempts to fix things triggered massive flamewars. KDE and GNOME couldn't agree on basic things like how notifications should work; any attempt to come up with a compromise system resulted in the KDE guys screaming and yelling about how everyone should just adopt their own system (which had braindead usability problems). Linux people thought package management was God's Gift to users, even though actual users kept telling them it was awful and they just wanted to download apps from websites. The kernel developers insisted that every driver by GPLd, even though this was incompatible with the business models of key hardware developers, resulting in those firms working around the GPL, ensuring nobody "won". Common distros couldn't play music or video files because of a refusal to pay for software patents.
The other half of the time attempts to fix anything were rapidly undone by pointless ecosystem churn as things were written, rewritten, thrown away, and rewritten again.
There was no coherent plan, no architecture, and competitive evolution turned out to be bad way to create an operating system. Developer experience was a nightmare. Any time something deviated from what was laid down by the original UNIX in the 70s it caused massive schisms and basic APIs split or stopped working.
Linux on the desktop will never be competitive with macOS regardless of how badly Apple screw up their QA because the desktop Linux community is far more dysfunctional.
> That's the good thing of open source: don't like it? Then fix it and send me a patch and stop complaining.
That's simultaneously a good thing and bad thing. It's good because it's possible. It's bad because when everyone is responsible for a platform's software defects, then no one is responsible.
Even if we ignore average users, and just consider developers, the overhead and learning curve is prohibitive. A frontend webdev or even a backend Java dev would probably have a really hard time tracking down and fixing an issue in Xorg or Wayland or in their touchpad driver. The relevant maintainer could likely fix it in a few hours or days if they had the available time and motivation, but the user (who just happens to be a developer in an unrelated field) would likely take many days or weeks.
Even if you match skill-sets -- say a C programmer is having trouble with some GNOME UI issue that would turn out to be a bug in a C library -- you still have a big hump to get over to contribute to a project you're not familiar with. Build system, how to safely test changes on a live system (where the normal software comes from a distro package), code organization and just learning how things work in a new code base, code style, pull request process, review process, etc. -- all of this makes it really difficult to contribute, even if the actual change is small.
I do wish more people would take the time to dig in and scratch their own itches, but I absolutely don't blame them for just wanting to be able to get their work done without having to first fix their OS and tools.
(Credentials: I use Linux as my daily driver, and have gotten frustrated by macOS as a development environment any time I've had to use it as such. I used to be an Xfce core maintainer, a decade ago. These days I mostly do Scala and Java backend dev, and consider myself quite rusty with languages like C.)
Well put! I use KDE nowadays exclusively and all the tremendous progress they showcase here - https://pointieststick.com/ - is very real and exciting. They have made the development process easy and friendly and it really shows in terms of contributions they are getting.
I enjoy reading the progress every week and digging into the bug fixes and review comments! One day I will have some free time to contribute.
I would be very happy to pay $140 one-time price for a fully functional, working Linux desktop environment. Even if it's limited to way fewer hw configurations than a Windows OS. Btw. $140 is the cost of Win 10 Pro.
Well said, no pain no gain. If your not prepared to walk away from proprietary software and deal with the rough edges then you're a captive audience and the creators of the proprietary software have no incentive to improve.
And let's face it, most of these "rough edges" are just excuse making, the sound exactly like the sort of things people say to avoid losing weight, quitting smoking, etc.
> And let's face it, most of these "rough edges" are just excuse making, the sound exactly like the sort of things people say to avoid losing weight, quitting smoking, etc.
In this comment you sound like you're absolutely convinced that linux is the best in every way, and as if linux is a goal, rather than tool to you.
If these rough edges are "excuses" not to use the tool, then how is that not a perfectly legitimate reason not to use it?
This is coming from someone that has linux as a daily driver by the way. I think over the years a lot of these rough edges have gone away, but some are still there. Sound configuration, multiple screen setup or gaming are just a couple of big examples that are still jarring and sometimes don't work right and would absolutely be a turn off for normal users, and a valid reason even for devs to say they don't want this.
People make it sound like these excuses are "entitled" from devs who don't want to contribute, but that just reveals that they think they're entitled to that dev's contribution, which is not true.
> If these rough edges are "excuses" not to use the tool, then how is that not a perfectly legitimate reason not to use it?
Because it gets a little old seeing people reason themselves into a position where they are stuck with apple and it's the fault of linux as the GP did. If only linux were better I wouldn't have to keep buying apple.
If they aren't willing to jump ship then apple has zero incentive to change anything, so they're just stuck and unwilling to accept any way out.
> In this comment you sound like you're absolutely convinced that linux is the best in every way, and as if linux is a goal, rather than tool to you.
It is, at least getting myself off abusive proprietary software is the goal. I can write at length of the problems in linux, but at least I'm not stuck complaining about telemetry and being too lazy to do anything about it anymore. I've still got a way to go in other areas.
This seems perfectly reasonable, and this is for me also part of the reason I'm using linux.
I do however still sympatise with devs and users that simply aren't comfortable making the switch because of these "excuses". I think their position of staying with proprietary software is also perfectly valid- although as you point out, this doesn't help the greater good.
I switched from macOS to Linux [Fedora now] about a year and a half ago, out of the same frustrations that affect a lotta folks --
It took a little while to adjust, but since there are a lot of similarities between the Linux and Darwin command lines [and Linux package management being better than homebrew by my lights] , it wasn't very long before I was like "Damn, why didn't I switch 20 years ago!!!" Plus now my hardware works [edit : and is user-serviceable], is reasonably ergonomic, and OS updates don't break my existing programs...
I agree. And I just did the opposite. Been using Fedora for a year or so on an X1 Carbon and switched to having to use a new 2019 macbook pro for work. I had fond memories of macs when I last used them 6 years ago but today....wow. Not that great an of an experience. At this point for work (eng, devops/sre etc) I'd rather have Linux and I really wish I could use my carbon X1. :(
I see no real adv to dealing with the mac platform today if what you want is a "unix" env. On the Linux of today, the minor annoyances are worth it - and they really are very minor on good hardware and a mainstream distro like Fedora or Ubuntu. Plus you get the tooling on the platform it was developed for - real docker, real pkg mgmt, etc.
Don't get me wrong, there are still some nice things in macos and the hardware (yes the trackpad is nice), but to me they really are not compelling enough args now - at least for me.
Now if only we could get a few of these minor annoyances fixed in the Linux desktop (e.g. Gnome) then I think it might really be the "year of Linux on the desktop" ;)
What I keep hoping for is for Microsoft to announce a new Windows with a Windows desktop & API on top of Linux--a gradual, parallel transition like the decade-long DOS- to NT-based Windows transition.
Since MS seems to have grown tired of trying to "sell" Windows, not sure whether to fight pirates or support them, etc., and is looking to services, most of which run on Linux, they could give "Lindows" away, like Google with Android but with more thought behind it, and create the kind of focus that could get all the things working reliably in a desktop Linux. Other Linux distros could then start with working versions of everything and offer customization options in only the areas that a specific customer segment wanted to manage for themselves.
Spot on re : tooling -- likewise, I too gave up on Gnome early on, and also dislike KDE [too heavy] -- a friend turned me on to LXDE and it's been smooth sailing since
If you haven't tried KDE Plasma in the last year or two, it's worth revisiting. I tentatively tried KDE 4.x back when it was the hot thing, and was disgusted by how it seemed to bring even a top-spec gaming desktop to its knees. Now I run Plasma 5 on my laptop (on Void Linux - I feel that package maintainers make a big difference here), and it's far and away the best desktop experience I've ever had.
I've finally recovered that sense I always got from the Windows 95 shell, that's been missing in every desktop environment until now - that sense of "wow, they've really thought this through".
Agreed. I have always chased my tail when it comes to distros, and when it finally came around to checking out kde (¡again) the plasma version was really an awesome surprise. It still has a few warts, but it's the prettiest/cohesive of them all.
What I want fixed in the linux desktop is IT support. Everything my company does or make works with Mac or Windows, but I can’t even get config values to set for anything else.
I've used Linux several times over the years and the hardware never totally works. I've always had trackpad issues, issues with suspend and hibernate, wifi issues, screen resolution issues, battery life issues, sound issues, driver issues etc.
It 'works' in terms of you can technically do work on it, but you have to make a huge number of concessions and this is before considering it has less application support.
[Edit]: The replies suggest this is mostly still the case, people say it works flawlessly - except for [insert issue here]
Considering that HN is full of programmers and technical users, and literally every time Linux is mentioned people go "I had a problem getting Z working, but I did that and...", "X and Y did not work", "U is not supported", I'd say hit and miss.
Case in point, just from this thread, and from people who say they are otherwise satisfied:
"The worst of my Linux woes were the usual suspend/hibernate issues running Ubuntu on company-provided Thinkpads."
"Suspend/hibernate works on thinkpads with a moderately recent Linux kernel and a bios toggle."
"The only issues I have had is that the sound output sometimes does not automatically switch to/from HDMI when I unplug a TV, and that gnome gets slightly laggy after a really long uptime (its a really weak laptop performance wise)."
"I did have issues setting up certain drivers (i.e. the bloody wifi which tbh is still a bit iffy on my machine) but otherwise it's been amazing."
"actually, on one of my workstations I have a ten-year-old Quadro 4000 that was being a pain in the neck on Fedora 29 -- but the fellows over at LinuxQuestions sorted me out in two shakes."
"I have the latest X1 and almost nobody has a working mic. Also battery life sucks and Bluetoothd always needs a restart after suspends."
"I have a gen 6 and no issues. Is it a 7th gen? BTW what disto? Im on Fedora 30. I would check that you have linux compat turned on in firmware and patch to latest firmware."
"My only Linux laptop was a Fujitsu Lifebook. Turns out laptop manufacturers are garbage at writing ACPI drivers for their own hardware, and so Microsoft has been going around quietly patching them so nobody notices. I ended up having to create my own driver for the lifebook. I cobbled from two other people's failed attempts at making a better one (each fixed different problems) and some fixes from the newest model in that product line. At no point in time did I think it would be fun to write ACPI drivers."
I haven't touched windows or mac os for 15+ years. I definitely recall having to recompile my kernel, tweak default configurations, or hack up broken code to get my desktops working back in the day, but it really hasn't been an issue for at least 7 or 8 years now. One thing I started doing that makes a huge difference is only buying parts and systems that appear on a major distro's compatibility list.
You got me, though, I did have issues with my bluetooth mouse losing connection during suspend on my latest Thinkpad. You could get it working by turning the mouse off then on again, but eventually I fixed it for good with a two line shell script.
Counterpoint is we just issued a shitload of the latest gen x1 carbons (whatever the first gen to get USB c is) and it's all flawless out of the box for Ubuntu. I guess they ship now with a firmware update to fix s3 sleep issues.
Everything on the thinkpad x201 works out of the box with alpine Linux. Considering that’s one of the smaller distros I’m sure the other ones work great (unless of course you run chrome on gnome3 but that’s going to suck even on recent computers.)
Isn't the whole point of OP one giant "it works flawlessly - except for xxx" post? Except in this case, the xxx is a much more seriously negative experience compared to a couple small up-front issues with getting hardware set up the correct way.
It's pretty clear that no OS is going to be perfect; but the message I take away is that Linux is to the point where you completely have the ability to tweak and adjust your system so that it works flawlessly after some effort (as in my case, switched ~1.5 years ago. Zero problems after initial checking of driver situations). On the other hand, macOS, even from a technically savvy point of view, is unfriendly and beyond the user's power to fix.
In my experience most hardware works flawlessly, although admittedly some hardware is better-supported. I've owned two (soon three) Dell XPS 13 laptops since 2013 and have always had a really smooth experience running Ubuntu. The worst of my Linux woes were the usual suspend/hibernate issues running Ubuntu on company-provided Thinkpads.
I've also had to use various Macs for work in the past and have had terrible issues with wireless networking and bluetooth.
"The worst of my Linux woes were the usual suspend/hibernate issues running Ubuntu on company-provided Thinkpads."
I don't doubt that is your experience but I don't know why. Lenovo are pretty Linux friendly and suspend/restore has been a fixed thing in general for years. Maybe you need to update your BIOS.
I can provide you with a very long list of fucked up systems that will, say, not run Windows 10 1903, depending on already installed software and other silly stuff.
I'm typing this on a Dell laptop that runs Arch Linux.
I run Archlinux on a gaming laptop (a Lenovo Legion) and it's perfect for my needs. And everything works! Linux becomes better and more compatible with each passing year. This laptop is a portable development machine with a nice keyboard and a powerful enough processor (I specifically wanted a 45W CPU).
All the "pro" laptops seem to be focused on smaller sizes, and on premium/luxury features and price. I'm glad cheap gaming laptops running Linux are a perfect fit for my use case.
If you are not a gamer and don't need a beefy GPU for development (most people don't), you can also look at more "workstation" grade laptops from e.g. Lenovo (P-series, that kinda thing) or Dell. You'll get a few enterprise features and spec bumps that might be beneficial versus 'gaming' features (e.g.: Xeon, ECC, more NVMe + free slots, free RAM slot, RAM up to 32 or even 64GB).
But yeah, gaming machines always make for great dev stations, whether desktop or laptop.
Some thinkpad models (e.g. 6th gen x1 carbon) didn't ship with bios support for the s3 sleep state. It was added later. Even the ones that were shipped with an updated bios did not have the option enabled (because windows uses "modern sleep"). I don't have a source listing all the lenovo hardware that needs to be configured for proper linux sleep.
I seem to remember borked cifs/smb support at one point being the most painful.
Edit: not sure why the downvote... MacOS, don't remember when, switched to custom cifs network sharing, and it caused a LOT of issues for my workflow at the time.
>[Edit]: The replies suggest this is mostly still the case, people say it works flawlessly - except for [insert issue here]
I count 7 or 8 broadly unconditional "it works fine" child comments. 1 "it mostly works", 1 "I had to write my own ACPI driver", 1 "it works fine except HDMI sound switching isn't automatic sometimes", 1 "drivers were hard to set-up, WiFi is iffy", 1 "it's not perfect so try it first".
IMO that's majority positive - more than can be said for e.g. macOS which fails to do basic things like mount and copy files off an Android phone out of the box.
I don't think your conclusion is a fair one (or perhaps it was premature) and is perhaps tainted by your own negative experiences.
At my last job we had people very happy with linux, with the following caveats:
- they didn’t care about moving it around half a day and keeping decent battery life, for most of them it was effectively a desktop.
- they didn’t care about any CJK support. None of them would be bitching about chinese fonts on japanese pages or worse IME.
- they didn’t need any peripherals outside of screens, keyboards and mices. We had to use a usb dongle to project into videoconf room at a client, I have no hope it would have worked on linux. Printer/scanners would be a nightmare too (and it’s already not good on other platforms I concede)
Linux workstations are plenty usable, thus a lot of positive feedback. But we should acknowledge it’s not for every use case, and it can need tweaking in parts that are different for each user. MacOS with all its current flaws has still a lot of things better done than most (any?) linuxes.
> - they didn’t need any peripherals outside of screens, keyboards and mices. We had to use a usb dongle to project into videoconf room at a client, I have no hope it would have worked on linux.
You can actually buy Linux laptops with not just USB-C, but also USB-A, HDMI, Ethernet ports, etc. As someone with a Linux laptop who has never run into a peripheral issue and has coworkers with peripheral issues with their MacBooks, I'm not super convinced that the grass is greener on the Mac side of this one.
My point was that if you pick the right hardware, you don't even need dongles most of the time on Linux. The laptop I'm this comment on (a Thinkpad X1 Carbon) has a built-in HDMI port, so I can plug into external displays without having to worry about compatibility. Similarly, if ethernet is a concern for you, there are plenty of laptops available with built-in ethernet ports, so you wouldn't need to use a dongle.
For USB-ethernet dongles (even USB-C), I generally expect hardware support to be better (and not require external driver installs) than on macOS or Windows.
That reddit thread is odd, as I've been using the Apple USB-C multi-port dongle to do HDMI on Linux (no config necessary, just plug it in and it works) since before that post was made.
> they didn’t care about any CJK support. None of them would be bitching about chinese fonts on japanese pages or worse IME.
If they did care about CJK support, it's not a big deal. Most distros have CJK fonts packaged up (possibly not installed by default, unfortunately) that are a couple clicks or package manager commands away.
IMEs can be a little less straightforward, but I found adding ibus to an Xfce install to be pretty trivial; just a matter of installing ibus and the input methods I wanted, and then restarting (since GTK, Qt, etc. require environment variables to tell it what IM module to use).
It would be nice if this stuff was set up out of the box, but it's pretty easy to set up, at least compared to other complaints I hear about using desktop Linux.
I agree with you, with small adjustments here and there and some research, linux works decently enough.
Just in this context, we started from a post complaining about having to click into a lot of dialog box every first time something is done, and some stuff that doesn’t synch correctly forcing debugging and some setting reset/resynching. That’s such small potatoes in comparison.
1) For the record, all my Linux machines came preinstalled with Windows;
2) I don't think it's at all unfair to macOS / Mac hardware. Macs used to be great, hardware and software-wise, for development and other "making stuff" type work, and they used to be stone reliable. There's been a real qualitative change in Apple's approach to 'pro' users [for lack of a better term] -- OS updates having more unexpected / unwelcome effects, number and type of physical ports on systems becoming smaller and less practical [not even one single normal USB port on this year's MPB!], user-servicability + upgradeability of hardware diminishing over time to practically zero -- the situation is well bad.
I was a devoted macOS / OSX user, but as I mentioned in the earlier comment, I got fed up and jumped ship due to these reasons, which reasons had real impact on my productivity and contentedness-as-a-user
My ASUS Zenbook (like 3 years old) works absolutely flawlessly. I actually had full crashes on windows, but none on linux. I never thought it would be this good.
The only issues I have had is that the sound output sometimes does not automatically switch to/from HDMI when I unplug a TV, and that gnome gets slightly laggy after a really long uptime (its a really weak laptop performance wise). And I'm a person who gets very annoyed with small issues, I'm just super happy. I have a real native terminal with package management, and a window system that I like, and all software except photoshop.
FWIW, I switched from using a Mac for a decade to using Ubuntu on a brand new Dell XPS and it works perfectly. Even though Linux users are a tiny minority of users, I find they are quite helpful at publishing their problems and eventual solutions. I did have issues setting up certain drivers (i.e. the bloody wifi which tbh is still a bit iffy on my machine) but otherwise it's been amazing.
I'd rather have 100 bugs that I could fix in principle than 1 bug that I just have to deal with because some company thinks it's a feature. And I'd rather be part of thousands of engaged tinkerer types interested in improving the support community than be part of millions that would rather convince me that their expensive hardware is proportionally better instead of actually talking about the tech.
I've been using Linux as a daily driver since high school (15 years ago). Lately though, I have noticed that we Linux types are insufferable in our own ways...
“Lately though, I have noticed that we Linux types are insufferable in our own ways...”
Indeed, but this is the (sour) price of 'victory' too: it means Linux is going mainstream now. Hence, it's becoming more 'popular' with all that entails...
Linux is best 'lived' in professional circles nowadays, imho: specific blogs, forums and channels with solution-driven people. I find myself more and more attracted to the RHEL/CentOS/Fedora space for this reason, too.
Eh. I think Linux is sufficiently fragmented (in this case it's a good thing) that there will always be somewhere to hide if dealing with the ups and downs of the masses isn't your thing.
I like helping people, so if the future holds more software today breaks transparently, then that's more people I'll be able to help.
Right there with you regarding help. One of my pet peeves is to write guides. Even one-offs just to reply to a comment.
I thought you were referring to 'wars' between Gnome/KDE, or against systemd, and we're thankfully relatively free of these popular sports in more professional circles.
If you know Noah Cheliah (podcast Ask Noah, formerly from Jupiter Broadcasting), that's my kind of guy. Up there with the pros, but always willing to go out of his way to help anyone, no questions asked, newbies very much welcome. A great steward of the community imho.
I recently built a home media server/PC and decided to try Manjaro. Amazingly, everything worked out of the box. I actually had a Ubuntu live USB ready to go in case I hit issues, but now I’m in love with Manjaro + KDE :)
The hardware/driver situation is unambiguously better on Linux than it is on Windows. I've had ten times as many problems on Windows over the past ten years or so than I've had on Linux. (never been a serious user of OSX, although I imagine it's better than the situation on either Windows or Linux because Apple controls both the hardware and software)
The problem people run into is that they fall into one of two shitty extremes. You either dive into the deep end and try to configure your own kernel and forget something. (Common in Gentoo circles) Or you go with Debian stable or RHEL and their kernel is two years old and they don't have drivers for the latest generation of graphics drivers because of course they don't. Just install Ubuntu like a normal person and you'll be fine.
Problems with WiFi, trackpads, and hibernation haven't been a problem since like 2010 or so. I get 11 hours battery life on my XPS 13 9360 which advertised 9 hours battery life when it was new in 2016.
> people say it works flawlessly - except for [insert issue here]
This is a thread about how OSX works flawlessly except for [insert issue here]. And as it happens there are a pile of issues this time around. If you have a house that doesn't have stones thrown through its glass walls (besides TempleOS) I'd love to hear about it.
As the comments below suggest [and I also run Thinkpads for portables] -- yep, it works real good for me. Fedora 30 especially has been essentially flawless in my case. No issues with suspend, drivers [even for notoriously fickle stuff like printers], sound, etc -- just solid performance.
EDIT: actually, on one of my workstations I have a ten-year-old Quadro 4000 that was being a pain in the neck on Fedora 29 -- but the fellows over at LinuxQuestions sorted me out in two shakes.
>I've used Linux several times over the years and the hardware never totally works. I've always had trackpad issues, issues with suspend and hibernate, wifi issues, screen resolution issues, battery life issues, sound issues, driver issues etc.
I have a dell XPS13 that came pre-loaded with Ubuntu. It works perfectly out of the box and the hardware quality is fantastic.
I've always specifically selected and researched my hardware before buying. Typically Thinkpads are a good bet - I've used several different generations of The X1 and T series with no problems. I'm currently using an X1 carbon that has great battery life, suspends properly, handles external displays, etc.
I have a gen 6 and no issues. Is it a 7th gen? BTW what disto? Im on Fedora 30.
I would check that you have linux compat turned on in firmware and patch to latest firmware. Also running tlp helps depending on the distro. I get good bat life, mic works fine and no BT issues after sleep/wake.
this is not true on the 6th gen. I don't know about the 7th gen though... if it is true on 7th gen it would be a shame.
Although traditionally lenovo has done well with linux, I will say this is where Dell does this better - actually certifying and supporting some of its laptops on linux for devs.
My only Linux laptop was a Fujitsu Lifebook. Turns out laptop manufacturers are garbage at writing ACPI drivers for their own hardware, and so Microsoft has been going around quietly patching them so nobody notices. I ended up having to create my own driver for the lifebook. I cobbled from two other people's failed attempts at making a better one (each fixed different problems) and some fixes from the newest model in that product line. At no point in time did I think it would be fun to write ACPI drivers.
I uploaded it somewhere so nobody else would have to deal with this bullshit, but you still had to recompile the kernel to get the new version to override the firmware.
At the time they were still talking about how Linux was going to take over the desktop, while the early numbers were already in that laptops were killing desktops. Linux is taking over the server room, but it's essentially nonexistent anywhere else, and it truly has earned that honor.
Newer distributions like Ubuntu, Fedora tend to have much better hardware support than other distros. I've used Linux since Ubuntu 7.04, and hardware support has made leaps and bounds since then.
That said, it's still not perfect, and warrants a trial on a throwaway hard drive if absolute hardware functionality is a must.
As long as the 38 step install process works. ;-) I tried, it locked up trying to load the GUI, specifically 5.3 kernel installer for navi support. Wound up reverting to Ubuntu LTS, will re-evaluate in 6 months when things for my hardware stabilizes.
Done the install manually several times and it is crystal clear what you have to do once you understand how Linux works from boot to the OS. Of course not recommended for beginners and those who have no interest in how the internals work.
Sorry to hear it did not work for Navi, was the wiki any helpful to understand what goes wrong?
Not really... pretty much started loading, then hard locked... couldn't navigate (ctrl-alt-f#) to a usable terminal, etc. At that point, I'd been through several failed attempts and just jumped to Ubuntu LTS, since it's supported by AMD, and dealt with the wifi and onboard audio not working.
Started with Pop!_OS with 5.x kernel (5.2 fir wifi drivers, though not using it). Onboard audio also weird, the UI would show for audio out, but alsamixer was needed to raise "headset" to control the port. When I upgraded to 5.3 and dropped in the lib files for navi10, it booted with the card swapped but stuck at 1080p (on a big 4k screen) after messing with it, I couldn't boot to a gui, but was still able to use the terminal. I decided to give Manjaro architect a try (since you can choose your kernel) that gave the same issue that Arch itself seemed to... hard locking during boot.
I would like to know more, but at some point, I just want to get work done...
Emailed this to you... including here in case anyone else is curious.
------
My hardware:
* Gigabyte X570 Aorus Master
(RGB header connected to Thermaltake fan controller)
* Ryzen 5 3600 (waiting for 3950X)
* Corsair CMW64GX4M4C3200C16 Vengeance RGB PRO 64GB
* LIAN LI PC-O11 Dynamic Razer Edition (USB RGB Controller)
* GIGABYTE Radeon RX 5700 XT GAMING OC
* Creative Sound Blaster E1
The USB sound blaster is mainly because of issues I was having with onbuard audio. I had originally installed Pop!_OS and upgraded the kernel via a few versions, through 5.2 for the onboard wifi (intel ax) drivers. It was when I dropped in the 5700 XT that I had more issues. I was originally running an RX 570.
After I borked my setup, I'd decided to give Manjaro Architect a try, since I could choose my kernel... I saw the same issue that I did when I did an Arch proper setup, with the latest iso as of last Sunday 2019-10-06.
It would boot and hang, loading graphical ui... The keyboard was completely unresponsive.
I was since able to install Ubuntu 18.04.03 LTS and the release drivers from AMD... I didn't bother updating the kernel as I'm not using wifi or onboard audio. I think one of the onboard LAN ports also was never setup, I think I'd need extra drivers for that too.
Thanks for your time... I'm thinking of adding a couple SSDs to test other OSes on, and put Windows on one as a fallback over the weekend.
Ubuntu 18 on carbon x1 extreme. Really smooth, until I do anything special.
Never got external monitor working. Just had issues with my wifi yesterday that persisted through reboots and randomly worked after I booted back into windows and then linux again (dual boot). Lost hours of my life trying to get any combination of browser + smartcard reader to work with two different card readers.
Sleep/Hibernate still don't work properly all the time. Sometimes my laptop decides to do the right thing, and I pray it doesn't undo itself and drain the battery in my backpack.
Literally all I use on a daily basis for the past 5+ years is:
- Terminal of some sort
- Browser (Chrome, Chromium, Firefox)
Really just want a stable OS that stays out of my way, and never pushes shiny new features, only performance and security patches. But the responsiveness of browsers on linux turns me off every time I try to switch (feels sluggish).
Also, I like the MacBook hardware, battery, aesthetic. Just been falling out of love with the OS for the last few years as they seem to be semi-combining it with iOS. Due for an upgrade and have been eyeing the latest MBA... but the OS is getting super annoying.
I’m in a similar boat. I keep really wanting to like Linux; I give it a try, and then get annoyed that for some reason my terminal process is causing my browser UI to lock, or some such nonsense. Sometimes it’s just that there’s no dictator keeping all the keyboard shortcuts relatively consistent between applications. Then I’ll fantasize for a little bit about OpenBSD or FreeBSD, sigh, and go back to using macOS.
I like futzing around with my operating system, but I expect my changes to make things overall worse for the general user, because I have weird preferences. The OS should not be doing the weird preferences.
Sometimes I wonder about Linux users who say you can’t customize macOS. In my experience, it’s a lot of the same kinds of customization potential and rooting around in the system...updating the OS may totally mess up your configuration, but the same is true of updates in the Linux or BSD world.
I tried and failed to get going with OpenBSD. I want to slowly dip my toes into the water of a BSD. Is there a way to have a turn-key system that I can immediately start working on as I do on macOS, and gradually become more familiar with the OS?
I guess what I’m saying is, there are systems that you can buy where the manufacturer has preinstalled Ubuntu and you have a high expectation of the hardware getting out of the way. I want that for FreeBSD or OpenBSD?
Yep! I dig FreeBSD also, and strongly considered it especially for that reason -- just ended up going with Linux because I had a little more experience with it [having remotely used / administered linux servers &etc]
Just don't buy hardware that is too new. X570 platform and rx5700xt, and issues a plenty. Not to mention absolutely abysmal RGB support from hardware vendors.
It's frustrating because it's the "least worst" option.
I use MacOS because it has a thoughtful, consistent, coherent, beautiful user interface and desktop environment. The things I use all day are basically a web browser, mail client, code editor, and terminal. I can do actual work on any BSD really, there is no proprietary app that causes lock-in, I don't use iCloud or any of their services.
All I want is their desktop and core system apps. If Apple stripped down the OS back to Mac OS X Snow Leopard standards, and charged $129, I would pay for it.
If there were an equivalent desktop environment for BSD that replicated the MacOS desktop environment, I would pay money for this. Charge customers to hire full time designers, developers etc.
That is definitely the most frustrating thing about all of this over the past few years. Even with a customised Windows 10 to get rid of the nonsense nobody wants and adding what is missing to even work on the damn thing it's still not as 'least worse' as macOS. It's almost like all commercial OS development moved towards STB's and mobile and nobody gives a crap anymore.
I'll probably still stick to macOS on my mobile hardware (Linux and BSD on the fixed machines, embedded and servers), as it is still least worst, but I miss the feeling of high stability and productivity you would normally get when you work on your machine and don't have to touch any of the other flavours.
Right now, all any other vendor has to do (besides the create-a-BSD-desktop) is good hardware integration. Because that is more effective than people might think. Even with the whole butterfly crap the whole package deal is unbeatable. The only time I ever had hardware/firmware issues was back in the 90's where OpenFirmware got sad because one of the data lines of the ROM was corroding and the SMU would reset every boot making sleep unreliable.
Having a machine that has a good hardware-software relation down to the firmware and no weird double powerons or a bunch of stupid splash screens, one where you can just add your tools and work, it's the best thing. It it used to be exactly that when you got a Mac... any Mac, even if you don't get a powerful one. It always works the same way, it always delivers consistently (unless you break it yourself), always stays out of the way so you can do what you actually came to do.
Yes. Snow Leopard was the greatest OS release of all time!
I actually went to WWDC 2008 when it was announced and they handed out CD’s for it — no new user-level features — just a hardened OS (grand central station and kernel level threading and stuff under the hood was changed).
Sigh. Marketing now rules the world. Look new emoji’s!
What makes the MacOS UI so much better than say Gnome or Enlightenment? I personally can't stand most of the Mac UI experience, however, I am very curious what you (and others) love about it that cannot be replicated on a different OS?
I get it, for some people it doesn’t matter. There is zero difference between xfce (Gnome, Windows, etc) and MacOS.
But for some people, they have used MacOS since OS X 1.0 (or for me, System 7) and there is a particular "Mac" way of doing things. There are expectations and standards for how the system and user interface should work and respond.
Perhaps you could attribute this to baby duck syndrome. You could also attribute it to people having different mental models for the world, there are clean desks and messy desks, different cataloging systems. There is something for everybody. For people who like Macs, everything else seems like a clumsy intolerable mess.
There are themes and hacks to make systems "look" like MacOS, but they fall short of even remotely functioning like it.
Font rendering for one. It's really nice. IME, text quality on a Linux desktop varies even between applications, depending on what toolkit they happen to be using.
That might be true, some apps just don't follow standards well (on MacOS too btw, there are old and ugly UIs from third-party vendors all over the place).
But when you're living between a terminal, editor and browser, and fonts are perfect on these 3 (or whatever else you use)... it's hard to justify using a lesser and more expensive platform, just to correct the 1% of the time some app doesn't look great.
In fact, if we speak 'consistency' in a functional way — not disturbing the user's "flow" while working — I'd argue that bad or extremely limited UX the likes of Windows and now sadly MacOS too (by comparison, and because it got worse in the last five years) is a much bigger problem than font rendering, for most workflows.
Case in point if you really care you can fix font rendering for pretty much every app (and select aliasing parameters like strength and RGB ordering to conform to your external displays panel type and pixels 'pitch'; whereas MacOS or Windows will be hit-or-miss with some models and you just can't help it). Haven't needed to on Ubuntu or Fedora, but I know as of 2017 Arch let you apply general font rendering settings over GTK and Qt, and you can use terminals like urxvt to fully control such things.
I think MacOS fails very badly at basic window and file management. Finder is still broken. Not being able to preview an open application by hovering on its icon (as in Windows) is a big productivity bottleneck. Minimizing/maximizing is plain confusing - why does the window sometimes take up the whole screen and sometimes only fill up 1/2 the real estate?
Things are worse than ever before. Mac OS stability has taken a bit, but it’s not like Windows machines have gotten better. Windows 10 is still a total clusterfuck when it comes to switching between a high dpi internal monitor and an external monitor. The other day my X1 Carbon started randomly powering down (but not hard looking, controlled shutdown, even installing updates). It rebooted four different times in one evening.
Things are just bad now that Steve Jobs is dead. We just have to get used to that.
> Windows 10 is still a total clusterfuck when it comes to switching between a high dpi internal monitor and an external monitor
I really think this must depend on the hardware; Windows 10 switches between monitors fine for me, on multiple laptops. Indeed, I only actually have a problem with this on MacOS, where my MBP even crashes on occasion when switching to external displays.
I have a Windows 10 laptop with 150% scaling on the built in display, and 125% scaling on the monitor I plug into; both high DPI. Whenever I plug in or unplug I get treated to 5-10 seconds of seizure-like moving and resizing of windows, and some blinking of the displays. It usually doesn't get things right, for example windows that were on half the screen will be neither on half nor whole, or they'll be slightly off where they should be but mostly right.
Honestly this is the real reason I’m excited about System76...I don’t really know them or their products, but they have a coherent “passion of computing story,” and PopOS looks pretty. I have no idea if it’s just marketing. I’m just hoping that it’s good, that they’re legit, and that they will do well.
I've often wondered why we have so many luxury brands in automotive, furniture, what have you, a couple in consumer electronics, etc. Even woodworkers have 2 or 3 high end brands that people drool over. And then for computers it's just... Apple, and a revolving list of second place. Sony, Samsung, Alienware... none seem to stick it out.
When it comes to graphics, Windows is now far ahead of macOS. It's simple economics: the GPU manufacturers work with Microsoft for DirectX support due to userbase (especially the game playing userbase, which is where all the profit is). Apple, on the other hand, struggles to keep up with Metal on the same GPUs, unwilling to invest the money to keep up. DXGI, for example, is an extremely powerful and well-supported API, as compared to IOSurface which is like stumbling around in a dark cave.
(On mobile, things are different, but even here PowerVR is increasingly looking beleaguered compared to ARM and Qualcomm's offerings.)
You might want to try the Dell XPS 9380 Developer Edition that comes pre-loaded and configured with Ubuntu 18.04. I switched to it from a 2015 mac laptop I had been using. Set up was pretty easy and everything just worked out of the box. It's also nice that the performance per dollar ratio is better than a new macbook pro.
My only complaint is that the trackpad is a little small for my hands, but the sturdy keyboard with real function keys more than makes up for it.
Eh... I've been on Ubuntu 18.04 for about 1.5 years now on my Dell Precision 5510. Zero problems, all hardware works out of the box. Suspend and hibernate still works flawlessly.
Do you have any tips for getting the touchpad to work well? Mine picks up palm touches and the only solution I've found is to disable the edges of the touch pad.
The default Synaptics driver works well enough for Palm Rejection. In the beginning I had some outlier registered touches while typing but disabling touch-to-click seemed to completely mitigate that. Drivers might have gotten better since then but I don't really know since for about a year I set the touchpad to disable when I use my M570 Wireless Trackball.
> to work is a lot of effort, and then mysteriously something will stop working.
Oh Please. this lie keeps getting repeated every single time this topic comes up. Meanwhile people who actually use Linux every single day have like zero issues for years to keep things running and working. I have 4 machines using different flavors, getting updates all the time and nothing mysteriously breaking, and this for years. Sure, you will always find the one user saying the exact opposite but among all the Linux users I interact with this is not the norm.
Sample bias? Linux users are people who aren't sufficiently bothered by Linux's flaws or don't encounter any flaws due to their HW / usage patterns. Same as any other OS.
To say the parent poster is lying is a bit much. You have know idea what kind of stuff they're trying to do.
> Desktop Linux (even on standard desktop computers, not just specialized laptops) is far from perfect. Getting everything to work is a lot of effort, and then mysteriously something will stop working.
For a counterpoint:
I have had less issues with my Linux setups than with Windows for 15 or so years and I use both for the same:
- development
- mail, timesheets, documents
- small amounts of gaming once in a while (mostly causual matches on CS:GO)
I believe that others have problems with Linux but generally it has a highter tendency to work well out of the box than Windows has.
Also, as mentioned elsewhere, the most annoying thing about Windows is how it "stops the world". It is only milliseconds but for me it is maddening to wait for a high end 2019 PC to respond to keyboard input.
Usually it is driver issues and usually I get it sorted after a few weeks or months but it should be unneccessary for a stock Dell or HP machine. (Protip: don't ever use consumer or prosumer editions, not even XPS, always go for the the pro models.)
It is depressing, but I'll tell you which of those options is actually actively interested in developers and enthusiasts: Linux. Give it the effort that people spend buying exactly the hardware Apple says to buy and then installing (or writing) apps that fix MacOS's clunky window management - and Homebrew, for that matter; consider where it's going as well as where it is; and I think you'll find something for you.
I've come to accept that most OSes are inevitably broken in different ways. OS X has always broken my dev environment on every update. So over three years ago I switched to a ThinkPad X1 Carbon with XUbuntu and have no issues other than having to change my DPI when I connect/disconnect to a non HiDPI screen. Then I recently built a gaming PC with an AMD CPU and an Nvidia GPU, which did not go as smoothly with Linux: I had to install experimental Nvidia drivers, audio is a little wonky, and sometimes the wifi doesnt work and I have to restart. But overall I'm quite happy on XUbuntu and it gives me fewer problems or annoying prompts than Mac OS or Windows ever did. For gaming I use Windows of course.
Interesting you mention Adobe CC as being better on MacOs. For the past couple of years I've seen most people mentioning that Windows is better/faster for these apps.
I moved to Arch Linux a few years back. So did wifey but she doesn't care about what OS she uses. We both use KDE <thingie> for a Window Manager, Libre Office and Evolution (Exchange is involved). Printing is of course CUPS, which is lovely and simply works. Lots of other things installed from the one set of repos.
KDE allows you to "lock" the desktop icons/widgets in place. That is a feature that is sorely missing from all other WMs (Mac/MS/ int al) and for me is a killer feature. Some of my end users have a habit of smearing icons (launchers) all over the place.
Desktop Linux is way better than say Desktop Windows (by OP metric). Updates take a few minutes rather than hours in some cases. Fixing things does not involve sfc /scannow but then neither does that work on any Windows box unless it has spinning rust and loses power regularly without battery backed cache.
I update my wife's laptop via SSH when she is using it and I throw a reboot job at it out of hours via cron.
My wife is happy with what she needs to get to - Facebook, email, some odd Flash games on FB and a few other things. I'm sure that Mac and Windows sysadmins can all say the same (I'm those as well.)
My main job is web development and I'm not using Linux on the Desktop for any political/ideological reasons, I'm using it because it gives me the best experience.
Desktop Linux for me is Ubuntu 18.04 on a ThinkPad T450s and it's currently my favourite daily driver (we have a 2019 MacBook Air at home I share with my partner and a Windows 10 machine for testing websites at work). I can't think of the last time I had any problem getting anything to just work - the T series ThinkPads are well known to work with Linux so YMMV with other brands/models but I just happen to love the ThinkPad form factor and design so I'm super happy.
It sucks now having the Adobe CC suite available on my primary work machine but more and more we are using Figma for any digital design related workflows and it's wonderful.
Regarding Apple laptops, I was holding onto a 2015 MacBook Air until I upgraded it for the 2019 model because it was meant to be the latest-best Air... MacOS, iCloud integration and the keyboard has been disappointing to say the least.
>Desktop Linux (...) is far from perfect. Getting everything to work is a lot of effort, and then mysteriously something will stop working.
Couldn't disagree more. Gnome took a bit of tweaking but it has been performant, stable, and exactly what I want. I recently changed jobs and am forced to use a mbpro. I hate it. It's slow and painful if not impossible to customize.
The only real tweaking that you need is for anything aesthetically. Most of the stuff works out of the box. Granted I can only speak for my hardware, as I am on Intel/Nvidia, whereas AMD/Radeon and Linux have not always played nice with each other.
And also use a MBPro at work. The amount of issues of that I had with it surpass any windows laptop, most notable of which how the usbc port will just stop working, needing an SMC reset, and the laughably long startup from shutdown time despite having an SSD.
The notion that Mac can do hardware or software right is laughable. I guess people forgot the $1000 monitor stand.
Idk about your experiences but I've been using Linux Mint for over a year now and it's just been working smoothly out of the box (better than Windows even). The only part where I had some problems initially were graphics drivers but that's only because I messed with them unnecessarily.
> Getting and keeping a Linux Desktop in good working order is harder than it should be at this age of Linux.
I use desktop Linux as my daily driver (personal and work), and generally have very few problems. I hear so much grief from friends and colleagues who are running macOS and have so many issues. I really don't want to be "that guy" who obnoxiously pushes desktop Linux, understating its usability issues for average users, so I decided to log some of the issues I had over time.
I realized that the failures on Linux, while fewer, were usually much worse: the things that fail on macOS are either annoyances that can be ignored or worked around, or things that can be Googled and fixed (for the most part). There were certainly sometimes failures on Linux that followed that pattern, but there's another class of failures: when things failed, they failed hard. Once, I rebooted after some kernel and Xorg package updates, and Xorg just hung on startup, logged nothing useful, and only responded to SIGKILL. I did manage to fix it, but the average user would be completely lost, and, to make matters worse, would have no GUI to use to search for help on the web. They'd probably end up having to reinstall and hope for the best. That's not acceptable; that might have been a common recovery step with Windows back in the 90s, but people expect better now.
The distinction is that macOS failures are overwhelmingly solely of the type that frustrate and reduce productivity. It's very rare to run into something that grinds you to a complete halt. While desktop Linux has come a long way, and I'd (unscientifically) say there can be fewer frustrations than on macOS, there are still enough hard-stop, my-computer-is-a-brick-now failure modes to make it unsuitable for most users.
you can't just buy any hardware. I'm sure Ubuntu and other distros publish a hardware guide. I have a Thinkpad T490, tried out Manjaro, Suse, Fedora and ended up settling with Kubuntu | Budgie. No hiccups. Everything works out of the box. I have 40gb ram, something I could never get on the current generation macbooks. Keyboard is excellent n trackpoint. only bad thing hardware wise, are the speakers. I also have a Retina macbook pro 2013 personal. and use a 2015 Macbook pro for work. My old job I used the 2018 macbook pro, a shitty computer, that I would compare to my 2012 Dell inspiron, in terms of shittiness. Forgot to mention my thinkapd dispaly is 500 nits 100% ARGB. KDE has fractional scaling to handle DPI displays.
I am using a slightly older version of MacOS on an older MacBook Pro and everything is perfect. My keyboard works. My OS works. My apps work. I have USB-A ports, even an SD card reader!
Apple seems intent on driving the Mac off a cliff - both hardware and software, but for those of us who have not upgraded in the last few years, the good times are right now.
I'm going to keep my MacBook Pro maintained like a classic car until something better comes along.
it's far from an ideal solution, but the only thing that keeps me sane is to have different computers for their strengths.
For example, one of the author's use cases is "Because I’m an idiot with reasons, I have a python daemon that launches as root via launchd." - i shuddered just reading this, i'd never attempt to do that with anything other than linux. but chromeos is perfect for my little laptop i keep in the living room to check my email on. i was also happy using an iPad for the same thing. My software dev machine is a linux desktop, but if i needed a work laptop there's no way i'd put linux on it.
maybe one day there will be an OS that i can use for all the things without complaint, but right now that doesn't seem to be a reality, and i've stopped pretending it can be.
That’s your problem, stop looking for a windows/OS X replacement. The ideas are fundamentally broken; a lot of them are built around pushing you toward just consuming things from other people.
I've been using Catalina as a daily driver since the first beta. I did notice some bugs here and there but I have to say my take away was different. I did get the barrage of permission prompts but it was just like that the one time and while it was a bit overwhelming it made me feel good that my OS was keeping tabs on these things. With Apple's emphasis on privacy they had to build these sort of controls into macOS to play catch up with iOS's features in this regard.
Also, I have hard time feeling sorry for someone who is upset that beta system software upset his working environment. Apple specifically says not to put their betas on critical hardware. The author said he did this because it was "simpler". Not sure if breaking your work environment is "simpler" than booting off an external SSD or having a second machine for testing.
OP here. I never installed Catalina (or any recent beta software in years) on my primary machine that I get work done on. My Catalina testing this Summer was explicitly kept to an old laptop and virtual machines.
My "simpler" comment was about my mistake in signing into iCloud on those test devices. I learned my lesson and either stayed logged out or used a test iCloud account for the rest of the Summer.
And, overall, my post and comments in general are about running Catalina now that it's publicly released. Not about issues I experienced as a beta user.
Same here. I got the permission prompts on the first day of installation, that's it. Since I don't use Photos nor iCloud Drive, I actually can't remember a single problem with Catalina, it's quite solid.
This is a sure sign that the key people who used to run OS X development have moved on. Probably years ago, and we're just witnessing the gradual atrophy. The maintainers they left in their places probably kept it mostly working for 2-3 years. That is all.
I think windows has always hands down beat osx in everything but aesthetics in terms of functionality and control. Maybe you could say except for proprietary features / apps but I don't think that really counts because that's comparing ecosystems. Even for development on Linux, running a vagrant instance and writing code in Windows is just a better experience up front. I think Microsoft understands this when their Linux subsystem stuff and upcoming revamped terminal. Developing for Mac is only better if you're trying to develop for the apple ecosystem. For non code use I think it goes either way, with Mac being the choice for graphics stuff since it's generally bought as a complete package with guaranteed color accurate screens etc. Linux is really powerful and a better OS than windows for running code, but precisely for running it and nothing else imo.
With the level of frustration I've had with mac for a while now, my latest desktop is now running Linux... though that had its' own series of headaches. First, the onboard audio and wifi only work with Kernel 5.1 and 5.2 respectively. I upgraded. When an rs 5700 xt finally got in stock with non-reference designs, I ordered one, that lead me to 5.3 kernel, and binary downloads (which were locked at 1080p on a 40" 4k display, too big).
In the end after trying things, borking my install, trying manjaro architect (failed), trying arch (not sure how I failed, but no boot) and finally reverting to Ubuntu LTS and forgoing the onboard audio for an external soundblaster usb and using wired ethernet anyway, I have a working system.
But at the very least, I'm not entirely beholden to Apples whims, which means eGPU and a lot of issues for Nvidia graphics. In the end, I'm not developing iOS apps or mac apps, and even if I do an electron app, have no intention of giving Apple any more of my money.
I haven't bought a Sony hardware product in about 20+ years since their bad behavior (though they do get revenue from blueray and make components). I can live without Apple too.
As another person whose livelihood is tied up in the use of OS X, I agree that apple continues to drop the ball. Hardware, software, 'security', cloud services. It's just painful. I don't understand why a company with so many resources cannot produce better results. I really love the mac, and so many Apple products, but I fear that the long term trend is downwards, and I see no sign of it abating.
Or unfortunately when trying to build an iOS app: the ability to target an iOS version (sometimes minor, such as from 12.3? to 12.4?) depends on Xcode version and the latter is often hard-locked to a MacOS version.
It's interesting to see this from a MacOS release and the security complaints are similar to what's been seen about recent versions of Windows.
To me, both are a manifestation of the idea that these two Operating Systems are moving in the direction of being safer for "ordinary users" at the expense of annoying more technical users who want to do less common things which can be dangerous if you're not careful (like running software as root)
Given that "ordinary users" outnumber technical ones, I guess that makes commercial sense...
As a result of that, I prefer working with Linux where possible as (generally) it lets you do what you want, even if that's really dumb/dangerous. If I say `kill -9 x` or I sudo to root and do `rm -rf .` by accident it's on me.
I take solace in that fact that by definition there will always be developers - increasingly, even. And therefore there will alway be a market for making computers for developers. Apple seems to be dropping the ball on that lately, which is a shame because they had such a lead. But Microsoft is racing to fill the gap with things like WSL and the skyrocketing build quality of high-end Windows laptops.
Safety on Linux is arguably better; with sandboxing utilities like SELinux, AppArmor, bubblewrap and Flatpak, as well as being the platform receiving the most containerization efforts (Docker, Podman, LXC), Linux is arguably more secure. This is especially true if you use an immutable OS like Fedora Silverblue, where everything is sandboxed or containerized by default.
> Because I’m an idiot with reasons, I have a python daemon that launches as root via launchd and remains running in the background. It is now silently failing because it isn’t allowed to access an external USB drive.
This reminds me of the thematic line from one of Linus' infamous rants:
> WE DO NOT BREAK USERSPACE!
A lot of people asked why it was necessary to tolerate rude behavior from leadership. It seems the answer is "Catalina."
I have been using Linux on my home workstations for over 10 years. I use a MacBook Pro 1 day a week for work for 5 years. I occasionally use a Windows 10 machine if a friend or family member needs help.
Linux desktop is easily my most productive and least worse environment. It's so smooth to develop on. All other OS behave like an annoying authoritarian dictator. And Windows specifically is a kafkaesque dumpster fire of menus and windows all with seemingly different design concepts. MacOS is pretty consistent in design and performance but using the machine it's obvious that developer productivity is not their top goal and you can't develop using a mobile phone as your workhorse so desktops are all we got.
Thats a very good formulation of current windows, I always struggle to find the words to describe it. As someone quite new to Linux, I wonder what setup are you running?
Honest question: if apple software engineering has structural problems that sacrifice quality for splash, what is the reasonable alternative OS? Is it Windows 10? Is it Ubuntu?
I suppose it depends on the user.
I'm lucky, I'm an academic and presumably I can deal with any option.
I've been using stock Ubuntu 18 on my laptop (zenbook) for a year and have had pretty much 0 issues. I consider myself a bit lucky in that though. The driver experience is actually better then on windows, on windows I had some random crashes which I have never had since switching.
I just love the feeling that its my computer again, I haven't felt that for 10 years prior. I actually like customizing the interface and stuff like that, like I used to do in the win2k days. And having a real package manager integrated in the OS is just glorious. My only problem is not being able to run Photoshop, I can't live with Gimp. So I use photopea as a poor substitute.
I grew up on Windows but have been using mac extensively as well. I can never understand window management on mac, but with some gnome extensions (cover flow alt tab, dash-to-panel, arc menu) its just really really solid, I'm so happy to have my own computer again.
If windows and mac continues on the road they are on, I expect linux desktop to get a real boost. I cant stand not being able to shut off annoying stuff like automatic reboots and some photoanalysisd process, I just want to scream.
Coming from someone who probably is your average HN reader (programmer, power user, technically oriented), I've been enjoying Windows 10 more and more. They have put a huge effort into creating a better experience for developers. WSL was a great start, and I'm excited to see what a full Linux kernel will bring. Windows Terminal is in preview and is the terminal emulator that I would want on Windows. I already use VSCode on mac as well.
I came to a similar crossroads when I realized I did not want to switch from windows7 to 10 once security patches end in 2020.
I've been using Kubuntu 18.10 since January and have found it so much easier to get things done. I don't have to constantly reset privacy and telemetry settings to keep the OS's nose out of my life. It has a real shell, ssh, and terminal so I no longer have to muck about with cygwin, putty, and winscp. I can customize the UI to my liking, e.g. dark mode that's consistent across applications.
About the only thing that doesn't work is about 1/3rd of my Steam game library but it's a tiny sacrifice for the efficiency gained with a proper OS that respects your time and privacy.
I mean, even the supposed top software product from Apple nowadays, iPadOS, is suffering from annoying bugs.
This will be the third time I have to reboot my iPad 6th gen today, the first two were because the keyboard would randomly close and not come back (if someone has a workaround for this issue, I would be grateful, it is a really annoying bug specially since it happened while I was writing a big text) [1].
Now, the app that I use for Hacker News (Octal) is broken on the dock, so the only way to switch to it is using the Expose-like screen. I already tried to force remove it from dock, however opening it again triggered the same bug. Also, force touching the icon shows a “Share (null)” (probably the cause of the bug).
I know, not a big deal (making the user reboot three times in one day, however, should be a big deal). But this is for their top product for gods sake. I don’t want to even imagine how Catalina is.
[1]: If this was Android I could at least force close the keyboard app. I didn’t find a way to force closing iPadOS keyboard, BTW, I tried to add and remove keyboard languages without success. Also annoying that I had to use another device to search about this issue since, you know, I had no keyboard at all.
Off-topic: I'm having trouble reading this site on mobile, the font color is far too light, my eyes kept losing focus. Desktop it seems much more readable.
Font-weight: 300 with Open Sans + light color is the problem. Font-weight 500 solves it.
To throw my own (admittedly niche) Catalina anecdote into the mix:
In El Capitan, Apple introduced something called System Integrity Protection (SIP). This is a security layer that prevents you from doing certain things, like modifying system directories, even as root. The idea is that malicious software could gain root permissions and still be unable to do the most egregious stuff.
Okay, fine. You can turn it off by booting into recovery mode and running a command. I'd done this in the past because most of my company runs Linux desktops and some of our core software and scripts explicitly refer to network directories normally mounted in the root dir (yes, really). So since macOS mounts remote volumes under /Volumes, I had symlinks pointing from /foo to /Volumes/Foo.
Updating to Catalina removed all of these symlinks. Okay, sure, it's a system directory and they probably just overwrote it in the process. So I went back and turned off SIP, but afterward I still couldn't "sudo ln". What gives?
An extensive Google search turned up the fact that in Catalina, system directories are now mounted as a separate, read-only volume, at startup. So even with both admin permissions and SIP turned off, there is zero way whatsoever to write to them.
An even more extensive Google search revealed someone who'd figured out you can re-mount the root dir after boot (and after turning off SIP, of course) as a writable drive, at which point I was able to finally re-create my symlinks.
This took me about an hour to sort out. If there hadn't been a workaround on that random forum (which by the way feels like a loophole, as it only required root permissions), I would've been forced to stop using a Mac altogether.
I can appreciate your problem, but SIP on whole is a good thing along with mounting system directories as read only. It's the only thing that prevented many machines from having to be reinstalled recently.
Right, but it's something that technical users should have a clear path for overriding. SIP at least has a semi-clear path for disabling it (though I couldn't find any official documentation of it, only forum posts) but the read-only directory thing was definitely really hard to find.
I just restored from Time Machine after getting stuck on the “Estimating time remaining...” screen and then googling some other peoples' experiences. Three hours spent restoring from backup seemed like a better option.
See also the discussions on “Everything’s broken And nobody’s upset” from 7 years ago, about Microsoft, by Scott Hanselman focusing quite heavily on sync problems
Wow... between the linked blog post and the responses here I have to say I'm still pretty happy running Mac OS 10.11 on an late `09 Mac Mini with maxed out ram and a SSD drive so upgrading really doesn't seem necessary.
Sure, I'd love more power and a 3 monitor setup but since I only code web apps and mostly use BBEdit, Fetch, Terminal, and a few web browsers neither speed or power are really lacking.
I've figured I'd move to linux when I finally do buy a new box and this sure reinforces going that direction, especially the comments here from folks in the trenches at Apple.
That said, sounds to me like Apple needs to implement a structure of team liaisons that are assigned solely to manage product continuity between teams of coders.
Back then, upgrading meant something for the users, like QuickLook, TimeMachine or for the first time in life I saw a new OS actually take less disk space and was released primarily as optimization of the previous release as in Snow Leopard.
Now I don't bother to watch their keynotes as they're too boring and I'm productive on High Sierra and I don't see any reason I should upgrade and cause unnecessary annoyance. How boring Apple software have become.
Is there a reason to upgrade these days? I don't need SideCar as I connect my laptop to a bigger display.
I've thought about the UX issue, and I believe a big problem is they've overloaded the existing Privacy tab. It worked before only because it didn't do a whole lot. Now that it's essentially an integral part of the OS experience, it really needed to be broken out into its own dedicated preferences pane like Notifications.
Look at the Notifications pane and how it's grouped by application, with many options to the right. It offers far more information and control, and has visual indicators. That is what the privacy UI should have been like.
Current solution is half baked and no one can argue otherwise.
Eesh, all this whinging about permissions dialogs is tiring. It's really not any different than what you would get on an iPhone, except that someone with an existing Mac probably has a saved session which a bunch of programs already running.
I clicked "allow" a maybe a dozen times and I was done. It was real, real hardship.
The only real weirdness I've had with Catalina is that I have some code where one thread wakes up another with an empty UDP packet, and that packet no longer arrives. Sending 1 arbitrary byte instead of 0 fixes it.
> It is absolutely clear that the Mac is far outside of what the upper-ranks of Apple is focusing on.
This is so inexplicable, given that the Mac is necessary to continue producing the apps for the iPad and iOS ecosystems, yet I've never really heard anyone outside of developer community comment on this, nor does it seem Cook or anyone in Apple has contemplated the consequences to their entire company of squandering the buy-in from the developer community by neglecting the company's primary development tool. Mind-boggling.
Although I use a mac for work, I have a spare thinkpad with openbsd, which I think of as my "forever system." I put stable software on it and generally go with the OS defaults. Over time I patiently refine the configuration files, adding a little polish here and there. The experience keeps improving, and perhaps some day it will be my main system, and work completely smoothly.
IMHO investing time to get too comfortable with the changing mac ecosystem is ultimately wasted work since it will eventually change/break.
You've misunderstood. I had cleared enough space for the update to give the go ahead. Then during the installation it ran out of space and got stuck in an infinite restart loop.
So clearly the Catalina update requires much more free space than it says it does before allowing the installation to continue. Just poor software development and lack of testing.
I'm not a macOS user but from what I'm reading, it seems Apple turned something akin to SELinux on by default but let users define the policies on the fly.
I remember a lot of headaches with SELinux on Fedora desktops years ago. It was not fun but I could always disable that if I didn't feel like fixing the policies myself. Lately, things barely pop up.
In my opinion, it's way less troublesome than the SELinux introduction back then.
If you start an app, you get a one time popup when it tries to access something important. Like the Documents, Downloads or Pictures folder, or the folder where Contacts are kept. That's all.
The author happens to be running a number of utilities in the background. For instance "Alfred", which is a replacement for the built-in Spotlight search tool. Of course, being a search tool, Alfred wants to know everything and generates a number of popups. He runs a terminal and perhaps does a "find ~ -name blah" which also generates a number of popups.
It's not fair for the author to stick the "broken" label on there. It's just that the author encountered a number of other things, and they add up in annoyance for him.
> Apple is becoming (already is?) a services company. And, let’s face it. Apple has never been good at anything involving the internet. I feel like they could have all the money and engineers in the world (which they basically already do) and still never completely get their services right because it’s just not in their DNA. Applications are. Hardware is. But put a network layer in there and they crap themselves. (Ok, not in every case. I’m obviously exaggerating to make a point. But the overall track record is iffy at best.)
For what it's worth, Apple is on a massive hiring spree in the Seattle area, attempting to lure developers and systems engineers from all of the Cloud companies in the area, with the goal of using all their combined experiences to start doing internet services properly. No idea if it'll work. I hear horror stories from my ex-Apple co-workers about the way things used to be.
To add to the list of bugs, what the actual fuck is going on with SideCar? It barely works and every time I turn it on, it destroys the colors on the laptop screen. Whites become yellow and colors are partially inverted. It's worse than the betas (which also had its fair share of bugs while connecting)
sigh I switched back to WordPress literally five days ago and haven't yet gotten around to installing a caching plugin. My bad. I've turned Cloudflare caching on in the meantime.
Been running WP for god knows how long for my personal site, while my company website is built with Jekyll.
In June I migrated to Ghost simply to try it and learn more about Node. It was _fine_, but never really fit my mental model of how a blog should operate or a web app should be structured. For better or worse, I'm an ex-Yahoo and a PHP guy through and through.
Have you found the solution to keep things from asking for permission on things? I haven't upgraded yet, but experience this for a good 20+ items on reboot, and I haven't been able to find a solution to stop it. (including going into my keychain and trying to allow more permission to some items)
Sometimes this mean 5-10min of allowing things access and typing my password over and over for each prompt. Things usually work after that, but I don't even have a clue, often times different apps seem to be asking if they can access system programs.
> including going into my keychain and trying to allow more permission to some items
This almost certainly is not going to help, because it’s granting access to other things.
> Sometimes this mean 5-10min of allowing things access and typing my password over and over for each prompt. Things usually work after that, but I don't even have a clue, often times different apps seem to be asking if they can access system programs.
It’s interesting to see how we’ve already degrade to the Windows Vista-esque experience when you just approve everything. None of the security benefits, all of the usability downsides…
I mean, I've taken the time to try to search for each of those subsystem things are asking for, but the information out there about doesn't really add much more info to 'if you don't say yes this will not work' or, 'this will ask you again for permission in 10 min'
Some of the more curious ones I've checked via the logs in the ActivityMonitor to try to figure out what is really being asked.
But none of this yields an answer. ie, things need to use launchd, assistantd, and accountsd ect. I never personally revoked those permissions.
Historical web answers point users to use Keychain First Aid, which hasn't been around for years now, but obviously this has been a long ongoing issue which seems to possibly be exacerbated by other OS upgrade issues.
A fix would absolutely quell the rage this gives me when I have to deal with it early in the morning before a deployment.
curiously, on my Windows system, I clicked 'no' to a permission prompt on something one time and now I can't seem to actually give the thing blanket permission after determining I would want it to have it.
So that just asks pretty much every 5 min or so, again it's more a subsystem than an entire program, so bla)
so. yea. yay for technology. ;) I think I'll just go read a book now. on paper. in the other room. ;)
“ Apple has never been good at anything involving the internet. I feel like they could have all the money and engineers in the world (which they basically already do) and still never completely get their services right because it’s just not in their DNA. Applications are. Hardware is. But put a network layer in there and they crap themselves. (Ok, not in every case. I’m obviously exaggerating to make a point. But the overall track record is iffy at best.)”
Haven’t tested it in Catalina yet, but I doubt my Contacts in MacOS is still able to sync with iCloud
I really feel for the people who HAVE to be on the latest OS. Thankfully I'm able to always operate at n-1 for ~6mo and once the dust has settled I can upgrade safely. I might speed that up a little now that I have a work and a personal MacBook but only on my personal and only to play with SwiftUI. Even then, it's probably better to just run a VM with a throwaway iCloud account.
I love my mac and have no intention of switching but I really hope this is their Vista moment, or close to it, and they start doing better on the desktop.
I have already lost hope for Apple. I'm just hoping they don't make things worse and just keep the quality as is but this seems optimistic too. Maybe in 5 years, Linux gets bit better when Mac is finally crap as a whole.
I am lucky to have a Mac book pro 2012 ( yeah that one with all ports and stuff). So am perfectly protected from all the hardware issues from then.
What software issues ,oh boy.
at this point I don't even see your point of releasing a new OS every year.look at the windows yes I'm taking that example.
I honestly feel that if you let the developers to do their job, without the stringent yearly cycle they would do an incredible job and Mac will flourish.
Keeping a year-on-year cycle with incremental updates just for the sake of it, is really hurting Apple's image..
I had the same response when they dropped the live version. I've been using the beta for weeks, and when I heard it went GM I was shocked.
My biggest issue is that the whole computer freezes for about 10 seconds when I activate a dropdown in Safari, Chrome, or Firefox sometimes. It will also freeze everything but audio playback for 10 to 30 seconds when watching videos full screen with VLC. I dunno, maybe it's just me.
But this release is the buggiest .0 release I've ever seen from Apple.
I still love Apple. For me macOS is still much better than Windows and Linux, and iPhone + iPad + Watch + TV + App Store + AirPods etc. is still a more pleasant overall experience than any other ecosystem out there.
but when you see betas for x.1 before there is even a GM for x.0, you know it's going to be a rushed, buggy release.
and it's disheartening to see all the little quality-of-life bugs and suggestions you submitted eons ago remaining unfixed year after year.
I switched to a T480 Lenovo running Fedora.
Prior to this I've never really ran a Linux machine for my personal laptop and only ever in the capacity of a desktop for work (usually running some old RHEL).
I don't think I ever want to go back to OSX.
Fedora has been such a pleasure to work on
Sure thunderbird is meh -- but overall my output and joy from running the system has been returned 10x
I used to dream of setting up a company that sold solid hardware laptops with solid components and paying really good kernel hackers to write really good drivers just for those devices, and then running BSD and XFCE and selling it as the uber-menace choice for silicon valley types
Just saying simple and bullet proof goes a long way
Yeah, this is a big reason why I read hacker news. Laptop started bugging me about Catalina and after reading this article I changed my thought process from, “I guess I’ll do that this weekend” to, “I guess I am going to disable automatic updates in every way I can.”
Having tried Figma (a Web based design tool) i am beginning to think that this will be over soon for OSs anyway.
The battle will be between browsers as they will become the new OSs.
My sons school uses chromebooks, which is going to be their base for how they think about digital space in the future. The desktop metaphor will not last forever.
Reading the post, I didn't get the impression that he was complaining about permission dialog boxes in general, but rather about the specific implementation (including lack of documentation and lack of power-user features) in Catalina.
OP here. Thank you. I have no issues with the tightening of security and permissions on Catalina. In fact, I welcome it both for myself and my aging parents who I want to remain safe online. My issue, as you said, is the implementation and lack of documentation for those of us who do know what we're doing.
What is broken is the pale grey font on white background. I can't read that without hurting my eyes. What is the point of this? Is it supposed to be pretty? I can hardly see it.
The reality is that now that computing is really mass market, and computers are incredibly complex (tens of gigabytes in an OS!), open-ended power-usage is no longer a profitable addressable market. Our needs are too niche to make it work the effort to support our needs. (Dis-)economy of (non-s)scale and the complexity of modern software implies that we'd have to pay a lot of $ to get our use cases handled.
So we have to put up with the hassles, or invest in the extra machines for experimentation and testing, or pay people to clean up our dev environments for us.
Why does what seems likes every commenter / blogger on this site feel the need to write a think piece about how they no longer trust Apple and all those other times they weren't the one complaining? (Hint: they were.)
It's always the same – this time out:
• Guy installed beta software and it was buggy. STOP THE PRESSES!!!!
• "I'm a pro user, I've functionally given escalated privs to apps that steal my data, every Electron container POS ever written, and 100 open standards only Chrome supports. How DARE Apple ask desktop users for permissions on upgrade!?!?!? Keep that security stuff for smartphone users – filthy casuals."
• Forgot Password. #classic
• Somehow my hostname changed during a system update.
And the cycle continues. Comments section without fail: 4-5 commenters who maybe used a Mac once are somehow experts on MBP keyboards, no one likes the Touch Bar, software quality, here's a Linux laptop I like (obligatory distro discussion in reply), "Services Company", a WWSJD for good measure, blah blah blah, Apple is DOOOOMED!
Sure, the public at large loves drama, but the ethos of Hacker News supposedly assumes some higher quality of posts + commentariat due to an audience of those involved in building software, startups, products, and hacks that require technical knowhow. Rather, the tendency of the vocal minority who post these anti-Apple Medium articles and comments is quite perverse:
- rail against the mythical "manager" strawperson who hates software quality and is just out to steal money, jobs, or some other vague emotional rallying cry from all us hard working devs.
- "empathize" by infantilizing the industry and software engineers. Neither devs nor tech companies have any responsibility for speaking up on scope, making well-justified technical decisions, keeping in mind the end user or world around them, or voting with their feet, etc.
You hate to see it. Since it's the exact same platform war crap that's been going on forever, it's always big, bad, Cupertino that's at fault...
...and yet, I've been using Catalina (on a separate machine until a late beta), treat my personal accounts as production, assume every process and line of code might be a potential attack vector, and support reasonable software policies which respect I'm both an end user and a software professional.
Isn't perfect, but stable enough for both development and production, just like software since time immortal. Not broken.
I don't know if you just skimmed the article or deliberately misrepresenting its arguments to make your point. Either way, this behavior deserves a downvote in my book.
> Guy installed beta software and it was buggy. STOP THE PRESSES!!!!
The author is describing the experience on the stable point-zero release of the OS. He only mentions beta to set up the context.
> "I'm a pro user, I've functionally given escalated privs to apps that steal my data, every Electron container POS ever written, and 100 open standards only Chrome supports. How DARE Apple ask desktop users for permissions on upgrade!?!?!? Keep that security stuff for smartphone users – filthy casuals."
That's pretty much the opposite of what the author is actually saying in the article. You're misrepresenting quite agressively.
> Forgot Password
Sure, that's possible. It's also entirely possible, given poor overall quality of the release, that it's an OS' fault.
> Somehow my hostname changed during a system update.
Are you saying it's not an issue worth mentioning? I disagree.
I’ve been using a Mac for years and I agree with most of the points in the article. (I’m still using Catalina, FWIW; I have a high tolerance for bugs and annoyances.)
The author seems to do a lot of unusual and roundabout things with the software on their personal mac. It's cool to see somebody fully exploring personal software and customization, but what they're doing sounds weird to me.
From another post[0] on their blog:
>You’ll be able to upgrade to version 2.0 for a one-time purchase of $6.99 – no subscriptions here!
No subscriptions here, just me rewriting the app and deciding to charge for the new version every so often.
This article is pure bullshit and it makes no effort to hide it
> Let’s start with my now infamous tweet from the other day. (I’m an influencer!) This screenshot has absolutely been manipulated to make a point, but everything in it is real. It’s all of the security warnings and permission
What the author doesn’t understand in this instance, is that it stops being real when he does the manipulation.
There is no reality in that picture and by his own admission the author has no credibility to make a point.
I am awed by the fact that we manage to release any software at all, let alone functional software.
The biggest problem is communication. No one fucking communicates.
- No communication between orgs. Tons of bureaucratic tape to cut through just to get a hand on someone working on a different product
- Barely any communication between teams. Literally every group of 4 people is in a little silo with no incentive to go outside it
- Broken management structure. I have had many managers (a red flag in itself) but even worse none of the managers take suggestions from engineers. Everything is purely top down. If an engineer realizes there is a problem on a macro scale they cannot fix it. It is literally impossible to unite more than 1.5 teams to get anything done.
- So what happens is that you’re working on a product that’s part of another product but you never talked to any other teams or orgs on how to make your product fit in
- 10 different teams working on the same products and services. Zero unification means you are literally wasting developers and internally fragmenting every tool. Even worse, these teams compete for internal market domination
- Culture of secrecy means nothing gets fucking done. You file a bug report and you can’t even see it any more for some orgs
This is only the tip of the iceberg. There are fundamental and serious problems at Apple that no one in management gives a shit about solving. Any time engineers try to congregate or work on anything constructive with another team, they are shot down.
The only time I have seen cross-team developers working together has been to deal with critical bugs.
Because of the lack of communication, none of management’s goals align. They are all out of sync and poorly thought out. So year after year your manager has something they want you to implement but the feature for the year is bullshit because it makes no sense and is just there to pad the manager’s resume.
And you can’t speak out about this. Apple doesn’t take well to employees complaining. Even then, because of the lack of organization there is no one you could raise these issues with.