Betrayed by LinkedIn
developer.linkedin.com
developer.linkedin.com
In traditional business, there is a known threat to nearly all companies called "supplier power". If the power your suppliers have on you is strong, you're in a weak position and should try and increase your power over the supplier. I don't know if this is unavoidable or it's simply neglected within the tech community, but I'm never shocked when APIs get restricted or shut down by their parent company when others are monieizing it.
There have been enough high-profile examples over the past year or two that any business relying on a data pipe from another company needs to be on top of the relationship. The business itself should also be figuring out ways to protect itself should the pipe become clogged or shut off all the way.
And it doesn't necessarily have to be a "bad will" from the power supplier.
I know a store who went down because they were relying on a unique supplier and, at one point, the supplier experienced an issue at their factory, outside of their control (a flood).
The supplier was big and strong enough to deal with the momentarily slowdown (it lasted months) but the store I knew simply couldn't handle their customers' orders and couldn't accept new customers. It quickly degenerated: unable to pay the salaries, then unable to pay the bills, the tax, etc.
And the store, after years of "faithful" services, went bankrupt after a few weeks/months. The sad thing is you could see them trying desperately to stay alive and they were nice people.
So it's as you said: be careful to not depend on a power supplier because several things may go wrong.
Change the analogy to, you are opening a Nike store (not yet open), and your business relies on Nike having shoes with Nike+ built into them.
And then Nike decides to discontinue Nike+.
Nike didn't betray the not-yet-open store owner in that case.
-- PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction: DELETE FROM {semaphore} WHERE (name = :db_condition_placeholder_0) AND (value = :db_condition_placeholder_1) AND (expire <= :db_condition_placeholder_2) ; Array ( [:db_condition_placeholder_0] => variable_init [:db_condition_placeholder_1] => 112720946350f00b3f105ad8.99608950 [:db_condition_placeholder_2] => 1357908800.0644 ) in lock_may_be_available() (line 181 of /export/content/data/dlc/shared/www/developer/includes/lock.inc). --
Why would somebody spit the SQL exceptions on the browser instead of the log file?
Don't they know that bigger fish can swim away any time they want? Oh, and they might just turn around and swallow you.
To further mix my metaphors - we have had "Cathedrals" and "bazaars" and now we have shacks leant against the city walls.
"Hey we built this feature on your site, it's really cool. So, erm, want to buy us?"
I hope they can pivot the work they've done to something more standalone.
It's amazing how much businesses often depend on single sources for services, TLD's is a great example.
In that regard, its not about risk. Yes, using 3rd party API for your business model is risky, but thats a secondary effect. The major issue is than the future of the company, and any promises and investments done is completely dependent on that third-partys' whims. To some degree, your even in less control than if you were employed for the 3rd party company, as there are employment laws to protect employees, but no laws in place to protect you against changes by the 3rd party to the API.
He goes on to say something like: Risk fuels capitalism and the marked, uncertainty grinds it to a halt
[0] http://en.wikipedia.org/wiki/Nate_Silver#Book
Edit: I forgot to tie this in to what we where talking about :) As I see it, relying on someone else (with out any guarantees) is not just risky but uncertain. You can't really know how likely it is that they will change down the road. Doesn't mean it can't work out though..
http://unreasonable.is/opinion/entrepreneurs-are-scientists/ https://news.ycombinator.com/item?id=5042525
As I mention in my post, the issue is that these Web 2.0 companies don't offer support contracts, and don't have a formalized API that guarantee backwards compatibility. THAT is the problem. We ALWAYS bought a support contract whenever we integrated with an API. The support contract gave us some legal rights, but these days there are no such legal rights, and that is what is really risky.
Now if a company patents a specific warhead that only they can make and you decide to make a rocket launcher that is made specifically to launch rockets with those warheads and no other warheads are compatible with your launcher and suddenly the source company decides that their warheads suck anyways, you just lost your business.
My Takarov can fire any type of 7.62×25mm Takarov ammunition, albiet some is better than others. If it could only fire a specific type of surplus ammo that might not longer be available tomorrow, my gun could end up being useless in a blink of an eye.
LinkedIn doesn't have the best experience for everyone.
It also sounds like a change LinkedIn were considering for a while that might have been avoided by sending an email stating "We're planning on building an app dependent upon the the X API call to do Y. Could you please let us know of any changes planned to this feature." If my business model was that tightly coupled to LinkedIn's API and nobody got back to me I'd take that as a warning sign.
I wonder how many "big" startups will offer APIs from now on. Many API-friendly services (delicious, twitter) have changed their stance, and Google didn't even want to release an API for G+. Many "new" APIs are basically useless, as companies are scared to death by piggybackers.
Short Answer: AWS provides a agnostic service focused on utilization with no specific purposes in mind, hence a metered system makes perfect sense. Twitter only exists with user driven content and needs a constant pipeline of the stuff to survive, and because the web application is free in order to eliminate barrier to entry, implementing a metered system for developers would remove incentives to build new applications because they're having to pay to compete with something people can get for free.
Long Answer: You can easily explain why a metered system works for a company like AWS because you're renting a agnostic hardware platform you can do anything on from building the next Twitter to serving cat videos to grandmom's mobile device. In this case, they can consider all usage and bits equal and charge accordingly. It gets murkier when you look at companies like Twitter or Facebook that are trying to be content companies and global platforms at the same time. These kinds of companies make money by getting users to post content to their service, letting them sell targeted ads, compiling user profiles they can sell / reuse, and by selling content to third-parties who can analyze (i.e. Salesforce purchasing access to the entire Twitter firehose). Subsequently, most consumer oriented development on these platforms focuses on the posting and accessing of content and, in many cases, consists of standalone applications ranging from open source to paid for with a couple SaSS platforms thrown in for good measure. Monetizing this ecosystem poses two separate challenges. First, the external applications hide user data from the content company. Coming through an application, the app can send the bare minimum necessary for an HTTPS connection to the API and the company won't know if the user's on a mobile device or computer, what O/S and version they're running, the actual time of the interaction (for instance, sending a delayed tweet) and a whole host of other user metrics. This decrease in information hurts Twitter's ability to build user profiles and vector the user to things they might pay for. By tightening their grip on the third-party ecosystem, Twitter ensures the flow of information necessary to keep building these profiles.
Secondly, creating a metered usage system for a content company would flip the revenue system, developers would be subsidizing users using the content platform unless they send users a monthly bill for their usage of the app. This would completely destroy any third-party ecosystem since the web app is free. Why pay a monthly bill to use a otherwise free service? Sure, you might see some adoption, but I would argue it'd be microscopic compared to an ecosystem built on a free API.
Spending a year "and investors money" developing two applications that rely so heavily on being able to pull peoples past job titles that when the policy turns out to be different you have to start all over? That's not a business model.
Error
The website encountered an unexpected error. Please try again later. Error message
PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction: DELETE FROM {semaphore} WHERE (name = :db_condition_placeholder_0) AND (value = :db_condition_placeholder_1) AND (expire <= :db_condition_placeholder_2) ; Array ( [:db_condition_placeholder_0] => variable_init [:db_condition_placeholder_1] => 203428328950f00b0bbd0484.53523159 [:db_condition_placeholder_2] => 1357908748.7708 ) in lock_may_be_available() (line 181 of /export/content/data/dlc/shared/www/developer/includes/lock.inc).
Imagine someone you're connected to using linkedin on a recruiter's website giving them access their linkedin account. That recruiter now has full access to your work history, do you consider that acceptable ?
(Linkedin don't let you access public profiles via the API; but that's a separate issue)
It's just a lot harder to screw someone over when you have to look them in the eyes to do it.
Giving/finding you a job?
I generally don't like things tied in to my social networks. This is not because I don't think they are useful, it is because I don't have long-term trust in the companies doing them.
Did LinkedIn change this overnight, without any sort of "deprecated period" ?
Changing important parts of your features or API without even warning your users & partners seems unnecessarily cruel..
Well the next day I was hearing from people I hadn't talked to in years congratulating me on my promotion! It turns out Linked in had emailed my connections and said I got a promotion. That was pretty creepy. I need to turn that off somehow I guess.
It seems these days that companies like LinkedIn, Twitter, Google, Facebook, etc, not only do not have any real forms of support, you can't even purchase a support contract if you wanted. Also, they don't have the professional courtesy to maintain their APIs to ensure backwards compatibility, unlike companies in the past.
I'm not sure why people would invest money and time into integrating with products that don't offer some level of formal support, as well as backwards compatibility. If you have no contracts and no stability with your underlying service provider, you are completely at their mercy. This means that any and all apps based on Facebook, Twitter, LinkedIn, etc are suspect, and anyone who does business with companies like Twitter and LinkedIn who are notorious for screwing over their developer community by changing things willy nilly, is basically stupid. The only development use case is if their goal is to create a popular app quickly, and then exit quickly. If they intend to create a product/company with a long-term vision, they are completely at the mercy of these companies.
They modified their API to be more sensitive to users' privacy concerns. There is nothing inherently wrong with a company respecting its users' privacy.
The complainant is understandably disappointed, but he is wrong in suggesting that an API is a contract that the host company can never change. Changing an API can be part of improving your product, and that seems to be the case here.
More broadly, it would be cool for a developer-oriented company to de-risk their API by adding some guarantees that they won't pull this kind of stuff. Right now developer agreements pretty well only restrict what the developer can do; adding conditions to limit how the interface can change would be a big selling point. The problem is, as long as VCs keep throwing money at companies that exist at the mercy of LinkedIn et al, there's no reason for them to. They get to open up the platform, watch for popular apps, then consume or copy them and lock down the API again to prevent competition.
- LinkedIn collects a ton of user data, and had some idea to monetize it
- clever developer has a different idea about the same data, uses the API to achieve it
- users love developer's app, and they stay on LinkedIn because they love all the ecosystem apps
- maybe LinkedIn gets jealous and implements their own version. This is fine, if they don't break any laws, or cut off the original service for no real reason
Partnership sounds like some Facebook-Zygna type relationship. That seems like a really high barrier to entry. If you look at a service like Wolfram|Alpha, they're doing it right by putting reasonable restrictions on API use, and saying up front "license this commercially, contact us". This is a win-win: WA makes money, you're a real customer with bargaining power. Throwing a half-assed api out there for anyone to use, whinging about not making any money, then revoking bits piecemeal is not good for anyone.
1. Your writing seems to lose a certain quality online, maybe stick to prose? L'etranger was very good.
Obviously they have investors and a business to run, but it's just more of the same bs.
Perhaps there should be some soft of NO IPO, NO VC standard moral code page, which basically tells customers, we aren't going to screw you on behalf of the few. I would sign up in a second.
When will people learn not to be completely dependent on a third-party, especially one like LinkedIn, whose API was always restrictive? If privacy was a concern for LinkedIn, why do partner companies (aka $$$) have a less restrictive API?