The rule still applies: if you build your business on someone else's property, don't act surprised when they they casually destroy you.
It has happened again and again and again. Building for FB or Google is you making yourself their serf, and you will be allowed to exist at their whim.
This isn't very actionable advice, though, since there is basically no such thing as a software product that isn't built on somebody else's property.
You might think, "Ah-ha, web apps!" But no, Google can still casually destroy you there. Or you might think, "Ah-ha, desktop apps!" But the OS vendor can casually destroy you there.
> Or you might think, "Ah-ha, desktop apps!" But the OS vendor can casually destroy you there.
Casually? The amount of effort and goodwill, say, Microsoft would need to spend to prevent me from installing $PROGRAM on my computer is significantly higher than the amount of non-effort a single extension reviewer would need to expend to click "no" arbitrarily because they are having a bad day.
How would Microsoft do it? Add legit software to Defender? Ship a Win10 update that disables a key API call $PROGRAM uses? Add "if program == $PROGRAM then exit" to the CreateProcess code? All possible, none casual. To the best of my knowledge they've never done something like this. I'm less deep into Apple land but I expect something similar holds on macos.
The OS vendor could "destroy" you by making changes to the OS that affect your app, right? The Old New Thing[0] is full of stories of apps that exploited undocumented implementation details of the OS, and were surprised that those aspects were in fact changed in a later OS version.
To its credit (though not everyone agrees), MS has spent a lot of effort making compatibility shims, basically doing other people's work for them, but they have no such obligation.
This strikes me as a different class of problem. Of course software developers are at the mercy of other software and hardware, and have been since the days of yore. And even in that case, you could still potentially debug the issue.
This is a different class of problem. In this case, a gatekeeper is asking you to use their service to distribute software through their channel, and that channel is governed by vague rules that may, in fact, be enforced on a whim. Further, the gatekeeper isn't being clear with the rules, and why you may have run afoul of them.
That's a software problem for any language. Will the authors break compatibility? They sure can and do all the time. You are always at someone else's mercy in computer science.
People have been complaining about $dominant_player's power to destroy forever. It was IBM, then it was Microsoft, now we have new overlords. (For that matter, Sun was big enough to be a little obnoxious for a bit.)
That's unfortunate, but it is how the software market has worked thus far. Platform owners have massive power over those who build on them. For it to change, the market fundamentals will have to change. People thought the internet would change things, and it did - instead of one monster, we now have several, each with much more reach and control.
As far as actionable advice, well, starting a company isn't easy or formulaic. All I can recommend is look for niches where you'll be hard to dislodge and avoid situations where you have asymmetrical dependence on an entity that has no reason to care about you.
This is actionable advice. The action is to create an offer that is not entirely depeneent on a single platform provider. Don't build browser extensions for just a single browser. Don't build an app based business solely around an iOS or Android app - support both platforms. And so on.
This implies that a company could generally survive 50% of their revenue disappearing overnight. This may be true for 1-3 employee companies but past that I doubt it. Also generally the large majority of your revenue still comes from one of your platforms, making that one still likely an existential risk.
Microsoft threw in the towel, discontinued their web browser development and became a Chromium fork. How are these extension developers supposed to invest enough in platforms that complete with Chrome to succeed?
Here's some actionable advice. Go to your local president / prime minister. Preferably a populist. Tell them how you see the dominance of a few megacorps as a threat to national security. This argument is especially strong if from your point of view they are foreign megacorps. Throw in something about colonialism if it would help your case. Express your wish that they do something.
This is seems like a good advice to increase competition by using nationalist sentiments. The problem is that many of these nationalist countries would outright ban competition. So people who demanded local alternative will end up with less competition.
Technically, yes, you are right. But let's burn that bridge when we get to it.
At the moment the issue is the app store concept; it is designed to be a choke point, it is designed to be obscure, and it is designed to casually destroy software the store owner doesn't approve of.
(What is the status of Microsoft's app store, by the way?)
Maybe this means that software shouldn't be distributed as products, but as code. Maybe people should be free to run code of their choice on their computers.
How can you realistically avoid this for certain products though? For mobile for example, you've got the iOS and Android store policies to go through, the iOS and Android SDKs, and whatever restrictions Safari (e.g. no proper PWAs) and Chrome have.
Not everything can be a website that just needs basic browser capabilities.
> How can you realistically avoid this for certain products though?
You can't. It seems like if you're in business of mobile/web-apps which are not large enough to have paid, direct contacts with your relevant platforms, you should have more than one business.
I'm not saying it's a reasonable expectation or a good thing. But if you can pull off either 2 ok apps, or 1 main app and some set of simple things, it may be preferable to one perfect product from the business continuity perspective.
What business short of The Principality of Sealand's data warehousing is not "built on someone else's property"? Even a brick-and-mortar business needs to appease the taxman.
It's a matter of degree, I imagine. Some approaches expose one to this risk to a greater degree than others. The highest risk might be placing an app or extension into a walled-off store controlled by a single company with sole authority over what is listed there.
1. I agree as to the need to get off the Google lands.
2. Being able to create business relationships to build on other people’s property and work without fear of their yanking the rug out is an incredibly important part of a working society.
Except chrome isn't really a "property app" so much as a "proprietary OS"; it's the platform in which ~70% of desktop users spend >10 hours a day. This is different from eg Facebook, in that FB's valueprop is being "full stack" (content + controls + ads); while Chrome's design is open-ended -running other people's websites, with other people's extensions.
The other side of the issue is tough, though: Chrome extensions are regularly purchased & have ads embedded into them ( https://superuser.com/questions/1551266/how-to-track-down-wh... ), so Google's chrome extension team (couple of ~hundred person?) is essentially held accountable by ~1 billion users to the behavior of ~10s of thousands of extensions.
Google's 2014 net income was $14B. Chrome is one of the most valuable properties that Google owns, as it allows them to control a large fraction of advertising on the desktop, and advertising is their core business. They can afford to hire thousands more developers to vet Chrome extensions, yet they don't - implying that at least the upper levels of the Google command hierarchy don't consider this to be a problem or don't care about fixing it.
This is not a useful comment. You are suggesting a world where no platform is extensible, which isn't realistic nor desirable.
When you are building for an extensible platform it's entirely reasonable to be surprised when the vendor sabotages you. Platforms like this are good because they help both parties, so there is an expectation that one side won't sabotage the other in general. When it happens it's surprising, and usually not a great outcome for the platform provider.
Their business isn’t solely built on google. Part of it relies on browsers and google have a dominant position in browsers. Should no one build a business related to browsers until google is toppled? I wouldn’t follow your “rule”, as most successful businesses started out by violating that rule.
It has happened again and again and again. Building for FB or Google is you making yourself their serf, and you will be allowed to exist at their whim.