makecheck
It is illegal to run a stop sign, and it is certainly possible a car (crossways or turning) will arrive first and have right of way. So a car is turning, why should it expect a cyclist to come plowing through on a whim?
Again: it is ILLEGAL for cyclists to run stop signs. You have to stop, just like a car. (And in case you think it’s no big deal, I see plenty of cars that aren’t too good at stopping either. You want to hit them?)
Seems like the viewport is fixed so zoom is disallowed. (Sites should never do this.)
So in this case, all they had to do was make it key-like and it wouldn’t have had any of the features that could trigger this problem.
I can’t wait until they release it (oh wait, they did, decades ago; now we just have — whatever — the Mac is now).
Also a good reminder that the slow thing may not be what you think and if you aren’t profiling you don’t really know what’s going on.
And an even better reminder that typical “metrics” trying to assess developer value can be pretty meaningless. This is the kind of code change that would drastically improve everything but show up as a blip on some of the pathetic measurements out there, e.g. hardly any lines of code or whatever.
And if cost is an issue, that is more an indictment of how schools are funded: if there doesn’t seem to be room in the budget for buying software and/or support, why is that the budget?
Ultimately if you don’t work on the first two, it isn’t enough to have the third. Persuasion is really important because you’re usually not working in a vacuum.
SwiftUI was really promising at first, and even fun to use (nothing like ripping out entire UI files or pages of code). Yet, issues were almost immediately apparent.
A major concern is that it seems to take Apple a really long time to address even basic issues, e.g. years go by and things still broken since day 1 are there, while other things are randomly introduced. And of course, “Feedbacks” have the usual dice-roll effect: will you even get a response, much less see any indication that the reported bug will ever be fixed? (Or will Apple just wait 2 years, close your bug as “probably fixed in this OS update, please confirm”, and repeat the whole thing?)
And the thing is, this is not hard to believe. If you auto-complete in SwiftUI (what else can you do, there is rarely good documentation?), some of the APIs are truly scary: levels of complexity and variation that really make me wonder if they can truly test, much less support, every variation of every API. I would strongly argue that some things just have way too many options instead of a handful of clear starting points.
SwiftUI also occasionally changes behaviors (e.g. subtle or gross layout differences). Worse, it is easy for Apple to not call any of these changes “breaking” because apparently you are just supposed to let SwiftUI figure out what is needed in any situation. Except that kind of “trust us, we’ll come up with something” approach is not great for writing stable production software.
The auto-generated hierarchies can do truly weird things. For example I realized at one point that an “auto-saved” window layout auto-generated preference names based not on a simple string but the entire SwiftUI view hierarchy, which was huge and indecipherable and of course would become a different value if any part of the window or view hierarchy was modified. So I discovered I had dozens of preference settings scattered throughout my defaults, 99% of which were completely obsolete because they were based on previous incarnations of the view I was developing, and they all had names that were almost impossible to type (so how do I delete them while preserving the rest?). What do you even do with that?
Yet another major concern is that SwiftUI is very dependent on Combine which is not necessarily the future given other developments in the Swift language. So what if they just decide to, say, deprecate Combine and move further toward actors and async APIs? How much of SwiftUI might just fundamentally change in, say, WWDC this year, completely invalidating years of effort people have put into it?
Instead, they did things like: just forget about proper keyboard support in a lot of places, have really awful performance at times, weird gaps where entire UI elements were just not there, etc. And that’s before even getting into the apps, where they were clearly doing things lazily like leaving iPhone elements in place exactly as they were no matter how awful an experience that was on the Mac.
Almost every app they have now should not have been released in its current state, much less left more-or-less-still-broken 1-2 years later! It is certainly possible to embark on major updates like this but you do that internally, only releasing something when it is not full of obvious flaws (and certainly not worse than some previous version it replaces).
Frankly, if it’s not reliable as a tool, it has no real value and I can’t believe it has come to this. Imagine if every time you ran `ls` in a shell with a glob pattern, it just decided to sort of “add in” a few other files loosely based on your query (or heck, files that aren’t based on it at all)? Oh, now imagine if `rm` did that.
Sadly this happens with lots of search tools now. Why the heck is the default state on a new Mac to funnel what you type to everything, e.g. I searched for “Chrome” and hit Return and the FIRST thing it did was throw me into the App Store and call up some not-even-a-web-browser scam app with Chrome in its name, instead of selecting the Chrome already installed on my computer and opening it? More and more it seems that you have to turn off all kinds of poor defaults to put tools into a useful state, or there is simply no way to get them there at all.
There’s also a tendency for companies to be super proud of what they’ve done so they neglect methods like A/B testing and instead just bet the farm on their great new design. After all, it cost a lot of money and looks cool to the decision-makers so what could go wrong? Um, maybe before you throw out all of your packaging everywhere and double-down, you could tone it down a little and try it out in a few small markets first? Then watch and see if sales are going up or down? Then think about going further?
And at this point there is also a tendency to ignore history. This is far from the first big failed redesign; what is going on that no one is looking at past failures (plenty of which have had high costs to other brands too), and imagining that there might be a downside?
The thing that is hard for people to get is that time costs a ton of money. If you use software without contributing back at all, you’re getting a lot for free but at least you’re not actively costing the project. If however you “contribute” in a lazy way, it starts to actively cost the maintainers to deal with this. So: feel free to contribute but read up on what a project wants and try to show that you’re at least meeting their effort halfway in terms of sufficient detail, following coding styles and request templates, etc.
The worst part is that for every 5 cool things they add, they do at least one really stupid annoying new thing on macOS that makes using newer systems annoying.
For example, if there is one thing I recommend everyone do right now, is set this on newer macOS:
`NSAlertMetricsGatheringEnabled = 0`
It completely removes the majority of those stupid iOS-style alert boxes and returns them to the older sane layout.
There is a very clear hierarchy here, and it isn’t “developers first” or even “developers 7th”. Instead, it is: whatever makes an absurdly rich company even richer is A-OK, the “curated experience” will be sure of that.
Maybe they could have had a huge windfall by offering to be the “AWS” behind every “$CHANNEL+” streaming service. In other words, instead of having 14 kludgey apps that all suck in at least one way, we get 14 services but with a smooth implementation.
I don’t see how content is a long-term win for them.
The one that really aggravated me though was the one at the end: after you FILE your taxes, they present this damned progress-bar looking thing as if you are somehow “not done” yet, as if this totally optional product sale is a required step!! No, no, no, that is just misleading garbage, and it is so annoying to have to constantly hunt around the page for the magic text to get around these things. I mean, I couldn’t even reach the page that lets me download my forms as PDF until I skipped this upsell.
What’s more, the product itself is getting more expensive but worse. On desktop, the whole thing is just a blown-up mobile UI (are that many people doing taxes on their phones!?) with all kinds of things unnecessarily hidden. On page after page, there is more than enough space to show everything but instead it’s giant white space everywhere; they HIDE things behind disclosure arrows, and with no logic whatsoever; e.g. on one page it shows the 2020 numbers by default but hides all the 2021 numbers behind arrows!?
Guess what isn’t an insultingly-small, truncated experience on desktop? The ads, the upsells. THOSE are full-page, taking full advantage of screen space and even scrolling off the edges.
Really shows their priorities.
For example, my cable company peppers its web site with ways to “upgrade” your plan easily online. Great, guess what’s missing: an easy way to downgrade anything, e.g. to fewer channels or slower Internet. Obviously they do this for exactly the same reason as the call-us-to-cancel crap but it is just different enough that they could probably keep doing it and still be in compliance with a poorly-written law.
And on the off chance something actually requires talking to a human, it is well past time to end this wait-hours-on-hold crap. Why can’t I log into my profile on the company web site, type in my phone number, describe my issue and then say CALL ME whenever the hell you manage to find an employee who is free to discuss? Furthermore, such calls could be punctuated with texts, e.g. “thank you for contacting us, please expect a call in about 10 minutes” or whatever. That stuff would have been straightforward to implement 10 years ago, much less now.
- web hosting
- $99/year fee (also to Apple)
- having to spend time re-fixing things you already did, that broke because Apple likes to update its APIs or release new devices with unexpected new requirements
- eventually buying entirely new hardware when Apple obsoletes something (and eventually, they threaten to deny app updates or kick you out of the store if, heaven forbid, you can’t update your screenshots to match the latest devices or whatever)
- additional hardware to test sufficiently to know you have released something that is stable for more people than just the developer
- and, uh, frankly, a continuous need to eat and be sheltered and pay bills if this is actually your job
In fact, almost any cost I can think of is in some way a continuous thing.
What’s actually broken are the notions that:
- somehow software should be cheap (it is not cheap to make)
- somehow paying an outrageously small one-time fee means infinite updates and no real costs after that (see above)
In other words, they barely seem to read resumes or anything else so if they totally screw up key details of the position, that is probably par for the course.
(Insert rant about losing StackOverflow Developer Stories, which actually allowed explicit tagging of things like preferred tech which made matching really easy.)