Is there an alternative? If your business is an app around someone elses API, as it is in this case, Tweetbot, etc - it seems super reasonable no?
Yea the API could change at any moment. So maybe don't over leverage yourself. Play it safe, knowing any day could be the apps last.. but beyond that "building your business around someone else's API" isn't bad here is it?
I'd happily do it if it was going to make some money. So i'm kinda unsure where the distinction is for that phrase. When is it not a good idea? Seems a better phrase would be one that includes knowing what type of business you have.
So its fine if you want beer money, but it wont be a career.
RSS is an API first, there is no CEO, there are no investors, the peasants tried to stage a revolt against it many times.
Everyone on HN should probably watch this clip from Aaron Swartz again. (who deserves blame for the creation of RSS and Reddit)
https://commons.wikimedia.org/wiki/File:Aaron_Swartz_-_The_N...
It is odd we are to stupid to understand while he explains things so wonderfully?
It makes sense from a risk mitigation perspective, but it doesn't sound like the reddit third party app devs were unaware or incorrectly weighing this. It sounded like they took on personal and financial risk to do something they wanted to do and add something to the world that they wanted to. Rather than foolish, I find it admirable to abandon profit and security for principles. Especially in the context of reddit being founded on principles. Regardless of what happens to the site and the shareholders: it is safe to say that the true reddit is already dead.
> Is there an alternative?
Scraping. They're joking on some subreddits about how reddit is about to see costs skyrocket when third-party tools start requesting and parsing whole pages instead of using a lightweight API.
It was even worse, from what I remember. It was half their number that outraged them.
If you’re a search company you shouldn’t build your business on the Google search API, if you’re a compute provider you shouldn’t build your business on the AWS API, if you’re a payment provider you shouldn’t build your business on the Stripe API, etc. So the pedantic version of the rule is like, don’t build your business on just repackaging another company’s API, I guess?
Game development is a bit of an exception to many “rules” of the software business, since creative and artistic expression are significant motivating factors substituting in for a portion of the usual profit motive, in a way you generally don’t see in other software (look for the phrase ‘labour of love’ for examples).
Game engines are also not quite APIs imo, they are more like (massive) libraries that you vendor (bundle with your game and install as dependency). This inures you against some issues with building on a third party API, but not all (e.g. price changes are still an issue, but at a different granularity: “licensing fees per game” rather than “usage fees per call”).
These minor caveats aside, your example is good and worth investigating. Off the top of my head, I believe big game development companies are indeed pretty diversified when it comes to game engines, reflecting the wisdom of not building on someone else’s API.
Riot Games uses their own engine for League of Legends, but uses Unreal for Valorant and Unity for Runeterra and Wild Rift.
Blizzard uses their own engine(s) for StarCraft/Warcraft/WoW/Overwatch/Diablo, but uses Unity for Hearthstone. They did license Unreal Engine at some point but I’m not sure if they have used it.
Activision uses their own engine (IW) for all of their Call of Duty games.
EA uses Unreal and Unity for a few games, but largely uses their own engine (Frostbite).
Ubisoft used to use Unreal for their Tom Clancy series (e.g. Ghost Recon and Splinter Cell) but in fact moved that series to their own engines (Ghost Recon is now on Ubi’s Anvil engine while The Division is on their Snowdrop engine), specifically citing concerns over control and licensing fees as the reason for the move. Their Assassin’s Creed series has always been on their Anvil engine. I believe Ubisoft has another handful of their own engines as well, not quite “one engine per game series” but maybe close to that - an extreme example where they aren’t even willing to build one department’s business on another department’s API!
Valve uses their own engine, Source, for their games. (They have worked with both Unity and Unreal, but I believe this was for their VR and console hardware?)
Nintendo also uses their own engines for their games. (Like Valve, they have worked with both Unreal and Unity for their Switch handheld hardware.)
Epic Games is the only big game developer I can think of that is not diversified, they use Unreal exclusively. Being as they are also the developers of Unreal engine, this isn’t a case of relying on a third party.
So overall I would say yes, even in game development it’s clear that companies go to significant expense to not rely on someone else’s gaming API, and with Ubisoft there’s at least one example of a company publicly learning this exact lesson.