
I built a progressive web app and published it in three app stores - judah
http://debuggerdotbreak.judahgabriel.com/2018/04/13/i-built-a-pwa-and-published-it-in-3-app-stores-heres-what-i-learned/
======
rolha-capoeira
> From minor things like “iOS Safari won’t let you play audio without first
> interacting with the page” to major, show-stopping things like, “iOS Safari
> won’t let you play the next song if your app is in the background or if your
> screen is off.”

I disagree that these things are purely because Apple wants your $99/year.
Maybe that's part of the story, but not all.

I am glad that websites cannot play audio without the user first interacting
with the page. I am also glad that websites can't play audio in the background
— as a user, I would find it too "buried" behind Safari and I wouldn't
appreciate the feeling that a website was running in the background. (Yes I
know you can control audio via the Notifications Center and Control Center.)

I appreciate that these permissions are reserved for apps that Apple has
vetted, even if this is a pain for developers and they are not a perfect
institution, as a user I appreciate that they are trying to maintain quality
and encourage good app behavior.

I'm glad your app had to jump through these hurdles to gain the functionality
your users wanted. Like you said, it's where the users are they were asking
you directly for it. These are higher-level permissions and should not be free
for the taking.

~~~
judah
Agreed that apps (web or native) shouldn't have free access to e.g. your
contacts without permission.

But Apple goes beyond security and actually makes it impossible to build
first-class experiences for iOS without paying $99/year + 33% in-app
purchases. I think that's unfortunate.

The free and opened web presents a challenge to Apple's app business. They
have a perverse incentive to keep web apps second-class citizens on iOS. And
this is a major reason why iOS Safari has become the new Internet Explorer 6.

~~~
al2o3cr
Lemme get this straight: you're mad that a company you don't want to pay
$99/yr to won't build APIs so you can make money on their platform.

So sad, lemme find my tiny violin.

~~~
judah
Author here. I'm not making any money on their platform. I'm a non-profit,
building a free app; this isn't about money.

I mentioned money in the post as a list of all barriers to moving a PWA to app
store. $99/year + 33% in-app purchases (plus a $1000+ Mac to build, and
probably one or more Mac minis for CI) _is_ a barrier.

The bigger concern is Apple is lagging behind on web standards. I suspect the
reason for that is because web apps undermine their app business; this is a
replay of the 1990s when Microsoft lagged their browser behind web standards,
knowing it undermined their business.

So, keep your violin, brother. :-) My post wasn't a complaint, but a
documenting of the hurdles involved in moving a PWA to the app stores.

~~~
saagarjha
> I'm a non-profit

So the only thing that applies to you is the price to have access to a Mac.
Since you're a nonprofit, Apple will waive your developer fee, and you
wouldn't need in-app purchases anyways. Also, IIRC the cut Apple takes is 30%,
not 33%, in line with the rest of their App Store policies.

~~~
oarsinsync
"non-profit" doesn't mean "not selling things"

~~~
codazoda
And it certainly doesn't mean it's not about money. Depends on the business,
of course, but I've seen non-profits that pay million dollar salaries to
employees and put millions in the bank as reserves. Fine with me but business
is often about money; non-profit or otherwise.

------
millstone
> Mobile platform vendors, like Apple, are totally cool with apps that use
> your phone to its fullest. Access your location, play background audio, get
> your GPS coordinates, read all your contacts, play videos or audio without
> app interaction, read your email, intercept your typing, play more than one
> thing at a time, use your microphone and camera, access your pictures, and
> more. Apple’s totally cool with that.

Apple is certainly not "totally cool with that:" each of these features comes
with strings attached. For example, apps are forbidden from attempting to de-
anonymize users via facial recognition.

On the app store, abusive apps can be removed; there is no equivalent
enforcement mechanism on the web. This IMO is the primary reason for
restricting these capabilities to reviewed apps. Though the fee may be a
secondary reason.

99% of websites do user-hostile things, like track users. What will prevent
PWAs from extending this to e.g. ultrasonic beacon tracking? Honest question,
it's important that it gets solved.

~~~
judah
Partially agree. I understand security concerns; we shouldn't allow random web
apps to freely access privileged operations, for example. (Should we allow web
apps to _ask_ for permission? That is another question.)

But stopping web apps from working? For example, breaking open standards like
"you can't play more than one stream of audio", or "you're not allowed to play
audio if your app isn't in the fore"? Nah, that's nasty. It gets worse. iOS's
new PWA support actually reloads your whole page - losing all context and
execution - every time you bring it to the fore. It kills all execution when
putting the app into the background.

This is beyond security; it is actually hostile to users and developers.

~~~
Silhouette
Mobile Safari's support for modern web standards has made IE look good for
some time now. It seems very clear that Apple doesn't want a good experience
for web users on its devices.

It's very frustrating, because we keep getting requests from users for
features we're happy to look into or even already working on... but then
discover the user has an iPhone, where the necessary web technologies are
supported poorly if at all.

Unfortunately, since Apple also won't let anyone else supply a real browser to
run on its devices, there's also no meaningful competition to force them to do
better. Maybe monopoly/anti-competition regulations should be adapted so the
same principles apply to platforms in this sort of controlling position.

~~~
matthewmacleod
This is absolute nonsense.

Most web technologies are supported by Safari.it has lagged behind other
browsers for a while - not terribly so, but enough that it can be a little
annoying at times. But the comparison with IE (or rather Edge now) is just
wrong by an order of magnitude.

~~~
Silhouette
_This is absolute nonsense._

Really? Let's look at some specifics around PWAs and media content.

Mobile Safari has historically set relatively low and hard limits when storing
data for offline use through the various relevant APIs. This is a much more
significant limitation in a world of offline-friendly PWAs.

HTML video elements have had so many problems it's hard to keep track, from
relying on a broken plugin that didn't do things like sending cookies properly
with requests, through to refusing to play videos in-page on iPhones.

Mobile Safari has stuck with only playing H.264 videos even as every other
major browser supported open standards.

Obviously IE is no longer developed and doesn't support modern PWA APIs, but
even IE had better support and more compatibility with some of the other
modern web APIs than Mobile Safari.

------
judah
Author here. Thanks all for bringing this to the HN front page.

The jist of the article is getting a PWA into the app stores is harder than it
needs to be, especially on iOS. Between Google, Apple, and Microsoft, I found
Google's Play Store to be the simplest and quickest store to get a PWA
published in.

Another interesting bit is that web technologies haven't caught up to native.
My PWA isn't super complex -- it's a glorified music player -- and yet
integrating into the OS (now playing song on the lock screen, for example) was
painful and non-standard, particularly on iOS.

All that said, I'm quite excited about PWAs. I think they will win in the long
run, and will eventually (~5 years) become the dominant type of app in mobile
and desktop app stores.

~~~
ihuman
[Removed by user]

~~~
judah
Why build an app and not just live on the web? I answered that in the article,
2nd paragraph. The answer is two-fold:

1\. That's where users are. We've trained a generation of users to find apps
in app stores.

2\. Some mobile platforms (read: iOS) are hostile to web apps. For example,
Apple doesn't let you play audio in the background on iOS. (Or rather, they
suspend JS execution if the web app is in the background, or if the screen is
off. Thus, you can play exactly a single MP3, then my media player app will
stop playing music unless it's still in the fore, which is a show-stopper.)
This is just one of dozens of issues with web audio in iOS Safari; I've
documented more here[0].

Native apps have no such restriction. Thus, packaging my PWA as an app got
around all these restrictions. Plus it lets me integrate with the OS, for
example, by showing the currently-playing song name, artist, album, art, etc.
on the lock screen.

[0]: [http://debuggerdotbreak.judahgabriel.com/2016/12/13/its-
almo...](http://debuggerdotbreak.judahgabriel.com/2016/12/13/its-
almost-2017-and-html5-audio-is-still-broken-on-ios/)

~~~
inferiorhuman
> Some mobile platforms (read: iOS) are hostile to web apps.

I'm OK with that. Web apps are clunkier and provide a worse experience. That
Google makes this easier speaks to the sort of UX you get with Android.

~~~
scardine
> I'm OK with that. Web apps are clunkier and provide a worse experience. That
> Google makes this easier speaks to the sort of UX you get with Android.

Chicken and eggs argument here: web apps are clunkier and provide a worse
experience because they are not well supported by the OS or the OS does not
provide better support for web apps because they provide a worse experience?

Hybrid app frameworks exist because phone operational systems lack proper
support for web applications.

~~~
altfredd
> web apps are clunkier and provide a worse experience because they are not
> well supported by the OS

No, they are clunkier and provide a worse experience, because most "web apps"
are ported version of desktop bloatware, targeting devices, permanently
plugged into wall-mounted electric outlet.

What are "web applications" anyway? Something, that requires permanent
internet connectivity? Something with DOM APIs? Something with built-in
Javascript interpreter? Something with CSS support? The defining qualities of
"web" have absolutely nothing to do with mobile devices. If anything, "web"
has bad supported for OS. This is why all hybrid frameworks are about exposing
additional OS functionality to browser, not the other way around.

Just accept, that you are looking at wrong tool for the job.

~~~
scardine
I will not debate whether "web apps" are ported version of desktop bloatware
but I don't see why you can't write offline-first, mobile-first progressive
web applications using Javascript and HTML (except Apple's lack of enthusiasm
supporting anything outside their walled garden)

------
rhacker
We're definitely at the point in history where we _have to get out of these
app stores_. I get it if you're doing a game or something that's fine, stay in
the app store. But I don't know how many times I've been extremely frustrated
with a website telling me to get their app.

* They break my in-browser password store

* They introduce extremely complicated "app-only" device links for Oauth

* Updating your UI for most apps shouldn't require an app-store push (don't talk to me about ionic)

This is the same fight but different players that we're currently facing in
getting away from Social Platforms.

~~~
judah
Yep, I hear you. Unfortunately, the status quo today is, that's where the
users are.

I love the free and opened web. I want it to win. I think it will win and eat
native apps (PWAs are already making that happen.)

But the barriers to this right now are 1) app stores are where users are and
2) some mobile platforms (read: Apple) have a perverse incentive to cripple
web apps so that submitting native apps to their store (and thus, paying them
$99/year + 30% in-app purchases) is required to have a first-class experience.

~~~
mamcx
> 2) some mobile platforms (read: Apple)

You mean Google. Android webviews are VERY slow. Tha comnpound with the
overall bad android OS (terrible privacy and security, terrible overal
performance).

~~~
floatboth
> Android webviews are VERY slow

Huh?

Since KitKat I think, WebView is updatable (and is on the App Store), plus
browsers like Chrome and Firefox can provide their own WebView implementation.
Most people with non-ancient phones are probably using Chrome's engine in all
WebViews.

And also, _old_ engine doesn't even mean "slow".

Only Apple used to an actual problem here, because for a long long time there
was no JS JIT in WebViews.

~~~
mamcx
That is the theory. Hold a iPhone and and android and run the same web-browser
apps and look for yourself.

I have tested several demos by ionic, framework7, etc... is amazing how slow
are androids...

~~~
robocat
My guess is that the difference in speed is mostly due to hardware, not the
browser.

Apple hardware benchmarks well beats Android hardware:
[http://browser.geekbench.com/mobile-
benchmarks](http://browser.geekbench.com/mobile-benchmarks)

Given Safari can optimise for a single GPU target (which is also probably
faster), it is likely the speed differences are not due to the browsers per
se.

~~~
mamcx
And that is the reality for a large section of users.

------
shinratdr
From a user perspective, this is why I love iOS.

* Barrier to entry. If your project is more than a hobby, you can jump through a couple hoops to reach the iOS userbase. If the difference between $99 and $25 is make-or-break, you're probably trying to publish a hobby/low quality app anyways. There is a reason the Microsoft Store and Google Play are absolutely filled with trash, and this is part of it.

* Forcing you to use native controls. Thank god. I hate webapps. The only people who like webapps and their encroachment on good, native apps are webapp developers because it allows them to use their skillset to build something they don't know how to build. Everyone else wants native apps back, even if they don't know it. Case and point: the hatred for all the apps moving to Electron and the ridiculous amount of resources they consume. Most people don't know what Electron is, but they can tell you how much they hate the new Skype.

* Requiring a Mac. This is similar to the "barrier to entry" one above, but seriously. I've never met a developer who complained about needing a Mac to develop for iOS that has put forth an even halfway decent iOS app.

Software development is already very, very easy. The barrier to wide
distribution is almost nothing. This is an extremely developer-centric
perspective, which is fair, but at the end of the day, your users pay the
bills and it's hard to be developer-first without also being user-hostile.

This strikes me as the analysis of a developer I would never support, because
they care far more about making everything as easy as possible for them rather
than making the experience good for me. It's important to remember that while
you are doing some consuming, you aren't the customer in this equation. The
users are.

~~~
Grae
>If the difference between $99 and $25 is make-or-break, you're probably
trying to publish a hobby/low quality app anyways.

Or maybe you live in a situation where $74 USD is a meaningful barrier to
accessing a market.

>The only people who like webapps and their encroachment on good, native apps
are webapp developers because it allows them to use their skillset to build
something they don't know how to build.

You're excluding people and organizations who want to maintain a single
codebase.

>I've never met a developer who complained about needing a Mac to develop for
iOS that has put forth an even halfway decent iOS app.

My takeaway from this is that you've not met a lot of developers outside the
U.S. or who have ethical concerns about mandatory hardware / software
purchases as prerequisite to market access.

~~~
briandear
> You're excluding people and organizations who want to maintain a single
> codebase.

Not my problem. Don’t shit on my user experience because what YOU want.
Remember, I don’t need your product, but you need customers.

As far as ethical concerns about mandatory software purchases as a
prerequisite— it’s not mandatory: you don’t have to develop for iOS. Make a
website instead.

~~~
jsgo
Is the person's app going to automatically end up on your device or did I miss
something here?

If Apple's review board feels the app is trash, it will be rejected as such.
And the original poster wanted to just do a website instead, but they also
wanted audio to be playable in the background (which makes sense when you're
making a for all intents and purposes radio app).

~~~
saagarjha
> If Apple's review board feels the app is trash, it will be rejected as such

Apple is not as strict here as you're supposing. While Apple's review
guidelines do say that they reserve the right to reject apps during the review
process if they're ugly or don't work well, in reality this is almost never
the case.

------
rvanmil
As a user I am glad Apple is the "loser" in this article and it's the reason I
love iOS and hope Apple doesn't change anything in their attitude towards the
"free and open" web. I do not trust the web, at all. Access the camera? Nope.
The microphone? Are you kidding me. Notifications, GPS, background processing?
Fuck no.

I am very happy to have Apple as a quality, security and privacy gatekeeper,
because I do not have the time anymore to do that all by myself (and related
to that, I'm so happy we've left the Windows era behind and I'm not bothered
by friends and family anymore with all the crap and problems on their devices
thanks to all the "free and open" stuff they'd download and install).

PWA's? Screw that, I hope they never become a first class citizen on Apple's
platforms. It's good for Apple's business and their users to keep it that way.

~~~
sydd
Why would you trust someone on the app store more? Just because they invested
$99 to spy on you?

~~~
artimaeis
Their app also passed the review process.

Of course, that doesn't stop all bad actors [0]. But it's much more process-
based security than the web permits.

[0][https://www.theguardian.com/technology/2017/apr/24/uber-
brok...](https://www.theguardian.com/technology/2017/apr/24/uber-broke-apple-
ios-privacy-rules-tim-cook-travis-kalanick)

------
AceJohnny2
> _From minor things like “iOS Safari won’t let you play audio without first
> interacting with the page” to major, show-stopping things like, “iOS Safari
> won’t let you play the next song if your app is in the background or if your
> screen is off.”_

As a user, I'm _very_ happy Apple prevents a random website from doing this.
I'm sorry this complicates your specific use-case, but the benefit for me is
that I don't get audio ads just from opening a webpage (ads), nor will a page
I opened a while ago unexpectedly start playing sound at me (ads!)

Furthermore, the latter restriction lets the scheduler/power manager make
better decisions about what runs (and thus can consume power).

The broken HTML input though, that sucks and I'm sorry.

------
valuearb
"Final thoughts: The web always wins. It defeated Flash. It killed
Silverlight. It destroyed native apps on desktop. The browser is the rich
client platform. The OS is merely a browser-launcher and hardware-
communicator.

The web will win, too, on mobile. Developers don’t want to build 3 separate
apps for the major platforms. Companies don’t want to pay for development of 3
apps.

The answer to all this is the web. We can build rich web apps – Progressive
Web Apps – and package them for all the app stores.

Apple in particular has a perverse incentive to stop the progress of the web.
It’s the same incentive that Microsoft had in the late ‘90s and early 2000s:
it wants to be the platform for good apps. PWAs undermine that; they run
everywhere.

My software wisdom is this: PWAs will eventually win and overtake native
mobile apps. In 5-10 years, native iOS apps will be as common as Win32 C
apps."

iOS developers made $27B last year writing apps for the App Store. It ain't
going away, it's still growing.

[https://www.forbes.com/sites/chuckjones/2018/01/06/apples-
ap...](https://www.forbes.com/sites/chuckjones/2018/01/06/apples-app-store-
generated-over-11-billion-in-revenue-for-the-company-last-year/#4bed48766613)

Web apps are fine for quick and dirty apps where the user experience doesn't
have to be great. Choosing HTML and Javascript for UX always means you're
going to have a compromised user experience compared to native. Again that's
fine in segments where it's not as important, but ultimately the best
experiences are native and that's where the market is going.

------
gldev3
I feel you, every time i have to work with anything apple it's painful. Even
their dev tools, i wasn't expecting much from XCode and i was still let down.

In this regard Microsoft is way superior.

~~~
judah
The dev experience was better with MS's tools, of course. They created
PWABuilder, and it *actually generates a Windows Store package (.appx) that
can be submitted to the store. No other steps required. Pretty amazing.

Google wasn't bad; PWABuilder generated an Android Studio project. You open in
Android Studio, build, and it generates the package to be submitted to the
store.

iOS was sadly the most painful. Not least of which is because it requires a
Mac, with XCode and dev frameworks, to build.

~~~
ryandrake
It’s a lot to do with what you’re used to. As an Apple user bought into their
ecosystem and tools, I find developing for their platforms dramatically easier
and more straightforward than for other targets. I can basically do Android
development with some pain and confusion, but on Windows I’m totally
stumped/useless.

~~~
hesarenu
I was trying to learn native iOS and Android app design been a mainly
reactnative developer.

Android was very easy to start. I learnt kotlin as I was writing the code.
Java I remembered some from college days decade ago. The UI builder was very
easy to use. I even went far as using the dagger Di.

iOS I was kind of frustrated. I had gone over swift Lang some time back. But I
found its syntax estoric. UI builder had its own issues for some row column
the constraint layout kept on failing. Its not user friendly as in android.
And in the strange name/ structure of routes, the dragging of ui elements to
code.Considering that I would need to write business code for both platforms I
just gave it up. Now trying out flutter.

~~~
saagarjha
So, you found iOS development hard because you had very little experience with
the tools?

~~~
hesarenu
I found android development easier when I had little experience with it.

------
diego_moita
> Don’t make me pay you to make my app available to your users. My app
> enriches your platform.

In the 90's Microsoft won market over Apple by, among other things, being a
more developer-friendly company. It seems Apple didn't learn any lesson from
it: crappy tools (XCode), disregard for standards (Safari), creating
barriers...

~~~
slig
iOS users spend more money and are more affluent. Developers won't migrate
away because there're lots of money on that platform.

------
maccio92
> Don’t make me pay you to make my app available to your users. My app
> enriches your platform.

It helps to prevent spammed low quality apps. If there is a monetary barrier
to entry, it helps curb that.

~~~
judah
I recognize that. I mentioned that Google's one-time $25 fee is quite
reasonable to have an app in the app store.

------
gelstudios
PWA == “Progressive Web App”

~~~
toddh
Not Programs With Attitude?

------
wiseleo
I just love this part about D&B.

Problem: "I go to D&B to update my business profile. Surprise! They have a
JavaScript bug in their validation logic that prevents me from updating my
profile."

Solution: "Thankfully, I’m a proficient developer. I click put a breakpoint in
their JavaScript, click submit, change the isValid flag to true, and voila!
I’ve updated my D&B profile."

~~~
judah
I "loved" that too. Excepting having to find out that the problem really was a
JS validation bug. To have to discover this in 3rd party obfuscated JS was not
fun. :-) But hooray, I got it working.

------
zghst
Another developer whining that they don't have free range to do whatever they
want.

There are a multitude of reasons why Apple doesn't allow Safari sites to do
whatever, namely security, power management, feature duplication/user
confusion, etc. When you pay to deploy a native app, you are paying for
hosting, the reviewers, payments, availability, etc.

There is no control over when a website may change and at any time your server
can be hijacked to distribute malicious content vs an app, which is much more
protected by layers of security and process.

Your priorities are definitely not priorities of the end user, where Apple, a
company that has millions of customers is. If they were irresponsible and
distributed iOS in the way you want, it would be Windows XP all over again.
Viruses, security holes daily, etc.

~~~
pacomerh
Partially true, but knowing that google is making it easier to publish web
applications just makes me more attracted to that ecosystem as a web
developer. Apple has for long been a closed ecosystem and they have their
reasons, they try to control everything in it to maintain a quality standard,
so it only makes sense that trying to build something as open as a PWA would
not be of interest to them, or beneficial for that matter.

------
yodon
Are there any technical reasons you’re aware of why pwabuilder.com couldn’t
also emit Electron wrappers for platforms like Linux and OSX where native
support for PWA apps is lacking? (and yes, I do hear you, angry young man,
about how much you hate Electron apps and wish they would go away)

UPDATE: it seems to be pretty lightly documented and I wasn’t able to confirm
the status, but pwabuilder does appear to have options to generate electron-
prebuilt “PWA” wrappers for Linux, MacOS, and win32 platforms. Pretty excited
to give it a try.

------
forkLding
Developed solely for the IOS appstore for a year in IOS Swift, my app
([http://lucid.fyi](http://lucid.fyi) \- shameless plug):

Hated developing for IOS because came from web background and everything is
restricted and you need payments to do anything. I'm also a sole developer and
so every step that requires money I hate because I don't have a lot of money.

------
cloudwizard
Correct link to pwabuilder is
[https://www.pwabuilder.com/](https://www.pwabuilder.com/)

~~~
judah
Thanks. I'll fix that in the article.

Yeah, PWABuilder is amazing. A web page that analyzes your PWA, tells you any
additional things you need to do to your PWA before submission, then generates
packages for iOS, Google Play, and Windows Store. Awesome. More web devs need
to know about this.

------
otachack
If developers that want their free apps to be uploaded to iTunes don't want to
pay the fee I can try to propose a solution.

A collective of similar individuals can pay for one iTunes account and share
it between all involved. There can be a entry process for others willing to
join as well. Of course, there are a few negatives:

\- the account agent account has the keys to this. It would have to be someone
highly trusted, but perhaps it can be down to a vote to determine the role. At
first, it can simply be whoever starts this.

\- if iTunes decides to shut down the account, the all eggs in one basket
approach would shutdown all of the apps

\- maintenance of distribution keys/provisionings may be a hassle depending on
the roles regular members have in this (non-admins can't create iTunes
Distribution provisionings)

\- The "see all apps created by this dev" feature may show seemingly unrelated
apps

I'm sure there's more I can't think of, but I still think it's doable.

------
n-gauge
This is why I favor Android in these situations. It's far easier and cheaper
platform to get a (web) app out there.

I have created a scratch to apk service (requires no permissions either) using
javascript and then an apk signer (which can then be side loaded) - Job Done
as they say.

------
simonw
Thank you for putting this together. Really detailed write-up, and I learned a
lot from reading it.

------
oakesm9
The article mentions that the author was worried that the fast processing time
for Google Play meant that it hadn't actually been check, but according to
Google they do:

[https://android-
developers.googleblog.com/2015/03/creating-b...](https://android-
developers.googleblog.com/2015/03/creating-better-user-experiences-on.html)

I believe the way it works is they run the app through an automated test suite
(virus scan and monkey testing) and if it flags anything up then it goes to a
human to review.

~~~
judah
Author here. Yeah, I suspected precisely this. They run it through an
automated test, and a human reviews only if the automated test raises a flag.

I guess that's OK. I did like the fact that my app went from submitted to in
the Google Play store in all of 5 minutes. (Compared to 48 hours for iOS, and
72 hours for Windows.)

------
ntoeint34vuvwi
I found it interesting that he counts having to buy a Mac to do iOS
development as a negative, but doesn't make the same case about having to buy
a Windows PC to do Windows development. I currently own only Macs. If I want
to develop for Windows, I can just buy a Windows license and use it on my
existing Mac. And of course, I can install Linux on it, as well. Seems like a
stupid thing to call a negative, since no matter what you use, you'll need to
buy a machine to do any development.

~~~
waddlesworth
Requiring a computer to make an app is hardly a fair comparison. The point the
author is making is that you need a Mac to build an iOS app. It's impossible
to make an iOS app on any other platform.

Meanwhile, you're perfectly capable of building both Windows and Android apps
on either Mac, Linux or PC.

------
usaphp
> Don’t make me pay you to make my app available to your users. My app
> enriches your platform. Without good apps, your platform will be abandoned.

> Google asked for a token $25 one-time fee. Probably to avoid spammers and
> decrease truly junk apps from entering the store

So he found an excuse for google to do it, but somehow Apple is evil when they
do the same?

~~~
askvictor
There's a big difference between $25 one-off and $99 per year. I make a niche
app that gets about $20-$50 per year in sales. I'm not interested in making
money on it, but it would not be worth my while developing such an app for
iOS. OTOH, I've made back my $25 Play store fees and can now make my app free.

------
imoskar
We are building an app store for PWAs to solve the exact issues you're
describing over at [https://appsco.pe](https://appsco.pe). We won't be able to
solve the native capabilities issue though but we don't think Apple can
cripple Safari forever either.

------
kristianc
> Don’t make me pay you to make my app available to your users. My app
> enriches your platform. Without good apps, your platform will be abandoned.

I don't know much about the guy or his app but this sounds supremely entitled.
I don't think Apple is in want of developers to make apps for iOS.

~~~
judah
Author here. Every platform needs developers. One needs only to look to
Windows Phone to see that an excellent OS without an app ecosystem is doomed.

~~~
kristianc
Beyond a certain point, the marginal utility of an additional app on the
platform doesn't add that much. Even within your very narrowly defined niche,
it wouldn't surprise me if there was an alternative app.

Apple is long past the point where marginal utility of adding an app really
matters, whereas Windows Phone was missing apps for Instagram and Snapchat.

------
smsm42
In this article, I read that you not only need a registered company to publish
iOS app, you also need it to be registered with third party (DnB) provider? Is
it true? You can't publish on Apple store without having DnB-approved company?

~~~
wila
Not True.

As I'm not in the US getting an approved DnB profile turned out to be painful.
Even once I got one, apple still did not consider my profile valid (yes, I did
wait a few days)

As I was on a dead line and fed up with the whole DnB crap after a couple of
weeks I ended up registering the iOS developer license on my personal name
instead of my company name.

------
matthew_wilson
The function of this service appears to stream audio in the form of music in
brief recorded performances. Is this not the purpose of podcast and met by an
existing iOS app from Apple titled “Podcasts”?

------
ppeetteerr
Apple might be a pain, but I'm curious about where your most downloads came
from...

~~~
suckerburg
In the comments below the post he said they came from the Play Store.

------
cbasoftware
Apple decided many years ago that they were going to make it rich by
controlling as much of their product/software as they could. In the past, when
I guess they put out unique and well crafted products it worked. Today, not so
much. Their stuff is garbage. Apple has continuous problems with production
and have used strong-arm tactics to control what people can find out and fix
on their own.

You hit the nail on the head with "In 5-10 years, native iOS apps will be as
common as Win32 C apps. Apple will go kicking and screaming, keeping iOS
Safari behind the curve, blocking PWA progress where they can. " Personally, I
don't think (hope?) that it will take 5-10 years. Right now they have less
than 80% of the market. As more and more people figure out that their products
are not what they used to be that market share will become less and less. At
some point it will no longer matter.

To the argument that the "sales are there" all I can say is look at the
statistics. I believe it's less than 1% of all app store products (regardless
of which one) make money. And, the average user goes to five apps on their
phones all the time. The chances you're going to write an app that actually
makes anything is between slim and none. If the user can't install your app
for free you're never even going to get it installed on their phone/tablet at
all.

Further, the vast number of apps in the future will be PWAs and many of those
will be business oriented. As you said, programmers don't want to have to
write three different sets of code (realistically only two: JS and Apple -
whatever they're pushing recently). And, most of those apps will be
"installed" from the web page for that SaaS or your own enterprise.

Apple is done. Stick it with a fork and take it out of the oven. Obviously,
with all the dumb money they've collected over the last 10+ years they could
do well without ever shipping another product. And, without a doubt, they will
continue to get people to buy their products for sometime in the future. But,
they will either come to the realization that they have no choice but work
with MS and Google in allowing PWAs or they will become irrelevant. It will
take them some time to understand that since they no longer have forward
thinking management and just surround themselves with "protect our business"
types. Eventually, those turkeys will be replaced (hopefully sooner rather
than later - we still need competition) or Apple will become the next Oracle.
No longer a player in today's world.

And for those doubters out there, don't forget, Apple was going down when they
brought Jobs back the last time. Unfortunately, they have no one to go back to
this time. It can, and will, happen again.

------
gkya
So we call links PWAs now?

------
msie
He complains about buying a Mac but what about Mac people who want to develop
Windows DirectX games? They have to buy a PC (realistically you don't want to
emulate a PC).

~~~
waddlesworth
The article is about PWAs which have no native code. The restriction for
DirectX is a technical one, not a business one. Cross-compiling is possible,
but difficult as the ABI has to perfectly match.

Not being able to push a bundle of JS+HTML to the Apple store without a Mac is
a completely artificial barrier. Even in regards to the full XCode suite
(which I could understand why they wouldn't release for other platforms), the
unbelievable lengths that Apple go to to ensure that OS X can't run in a
virtual environment is quite frankly ridiculous.

------
ggg9990
So by this author’s estimation, the Apple App Store is the worst and the
Microsoft App Store is the best. I can tell him that from the user’s
perspective, it’s the exact opposite, and I have exactly one app from
Microsoft and hundreds from Apple.

~~~
judah
No, that wasn't my conclusion. If you read the article, I offer a summary at
the end, where I give a winner. (Winner, meaning best/easiest/simplest/fewest
barriers to entry from a developer perspective.)

The winner is Google.

One of the main reasons for that is, Google tries to make everything in the OS
available from standard JavaScript. Their platform is web friendly. For
example, want to display the currently playing song info and album art on the
lock screen? They submitted a new web standard for that.

~~~
zghst
Really this is all about your aversion to paying the fee and to learning how
to develop for the respective platforms. JavaScript does not offer performance
or optimization near the same levels of native code, etc. On top of that,
there are guidelines, accessibility features, and carefully crafted UI
components for a respective OS (that have thousands of hours of user
research).

The amount of standard APIs developed in JS are nowhere near native APIs, also
JS has barely gotten to the point of good enough for native development,
whereas, mobile platforms have had 10 years of mature development.

It's quite the fantasy to pretend that PWAs can offer the user anything better
than a native experience at this point.

~~~
judah
No, I wrote the post to document how an existing web app can be moved into the
app store, the reasons for that, and the hurdles in doing so.

APIs: Yes, Google is improving the situation -- making more and more common OS
APIs exposed to standard web interfaces. Meanwhile, Cordova is letting web
devs access native functionality that the platform vendors don't expose. The
story isn't perfect, but it's actually quite impressive even now.

Web apps: they offer all kinds of things native apps can't. Native apps
require install. Native apps must go through approval process for every
update. Native apps are restricted in what they can publish on the app store.
Native apps are subject to the censorial whims of a single corporation (or
government forcing that single corporation). Native apps only work on a single
platform; the web works everywhere.

There are lots of wins for web apps. And I think PWAs only increase those
wins.

------
jbob2000
I know your pain about the D&B issue. That was a huge slap in the face when I
saw that. Apple, one of the largest companies in the world, has presented some
random company as the face of their Developer portal? "Couldn't be... No
way... wait a sec they are that stupid... goddammit".

Then, at the end of the day, all it ended up being was a phone call that
verified the information I entered on the D&B webpage. Stupid waste of time. I
am tempted to think someone on Apple's board partially owns D&B and is forcing
it down everyone's throat to make a quick buck, there's no other reason for
this kind of experience otherwise.

~~~
curun1r
D&B isn't some "random" company. If you've ever been faced with a project that
requires you to have a reasonably complete set of information on most
businesses in the country, you quickly learn about D&B. Almost every large
company is licensing D&B data in some form or another. Cataloging every
business in the US isn't an easy problem to get right, even for a company as
large as Apple.

~~~
notyourday
It is a random garbage company that is stuck in early nineties. It preys on
stupid first time company owners whom it sells its credit builder for business
services. That's the entire business model.

Edit: Can't respond due to rate limit - 40k/year from 1000 companies is
nothing compared to $199/mo and more from credit builder from every Jack and
Jill with a DBA, LLC or Inc.

~~~
curun1r
> That's the entire business model.

Umm...that's comically wrong. The fortune-500 company I worked for paid more
than $40k/yr to license their data and update it monthly. Given the
description of how Apple is using it, they're probably paying six figures per
year. Neither of our companies were buying credit builder services.

~~~
jessaustin
Old-n-busted companies pay through the nose for old-n-busted services. Film at
11.

