Edit: and guess what, if Apple didn’t have advance notice of this do you think their own build process could have handled it? I’d bet money on “no”. XBS takes hours itself to spin up a new build, and with the usual testing a validation you see even the fastest updates taking at least a day. Back in iOS 7 it took them two to get critical fixes out the door, and patching the unc0ver 0-day took like a week for reference.
That's typical Apple, they are allergic to technical info and error display, when things are not working, there's no way to know why.
Steve Jobs used to say it over and over again when criticized by angry developers that their main focus will always be users instead of developers and that the latter will just have to suck it up if they want to get a piece of the lucrative Apple user base pie.
In comedic contrast, here's a sweaty Steve Balmer shouting "Developers!" for half a minute.
Ah, the early 2000's, with Apple and Microsoft battling it out, what a time to be alive.
From Jobs's perspective here, App Store developers are also customers. So while he is talking about starting at the customers' perspective, rather than the engineers, I believe he's only talking about Apple engineers. 3rd party software devs that are building the Apple ecosystem are:
1. Paying for the privelege of being an Apple Developer
2. Paying Apple a portion of their own earnings.
3. Opting to develop for Apple, rather than other platforms
So if we are Apple developers, we are customers, and according to Jobs's philosophy laid out here, it's Apple's job to deliver value to us (as well as the actual end users).
AppStore was about enforcing expanded Human Interface Guidelines to ensure overall product quality while getting some money to the indie devs that had historically starved due to market fragmentation. The combination of overall user experience, apps and Tim Apple’s buying up all the manufacturing capacity in ChYna (to lockout competitors —a lesson they learned from the PC knock-off days) assured ..$2T!
That's their value. Not that their software releases will always be perfect.
None of you will stop making iOS apps over this.
Full disclosure - I have developed many apps for iOS, but have never monetized them. I have used both Hybrid and native tech to do this. It has been probably 5 years since I've done Hybrid and about 15 months since I made a native app.
Honestly we just expect everything of everyone else and nothing of ourselves anymore. So they had some wonky version releases, like none of us on here have ever had issues like that before.
I found the concept of monopsony to be quite interesting here.
Developers are users as well. In the early days of computing, both terms were actually synonymous. If Apple designed the user interface of its programming environment so that the software developer cannot find out what went wrong and why, Apple deserves all the hatred it gets.
Also, this "lucrative Apple pie" is the only reason anyone even cares about it. If money is removed from the equation, I have no doubt developers would rather invest their time on a Linux system that doesn't insult their intelligence.
Android error: App displays error and disappears
Windows error: App displays error, possibly writes to error log, dumps memory to disk, and suggests you visit a URL that provides no useful information.
None of them are great, but at least Windows gives you something to search for.
Not having the problem in the first place would be better. Automatically solving the problem would be great! But, for once ever, I can safely say that this does sometimes fix problems.
The only real downsides versus Windows 10 are the Start Screen and the conhost implementation, but Classic Shell and Powershell fix both of those.
For example my auntie calling me in tears because windows "had performed an illegal operation" (verbatim error message text) and she was terrified she was going to prison.
Many non-dev folks around me have resolved windows errors by typing the error message or code into google - if they are spesific and well written, they enable you to do that!
This is just one example that I vividly recall. The simplest of operation downloading of an update, only apple can make it as big a nightmare as it was. Now they do a lot of things fabulously but when the fail they just fall on their face and ignore it or they would fail where I can't even imagine how to fail this bad.
The latest blunder (again download), my iPhone lost it's wifi after a fall and wow! behold you can't download an update over cellular. Apple will make you save your money by not using your expensive cellular data after all it's so much more expensive than your $800 phone.
Then you google it and the first 300 results say you need to install their malware to fix the problem. Never change, Internet... never change.
See TinkerTool for an easy way to enable such options:
My company can build and maintain a really big program with a minimal number of developers because Windows is so backwards-compatible. No need to rebuild everything every 3 years because APIs changed or some framework got deprecated. It's just running and running and running on our customer's hardware.
Here was an interesting bit:
> I first heard about this from one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Windows team were going through various popular applications, testing them to make sure they worked OK, but SimCity kept crashing. They reported this to the Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and added special code that checked if SimCity was running, and if it did, ran the memory allocator in a special mode in which you could still use memory after freeing it.
Maybe the knowledge of how to make backwards compatible systems is even slowly leaving with the old guard and they just will never know how to make it work ever again.
A colleague of mine is very active in Microsoft's GitHub repos and is complaining daily that no employee there seems to know how their own software works. He routinely needs to explain Microsoft employees that their ideas will not work because of $generic_windows_api_behavior.
Look at the US space program for example. It took them 12 years from the first man in space to go to the moon. Nowadays Space X, Blue Origin etc. seem to have to re-learn everthing and edge themselves slowly towards launching manned missions. They very likely have the books about space flight but not much experience.
I might be conflating causation and correlation, admittedly. I've always enjoyed the hardware aspect of computers, so it's hard to look at this sort of thing completely objectively.
> statically compiled with no non-kernel dependencies whatsoever
I'd love that. Would be great if we could even get rid of the C library. Compilers should emit Linux system call code directly.
Look at how many DLLs get updated in a typical windows security update.
Most of those would have been permanent security vulnerabilities if everything was statically linked.
It's too bad they just don't make VM stuff available, and make it available for a long time.
Yes it might be only nostalgia, but why don't they have something simple like dosbox for macos that would run mac classic apps or recent stuff.
I guess you just have to keep your old systems around
I've downloaded lots of stuff from google. Its rarely slow.
I use cloudfront on AWS - also rarely slow.
Apple - often slow. They have billions - is there something wrong with their caching layer at ISPs etc?
Apple falls over after big events for developers etc. Is there not a cashing layer locally at ISP level - ie, push '209 out in advance to ISP cache, then everyone can gobble it up when you announce and link on your website?
A Mac Mini with a 10G Ethernet port can saturate 10G.
So, how are they not fast?
Or they could have just launched both on Friday.
a: lacking the qualities needed for effective action
b: unable to function properly