26 ms·
I want to make native apps but Apple and Microsoft seem to be trying really hard to stop me. I have to buy developer accounts, buy certificates for signing bina
by s1k3s 2y ago
I want to make native apps but Apple and Microsoft seem to be trying really hard to stop me. I have to buy developer accounts, buy certificates for signing binaries, share 30% of my revenue with them for barely any reason and so on. Not to mention the mess they've introduced in their APIs - especially Microsoft. So of course we choose the much simpler, much cheaper way of the web.
- rini17 2y agoYou can't use Qt?
- a1o 2y agoYou will still be in binary sign hell and Windows Defender may wake up one day and decide your app is a virus "when it does X", which is exactly it's business case. Complaining to MS will do nothing since their online thing will check and not find anything. Boom, entire software business gone for reason out of control. Doesn't care about your signed certificate too.
- hsbauauvhabzb 2y agoI’ve always been curious if this counts as decimation, espionage or antitrust?
- xet7 2y agoThat's why the only way to develop software is to provide URL for login. MS desktops are usually too locked down to install anything.
- injuly 2y agoQt licensing is its own mess. For commercial software, the pricing is 350-500$ per developer, per month. Seriously [1]. The company that now owns the framework doesn't seem to acknowledge the gap between big enterprises and solo developers/smaller teams. [1] Yes, one can use Qt for commercial software without buying a license (as long as it is dynamically linked), but their marketing does everything it can to hide that fact. Also, the newer additions to Qt do not fall in this category – for those, you have to pay.
- pjmlp 2y agoImagine that, having to pay for the tools one has to use for their work, what an abuse.
- Maxatar 2y agoHaving to pay a monthly fee in perpetuity in order to distribute an application is absolutely egregious.
- readyman 2y agoThe fee is for selling someone else's software. I personally despise capitalism, but your complaint about it is among the least convincing ones I have ever heard.
- deleted 2y ago[deleted]
- turrini 2y agoMess? Here are the most commonly used options: - Go LGPL. Sure, you will need to ship binaries and libs, but there are tools within the SDK that do this automatically for you (windeployqt, macdeployqt, etc.). And as others have stated, it is a problem that was solved years ago. - Go Commercial to link statically. If you are a single developer, there is an annual license available for $499 (up to $100k yearly revenue).
- dexwiz 2y agoIt always shocks me developers complain so much about QT licensing. For any other business, an expense that small for so much value seems trivial. Without a decent UI software is a terrible for experience for most users.
- Veserv 2y agoThat is 4,200-6,000 $/yr. In the US, a junior developer in a software company costs (all-inclusive, not just salary) around 150,000-200,000 $/yr. That is 2-4% of yearly cost on tooling. That is not very much. It might not be worth the price, but that is hardly ridiculous. It is quite believable to get a 4% productivity improvement from appropriate tooling. You need to do a cost-benefit analysis to determine the answer to that question.
- jcelerier 2y agowhenever I do native (native as in, compiled without going through some bytecode / VM / interpreter ...) apps for mac / windows / linux I don't have to do any of this, I just use Qt
- 01HNNWZ0MV43FF 2y agoBut then you have to use c++ or Python, and figure out a good way to ship 10 dlls
- BearOso 2y agoYou can static-link in all of Qt. Just build Qt yourself. It can strip out all the things you don't need, even symbols from the libraries you do use, so your binary isn't going to be that big.
- mococa 2y agoI do not think it is possible to have a commercial application, you have to pay Qt’s license.
- Arnt 2y agoNah. But do it. You just have to open your source, that part which depends on Qt. It's not a real problem. But get a commercial license anyway, the cost is small compared to the other costs of developing your program, and you want to be friends with them. (There's someone on HN who lives on a single-line modification of an open source program. Trust me, source availability of the source code of your client app won't really make a difference.)
- ale42 2y ago> There's someone on HN who lives on a single-line modification of an open source program Now I want to know more about this :-)
- greenthrow 2y ago"Barely any reason"... except they created and maintain the entire plarform and tooling that you're building on. And in Apple's case they give it away for free with any mac. I'm old enough to remember when buying development tooling for DOS or Windows was $$$$$$
- cma 2y agoThey had a $100 yearly dev fee for ios.
- mattl 2y agoOnly if you want to distribute via the App Store. There’s also TestFlight and distribution of source code I believe if you want to avoid that.
- cma 2y agoSounds much less generous than OP.
- internetter 2y agoBoth of these are completely false. Testflight distribution without a developer license is impossible. Asking users to compile the app themself is infeasible, as the XCode toolchain is upwards of 18gb and they will be required to compile it once every week to keep it on their device. The developer fee is unavoidable — even with EU intervention
- mattl 2y agoYou don’t have to do any of that for a native Mac app. Signing it is a good idea but not required and you can distribute it from your own website or even from GitHub/Lab where you can tell people it’s not notarized and they’ll need to command click and open it the first time.
- EGreg 2y agoThe reason that Apple and Microsoft require all this is also that native apps have a lot more access to the system.
- Nextgrid 2y agoThis doesn't matter. Notarization doesn't do anything against a dedicated attacker willing to commit illegal acts. Notarization is supposed to deter malware by a combination of static/dynamic analysis and attaching some real-world legal entity to any signed binary so law enforcement can follow up on if malicious activity is happening. Analysis is not bulletproof and can be worked around. The legal entity requirement is also trivial to nullify. At least in the UK, the company registration authority charges a nominal fee (payable by credit card - stolen if necessary) and puts you on the company register. Dun & Bradstreet scrapes that and that's how you get the DUNS number necessary to register for an Apple dev account. All of this is trivial to get through if you don't mind breaking the law and making up a few fake documents and providing a stolen CC (and assuming you're already planning to break the law by distributing malware, this is not a problem). Finally, even if the "legal entity" bit was bulletproof, law enforcement just doesn't give a shit about the vast majority of online crime anyway. All of these requirements are just a way to lock down access to the walled garden and put as many roadblocks to laymen trying to make their own software (in favor of big corps) masquerading as security theatre.
- mike_hearn 2y agoNotarization does do things against attackers, yes. Firstly, stolen CCs tend to get reported especially if you make a big purchase. If you use a stolen CC to buy a developer certificate then it's going to get revoked the moment the real owner notices, and then your apps will be killed remotely by Apple before they've even been detected as malicious. Still, the big win of notarization is that Apple can track down variants of your malware once it's identified and take them all out simultaneously. They keep copies of every program running on a Mac, so they can do clustering analysis server side. On Windows there's no equivalent of notarization, but the same task is necessary because otherwise malware authors can just spin endless minor variants that escape hash based detection, so virus scanners have to try and heuristically identify variants client side. This is not only a horrific resource burn but also requires the signatures to be pushed out to the clients where malware authors can observe them and immediately figure out how they're being spotted. Notarization is a far more effective approach. It's like the shift from Thunderbird doing spam filtering all on its own using hard-coded rules, to Gmail style server side spam filtering. > All of these requirements are just a way to lock down access to the walled garden I've been hearing this for over a decade now. In the beginning I believed it, but it's been a long time and Apple have never made macOS a walled garden like iOS is. There's no sign they're going to do it either. After all, at least some people have to be able to write new apps!
- silverquiet 2y agoI work at a place that ships an app to both Apple and Microsoft Desktops (we could even do Linux is there was ever any demand for it). We use this old thing called Java which still seems to work. I don't develop it though so I guess I don't have to worry about too much of my resume getting caught up with unfashionable languages (let's face the facts about what most tech these days is trying to advance - promotions - not the state of the art).
- colecut 2y agoOP is obviously talking about mobile apps.
- Maxatar 2y agoJava apps are not native on either macOS or Windows.
- foresto 2y agoNor Linux. The only Java desktop app I've ever used (on any platform) without frustration was Slay the Spire, and it only passes because it's a game and doesn't require desktop integration of any kind.
- dexwiz 2y agoSlay the spire is built using libGDX which provides a lot of cross platform support on top of Java. For platforms like Switch without JVM support it probably ships a compiled version without JIT.
- zer00eyz 2y agoOk Set up CC processing on the web: How much are you going to pay stripe? 2.9% + 30¢ ... that means you have to charge 10 bucks to get down to a 6% transaction fee. Quite the price floor and an interesting cap on your pricing model! What does managing chargebacks cost you? The moment your taking money your going to hire in customer service, or spend time dealing with CS. What happens when you get a chargeback, or do a refund? Most of the time you loose money (processing fees etc) If your under a million bucks a year apple is 15%. If you're building a low price app or a value add app, odds are that apple is going to be a far better deal for you than doing it on your own.
- tomhallett 2y ago$10 = 6% fee; $5 = 8% fee. Both of which are far better than apple’s fees, so that point is a bit confusing. Chargebacks = customer support. I agree with that, but if you have a B2C business which has any non-trivial revenue (OP is talking about word doc apps, so we’re obviously not talking about indie $2 side project apps), then you would already have CS anyway. I fully understand there is an opportunity cost with any service and where those costs get realized, but your examples don’t seem like a slam dunk in apple’s favor.
- zer00eyz 2y ago>> then you would already have CS anyway Would you? Because I would argue that CC processing is the point where you NEED near real time CS. Before that handling customer issues can be done better through forums, and you're going to get a lot of self service support from those. >> (OP is talking about word doc apps, so we’re obviously not talking about indie $2 side project apps) Your competing with free, libra office, Zoho writer (shockingly popular)... I would not know how to price the product to compete... 2 bucks a month as a trial? Would I pay 10 bucks a year if you were great? IF you got said productivity app past 100k users, getting to a million isnt a stretch (you have velocity and popularity). Unless your doing something really slimy, your going to be able to get a better rate out of apple if you ask your rep.
- jokethrowaway 2y ago
- api 2y agoThe native world also refuses to create a standard UI API, making everyone use either Qt or Electron because sorry writing it over again for each platform is a hard “no.” Not even big companies do that anymore.
- jwells89 2y agoWhy would platform maintainers want to encourage the lowest common denominator apps that such an API would undoubtedly result in (as a standardized UI API by definition cannot leverage platform strengths)? Apps like that get made anyway but as it stands at least there’s a healthy crop of smaller/indie native alternatives which often best the behemoths in UI/UX. That would likely disappear with the addition of a standardized UI API, as it would probably also come with the abandonment of the old specialized APIs.
- deleted 2y ago[deleted]
- ryandrake 2y agoYes. Not only are they refusing (and have been for decades) to create a standard UI API, they are 1. actively making their own UI APIs as different as possible from one another, even down to requiring different programming languages to use them, and 2. killing things that they once supported, which ease cross-platform code (both major platforms walking away from OpenGL in favor of their incompatible native APIs).
- AnonymousPlanet 2y agoNot only that. There are people who go to great lengths to make sure that native apps don't work properly across desktop environments even on the same OS. They also call out anyone who dares to complain about it.
- Rochus 2y ago[flagged]
- deleted 2y ago[deleted]
- KittenInABox 2y agoUnfortunately, yes, having one's personal information accessible to large, private companies really doesn't matter to most people. The only people I know who really care about this stuff are tech people, stalking victims, and victims of domestic abuse. [Admittedly this is becoming more aware for women trying to get abortions, but they're also a minority shamed to silence most of the time.] This isn't going to change until there are real, public, personal stakes for the majority of people.
- hn_version_0023 2y agoThe alternative that exists today that I can buy and all the apps I need for work will actually exist and function correctly is called…
- vb6sp6 2y agoI'm not sharing any revenue with Microsoft for my desktop apps :)
- Aaron2222 2y ago> I have to buy developer accounts The Apple Developer Program is only needed for macOS if you want to do sign your binaries or distribute through the Mac App Store. And you only have to pay Microsoft if you want to publish to the Microsoft Store (or use Visual Studio if you're a company that has more than 5 Visual Studio users, more than 250 computers, or more than $1 Million USD in annual revenue). > buy certificates for signing binaries Fair (though both Windows and macOS will run apps that haven't been signed, with more warnings of course). > share 30% of my revenue with them for barely any reason Only if you use their stores (Mac App Store or Microsoft Store), and it looks like the Microsoft Store won't take any cut if you do your own payments and it's not a game.
- fragmede 2y agoIf you don't sign your binaries on macOS, the friction for the user to run your app is prohibitive, outside of developer-focused communities.
- mr_toad 2y agoIt didn’t take my kids long to learn how to run unsigned binaries, and neither of them are developers.
- Pesthuf 2y agoAn actual customer won’t like it when you tell them they have to turn off or bypass a security feature to run your software. Not when other software doesn’t need it.
- jjnoakes 2y agoOnce I get a project to "actual customers" I don't mind paying and signing my binaries.
- samplatt 2y agoThis is something that definitely chafes. Even in a large-company enterprise environment, so many worthy & legitimate projects never end up shipping due to financial or office-politics reasons. Putting up paywalls between devs and their work that they to spend both time and money on is bloody stupid.
- tppiotrowski 2y ago> share 30% of my revenue with them for barely any reason Does the App Store collect sales tax and remit on your behalf? If it does then I think it's worth it or face registering both in the EU and UK ($0 tax threshold) as well as 50 US states (once you hit the allowed limit) will take you a long time.
- d357r0y3r 2y ago30% cut for handling taxes? That's wild.
- tppiotrowski 2y agoYou'd think so until you look into doing it yourself. It's more work than building a simple app.
- eviks 2y agoAnd you'd thinking would reverse again to the common sense baseline when you realize that alternative providers outside of locked systems don't charge 30%
- tppiotrowski 2y agoCan you name a provider? I personally use Stripe Tax for my business and while they will calculate the taxes you owe in each municipality it is totally on you to create an account with each country/state's Department of Revenue and fill out a form quarterly to submit your payments. This paperwork is what I believe a marketplace like the App Store or Amazon do for you under their own entity that you have to do yourself if you bypass their stores. Please correct me if I'm wrong.
- eviks 2y agoWhat's wrong with your Amazon example? They don't charge as much (and that's partially because, while they're big and dominant, they're still not as big/dominant in that market)
- cosmotic 2y agoDevil's advocate: you now get a lot of tooling for 'free', which used to cost hundreds or thousands of dollars.
- varispeed 2y agoOne off few hundred or few thousands is nothing in comparison to 30% tax. That said, I don't know about Mac, but you can build apps using free tools - maybe in not as convenient way, but certainly you can. I remember, because I was someone who couldn't afford Visual Studio licence and had to make do with GNU tools. The greed of these companies put me off from developing anything.
- dhosek 2y agoIn the early 90s, you could expect to pay anywhere from $200–1000 for a good C/C++ compiler. Now it’s free. The 30% tax, as many people have already pointed out, is only if you want to sell through the store. Back in the 90s, if you were selling software, downloading off the net wasn’t really a thing yet and you could easily expect to end up giving up 40–60% of the retail sales price and out of what was left you were paying for manufacturing of product so you’d maybe get 20–40% of the retail sales price. Which leaves the certificate thing and while it’s an annoyance, it’s also nice as a software user to know that a program I’m running is the program it claims to be without much friction on my part, and the cost can’t be that prohibitive since I don’t remember the last time I ended up with an unsigned binary on my Mac, even for free software like TeX and friends or Aquamacs.
- deleted 2y ago[deleted]
- eviks 2y ago> and the cost can’t be that prohibitive since I don’t remember the last time I ended up with an unsigned binary on my Mac, even for free software like TeX and friends or Aquamacs. Ok, so your app tastes aren't that varied then (or maybe it's the memory), plenty of devs of various little utilities don't bother paying
- j45 2y agoChoosing the web is great. Choosing overly complex web frameworks is still a guilty pleasure of too many projects.
- xvilka 2y agoApple certificates are cheap compared to Microsoft. To get rid of UAC on Windows you have to buy certificate for thousands of dollars.
- pquki4 2y agoI don't think you "get rid of" UAC, you just put the author's name on the screen instead of unknown publisher. (And why do you need elevated privilege? Most applications don't) unless you are referring to "smart screen" which is a very different thing, although quite similar from a user's perspective.
- kkarakk 2y agoyeah and consequently users have been trained to ignore UAC warnings or just disable them as irritants.
- jgord 2y agoOne of the reasons I moved to Javascript web development after many years as C/C++ dev, and after the hell of making iphone apps for Apples appstore - you dont have to get a licence, get approval or make an installer, if you ship a web 'app'.
- wredue 2y agoYou don’t have to do any of that for native apps either. What on earth is happening in this comment section?
- wsc981 2y agoI think on macOS it's kinda a requirement, even if you ship outside of the AppStore, to be trusted by consumers. Because I think the app needs to be signed by Apple, in order to start the app without a warning and I think in order for Apple to perform the signing, you'd need a developer account. I might be wrong here as I have been focused pretty much only on mobile, so feel free to correct me.
- GnarfGnarf 2y agoThat is correct.
- thegrim33 2y agoTrue. Apple devices are a lost cause for me, I don't even consider supporting them in my software. It doesn't even come up as an option in my head, I forget it exists. I'd never willfully have anything to do with their ecosystem, whether desktop or mobile. I wonder if eventually people like me refusing to support them will actually make a difference and force them to change, or if enough people will just continue to bow down to them and do what it takes to be on their devices that they can just keep their horrible practices going.
- wredue 2y agoIt’s a warning once that stops happening when you approve it. It’s not a big deal. Also happens on windows.
- deleted 2y ago[deleted]
- StressedDev 2y agoTo be blunt, you do not have to create a developer account, sign binaries, or share 30% of your revenue with Microsoft. MS's API are not a mess in my opinion. You do have several options (traditional Win32, .NET, UWP, etc.). These options all work fairly well and are very flexible. As for, Apple, I do not know but I suspect you can make Mac applications without a developer account. You need a developer account for iPhone. It's $99 a year the last time I looked. This is not a lot of money if you are serious about making an application.
- krageon 2y ago> This is not a lot of money It is a lot of money when you consider it should be free and serves exactly no purpose.
- siva7 2y agoIt serves a purpose: Keeping those out who can't afford it. They just can't say it out loud for obvious reasons.
- sobellian 2y agoIf you don't sign your Windows installer, then the first N users to use it will get a scary pop-up message saying that the AV "protected your PC." I think you might also need do code-signing if you distribute through the MS store. Compare with the web where LetsEncrypt just works without demanding a king's ransom. As for the APIs, it is very easy to get into dependency hell between all the different UI technologies, .NET implementations, and target systems. Want to develop a brand new plain-old GUI app? Probably simple (although I've never tried, the web is right there). Need to develop a plugin for an existing application, or a new app for something like Hololens? Have fun.
- viraptor 2y agoIt's a bit worse with windows. You can get a scary warning or you can get smartscreened to death and the app will be prevented from starting. This is random / depending on functionality and effectively impossible to test with 100% certainty.
- blackeyeblitzar 2y agoWe need freedom and privacy oriented general computing hardware and software again. Not these locked down operating systems tied to one walled garden.
- matheusmoreira 2y agoJust stop making apps for Apple, Microsoft, Google platforms. Truth is everything except Linux is just somebody else's digital fiefdom where we developers are but serfs and the users are even lower. It's either Linux or the web.
- raincole 2y agoIt's either me having reading comprehension issue, or it's surprisingly unclear which certificate I need to buy to publish an app on Microsoft Store and what the minimum cost is. Considering the whole point to have Windows is to use apps I'd expect they made the process super smooth.
- timeon 2y agoHow do you host your apps?
- tempodox 2y ago> we choose the much simpler, much cheaper way of the web. Once the beancounters at the rent-seeking companies (Apple, Microsoft, …) have figured out that web development is where all the money is, this will change rapidly. Google has already started gatekeeping the web via Chrome.