Hacker News new | past | comments | ask | show | jobs | submit login
Why is Apple acting like an asshole? (jessesquires.com)
569 points by ig0r0 13 days ago | hide | past | favorite | 493 comments

This article is missing the best part, that the new Xcode you have to use to build your app was released today at 11 AM, with a build number of ‘208. It was a really strange build in that it was missing components to build for Apple silicon: for that you need to use the old beta, which Apple has kept up on their website so you can juggle both. But that’s not all! Soon afterwards they changed the website saying the new Xcode was actually build ’209. Around this time people had finished downloading the update, which was slow because everyone was freaking out about getting their app ready in time and grabbing it at the same time, and they realized that Xcode wouldn’t let them upload their updates. So everyone thought that of course build ‘209 was the right thing to get so they hit the website again to download the file…except Apple doesn’t do checksums, obviously, they do a really slow verification thing that every iOS developer hates with a passion and gives no useful information. In this case manually running the checksums told everyone that while Apple had updated the version they claimed to be have on their website, everyone was still getting build 208 and this build could not be used to submit updates. Then, later in the afternoon, Apple flipped the switch to allow build ‘208 to submit updates (which now need to go through review…). But that’s not all! In the evening at around 7 people started getting a different Xcode, the actual build ‘209 they claimed there were distributing all along…and now every developer is stuck with the decision of whether they should pull their old binary they uploaded and recompile with build ‘209 (as there are many differences between the two, based on a diff -r) or wing it. Totally uncool, totally unnecessary. If anything the blog post is not strongly worded enough about how much of a affront this is to developers.

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.

> iOS developer hates with a passion and gives no useful information

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.

All in the name of UI cleanliness and simplicity. Like how there's no way to manually trigger the firmware update for the AirPods. You just have to keep them plugged in next to your iPhone and ... wait ... until some magic pixie in Apple's cloud decides it's time to push the update to you.

Steve Jobs used to say it over and over again when criticized by angry developers[1] 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.[2]

Ah, the early 2000's, with Apple and Microsoft battling it out, what a time to be alive.



I watched the whole video of Jobs, and I enjoyed it and took something away from it. I also don't think that it applies to this conversation.

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).

It’s far worse than that I’m afraid, but that’s not really important.

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!

Apple does deliver value - a huge market of higher paying buyers than Android.

That's their value. Not that their software releases will always be perfect.

None of you will stop making iOS apps over this.

Just because some value is delivered in the form of paying customers doesn't mean Apple (or any business) should stop thinking about other ways to deliver value to their customers (being developers in this case).

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.

I don't think that they are - they've added numerous features to their hardware that software devs can interact with.

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.

> App Store developers are also customers

I found the concept of monopsony to be quite interesting here.

> 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

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.

Yeah, I guess some people decided that technical errors helping you to find what is going on are "ugly".

Mac/iOS error: App just disappears

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.

EDIT: Formatting

Windows even offers to resolve the issue which, as I understand it, has never in the history of time resolved anything.

In Windows 8.1, if the Sound service crashes, clicking on the sound icon with an (X) on it will bring up a UAC prompt. Going through that will get the "resolve the issue" prompt to restart the Sound service, which will fix the issue.

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.

Why use windows 8.1 today? Windows 10 was a free upgrade and a major improvement.

Windows 8.1 works, uses significantly less RAM, lets you disable the telemetry, lets you create new users without a Microsoft account, doesn't move things around all the time, has a non-Chromium-based browser built into it, doesn't automatically install Metro apps…

The only real downsides versus Windows 10 are the Start Screen and the conhost implementation, but Classic Shell and Powershell fix both of those.

The only time it did something for me was when the network diagnostic tool requested a new dhcp lease because I “did not have Internet access.”

On the Mac you get a crash dialog with a report button that can show a detailed crash report with a stack trace. Much more useful than Windows errors. Like I used to have a series of Safari crashes where the stack trace clearly showed it was a Unicode bug

Crash logs are available on iOS in the settings.

Yeah agree, and I'd say it's better to hide them away in settings because most users have no idea what those error messages mean.

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.

Stongly disagree, as much as this example is hilarious and toching, it really isn't typical.

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!

Strongly agree with you. When Apple things fails to 'just work' it is a nightmare. I used to have this issue for downloading MacOS updates. My internet wasn't too fast and it would get interrupted and restart from zero. Who can't do download resume in the last 10 years, I would assume only apple. My office network was faster and we also had those cache server, it worked for everyone except me. MacOS provided zero hint and it 'just failed to work'. Office internet was fast enough to download in multi MB/s yet Apple update weeks after released (so I don't think there was rush and it was US night) would have speeds 50 KB/s to < 500 KB/s and of course you can't choose a mirror or whatever cause it 's meant to 'just work'.

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.

A lot of people seemingly don't have the patience or knowledge to do this, unfortunately :( I know people sneer about "computer classes", but I think it would be very useful to have people learn to try to solve their problems by themselves.

Windows has been getting worse and worse at this as it increasingly follows the bone-headed trends started by Apple and shitty web designers.

Seems about the same as always. Either Windows is working, or you get a blue screen that says ":( Error code: WE_AUTO_INSTALLED_A_SHITTY_DRIVER_FOR_HARDWARE_YOU_DONT_CARE_ABOUT_AND_IT_OVERWROTE_THE_OS'S_MEMORY"

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.

On Android, if you tap the button to report the error, it will show you a stack trace and other information that are often enough to diagnose crashes in third party apps.

macOS has an option to show detailed crash reports, which can be more detailed than Windows' crash alerts, along with a field for describing what you were doing or attempting to do.

See TinkerTool for an easy way to enable such options:


Over here on Windows side not everything is "Developers!" as it should be though.

True, but I can still run my program that I compiled back in 1999.

you also have largely the same OS and hardware architecture that you did in 1999

You make it sound like it's a bad thing.

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.

Microsoft takes backward-compatibility as seriously as Apple takes product aesthetics.

I read a good article years ago about microsoft and philosophical struggles with backwards compatibility.

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.


I wish there was a bit more of that on the Win32/UWP reboot (Project Reunion, WinUI 3), .NET unification, C++/CX replacement.

I think Microsoft is at the point we're the old guard is leaving and the new hip kids take over who mostly only plugged libraries together because they never needed to write assembly.

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.

Yeah these whipper snappers can't possibly pick up c and assembly. Only boomers and gen x can do that.

Knowledge can be lost. There is a stark difference between using a tool and mastering a tool. It's even harder for theoretical knowledge. Don't use it, lose it.

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'm not saying that young people don't know assembly and C. What I'm saying is that most younger people don't need assembly and C, so they are a lot less proficient in it. Hardware has become so fast, it doesn't matter that JavaScript is 20x times slower, so people nowadays write entire desktop programs in JavaScript that are slow on not-cutting-edge hardware and have bad OS integration.

No offense, but I can still "roll my own" desktop with Linux and Windows, replacing components out as needed. I understand that this sounds like some technical hurdle to many, but it also feels like a cause to the rising hardware illiteracy of the average citizen.

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.

Modern Linux kernels can also run binaries compiled in the 90s. Apple just doesn't care.

Sure, if they're statically compiled with no non-kernel dependencies whatsoever. Once Linux userspace gets involved it is a shitshow.

Right. Most Linux user space software actually subscribes to the Apple philosophy of breaking everything in the name of progress. From what I've read, even GNU rejects binary compatibility concerns because to do otherwise would help proprietary software, sometimes resulting in breakages in vital stuff like glibc.

> 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.

This makes fixable library bugs more or less impossible to fix.

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.

That shouldn't happen assuming the Linux distribution maintainers update everything whenever a library gets fixed. I agree that dynamic linking produces significantly less work for maintainers.

You know, apple did a really good job on this in the past - with rosetta to emulate PPC when the first intel macs came out.

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

Lol what hardware do you think apple uses? ARM and Intel/AMD are all ancient designs with improvements bolted on.

Macs only just work, don't expect much else.

Until they don't, or put your display to eternal sleep with no way to ever wake up, or...

Well, I think you might be misunderstanding this a bit. What happens is that you download a compressed application and that is signed by Apple to prevent tampering, I assume to prevent XcodeGhost-like malware. The issue is that 1. this only tells you that the file you have came from Apple but not what it contains and 2. Xcode is massive and downloading it, verifying it and then uncompressing it to run it and check its build number takes ages: you could have a gigabit connection and a 18-core iMac Pro and you’re still looking at half an hour from opening the developer downloads site to being able to check to see what you just downloaded. When Apple messes up their labeling/caching/whatever you can see why a SHA would be extremely useful, as I know people who repeated this process multiple times through the day in hopes of getting the build Apple claimed they should have. (Eventually people started spreading hashes, not verifying the archive, and sharing it around via file hosting sites like Dropbox, which totally defeats the point of all of these things, so good job Apple on making this process so annoying that people will just jump through the hoops to bypass it.)

The last beta was 28Gb, nearly double the size of version 11.

What? Are delta updates not a thing?

Not for beta releases of Xcode, since they’re only provided through the developer site (not the App Store) and you have to download a full installer every single time.

That's some lazy bullshit.

Not an installer, but a compressed (and signed) archive of the thing.

That’s bizarre. They provide delta OTA updates for iOS betas...

Xcode betas just don't go through software update for whatever reason. Not sure why.

Question - why are apple downloads slow - I don't get it.

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?

They're actually usually pretty decent, back when I had a gigabit connection I would regularly saturate it with Xcode or macOS or whatever beta Apple had the for the week. The issue is that when they're rushing and developers are rushing they just don't handle the load well at all–right after presentation when new things get posted is usually a bad time :/ Perhaps they just don't scale very well.

That is what I mean. When netflix releases a popular new show - it basically still streams etc. The bandwidth must still be nuts.

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?

It really depends on region. I have seen in US, most of the downloads are fast as that is their main region I guess. As the network latency does not matter when downloading big files, I use that VPN and get much better speed than using local CDN.

Mac mini's don't have fast NICs, and they're probably still unable to use the current Mac Pros for production reasons. The old Mac Pros keep rolling off the rack.

Apple is likely not using Mac hardware for the majority of their datacenters: https://www.quora.com/What-OS-used-on-the-servers-in-Apples-...

A Mac Mini with gigabit ethernet can saturate a gig and not break a sweat.

A Mac Mini with a 10G Ethernet port can saturate 10G.

So, how are they not fast?

Gee, it sounds like even devs internally weren't aware of it and everyone's scrambling.

Probably. Unless they’re something that clearly explains why this update just had to go out tomorrow, like new iPhones shipping or something, the people who signed off on this should be writing a report tomorrow about how badly they’ve damaged developer relations and created a huge amount of work internally for the app review team and probably the engineering as well. The fact that the main part of the even from today that I care about is a ten second snippet from Tim instead of how fast A14 Bionic is or whatever is a really bad look for how much this has ruined developer trust in Apple.

It's likely because of the Apple Watch Series 6, which will almost certainly release with WatchOS 7, which is in-turn only compatible with iOS 14. The Series 6 launches Friday, so if they wanted to delay iOS 14, they'd have to delay that launch too.

> The Series 6 launches Friday, so if they wanted to delay iOS 14, they'd have to delay that launch too.

Or they could have just launched both on Friday.

I had so much fun reading that!

Is XBS Apple’s internal build system for their operating systems?


Definition of incompetent:

a: lacking the qualities needed for effective action

b: unable to function properly

Honestly, this is why we need the Web. But Apple even blocks that since they don’t allow any browser engine apart from Safari, meaning that there is no

- Add to homescreen dialog - Background sync - Proper push notifications - Proper WASM support (a lot of features are missing)

Honestly, at this point, the government should step in, like they did at the end of the last century with Microsoft. Walled gardens hurt innovation a lot, and the App Store in combination with the restricted web on iOS are the ultimate expression of the former.

Why wouldn't you use Android then?

I would personally like to continue paying higher prices to protect myself from low-quality background-syncing byte-code-obfuscated web-pages with push notifications, please.

Something can be said for both. I have built a couple of 15 year old websites with passionate users who have been begging me for an app. Not to replicate the website, which works perfectly on mobile and is very up to date with best practices. They just want it for push notifications. I can switch to Android, yes. But my users won't switch phones for just my website. And I can recommend something like Pushover, but that's too complicated for most users.

Just enable the API Apple, I bet you already have it hidden behind some flags.

Why wouldn't you just do exactly what your users passionately want, and make a small app just for notifications? You may even make it paid, so that your efforts are compensated -- I am sure, the users will be happy to support you.

I am working on it. But as a web developer this "small app" and everything that comes with it is easily hundreds of hours of work, just to clumsily recreate functionality that's already working in other browsers.

But that's exactly what Apple wants. They want you to invest your time in their ecosystem because that prevents you from spending time in other ecosystems. Every thing they do that makes it more work for you to make an iOS or MacOS app is time you won't be spending making things for other platforms including the web.

plus, they get the added bonus that they can demand you pay 30% of various transitions that they couldn't demand if you just left it a website that happened to be PWA

Their incentives are entirely aligned not to support the latest web standards and not allow any other browsers on iOS to add them

This is an unnecessarily pessimistic view.

Yes, Apple wants us to spend all of our time interacting with / committed to their users. No, that aren’t maliciously trying to steal our time from other platforms. The thought chain ends with their platform, never considering that we even have other platforms to support.

A self-obsessed outlook is different from a deliberately sabotaging business plan, even when they present the same outward behaviors. Occam’s razor.

I am 100% convinced that mobile Safari is worse for the future of the web than IE6 ever was. And it’s 100% intentional.

Can you elaborate on what you foresee happening, and why?

On top of the now years old and still not implemented notification API, Apple recently declined to implement 16 other PWA API's, citing privacy concerns.

They could make every API opt-in or propose improvements, but they won't.

With IE6, people were at least allowed to install more capable browsers. With iOS there are no other browsers. Only user interfaces around Safari webviews.

How many apps that are just an interface to a website and could be viable as a website if only iOS Safari had push notifications would actually bring in any significant amount of revenue?

Besides that, according to the latest App Store rules, apps that just surface cross platform services aren’t required to have in app purchases.

Breaking up your question into two pieces:

> How many apps [could] be viable as a website if only iOS Safari had push notifications[?]

I’d say a lot.

> [How many of them] would actually bring in any significant amount of revenue?

Adding this caveat doesn’t change my answer—but I really don’t like what it's implying. Software is not suddenly without value just because it doesn’t make money.

> I’d say a lot

Yet you didn’t name any. If that were the case, you should be able to name the equivalent web apps on Android that must be apps on iOS.

> Software is not suddenly without value just because it doesn’t make money.

So where are those “valuable” web apps on Android? Also revenue is the most objective way to measure value.

> Also revenue is the most objective way to measure value.

Nonsense. Wikipedia must be worthless for you? What about air? Do you feel you'd breathe with more satisfaction if someone was profiting from the air you breathe?

On the other hand, there's plenty of immensely profitable things that have negative value. Cigarettes? Oil? Weapons? Opioids? I could go on and on.

And you still haven’t come up with a situation where a major developer was forced to make an iOS app and decided to be content with a PWA for Android customers.

“Value” has a definite meaning in economics. If someone is willing to pay for something, it has value to them.

I don't even care about iOS. I just despise your definition of value, since it's simply wrong and dangerous.

Whether you despise it or not. It’s the only objective measure that we have to ascertain the value that a population puts on an item.

How can it be objective when every single individual would bid a different price for the same product, if asked without being shown the market price beforehand? It's all about perception and -my friend, I have bad news for you- perception is all but objective. Yes, perception of value can be manipulated through tools like marketing. That doesn't make the product itself anymore (or less) valuable than it actually is.

That’s the issue. Anyone could respond that they have an app that valuable to only them and their best friend.

What better choice do we have than to measure value across a population? How much value a population places on something based on how much they are willing to pay is objective. Whether that value is utilitarian or based on other factors is subjective.

Are we really arguing about basic supply and demand? Yes suppliers have methods to drive demand.

> Yet you didn’t name any.

Reddit, Trello, Twitter. Probably Discord and Slack too.

I haven't used Android in years but I certainly don't see why these wouldn't work as web apps if you had push notifications. All the functionality is there.

And none of those companies thought the web app was good enough to eschew native apps on Android. Why is that?

Because they have the budgets to do both.

That's why you're asking the wrong question.

Companies don’t just spend money because they “have the budget”.

No but that doesn't refute my point, does it.

What is your point? If the vast amount of the industry thought PWAs were good enough, they wouldn’t create Android apps when a web app would do.. Companies don’t just spend money needlessly.

You should see a proliferation of cases where companies create an iOS app and a web app for everyone else.

A large amount of apps could just be a website if Apple supported more API’s. It would also bring bigger budgets to webdev teams and improve the quality of their webapps.

Care to name some web apps that are successful on Android but are required to be apps on iOS?

Why rephrase the question? Lots of apps could have been just a webapp. It doesn’t have to be popular or succesful to prove that point, because it’s the smaller apps / teams like my one man company that would profit the most. Let larger companies spend their money on squeezing out maximum performance via native code. And let me use the browser for the 10k users of my app.

If the argument is that Apple is holding back PWAs, then there should be a lot of corresponding web only apps on Android that are forced to be native on iOS. The developers would have a web app anyway for the desktop so you should see a lot of apps that are PWA apps with iOS apps.

Why should there be? There are thousands of webdevs who weren't 'forced' to be native on iOS, because they don't have knowledge and budget to be native.

You're asking the wrong question.

Whether there should be or not. The question isn’t why doesn’t every website have a native app. The question is if PWAs are good enough for Android because of its great support and not good enough for iOS. You should see a lot of companies doing iOS + Web instead of iOS + Android + Web. But that’s not the case. Companies have spoken with their budgets. They decided that it was worth the money to have native Android apps.

Could it possibly be that HN posters are wrong and PWAs aren’t good enough on Android either?

Almost all smaller e-commerce websites don't have an app. They rely on their website + e-mail notifications.

Would they enable web notifications if it was universally available? Yes. Would they enable it just for Android users? Some do. Does this say something about the quality of PWA's? You tell me. You seem to be adamant that the web sucks, yet literally millions of companies are succesful on the web without accompanying apps.

I never said the web sucks. The thesis was that Apple was holding PWAs back and given a choice, app developers wouldn’t create native iOS apps and just create web apps. If Apple’s lack of support for the necessary APIs was the deciding factor, the same developers who make native iOS apps wouldn’t go through the trouble of making native Android apps - yet they do.

No the thesis is that Apple is holding the web a a whole back. I’m not the one that says Apps like Youtube are better off or even good enough as a PWA. I’m arguing that if Apple enabled the notification API, a lot of websites and apps can save money by not replicating simple functionality in a native app. Your arguments don’t refute that at all.

If the lack of push notifications on iOS were the only thing forcing developers to create iOS apps, those same developers wouldn’t overwhelmingly be creating Android apps.

Where are all the developers who are being forced to create iOS apps but are “saving money” by not creating Android apps because PWA support is so good?

Most skip making apps all together because they rely on email notifications.

I agree. But if PWAs were good enough on Android, you should see, depending on your budget from largest to smallest:

1. Web, iOS, Android

2. Web, iOS - since PWAs are suppose to be “good enough for Android”.

3. Web

But you hardly ever see #2. Why is that?

Doesn’t matter. My point still stands. You keep repeating yours, while failing to see mine.

You’ve made a point without any evidence. If your point is that PWA’s could save developers money, rationally you should see developers saving money by only creating iOS apps and PWAs. Developers with real money on the line haven’t made that choice.

You've got it wrong, because Android has much looser review policies so these apps don't have to be web pages on that platform. People (including Apple!) push web apps on iOS to not be subject to App Store review.

It doesn’t matter. If PWAs were good enough on Android, and seeing that you would probably need to build a web app anyway. Why not just build a web app + iOS app and not build an Android app at all?

I feel your pain, for me as a strictly back-end developer it is the same when I have to make front end.

May I suggest trying to outsource this small app to a freelancer? It could be a quite time- and cost-effective small project for someone who already has extensive experience with iOS.

Email them? SMS Them? Its not pure notifications, but its far easier to implement.

I have e-mail notifications, yes. But a growing amount of people don’t check their email regularly and it gets drowned out.

Email would get drowned with all the other apps with the same idea, which is exactly why Apple shouldn’t allow it.

Why Apple shouldn't allow websites to email you instead of causing those websites to create iOS apps?

No, it's why apple shouldn't allow notifications from the web. People are already drowning in notification spam from native apps. To the point where Apple has added three different ways the OS prompts you to disable notifications.

People just allow everything and then get overloaded by all the worthless interruptions.

If Apple would make it so that websites can’t request to enable notifications, but only via manual user action, I’d still prefer that to developing an entire app to fit that goal.

You’re very much making this out to be more difficult than it actually is. If you’re a webdev throw a web browser frame in, or use react native, or just spend the few hours it takes to learn how to setup and app and push notifications and add a bullet point to your resume.

Not sure what I need a resume for. I'll probably never work for an employer and I think I'm a better farmer than a webdev.

I know how to design and build things with my hands. I also know how to design logos, websites and other things. I can code and enjoy building and maintaining the network of websites I built in the past 15 years.

But I feel I'm spreading myself too thin when I'm also learning to code in React or Dart (Flutter) for a single one-off project. I fear I won't be able to put in the hours required to become adequately proficient in another field that's constantly changing.

No you are not spreading yourself too thin. Each new language or framework you learn will teach you something you’ll use for the rest of your time programming. You may not remember everything you learn exactly, but it will help you carry conversations or know where to start should you be tasked to need those skills in the future. Also Google is your friend, you’re never going to know some language or framework so completely that you can verbatim spit out it’s docs and signatures without some reference.

The rest of what you said sounds pretty on par with the rest of the self taught programmers I’ve met (me being one of them).

This answer is wrong on so many levels...

I don't know why Apple is allowed to keep other browser engines out of their system, but probably just because the relevant people just don't understand that the Chrome/FF/etc. on iOS are just a Safari with a different UI and that it gives Apple about half (depending on country; in the US probably more) of the mobile browser share and users just the chance to either use Android or be stuck with Safari.

In addition, the author obviously doesn't know that the before mentioned push notification API is not just used for regular push notifications, but is also required for other use-cases like messengers for example.

Playing the devils advocate here. This browser restriction is what I'd wager is keeping the non-chromium browser market at a substantial proportion.

I am wondering what you are referring to with 'non-chromium' browser market. Typically people don't complain about chromium-based browsers, but about the dominance of Webkit-based browsers (Safari, Chrome, Opera, Edge, etc.) and from that perspective there is more or less just Firefox left.

Nevertheless, that is besides the point as the rendering engine is not the sole source of browser differences. I am not saying the Googles high market share isn't a problem itself, but that Apple is abusing their market position to hold back the development of the web (by not implementing relevant APIs and not allowing competing browser engines on their platform).

> Typically people don't complain about chromium-based browsers...

In my neck of the woods people most definitely do complain about Chrome, specifically the lack of privacy from being a Google product.

Google forked WebKit 7 years ago.

Yes. Including mobile WebKit users, there are enough non-chromium users to give devs incentive to support non-chromium browsers. Take away mobile WebKit and alternative browser usage dips into single digit percentages, which is low enough for many devs to readily disregard.

It’s a bit ironic, but browser engine monopoly on iOS is the only thing standing in the way of browser engine monopoly across all platforms.

Google nominally allows other browser engines on Android, but non-Chrome marketshare is a rounding error. There's not some great browser engine ecosystem out there, waiting to be unleashed.

The conversation is 100% about how much influence Apple should permit Google to have over the evolution of iOS.

Actually, since a year or so Firefox is a pretty solid mobile browser and I am pretty pissed I can't use the real thing on my iPhone.

> I would personally like to continue paying higher prices to protect myself from low-quality background-syncing byte-code-obfuscated web-pages with push notifications

are you really saying you would pay higher prices because you can' t press the "no" button and never visit the same website again?

Yes, absolutely! Just like I'd rather pay for Apple Arcade so that I don't have to wade through the sewage of free-to-play games clicking "no" on in-app purchase requests and hiding spammy notifications. Just like I'd rather pay for streaming services with no ads rather than having to mute commercials on live TV or skip commercials on DVR'd TV.

It's not absurd to me to pay for platforms that attempt to preemptively remove filth rather than need to be on the constant lookout for filth. This is particularly true when most of these entire ecosystems (the web, app stores, video content) seem to be based on sneaking filth in front of your eyes at every available opportunity.

Web notifications are a standard feature, meaning the APIs are in the web standard.

Making an hyperbole here, but wouldn't Mosaic 1993 edition solve every issue then?

Reasonable people can disagree about which features are and are not useful. And those reasonable people can purchase smartphones and computers which best cater to their own views about these features.

True, but reasonable people that know about web notifications API are less than 1% of Apple customers...

That sounds like a great reason to not let every trashy website in the world to spam them asking if they want to enable notifications.

But is it Apple's call?

I mean, removing features of course makes software more secure

I argue that disabling JavaScript would only bring great benefits to humanity

If Apple had a dominant market position in smartphones then one could argue that end customers don't have much of a choice, but Apple only has at most 50% market share in the US and much lower globally. For my own smartphone usage I would much rather Apple choosing which features and APIs that third-party developers (of apps and websites) can use rather than those developers being able to do whatever they want. I think it's pretty clear that developers tends to have a much more hostile relationship with their end users than Apple does with their customers.

The argument is not about market domination, but about money power

Apple market is rich, it is the richest tech company, with the highest market valuation ever, one cannot avoid it

So it's gonna drive adoption no matter what

Like it did for Flash (right or wrong, they did it)

I was writing web applications during the 90s, they were called intranets back then, IE wasn't bad, it was simply unavoidable

And being unavoidable halted competition for more than a decade

On another side: having a platform that doesn't obey to common standards creates tech segregation

I remember seeing japanes phones 20 years ago, they were ahead of time,but unusable outside of Japan

Last but not least, having a flag that says "allow me to shoot myself in the foot of I want to" it's less hostile than "you don't know what you're doing let me handle it for you"

So then write for all browsers, support what you can for each, and don’t promote Chrome anymore? If you continue to promote a one size fits all browser and the market moves that way then we’ll shortly be having this same discussion about Google. If you were writing websites in the 90s you should know this.

> So then write for all browsers, support what you can for each, and don’t promote Chrome anymore?


That escalated quickly

I never promoted Chrome, in fact I'm an old time Firefox users and in the 90s I owned a Netscape 3 gold license.

I don't write fronted software anymore, but writing for every browser means adhering to the standard

Apple has steered away more than any other vendor lately


> I don't write fronted software anymore, but writing for every browser means adhering to the standard.

Yes, which you’ll find if you do Safari adheres to quite well. Finding examples where it doesn’t is easy, just like on chrome. Which is why we have media queries and poly fills because it’s simply impossible to have a unified platform without one entity owning it. If you found out Chrome doesn’t render the same on linux as it doesn’t on windows, would you call this not adhering to the standard?

> Yes, which you’ll find if you do Safari adheres to quite well

They don' t

Apple refused to implement 16 web API in Safari

> Which is why we have media queries and poly fills because it’s simply impossible to have a unified platform

And that' s why big players like Apple hat control a closed ecosystem shouldn't be allowed to be assholes

At least on Android I can install other browsers and other browser engines

Do you see the difference?

> Chrome doesn’t render the same on linux as it doesn’t on windows

that' s not true

Windows and Linux that have simply different font rendering engines and different native widgets

That's all

> would you call this not adhering to the standard?

absolutely NOT!

In no part of the standard rendering is formalized

It wouldn't make sense

The way things are rendered is standardized, not the way they should look


> HTML is intended to apply to multiple media (it is a media-independent language). User agent implementors are encouraged to adapt the suggestions in this section to their target media.

> Apple refused to implement 16 web API in Safari

OK and these APIs don’t stop real work.

> And that' s why big players like Apple hat control a closed ecosystem shouldn't be allowed to be assholes

And putting all that power into the hands of a single browser will not end well, so stop promoting Chrome or saying other browsers should be like Chrome. FF isn’t going to win.

> At least on Android I can install other browsers and other browser engines Do you see the difference?

Yes, next question, do I care?

> that' s not true

100% true, read the dev blogs and understand the WM on linux is fundamentally different than windows or mac, therefore rendering is not exactly the same.

Standards help align, they do not force alignment. If safari implemented a p element as a span, then this is not following the spec. Choosing not to implement a portion of a modular spec, is still following the spec.

> But is it Apple's call?

Yes, just like you’re free to never visit an annoying website asking to spam notifications you’re free to take away Apple’s decision making power you grant them by simply not buying an iphone.

> you’re free to take away Apple’s decision making power you grant them by simply not buying an iphone.

That's a very common argument

But it doesn't get any less stupid with time.

I never owned an iPhone.

Because I am an adult homo sapiens that can take decisions for himself.

But you should know that if a standard exists, and the standard has been approved by a consortium, a consortium where Apple is a very important member, they should at least support what they signed for, instead of forcing developers to go through hoops just to support their platform.

When Elon Musk make Teslas he has to put airbags in them, stop lights, front lights, safety belts, they must pass crash tests, because that's the standard, otherwise he couldn't sell them as cars.

So if Apple believe that the standard that they approved is too dangerous, they can make their OS more secure, instead of putting the blame on developers.

Developers are not jumping through hoops to support their platform. I’m a full stack dev, I understand what it takes to support safari and a majority of the time is actually Chrome being fast and loose with the standard, not Apple. Is it a partial implementation, sure. But the features lacking don’t stop meaningful work at all. Just like hearing my statement is old, so is yours.

> Developers are not jumping through hoops to support their platform

They are

> I’m a full stack dev, I understand what it takes to support safari and a majority of the time is actually Chrome being fast and loose with the standard

I am as well, I understand a closed platform when I see one.

> But the features lacking don’t stop meaningful work at all.

If only it was true...

It' s not lacking, it has been removed on purpose.

The web engine Safari is built from already supports those features.

I can play this game too, Nope.

Nope, apparently you can't play the game.

You don't even understand the rules.


Notification APIs are in Webkit, the open source implementation of Safari.

proof: https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f...

Can you prove that Apple didn't remove standard APIs from their browser?

So this somehow keeps other HTML from rendering and CSS just doesn’t display correctly right? Look around, you’ll find very little care for that API except from sites trying to spam devices, something apple is against. So again, no, safari is following the spec just fine.

Yes. I don’t want to press the “no” button for a 100 times.

I can relate.

Every time I pickup an old iOS device the stupid thing is nags me to update it, 100 times. And you can't just click no you have to click multiple things to get it to fuck off.

So, in practice, Apple vetting process doesn't even do what they say it does and still grabs 30% from developers?

You should lobby W3C to remove the API from the standard then.

Or ask browser vendors to have a global allow/deny flag for every Web API

I don't know if you're being sarcastic or not, but here's the thing:

I don't want websites asking me to enable notifications. 99.9% of the time, the answer is no.

I don't want websites asking me to enable location access. 99.9% of the time, the answer is NO.

Nor do I want them asking for permissions to install to my Home Screen (the answer is no), or to track me (the answer is NO).

>Or ask browser vendors to have a global allow/deny flag for every Web API

When possible, I've carefully configured my browser to automatically reject these requests, but instead of respecting that, these websites, with all their hubris, have chosen to circumvent my preferences by presenting shitty JS-based permission requests (as opposed to using the permissions UI built into the browser).

Each one of these new web APIs have significantly degraded my experience as an end user, by presenting a million permission dialogs whenever I'm visiting webpages, without providing me with any features of value (again, because I'm not ever, ever gonna trust some random website with these permissions).

Users don't care to pontificate about the virtues of the open web, they just want their stuff to work. And until the open web can provide a better user experience, of course users are going to flock to various walled gardens (App Stores, Facebook, etc...). Until we find a way to implement web standards elegantly, without degrading the user experience, the open web is always going to face an uphill battle over the relative safety of walled gardens.

I think nobody wants web notifications, but the API is in the standard.

I know I don't want them.

Apple is in the committee.


Along with every time I have to press OK to the “we used cookies” dialog, using the web is already like a “punch the monkey” game.

These modern web APIs have a massive user experience problem, and if we want the web to be truly competitive with native, we'd be foolish to ignore that.

Beyond the "punch the monkey" game you mention, another massive problem is that web push notifications have just become another vector to deliver spam to users. If you look at devices belonging to "normal" users, you'll often see dozens of spammy web notifications (pornographic content, "30% off, BUY NOW", etc...). And because these are average users, they don't necessarily understand how to configure their devices to reduce or eliminate the spam.

Web push notifications needs a way to proactively filter out those that abuse the API, otherwise its doomed to become just another vector for spam that pisses off end users.

I'm angry at Firefox because it was the only browser that I trust that allowed me to have extensions to solve my problems with bad websites on mobile and they removed them.

But bad websites are not something we are going to get rid of using only iPhones...

The difference is that notification spam on the web is allowed to escape the sandbox. Because of the punch the monkey nature of the web, I inadvertently clicked “allow notifications” on both PCWorld and Tom’s Hardware on different occasions - they both spammed me at least once a day. But not enough to figure out how to disable it.

To get rid of the cookie notifications, I can at least set web pages I go to default to reader view.

I never accept web notifications, not even on slack.

The problem is that if Apple singlehandedly decide what's right and what isn't we are back to IE.

There is a middle ground I would be okay with. A website is only allowed to ask you if want notifications if you added it to your home screen. If you delete the web page from your home screen, it automatically disabled the notification. It falls within the same paradigm that people are accustomed to.

AFAIK this is not the way Safari works and it's not the main motivation for Apple

They just don't want web apps to rival with the native ones skipping the whole store experience and fee

But that's just speculation on my side, I have no data to back it up

This makes no sense. As I said in another reply. If PWAs are so great, why aren’t companies bypassing creating Android apps and just telling Android users to use web apps?

On top of that, how many apps are really just surfacing server hosted services where there are no in app purchases?

According to the data I found, PWAs make 50% of the Android market.

Among the most popular there are

- Uber

- Pinterest

- Telegram

- Trivago

- Tinder

- Google maps Go

- AliExpress

Yet most of those companies decided to make native apps. If PWA’s were good enough, why bother writing native apps for Android?

Do you have a citation?

> PWA’s were good enough, why bother writing native apps for Android?

same reason people write native apps on iOS

It's easier to track users, especially those users rich enough to buy high end phones and that will probably spend more money and the ROI is higher.

They also make PWAS to gain user base on low end phones and emerging markets.

And because making them is quite cheap.

So most companies aren’t using PWAs to save money on Android and probably wouldn’t on iOS either....

Do you propose that Apple makes Safari more able to invade privacy?

If the only purpose of PWAs for Android is to make it easier to run on low end cheap phones - that’s really not a good argument is it with iOS is it? Even the 6s from 2015 is more performant than many mid range new Android phones.

Privacy concerns about Google and security updates at the mercy of terrible carriers.

But those reasons are weakening.

I agree with those reasons, not sure my will is weakening, so I'll add: vendor versions of Android, the dreaded "Android" slowdown, and slower/choppier performance - generally - when comparing latest releases of hardware & software.

> and security updates at the mercy of terrible carriers.

Buy the hardware, install lineageos, insert SIM?

Is LineageOS the most trustworthy aftermarket smartphone OS out there? What makes it so?

Aren't I still bound by a GMail account for login and contact information, so if Google randomly decides to ban my account (see what happened to the viewers of a Markiplier stream), I'm in trouble?

How so? Lineage works without gapps, although obviously you then lose access to those services, including the Play Store.

I’ve never used LineageOS, I was asking. I didn’t see how you could completely separate Android and Google, especially for things like contact syncing.

Ah, okay. So the simplest case is that you just don't have those features through Google so you have to find another provider. For instance you can do contact sync through CardDAV courtesy of apps like https://www.davx5.com/, email with K-9 Mail, get apps from F-Droid, etc. Depending on exactly what the problem with Google is, you can also use unofficial software that still talks to Google services like https://microg.org/ instead of play services and newpipe instead of the official youtube app.

LineageOS comes with AOSP stock applications and you can install additional app stores on it. You can also install the google apps packages including play store and play services, but you don't have to. Of course many 3rd party apps rely on play services e.g. for payment.

It’s great, but you need a phone that’s popular with its developers.

I totally agree. Apple is great for privacy - and that's important to me - but I'm slowly starting to think I might move to something else. Sadly, it seems my only real option is Android. I miss windows phone and blackberry.

> to protect myself from low-quality background-syncing byte-code-obfuscated web-pages

I am not sure why other people being allowed to install other browsers on their phone would force you to do anything.

Because app developers will use other browser engines allowing them to ignore any of the privacy constraints in place at the moment.

> Because app developers will use other browser engines

That still does not force you to install those browser engines.

If you want the apple approved apps, in the apple approve app store, that fine. But me using different settings does not force you to not use those approved apps.

That's already possible, and an app has far more access to your device and data anyway.

Apps cannot currently use other browser engines on iOS

Most of the web privacy settings are specific to Safari, not the Webkit browser engine.

Also an app can access and send more data than a browser window. Anything the webview can block can just get transmitted by the app itself separately. So there's no reason to block 3rd-party browser engines as the GP post says.

safari is enough and has enough bugs to be a totally good vector for malware

The real security issue is: if a bug in Safari is found (it happens quite often) users cannot use another browser in the meantime.

> has enough bugs to be a totally good vector for malware

Not for most people.

It's the main vector for malware on Apple phones (and mac laptops)

Most malware is installed consensually, not as the result of bugs.

So the only solution is to remove the computation from computation devices.

Safari on macOS supports push notifications and it hasn't intrinsically been a bad thing -- at worst, I have to tell a web site "no, I don't want your notifications." They're opt-in rather than opt-out like native app notifications are. The higher prices you and I are paying aren't protecting us from "low-quality" notifications as it is, anyway.

At any rate, maybe you're so worried about single-page web apps being bad actors that you're happy Apple so severely hamstrings them, but I... just can't see a lot to worry about there. And if Apple let PWAs be even a little better on iOS than they are now, it would go at least some distance toward ameliorating complaints about the App Store.

Just a point of clarification: native app notifications on iOS are absolutely opt-in. If the app wants to send notifications it requires a dialogue and user confirmation.

Disappointingly, Apple makes an exception for their first party apps.

Thanks. It may be that the exception was stuck in my head. :)

>They're opt-in rather than opt-out like native app notifications are

Native iOS notifications are opt-in

> Why wouldn't you use Android then?

Frankly, because everyone I know uses iMessage.

This doesnt happen though. Look at the state of web apps accessed through your computers browser - there is no issues with quality if you want a customer base.

My computer browser is indeed fine, but my mother's -- is an entirely different story. I am really happy I can still get her an iPad these days.


Denying the existence of someone's mother is quite rude.

"Don't feed egregious comments by replying; flag them instead."


Can I ask what's "egregious" about my comment?

an I not say that my mom, albeit being older than me, does not need her son's protection from malware and certainly does not need Apple to tell her what's right, just because she's older?

Is ageism permitted on HN?

My mom exists, she's 74, she never had a malware problem in her life.

Maybe she's smarter than us all...

Even if they switched to Android, they'd still have to ensure iOS compatibility since Apple has ~60% of the smartphone market in the US. Any abusive behaviour from Apple at this monopolistic stage is just asking for an antitrust case & resolution.

Apple has never had even 50% of the US smartphone market.


iOS is 60% of the mobile (phone+tablet) market


Studies have shown that individual iPads and iPhones are used for web browsing much more than Android devices, just as their users spend more on apps.

So Web Browsing is a very imperfect measure of installed base. Worldwide estimates are that that less than 20% of mobile devices sold are iOS, roughly 15% iirc. It’s almost certain US sales percentages for iOS are much higher, but no where near 60%.

>Statcounter is a web analytics service. Our tracking code is installed on more than 2 million sites globally.

Sorry but this is not an effective way to gauge market share of a browser or a platform. That 60% figure you're throwing around is not an absolute metric. It's based only on visitors to websites that use the "Statcounter" tracking code. There definitely is a large margin of error using this to gather statistics about market share.

In comparison, the other commenter's link is actually more accurate because:

>This report is one of the series of reports which tracks mobile handset: Smartphone and Feature Phone shipments every quarter for more than 140 brands covering more than 95% of the total device shipments in the industry.

Tracking site visitors based on sporadic implementation of a tracker, vs getting actual numbers of units shipped/sold. I'm going with the actual numbers, not the sort-of-guessing of Statcounter.

If you track shipments, how do you handle iPhones generally staying in use longer than Android phones?

(Disclosure: I work for Google)

Neither one is a great way to measure market share. Using tracking pixels is notoriously bad though, because it tends to lead to an echo-chamber like effect. Not everyone with a device will visit a site with the specific browser tracking code, and many people will visit those sites many times from different IP addresses, and even different browsers installed on their device. There are many ways tracking code can lead to false statistics.

Units shipped doesn't tell the whole story either, but it is a specific metric that doesn't suffer from bots gaming things or any of the other problems that using stats based on tracking code can lead to.

That's a misuse of "monopolistic" - 60% is not a majority to the point of no competition. Any developer could write an Android-only app if they wanted, they just don't do it.

Most consumers only handle one phone.

So? Apple has a monopoly on Apple products? Big deal. Ford has a monopoly on Ford trucks, Sony has a monopoly on playstations.

It boggles my mind that a company makes a fairly innocuous decision (which you would expect consumers to punish them for) like requiring all web views to use the same renderer as Safari, and there are people like you rushing to have the government jump in and regulate "the kind of rendering for web pages that a private company allows on their devices". Seems like total insanity to me and I don't understand it.

Apple does not own the device though.

If they own the device, then I want my 1k back.

Buyer beware? Were you under the impression whatsoever that you were buying 'free' hardware?

Kind of like Windows requiring all users to use IE?

Sorry, it's been a decade so I don't remember that whole thing. Were users required to use IE, or was it required to be installed? I remember using Chrome/FF/Opera on Windows for many years. You could swap to another browser for whatever browsing experience you wanted.

How could customers punish Apple for that, and that specifically? (I'm being careful with my wording to exclude the response of "switch to Android", because that is not a punishment for that thing specifically–the fact that people don't switch just means Android is worse to them, not that they agree with this particular part of the iOS.)

One way would be if major web apps launched and iOS users complained about being unable to use them. For example, Spotify Web Player launched without desktop Safari support. If macOS only had Safari, users might have complained and put pressure on Apple to change it.

Consumers in theory would punish Apple by not buying Apple products. But they don't and I can only guess why (they don't care about browser rendering engines).

If you're trying to narrow your punishment to be specifically "the crime of not letting me pick my own browser rendering engine" then I can't help you. This is not a hill I even remotely interested in dying on or spending more time on.

You can definitely add websites to your home screen on iOS.

I think they're referring to PWA-style "Add to Homescreen", which I agree is a weak point of iOS/MobileSafari. I also wonder why there isn't good/any support for WASM in Safari.

Does android provide a way to launch this dialog from within the website?

iOS has a PWA-style add to home screen dialog, but it's part of Safari. It's accessed from the share sheet.

Chrome on Android will indeed present an "add to homescreen" dialog when the user visits a PWA.


By "dialog", they likely mean an API with which to prompt the user to add it, like they have for apps on the App Store.

I do this for Facebook to avoid summoning that demon on to my phone.

The web does not solve the problem identified in the post. Nothing prevents Google from releasing new versions of Chrome with insufficient warning, and breaking sites. An example of just that is https://www.theverge.com/2019/11/15/20966237/google-chrome-w...

Safari -> share icon -> Add to homescreen

> there is no - Add to homescreen dialog - Background sync - Proper push notifications

All of those sound like things that will be abused by the majority of developers the minute they are allowed to inflict them upon users, either willingly or commanded to by their overlords in the name of ""Engagement""

I have not seen these things abused yet. The user agent prevents it.

There are already countless websites abusing the web notifications API to push spam to end users. You're probably savvy enough to effortlessly avoid it, but the average end user often is not. We can't keep ignoring the the UX issues with a lot of these web APIs if we want them to be successful. Users don't care to philosophize about the open web, they just want their shit to work. That's what Apple iOS is providing them, and they will continue flocking to iOS until they're presented with a better alternative.

Reasonable implementations let users easily block the notifications after receiving them. It doesn't require much savviness.

Of course you haven’t seen them abused yet, iOS doesn’t allow it. I remember developers abusing notifications in Android Cupcake.

I don't use iOS. I use only mobile and desktop OSes that allow these things. I still haven't seen them abused.

I really have no idea what you mean by your comment, but humorously enough user agents are frequently one of the most widely abused parts of the browser.

The "User Agent" is the browser itself the header just how a "User Agent" identifies itself to the server. That language really only shows up in the RFCs though.

Many Customers prefer a walled garden.

Exactly. Has anyone here even been in an actual walled garden?


They look like pretty fucking pleasant places to be in!

Oh please point me to the latest Web innovations that do something else other than track me or pester me with junk I don't need.

> Walled gardens hurt innovation a lot


What do you even define as """innovation"""?

Honest question, I'd love to see some actual answers here instead of the usual canned hyperbole.

So far Apple's users are mostly satisfied with them, happily voting with their wallets, and the only people complaining about Apple are mostly the developers and companies who want unfettered access to iOS' users, and I haven't heard any good reasons from them other than "we want to maximize our own profits."

One example I saw cited recently is the Web browser itself. This is according to one of the original iPhone developers at Apple:

> Apple’s iOS rules would not have allowed for the invention of the web browser. Let that sink in. They would have rejected one of the most important technical innovations in the history of computing. Microsoft‘s bully tactic of making IE free seems quaint in comparison.

> But here’s the kicker: think of all the other amazing ideas that haven’t gotten a chance to be invented because they aren’t allowed on mobile devices. Mosaic happened less than 10 years after the Macintosh. We very well might have already had a browser-caliber invention by now.

> Just for people asking: the flagrant violations of AppStore policy that web browsers would be rejected for in this hypothetical are:

> 1) Running outside code

> 2) Allowing payments that circumvent Apple’s IAP

> 3) Allowing access to NSFW content

Source: https://twitter.com/tolmasky/status/1297199788316692480

More commentary: https://mjtsai.com/blog/2020/08/25/potential/

It’s hard to give specific examples about innovation that hasn’t happened, if only because not everyone is sufficiently innovative to come up with truly groundbreaking ideas.

I doubt any of the original Mosaic developers had any idea just how important their original innovation would become.

>hard to give specific examples about innovation that hasn’t happened

It's hard, but not because of prohibited innovation. It's because we have android, and it doesn't have neither ios rules nor a fantastic potential innovation that breaks the deal with apple. There is simply no example that could be used as a good enough argument. Apple users do not live in a vacuum as well, many of them have seen or used other platforms and still stick with ios as it is.

>iOS rules would not have allowed for the invention of the web browser. Let that sink in.

Web browser is a highly secure piece of software, protected on par or even harder than the os itself. If any ios app could freely download, compile and execute an arbitrary code from the internet, that would be a world-wide security and privacy disaster every few weeks. Let that sink in instead.

> Web browser is a highly secure piece of software, protected on par or even harder than the os itself. If any ios app could freely download, compile and execute an arbitrary code from the internet, that would be a world-wide security and privacy disaster every few weeks

It sounds like you’re saying iOS is insecure compared to WebKit and Blink, and that they can be trusted to run arbitrary code downloaded from arbitrary untrusted sources, but iOS cannot.

That’s a pretty damning indictment of the state of iOS, if it’s less capable of sandboxing than a browser, despite having tight coupling between hardware and software.

> Let that sink in instead.

Tragically, you’re probably right too.

I get what you're saying, but right now, in the current state of the industry, here's the thing:

People are free to "innovate" and experiment and invent on Android and the PC, and if an innovation is deemed desirable on Apple's curated platform — which they are perfectly within their rights to control, and millions of users continue to be happy with that — then Apple will make a provision for it.

On iOS, there would be a whole host of problems with allowing third-party browser engines and app stores that the people clamoring for looser restrictions have yet to address:


Not the least of which is: How would you enforce a user's settings for privacy and parental controls on third-party browsers and app stores?

Maybe I am missing something, but iOS 14 has had beta versions out for developers for months; I had been running iOS14 and Big Sur for testing for weeks. Apple has always had developer previews and at some point, when mostly stable, they often release public previews to get a few interested users involved in testing as well.

They've been working with developers for a long time on the new App Clips functionality and that's been open for developers to start working.

So I am not following what is this article is saying? It seems like they're suggesting that Apple should release iOS a few days after announcing, but, that isn't enough time for most developers to test and release updates for a major iOS update; but Apple never intended those few days to be the only time developers had.

Past major iOS releases have usually given about a week between the release of the final build to developers (with app submissions opening at the same time) and the release to the general public. This gives developers time to validate their code against the final build of iOS and submit updates if needed, allowing plenty of time for App Review to do their thing. This is also the first point where Apple will accept app updates which take advantage of new features in the new iOS release, so giving devs some notice to finalize those updates is nice as well.

Yes, developers should have already been working with the iOS betas and already have some confidence that things will work against the final release-- but there is no substitute for actually testing against the final release build. In this case, iOS 14 Beta 8 appears to be mostly identical to the GM Seed build (what released to devs yesterday, and what will release to the public today), but that, historically, has not always been the case-- in some cases, bugs get fixed in between the last beta build and the GM seed; in others, new bugs get introduced.

Why not ship iOS 14 changes one week late. For most of the apps iOS 13 app should work as is, and for the remaining that requires changes, one week is anyways too less.

One week is usually enough to iron out final GM issues and push a build through review. I don't think I've heard anyone complain about this.

1 week is completely arbitrary. If they had 1 week notice as usual there would most likely still be complaints because this is an unusual year...

Slippery slope fallacy. By this logic, 1 ms, 1 day, 1 year, and 10 years are all equivalent degrees of notice and the degree of complaints would persist.

Regardless, changing one week to one day is a real slap in the face to developers.

I can’t see it that way even if I try really hard. If you want to be ios14 ready I personally would be code complete a long time before yesterday.

You can't be code complete for something that dropped yesterday. Each beta build changes things.

You are saying that Apple introduced breaking changes between release candidates and general availability??? Serious question.

It's more being prepared to ship their product.

Usually there's a period of time between announcement and when it ships, such that a developer can get the release version of Xcode (if necessary), do some final testing, then send any updates to Apple for review. With enough lead time that their updated app can be available on the App Store the same day as the iOS update being available.

That isn't really possible this time around.

What’s the downside of the update not being in the store today vs next week?

Several downsides

Say the iOS update has brand new features. Your app can't take advantage of those fancy new features and your users don't get them until next week either.

Possible marketing, usually Apple has categories in the App Store for apps that support the latest features or are ready for that iOS version. They could in theory do this next week I guess, but point is there's excitement today, and will be less next week.

Possible bugs in your current app that aren't fixed but exist only in the latest iOS. If you base your entire process on past experience you planned to release bug fixes for iOS 14 with a larger update and now those updates aren't available to a majority of your userbase.

Edit: removed a part that was inaccurate.

The first point doesn’t make sense to me at all. No particular date was set for when users would be able to install apps with the new features.

Point two seems weak. The idea that Apple won’t promote apps with the new features when they are released makes no sense at all. You make it sound like this is unlikely, but I don’t see why you’d think that.

As for excitement - what excitement are we talking about? Users will get app updates automatically as they become available.

Are you suggesting that users typically buy a whole load of new apps on the one day iOS updates ship, but only if those apps have features only supported by the new OS? That would be an interesting fact if true, but it would also be supported by data, which I don’t see anywhere.

I’d speculate that users more often look for new apps when they get a new phone - which is supported by the data on Christmas app installs, and isn’t affected by this.

So we’re left with the possibility that the developer has bugs in the last iOS 13 version of their app that did not manifest under Beta 8, but do manifest under the GM.

I agree this is not impossible, although very unlikely to affect all but the tiniest handful of apps. Beta 8 and GM are unlikely to have significant changes of the kind that might expose such bugs, but again I agree it’s not impossible.

This seems like an extremely exotic case, and certainly in no way justifies Apple being called an ‘Asshole’, except by someone who has other reasons for wanting to malign them.

> No particular date was set for when users would be able to install apps with the new features.

The expectation is that apps will support the new features on day one. Because that's how it has worked in the past.

> what excitement are we talking about? Users will get app updates automatically as they become available.

Again, historically, apps support the new features on day one. That won't be the case with this release because there's no way an App developer will be able to ship an app to App Store review in 24 hours and have the app available the same day.

> Are you suggesting that users typically buy a whole load of new apps on the one day iOS updates ship, but only if those apps have features only supported by the new OS?

I'm not so sure about buying new apps, I am saying that typically existing apps get updates that take advantage of new features and those are typically available on day one of an iOS update and won't be this year.

I don't think iOS 14 has any major game changing features, so I don't think we'll see a massive buy in of new apps or anything. But if this trend happens again with a release that DOES have major new features then it's a big disappointment.

> So we’re left with the possibility that the developer has bugs in the last iOS 13 version of their app that did not manifest under Beta 8, but do manifest under the GM.

Keep in mind that developers on iOS tend to think in terms of larger updates. So an app developer may release a new major version on the same day as iOS 14, or iOS 13, etc.

These are typically 'free' updates for existing users, but they're whole version updates and come with a larger set of changes.

In the past, developers had time to prepare for release. If bugs existed in version 3 of their app running on the iOS beta, they probably fixed those in version 4 (unreleased) of their app, and planned to submit and ship version 4 the same day as iOS 14. That entire process is not going to happen this year, so it's possible that bugs existing in iOS 14, but did not exist in 13, will be present in apps until those updates ship next week sometime.


>and certainly in no way justifies Apple being called an ‘Asshole’

I'm not calling Apple an asshole, I'm not defending the author of the article who is calling them an asshole. I'm simply explaining how it worked when I worked on a major top 50 app in the App Store. Thank god I'm not doing it anymore, it was stressful enough doing it in previous years, it's probably even worse today.

Ok - so it sounds like it’s actually not really a problem at all this time around, but if there had been game changing features it might have been?

My guess is that Apple would have taken this into account when scheduling the release.

If there was some marquee feature where day 1 support was important, this would have been part of Apple’s planning.

It’s clear to me that this is really not a big deal at all and that the original author - not you - is trying to manufacture outrage where none is merited.

It’s also not clear to me that any significant end users would have reason to expect most apps to be updated on day 1.

Apps have simply never adopted all the new features they could, day 1 or not. Often adoption has been gradual. Even things that are very obvious like screen size changes sometimes have taken months to be supported.

I wouldn't say it's not a big deal. It could very well be a big deal to them.

Is it the end of the world? No, I don't think so, but it is very clearly causing a lot of developers pains today, you should at the very least acknowledge that and understand that just because you can shrug it off doesn't mean they can.

Something that is severely missing from the world of software, and I suspect engineering in general, is empathy. Hell, it's missing from the world today. Look at the political climate in the US for another big example.

So maybe that's what your takeaway should be, show a little empathy to those who are struggling today and understand that. On top of a global pandemic, on top of possibly having their kids at home and being home schooled or learning virtually, having maybe lost a loved one, maybe even had to abandon their home due to fires, that on top of any or all of that they now have to deal with the pains of an iOS release with no warning. Empathy. Try it.

So what word would be good to describe your behavior in writing a long screed that accuses me of lacking empathy? Covid! Fires! Loved ones! US Politics! Oh my! Is this you giving a demonstration of empathy for me?

I have plenty of empathy if developers are actually facing pain. Piling on to attack Apple, not so much. Apple employees also have families and many of them are in California too. I’m guessing they too are affected by all of these issues.

If the original author was able to articulate the pain they are facing, I’d have empathy for them.

They didn’t in fact do so, which is why we’re trying to figure out what the negative impacts would be.

It’s absurd also to suggest that there was an iOS release with no warning. That is simply not true. We’ve been expecting it for months, and we also knew the release schedule would be different this year.

If people are being pressured by managers in some painful way, then I do feel for them, but if that pressure is occurring because managers actually have a false understanding of what is at stake, then it is more empathetic to discuss the misunderstandings about this than it is to just nod along.

It’s really not clear at all what pain anyone should be feeling.

Presumably their apps are ready to go, and all they have to do is submit them and wait.

As we’ve already discussed, almost nobody should be actually discovering bugs now, regardless of Apple’s scheduling.

Everyone knew iOS was coming out sometime soon. Nobody knew that Apple would drop the actual update the day after the Golden Master. They had absolutely no reason to. The fact that this went out, and that Apple themselves were unable to ship their own software on time to support this release, is an extremely annoying move. You sitting there and saying there "should" be no bugs is nice but not indicative at all of reality, where Apple changes their software and ships new bugs in the GM itself.

I agree it’s annoying.

It’s just that nobody has been able to articulate why it’s any more than that.

The fact that Apple’s own software is not all updated just proves this point, since they obviously did know when it was going to be released.

Nowhere am I saying there should be no bugs. Just that this move has very little impact on bug fixing.

> The fact that Apple’s own software is not all updated just proves this point, since they obviously did know when it was going to be released.

I'm not sure I understand?

If it was such a big deal for all the software to be updated on day 1, Apple could have made sure their own software was updated.

It just isn’t a big deal.

I love that you aren't in this field at all, but seem to know better than others who are. This is like that person that starts a new job, walks in on day one, and then proclaims that the place is doing everything wrong without knowing anything about how the business operates.

The only person who doesn’t know what they are talking about is you in this comment.

You know nothing about me.

Until you started making personal attacks, this was simply disagreement and many interesting points were made, which is fine. Perhaps most people agree with your perspective.

You with this comment, on the other hand are literally offering nothing except ignorance to this conversation. No valuable analysis, and only incorrect facts.

I wonder why you feel the need to do this?

What would make you decide that this was helpful? Do you think you are protecting someone?

Apple is currently running a section in the App Store for new apps to try on iOS 14. They’re going to get rid of it soon, and if you didn’t update in time to appear there…tough luck I guess?

How soon? My guess is it will still be there when the iPhone 12 arrives.

You need to compile your app with the new version of Xcode to target iOS 14, and you couldn't do that until the GM version of Xcode was released yesterday. Meaning that if there's any iOS 14-showstopping bugs, depending on the type of bug, you wouldn't be able to get a fix out promptly. There's also the work of e.g. verifying that your app works as advertised on the iOS 14 GM, which also was only released yesterday.

If its a popular app with lots of competition, if your competitors have a working app and yours is broken then people will jump ship and once that happens hard to get people to go through the hassle of moving again.

Though I'm not an mobile app developer just one of the things I can see as a downside.

This doesn’t make sense - if it’s a hassle to move, people aren’t likely to just ‘jump ship’ in the next few days.

The fact that some apps are broken and users with auto-update turned on are now unable to use those apps for a week?

Which apps are broken?

Those apps were not broken between beta 8 and the GM, so this has nothing to do with Apple’s release schedule.

There was a three-week gap since the last Xcode update and Apple is notorious for breaking stuff between Betas. We were given a single day to get everything set up (CI/CD, signing certificates, provisioning profiles, etc), update our codebase (yes there were source changes made in the GM update), and test that everything works (three weeks worth of Xcode changes), so no it's not really how you picture it to be. Having iOS14 features ready to be in sync with the iOS14 launch is pretty crucial for apps.

Even major apps like Instagram and Snapchat still have critical camera bugs on my phone right now that's running the latest iOS14Beta8 build.

This is specifically about the GM build which is necessary for final builds, validation, and submission. Often developers have at least a week to do final checks and submissions with this build.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact