25 ms·
I built a progressive web app and published it in three app stores
- judah 9y agoAuthor 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 9y ago[Removed by user]
- thebouv 9y agoThe reasons for this were listed in the actual article. Can't play next song if it is in background, etc. All the tech reasons were listed out.
- yourapostasy 9y agoAlong with technical reasons in original article, likely submitting as an app adds a marketing channel, and a big one at that, that wouldn't exist for a pure web app. Would be interested to hear from author if this is indeed the case, and if it was, if he feels the effort is worth the benefits.
- judah 9y agoYep. Before being listed in the app store, I was getting about 5 new users sign-ups per day. Now I am getting about 15.
- judah 9y agoWhy 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-almost-2017-and-html5-audio-is-still-broken-on-ios/ http://debuggerdotbreak.judahgabriel.com/2016/12/13/its-almo...
- inferiorhuman 9y ago> 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.
- judah 9y agoI understand lock downs for security or user experience (e.g. disallow sites to auto-play video, etc). But restricting web apps to the point they're actually broken? No, that really sucks. Shame on Apple. And if we care about freedom and the opened web, we should not cheer on proprietary, closed platforms like app stores. We should want the opened web to win.
- inferiorhuman 9y ago> I understand lock downs for security or user experience (e.g. disallow sites to auto-play video, etc). But restricting web apps to the point they're actually broken? No, that really sucks. Shame on Apple. Shame on developers for cargo culting web apps over to various mobile platforms. Even on desktop platforms, non-native apps stick out like a sore thumb and generally work poorly (e.g. Slack). Granted I'm okay with my apps not doing autoplay video regardless of whether or not they're native. > And if we care about freedom and the opened web, we should not cheer on proprietary, closed platforms like app stores. We should want the opened web to win. How about the freedom to be rid of phishing apps and spyware? The "opened web" is not an all or nothing idea, and promoting web "apps" over proper native apps isn't a win.
- Froyoh 9y agoThere's a reason why is more difficult to publish an app onto the App Store
- osrec 9y agoI'm interested to know how did you actually integrate with the lock screen? Did you use a wrapper of some kind to access native functionality?
- tangue 9y agoMe too I didn't suspect that was even possible. If it's not a hack maybe PWA are not that far from mainstream.
- judah 9y agoIt's possible. But you currently have to write code for each platform; iOS uses a Cordova plugin for this, so your JS has to talk to Cordova. Windows uses its own proprietary namespace which is injected into your app, so you write JS that talks to the proprietary Windows API. Google is the unique bright light here. They've submitted a web standard, navigator.mediaSession [0], that lets you do this in a web standard way. Unfortunatly, the only browser that implements it is Chrome on Android. [0]: https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API https://developer.mozilla.org/en-US/docs/Web/API/Media_Sessi...
- judah 9y agoI describe that in the article, but here's the short of it: iOS: You have to use Cordova plugins. I used RemoteCommand[0] and NowPlaying[1] that lets me write JavaScript that calls into native iOS functionality. Once the Cordova plugins are installed, you write JS to talk to them. Source code for that here[2]. Android: Google has submitted a web standard[3] for this. Integrating with it is simple[4]. Windows: Microsoft automatically injects the Windows API into the JS global namespace. So you write JavaScript that looks like window.Windows.Media.SystemMediaTransportControls.doSomethingHere(). You can see the code for that here[5]. [0]: https://github.com/leon/cordova-plugin-remotecommand https://github.com/leon/cordova-plugin-remotecommand [1]: https://github.com/leon/cordova-plugin-nowplaying https://github.com/leon/cordova-plugin-nowplaying [2]: https://github.com/JudahGabriel/Chavah/blob/master/Chavah.NetCore/wwwroot/js/Services/IOSMediaSessionService.ts https://github.com/JudahGabriel/Chavah/blob/master/Chavah.Ne... [3]: https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API https://developer.mozilla.org/en-US/docs/Web/API/Media_Sessi... [4]: https://github.com/JudahGabriel/Chavah/blob/master/Chavah.NetCore/wwwroot/js/Services/NavigatorMediaSessionService.ts https://github.com/JudahGabriel/Chavah/blob/master/Chavah.Ne... [5]: https://github.com/JudahGabriel/Chavah/blob/master/Chavah.NetCore/wwwroot/js/Services/UwpNativeAudioService.ts https://github.com/JudahGabriel/Chavah/blob/master/Chavah.Ne...
- cm2187 9y agoI excited by the combination webassembly+pwa, which should enable truly cross platform, language agnostic, client development.
- judah 9y agoI think PWAs will win in the long run, regardless of WebAssembly. Both are exciting technologies, though, and WebAssembly will help bring performance in line with native.
- iandev 9y agoIn the article: "Aside: I guess Apple won’t let you submit an app unless you have a registered, legal company?" Although it does seem to be this way, you can submit an app to the store without being a registered, legal company. The most common route is to just mark yourself as a sole proprietorship using your own name. No need for an LLC or anything. However, this may vary from country to country.
- SeanLockItUp 9y agoI don't think that's true? I had to get a DUNS number to apply to the app store. And it had to be an LLC (I think?) and not a sole proprietorship. I initially just wanted to use a "DBA" (doing business as) but they don't allow those anymore, they used to in the early days but no longer.
- iandev 9y agoAccording to this: https://developer.apple.com/support/enrollment/ https://developer.apple.com/support/enrollment/ A DUNS number is only required for organizations, not individuals.
- SeanLockItUp 9y agoah fair enough, yea I wanted an LLC because everyone told me to be smart and not use my real name and have no legal protections. I suppose I could have just used my name though.
- saagarjha 9y agoCan confirm: in the US, you don't need to get a DUNS number at all, if you're selling individually.
- KeepFlying 9y agoThis is correct, but you must list your full legal name as the store listing, which isnt very ideal in my opinion. In order to list it as a business name you need an LLC or more. No Sol Proprietors allowed.
- al2o3cr 9y agoI 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. Am I the only one who remembers people saying this EXACT thing about Java Swing apps? Not saying it's impossible, but "Write Once Run Anywhere" has been a mirage "just over the horizon" for a long time.
- judah 9y agoAuthor here. Maybe Java fans, or Sun/Oracle employees and fanboys said that. That doesn't really mean much. I did predict years ago that open web technologies will destroy native (desktop) apps, Flash, and Silverlight. In hindsight, I was correct. I am predicting the same thing with regards to native mobile apps: they will largely disappear, and web apps will again win.
- scarface74 9y agoWell actually no. Mobile destroyed Flash and Silverlight and all of the complex apps that were moved to mobile went native - like Netflix.
- judah 9y agoYou're right that mobile did help kill plugins. But that was the final blow; HTML5 had already disrupted native apps on desktop OS for a few years, and as browsers picked up HTML5 support, there was almost no need for plugins. (I say this with first-hand knowledge: several years ago when plugins were still common, I gave the final talk to a Silverlight user group in Minneapolis, in which I told the crowd there was simply no reason to continue using plugins. HTML5 won, and mobile only finalized its success.) Just as open web technologies ate Microsoft's lunch, undermining the domination of Windows, I predict the same will be true of the Apple (and Google) app ecoysystems. More and more, operating systems are simply environments in which to run web browser. I believe this trend will continue.
- scarface74 9y ago
- wpietri 9y agoThose who are skeptical should try out Twitter Lite, the PWA version of Twitter. Developer blog here: https://blog.twitter.com/engineering/en_us/topics/open-source/2017/how-we-built-twitter-lite.html https://blog.twitter.com/engineering/en_us/topics/open-sourc... I've been using it on Android for a while. It's not perfect, but it's definitely good enough. There are still plenty of apps where I'd tell a CEO, "No, we really need three sets of client developers," but the number is certainly dropping over time.
- yoz-y 9y agoI tried it just now. When I put my phone into airplane mode it just shows "Twitter is taking too long to load", I do have iOS 11.3 so service workers should handle this.
- geekles 9y agoThe point of a PWA is that the app store is not needed. Why would you be trying to get a PWA into the app store?
- judah 9y agoI answer that in the post. The short of it is, because 1) that's where users look for apps and 2) Apple greatly restricts web apps in Safari. So much so that to be first-class citizen, you need to be an app in the store.
- jbob2000 9y agoI 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.
- judah 9y agoYeah. That was actually one of the most painful points, and it had nothing to do with the software itself. And to make matters worse, D&B have a client-side validation bug on their site when updating your profile. I actually had to set a JS breakpoint in their code and change .isValid = true. Just so I could update my profile. Unbelievable.
- jarsin 9y agoOn top of that DnB sales the shit out of your info. Then if you setup a private llc with a registered agent it allows a way for people(patent trolls and attorneys) to find out who you are etc. Way to focus on privacy Apple!
- techsupporter 9y agoAnd if you make the error of giving D&B valid contact information for you, they will bug the everloving shit out of you until the heat death of the universe. When I was a young pup of a business owner, someone asked me for my DUNS number so, foolishly, I just went to D&B's website and filled out the enticing form there with my cell phone number and company e-mail address. The spam e-mails and phone calls were unceasing. They wouldn't stop calling me with sales pitches, "unique, one-time offers," and blunt statements that (unless I paid money to them) my business would be "delisted" in "just a few days." The assholes also proceeded to sell that information to other companies, so then I started hearing from accounts receivable financing outlets, merchant processors, and the like. Several years later, the phone calls have stopped only because I changed phone numbers, but I still get three or four "your D&B profile is incomplete, call us today!!" e-mails per month to that old address.
- cloudwizard 9y agoCorrect link to pwabuilder is https://www.pwabuilder.com/ https://www.pwabuilder.com/
- judah 9y agoThanks. 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.
- gldev3 9y agoI 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 9y agoThe 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 9y agoIt’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.
- gldev3 9y agoApple needs a better onboarding for new developers and definitely needs to improve XCode to be on part with it's high shipping standards, it also didn't help that a lot of the time the iTunesConnect platform was failing. I can say however that it is easier to create things of higher quality with the iOS Sdk than it is with the Android sdk, at least it was for me.
- hesarenu 9y agoI 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.
- rhacker 9y agoWe'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.
- rrdharan 9y agoFWIW with iOS 11 re: your 1st point, the Safari/iCloud Keychain password store is available to native apps as well. https://www.cnet.com/how-to/how-to-use-ios-11s-password-autofill-feature-in-apps/ https://www.cnet.com/how-to/how-to-use-ios-11s-password-auto... I've found it quite useful.
- rahoulb 9y agoAs is Lastpass/1Password
- judah 9y agoYep, 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.
- Silhouette 9y agoUnfortunately, the status quo today is, that's where the users are. I've seen a few people make this argument, but no real data. Does anyone have any relevant stats about web vs. app store sales, perhaps the ratios between customer numbers and/or revenues through different channels, that they'd be willing to share?
- maccio92 9y ago> 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 9y agoI recognize that. I mentioned that Google's one-time $25 fee is quite reasonable to have an app in the app store.
- geekles 9y agoNo, actually, it doesn't. What helps to prevent spammed low quality apps is the app review process. Those who are spamming the app stores with low quality, keyword dense apps are those who are looking to make a quick buck, and they do not hesitate to pay the paltry yearly fee.
- gelstudios 9y agoPWA == “Progressive Web App”
- toddh 9y agoNot Programs With Attitude?
- millstone 9y ago> 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 9y agoPartially 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.
- rolha-capoeira 9y ago> 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. There's a bigger story to this, one could assume. I'll be the first to say that iOS and Safari (particularly on iOS) has generally lagged behind the community in adopting standards. But this seems like a feature, not a bug, to me. What if the user has 10 PWAs open in Safari? Should they all maintain state as the user goes elsewhere in the OS? If I put an app into the background, I want it to stop its execution, unless I've given it permission to do a limited set of things. This goes double for websites — no way do I want them to continue using the OS in the background.
- shinratdr 9y agoFrom 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.
- davidgl 9y agototally agree, Apple want quality not quantity, and to protect their users (so they are happy to pay a premium)
- judah 9y agoControls: It doesn't force me to use native controls. :-) My web app today is still using the free and opened web, and all the goodness that comes with that, for UI and code. Requiring a Mac: Now you've met one. I built a halfway decent iOS app, and I don't want to spend $7000 on a Mac and its crappy dev tools and frameworks. I've poured nearly 7 years of work into user experience. I don't need to redo all that for Apple's closed, proprietary platform.
- deleted 9y ago[deleted]
- rolha-capoeira 9y ago> 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 9y agoAgreed 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.
- kevin_b_er 9y ago$99/yr plus buying an apple computing device.
- al2o3cr 9y agoLemme 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.
- simonw 9y agoThank you for putting this together. Really detailed write-up, and I learned a lot from reading it.
- AceJohnny2 9y ago> 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.
- oakesm9 9y agoThe 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-better-user-experiences-on.html https://android-developers.googleblog.com/2015/03/creating-b... 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 9y agoAuthor 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.)
- yodon 9y agoAre 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.
- miragle 9y agoI'm not particularly bothered by Apple making it harder to put shovelware like this on the App Store.
- ggg9990 9y agoSo 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.
- bitmapbrother 9y agoThat wasn't the author's conclusion.
- cbasoftware 9y agoObviously, you're an Apple fan boi. The author was the person who responded to you!
- jessaustin 9y agoYou've confused threads here. It sometimes helps to collapse all but the post to which you're responding...
- judah 9y agoNo, 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 9y agoReally 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.
- kristianc 9y ago> 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 9y agoAuthor 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 9y agoBeyond 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.
- cbasoftware 9y agoApple 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.
- rvanmil 9y agoAs 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 9y agoWhy would you trust someone on the app store more? Just because they invested $99 to spy on you?
- artimaeis 9y agoTheir 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-broke-apple-ios-privacy-rules-tim-cook-travis-kalanick https://www.theguardian.com/technology/2017/apr/24/uber-brok...
- SliderUp 9y agoSorry, that's security by delusion if you trust apps more.
- exodust 9y agoCan't tell if your post is sarcasm. Your trust of Apple and distrust of the web is irrelevant. Nobody is suggesting automatic permission to these things. There is nothing wrong with asking permission to access your microphone for example. You can always ignore request, or click no thanks. Any website right now can place a link to an exe file in the text and ask users to "please download". It's your choice whether to go ahead and download. It should be the user's choice whether to allow access to camera or anything like that too. Pretty obvious really.
- zghst 9y agoAnother 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.
- deleted 9y ago[deleted]
- pacomerh 9y agoPartially 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.
- diego_moita 9y ago> 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 9y agoiOS users spend more money and are more affluent. Developers won't migrate away because there're lots of money on that platform.
- smsm42 9y agoIn 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?
- judah 9y agoYes, that was the case for me. If there was some other way, it was not available for me. The good news is that DnB probably already have a profile on your company. The bad news is, if any of the info is incomplete or incorrect, you need to rectify that before getting approved for the Apple Developer Program, which is required to get your app in the store.
- wila 9y agoNot 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.
- forkLding 9y agoDeveloped 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.
- ppeetteerr 9y agoApple might be a pain, but I'm curious about where your most downloads came from...
- suckerburg 9y agoIn the comments below the post he said they came from the Play Store.
- ntoeint34vuvwi 9y agoI 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 9y agoRequiring 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.
- msie 9y agoHe 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 9y agoThe 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.
- valuearb 9y ago"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-app-store-generated-over-11-billion-in-revenue-for-the-company-last-year/#4bed48766613 https://www.forbes.com/sites/chuckjones/2018/01/06/apples-ap... 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.
- usaphp 9y ago> 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 9y agoThere'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.
- wiseleo 9y agoI 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 9y agoI "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.
- n-gauge 9y agoThis 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.
- gkya 9y agoSo we call links PWAs now?
- imoskar 9y agoWe 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.
- otachack 9y agoIf 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.
- matthew_wilson 9y agoThe 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”?