Unless you work for Twitter, I'd say you're right, and rightly so. Don't depend on someone else's API, how many times must history repeat itself before this message sinks in.
That's an unreasonable position to take. Almost all third-party software products ever created rely on some other third-party APIs, and to suggest "Don't depend on someone else's API" as a strategy would be akin to saying "Don't write software for a living."
The challenge is to determine, in advance, if the platform you are writing for will maintain some reasonable level of access to the API, both now, and in the future.
Perhaps "don't depend on someone else's API unless you're paying for it" is a better attitude. Depending on someone else to keep giving you something for free is problematic at best.
That's not correct either. There are lots of free APIs that are reliably stable, available, and profitable. Think about how many tens of billions of dollars have been made writing to the win32 API. Likewise, the community of GNU/Linux APIs (Perhaps the first time I've ever felt it was appropriate to write GNU/Linux in a sentence :-) - glibc, etc...
The question you have to ask yourself is how much leverage the third-party has over you if they decided they want to screw you over. Even still, you may want to write for that platform if the $$$ is there. Look at iOS platform - Apple totally owns you. Or, even better, look at the PS3/Wii/XBox platforms - the owners of those APIs have even more control over what you can do - but still very profitable platforms to develop for.
At the end of the day, a judgement call has to be made. No easy rules.
>Almost all third-party software products ever created rely on some other third-party APIs
This is evidence for an unfortunate confusion about the usage of the term "API". There is a world of difference between a third-party library and a third-party service, each of which can be said to have an API. There are plenty of pieces of software which rely on one kind of API but not the other.
It is entirely possible to write software that doesn't rely on a third-party service. If that's the point you're trying to make then great! You see the thing is about relying on third-party services is that a great amount of trust must exist between the application and the service. It's a good way to go, but when there's no actual money moving between the app and the service, everyone has reason to be a little concerned.
Don't rely on someone else's API? That's like going through life never trusting anybody. Sure, you'll avoid getting burned, but I hardly think that's an optimal strategy.
A better strategy is to trust somebody (/an API) until they give you good reasons not to. Admittedly, twitter seems to have broken that trust. I personally would't use them as a platform, unless the benefits clearly outweigh the risks of them haphazardly cutting me off.
Free? Free to whom? Twitter charges some users, but doesn't charge others. The same could be said about just about every platform out there. I don't think that's particularly useful advice, because I don't know what you mean by free (is Android free? what about network tv? what about the road systems?).
I mean a platform where the vast majority of users don't pay to use it. Why would Twitter be happy to engineer and support an API for Twitter client apps if it means they can't reach those users the way they need to to generate revenue?
I know quite a bit of people and common thing between all of them is that they are quite influential. They have been irritated by things like this.
And they may convince others to join App.net. Granted that many people will avoid App.net just because you have to pay for it and common internet guy will never realize what Twitter is doing. Still, if even top 10-20% of people who I follow go to App.net, I will follow!
app.net is still laughable as a replacement for twitter. With the new apps it's now convenient to use a feed aggregation service that only accepts feeds from rich people, but it's still a feed aggregation service that only accepts feeds from rich people.
Not sure how $36/year is "rich". Cable TV costs more than that per month!
Personally, I'm sick of being sold to. Ad-supported is not the only business model in town and I'm not sure when using an ad-supported service over a paid one became a virtue. If this makes me "rich", ok.
App.net is just proof that at least a few people agree with me.
Cable TV has a much better value proposition than a Twitter alternative. There's no free alternative to cable TV with a comparable feature set.
I do think it's an exaggeration to say that app.net caters to the rich, but I can guarantee you that the demographics skew much more upper class, between being an app that is charged for and a service that mostly has interested hackers (who, nowadays, tend to be an affluent bunch, for better or worse).
Maybe no free alternative, but I avoid it like the plague. I watch good TV programming after-the-fact by buying DVDs.
Edit: Also, the value of a service like TV is something determined by the individual end-user. I don't think TV is more valuable than Twitter for everyone.
What do you mean by "top users"? The top users are those with tons and tons of followers and those followers are what make Twitter valuable to them. Not any feature or any good developer relationships. Do you think any celebrity or company is going to want to put their message behind a paywall? I know I'd have a hard time moving enough of my friends to something like App.net to make it interesting for me.
It sucks that Twitter is blocking cool development like this, but they've managed to become "a place where people are" (which is no easy task) and it's a mistake to underestimate that value.
While I've disagreed a lot with a lot of Marco's blog posts, gotta say he's totally right on this one. Actually this is bigger than Twitter, as any new platform that comes out that wants Devs to develop for their API needs to be treated with a certain cynicism: if the platform gets big enough, they'll likely cut you out.
I wonder if this trend between FB, Twitter, etc. is going to ruin the ability for new companies and new platforms to attract free development by third parties?
*The effective rule, therefore, is even simpler: “Don’t build anything for Twitter.”
Exactly, that's precisely the message they wanted you to have.
What's wrong with using the twitter.com on Windows8, do we really need a special client just for Windows 8? This is exactly what the web is supposed to do.
I don't get anyone is surprised, it's Twitter's ecosystem and if you're duplicating their functionality then it's perfectly reasonable of them to not make any special exemption. If you wrote a client that exposed twitter to new markets or something that added value to Twitter then they'd likely give you a higher limit, but that's not the case...
> What's wrong with using the twitter.com on Windows8, do we really need a special client just for Windows 8? This is exactly what the web is supposed to do.
Native > Web, if you do it right. Web has a lot of UX limitations native apps don't have.
They're a bit better on OS X 10.8 with Notification Center, but still subpar overall. But that's the nature of taking a power user tool and dumbing it down for mass-market consumption.
That's why we (LiveLoop) think Microsoft Office, Adobe Photoshop, etc. will all grow to encompass Web Service in the application itself, rather than being replaced wholesale by Web apps the way Google wants you to.
LiveLoop is our PowerPoint plugin that makes presentations real-time collaborative without ever having to leave Office -- available at http://getliveloop.com
Well, I am a strong believer in Native > Web. That's why we started the company -- so only alerting other people to the fact that we're doing something in the same arena. I didn't make the comment to sell to you -- there is a common cause behind why I made the comment and why I started the company.
Of course the line is existent and it is clearly visible: the browser as a general sucks in UX compared to what can you easily do with native API of your platform.
This may be true for consumer applications, but in enterprise space, Web > Native, easily. While it's much easier to implement functionality in a native application, having something run inside a browser makes it much easier for IT departments to deploy and maintain the product.
> What's wrong with using the twitter.com on Windows8, do we really need a special client just for Windows 8? This is exactly what the web is supposed to do.
Emphasis on "supposed". It doesn't always do it, and definitely never to everyone's taste. Hence the custom clients.
> I don't get anyone is surprised, it's Twitter's ecosystem and if you're duplicating their functionality then it's perfectly reasonable of them to not make any special exemption. If you wrote a client that exposed twitter to new markets or something that added value to Twitter then they'd likely give you a higher limit, but that's not the case...
By now I doubt anyone is truly surprised, but it's disappointing nevertheless. Twitter's success is partly built on the explosion of Twitter clients that allowed Twitter to evolve faster than its dev team could follow (hence all the scaling issues). Then they bought a few players in the Twitter client market. And now they've strangled all the ones that remained in that market.
So basically, Twitter now has an obvious and provable history of leaving things open, deciding that thriving third-party market X is nice, stepping into it themselves, and killing everyone else there.
That's not a reputation I'd like to have for my business, when it is a piece of underlying infrastructure that depends on others to make it thrive.
Anyone starting a business from today onwards and having any critical dependency or reliance on Twitter is insane.
That's all well and good but what do you tell the investors that just gave you millions in order to get returns if you are twitter? That you can't monetize because you gotta be a nice guy and keep giving it all away for free? That will not go over well obviously.
You explain the risks accurately and truthfully to your investors, making absolutely sure that they understand those risks before you take a dime from them. Explain that Twitter has a history of behaving in ways that aren't in anyone's interest including their own, and how this leaves them even more vulnerable to disruption by the Next Big Thing than most social-networking hubs are.
People with large amounts of money rarely get that way by sharecropping for companies like Twitter, so it may not be as big a problem as you fear.
I am pretty sure the investors are aware that twitter has taken this approach, and can anticipate that some of the reaction to it will be along these lines, and yet the board decided to go ahead.
> What's wrong with using the twitter.com on Windows8
That it's a terrible experience on many fronts, that it's slow as molasses (especially on mobile networks), that composition sucks, that multiuser blows, that it's got no idea where you left off and doesn't care, etc...?
> "If you wrote a client that exposed twitter to new markets or something that added value to Twitter"
That's exactly what happened here. Twitter does not currently have a native Win8 client, and a native client has always been a value-add for Twitter's users - many people prefer to have an always-on Twitter widget on their machine that pushes messages to them, over a browser window they have to poll.
I haven't used this software myself, but it certainly seems like something that is welcomed by Windows users and improves the experience for the relevant set of Twitter users.
The root problem here is unsurprising: for many web startups what's good for users is not good for the company. The modern, ad-driven web company is a precarious balance between tending to the sheep and throwing them at the wolves as hard as you can.
The message from Twitter reads "It does not appear that your service addresses an area that our current or future products do not already serve", which I interpret to mean they could be planning a future native app that this might be inferior to.
Not just that: if you're using a Windows 8 tablet like the Surface (I appreciate I might be the only person doing so - it feels like that sometimes!) the Twitter web client is a terrible experience.
Because Twitter provides native clients for Android and iOS tablets their web site is simply not optimised for touch. It's crappy on Windows 8, plain and simple.
> What's wrong with using the twitter.com on Windows8, do we really need a special client just for Windows 8? This is exactly what the web is supposed to do.
Moreover, it works remarkably great in Win8. Add a direct link to twitter.com on your start page, and it feels like a fullscreen native app in virtually every way.
There are things clients do much better than the website. Tweetbot, for instance, makes having multiple accounts a LOT easier than logging out and back in. Plus stuff like OS notifications, general OS integration, filtering ("oh god I'm sick of hearing about #obama and #romney, I already voted")… Clients definitely make Twitter more worthwhile for a user.
Sadly what makes Twitter more valuable for a user does not necessarily make the user more valuable for Twitter.
>What's wrong with using the twitter.com on Windows8, do we really need a special client just for Windows 8?
Yes. Opening a web browser, typing twitter.com on a phone keyboard, waiting for it to load, logging in on a phone keyboard, then using a mobile site that is built to target as many users on mobile across different devices and versions is much less enjoyable than tapping the twitter icon on a phone and having it open an app built for that phone and that os, then load tweets without further action.
>This is exactly what the web is supposed to do.
That line of reasoning was true before 2008-2010, before smartphones became ubiquitous and before smart phone app experiences became way better than their mobile counterparts. Using the web on a phone is not this great, fun experience. It's typically a pain that involves a lot of typos, and a lot of zooming in, zooming out and scrolling.
How does this hold up when you're talking about web development, especially javascript-heavy or -only applications? You live and die by the browser API don't you?
You know, back before APIs were all the rage, people wrote clients for web services by scraping. Twitter really wouldn't be able to do anything about a Twitter client that pretended to be IE9.
I've had a bot blocked by Myspace when I resorted to that. They started redirecting all my requests to " http://google.com ". And I was just working on an old Thinkpad running Ubuntu server in my dorm room, so I have to think blocking me was an automated response.
I'm sure Twitter knows how to block crawlers, especially ones that they're actually aware of.
I suppose, and I suppose if the client used a user's IP they couldn't block them the same way. But wouldn't a client that scrapes the full HTML to get the data you want be horribly inefficient, and hard to maintain? API's are all the rage because they give you just what you want. Think about bandwidth.
Having written scrapers in the past, I can tell you that changes are usually pretty easy to deal with. And if you write your scraper nicely, many small changes won't even matter.
Since the client runs on the user's machine, performance isn't really an issue, either. (Trying to do it for all users on a server is a different story.)
APIs are indeed "all the rage" because they're easier and don't change as much. But when given no other option... You do what you have to.
I think the obvious solution is to have the client first check for updated scraping rules from a server operated by the client's creator. The client could check for these scraping rule updates every time the client starts up or on some interval (or maybe after certain errors even) and only pull down the whole thing when the cache is invalidated. Then, as you suggest, the client could do the actual scraping which would make it harder for twitter to block.
Not as straightforward as an API to be sure, but not impossible by a long shot.
Why not? Because of liability to law suits for breach of the terms of service or copyright violation. Third parties have been sued for scraping in the past.
You seem to have gotten downvoted without comment, so let me chime in. He's proposing a FOSS client. There's no third party here, the client is using this software to breach their own ToS (supposing there's a clause in there by which you're only allowed to access twitter.com from a browser).
Considering how much javascript is involved in current twitter and how often can subtle things in markup change, I'd say it's just too brittle to rely on.
Javascript-filled sites are often cleaner to scrape. Usually, at some point in the process, a nice JSON structure containing all the useful data exists.
This would only work for the public timeline. Most people would want to view their own timeline and that would be hard to since you'll have to create a browser instance for every user you have.
It is surprising that their response does not include a call to action with respect to their business development team. Why isn't there a 'click here to sign up to by a 10,000,000 token' link in that email? Now granted the result might be the same, people not developing for their API but at least they could get value pricing information as part of the transaction.
It's so sad to watch such a lively lovely service remove the fun by destroying the values that made it great.
Meanwhile we are sitting here saying "charge us money, you fools", and they are deaf to us.
Twitter: your online site is usability hell, your own clients are dated and painful. Above all we have one question: why? Why are you intent on this path of foolishness based on placing customers and developers last?
Because their customers are advertisers, and their users are people who follow Ashton Kutcher and Justin Bieber. It's not the same service as it was when it started, when the API was important to them.
But who wants to pay to tweet? With the business and culture they've built, they don't have a way to go back. They have to stay free for everyone, they have to show ads to make money, and they have to kill 3rd party apps to make sure the ads get seen their way.
If you want Twitter-that-was, ADN is your best bet at this point.
Not exactly. Twitter doesn't want you to build anything that will take a single eyeball from them. There are still services that can be built that don't fall in that category, though, such as sentiment analysis.
At least, for now. Twitter has shown they are willing to be hostile towards their developers. Even if I fit in the "don't take their eyeballs" category, I wouldn't build on their platform because I don't trust them.
I agree with the "Don't build anything for twitter" motto (and it would look good on a t-shirt), but part of me wonders if twitter could get by charging 25 cents a token past 100k, so developing apps is still possible, and twitter still gets its slice of the pie.
Although, it still kills the advertising cash cow.
I've always wondered why Twitter doesn't do something like this. Why wouldn't they change their rules to something like: Once you have more than 100k users you pay us 5-10% of every copy of your software sold. If your app's free then you don't pay anything.
I'm pretty sure developers would agree to something like this and Twitter could get some extra money that they're not getting right now.
Aside from pissing off Twitter, and possibly getting a cease and desist, what's preventing developers from building a translator that sits between Twitter's web layer and their native application client? Couldn't something be developed that loads Twitter into a hidden webview that's locally scraped for the purpose of re-display however the developer pleases on their client? This implementation wouldn't require the tokens, and wouldn't be constrained by their arbitrary limits.
You answered your own question. People seem to be under the impression that just because something is accessible with a web browser it no longer falls under copyright and you can use it how you want. This has never been true. Any web site can make a terms of use (and most do) that prohibit you scraping their data.
So what about user style-sheets? They modify the appearance of the data, but I've never seen anyone sued over it. Nobody sues IE for rendering HTML differently. In this case it'd just be another 'browser'.
> Now we know: “work with us directly” means “die”.
Very good summary by Marco. It's really annoying when these companies have secret policies that have to be discovered rather than are clearly stated. It just wastes people's time to try to discover the policy, having to do costly time consuming experiments to find out what the policy is as if this was an unknown branch of particle physics.
This is the inherent problem with building your product with dependencies on other products. You are tied to their system in such a way that your existence relies on the faith that they keep doing what they do and do not change to a system that blocks you or inhibits your functions.
I see the need/desire for hackers to make things useful and unique in a way that they envision things but you will never hear me apologize for my remarks on this subject. If you are building your business or product depending on someone else's and are not a form of contractual partner you can be kicked in the ass down the line and there's no accountability to you they owe.
I've watched this from a distance with interest. Developers have a special place within the overall Internet ecosystem. As a non developer, everything Twitter has said and done in the last 12 months or more tells me "We don't need a healthy 3rd party ecosystem and we don't want one. Hobbysits can stay filling odd niche requirements and here's our cap. Everyone else though? Sorry" I have no emotion around this as I'm not a developer. I feel as though many developers can't wrap their mind around this concept of not being wanted. They're used to being very wanted initially and then at best still wanted but with a few controlling parameters around activity (see "all App Store/Developer discussions"). I suspect it might be a slightly over exaggerated sense of self importance that's meant it's taken a long time for the obvious to set in. Perhaps that's why Marco only just connected the dots? (as usual I'm not talking about all developers - I've seen many who got it right from the get go)
I think "over exaggerated sense of self importance" is far from the crux of this issue.
Developers are pissed off at Twitter for two main reasons:
1) Developers helped build Twitter as it exists today. With their hard work, sleepless nights and toil, they created the ecosystem that allowed Twitter to grow into the giant they are today. Now that Twitter is big, they are saying thank you by more or less shutting down their API for any serious Twitter integrations.
2) Twitter said, "we'll work with you" regarding API limits, but they didn't mean it. People that built things in good faith are now realizing that Twitter didn't act as such. If you put a lot of effort into building an app that utilizes Twitter's API, you'd be rightly pissed about this too.
I agree that it may have taken a long time for "the obvious" to set in with regards to Twitter not caring about their 3rd party developer ecosystem. Hopefully, as the OP points out, its pretty obvious you'd be a fool to build anything on Twitter anymore.
Quote: "It’s a lousy position to be in, because you’re never going to make much, and if the land’s owner finds something better to do with the land, you’re history."
In his defense, I don't think Marco just connected the dots, he's been talking about this since Twitter first put out their updated developer guidelines.
I wonder why something like "If you want more than 100k usernames, either pay us $x per username or use our advertisement API and put whatever tweets/ads we push where we tell you to" is not an option.
It would be refreshingly honest and for some people/clients it could work, plus it could earn them some of the needed cash.
This doesn't work for them because Twitter has had 1.16 billion dollars in funding.
Getting money from teeny little twitter apps is not the sort of plan they are going to make that money back with. Imagine if they charged a buck per username per year.
This would probably be enough money to put tweetro out of business (say 100k dollar per year), but it would not come close to the amount of money they need to make.
Even if something makes you good money, often you have to scrap it if it isn't or even endangers your core product.
True, you'd be left with "do the app like we tell you to" option, like offering an API where's mandatory to show the sponsored content in specific, Twitter approved ways.
It would probably be a nightmare to implement well.
Twitter: Sorry, we're not approving your core-feature Twitter client.
Who is surprised? How is this news? Were you expecting them to not apply their own rules? It seems like a clear-cut case, and concluding "don't build anything for Twitter" is just throwing a temper tantrum.
I don't know if anyone is surprised by the response as much as disappointed. I've seen the news that twitter is limiting api clients but I haven't seen news of them denying someone who reached that limit more keys. I clicked this wondering what was going to happen with Tweetbot for mac when it hits the same limit and now I know.
Maybe the "Don't build anything for Twitter" thing is a little heavy handed but the fact remains that if you build something that you hoping will get more than 100k users you can't count on twitter as a stable platform.
Twitter was quite happy to sit and watch as people built fantastic services and tools on the service that without a doubt increased engagement, then sort of went "oh shit we need to make some money" and proceeded to piss on the bonfire 3rd party developers have created. It's even handed for Twitter and heavy handed for people that expect rationality from a company.
When the popularity of your business has been built on the back of third party services and additions (hashtags? Retweets?) there's a certain level of expectation you're not going to turn around and stab them in the back.
The word "tweet" to refer to a post. A bird as the logo! Twitter started as barely more than a faceless service, and most of what is "Twitter" as a brand came from its users and developers.
Not that there isn't precedent for their model. I remember being fascinated to read that the Big Mac and Ronald McDonald both came from local franchise restaurants, not corporate HQ. It's just a frustrating position to take. It feels short sighted.
A really cool fried who suddenly shows up for lunch in a suit, then eventually stops calling you. Your mom reads about them in a magazine and excitedly tells you what they're up to for a few years, then you stop hearing about them.
So would you say the same thing about people that abuse regulations adopted honestly in the spirit of helping the public and now having been captured by special interests abuse it to serve their own interest?
For example, most taxi cab regulations were passed in an era where the public had extremely unsafe and unclear transportation in an unfettered race to the bottom, (were being extorted by drivers, unsafe cars and unlicensed drivers, no insurance, etc etc). So in many municipalities regulations after much debate were passed to address these concerns that the market seemed unable to correct.
Now after enough time has passed, are the usages by taxi companies of those regulations to insure their market dominance in your view acting rationally or in an abusive manner?
You should take a look at the history of regulation of taxi's in New York. It had less to do with safety or clarity than protecting exiting cabbies and from competition during the depression.
>concluding "don't build anything for Twitter" is just throwing a temper tantrum.
Not really. They led people on, over the years, into building on their API. People spent a lot of time and money building Twitter clients. Then they pulled the rug out. Why would you build anything using an API that could get arbitrarily locked down in the future?
It affects current clients; they just enforce the limits differently. You can get up to the greater of 2x your current userbase or 100,000 users at the time of the announcement. For applications with a massive install base that could still allow for significant growth, but they're still limited to not more than doubling in size.
The thing I don't get is: why build a Twitter client? Doing anything remotely useful with Twitter involves building something really substantial on top of the stream of tweets and users.
Hardly. I find Twitter's official clients' UIs atrocious, and happily paid for a third-party's implementation with roughly the same functionality (TweetBot, if you care). I don't find data mining of mostly-mundane content terribly interesting, with the exception of people posting photos of their debit cards (https://twitter.com/needadebitcard)
It's interesting to me that a prevailing view seems to suggest that developers have a right to plumb a given service for data.
This worldview seems to come up most in relation to free services, so maybe it's a belief that freely consumable services via the Web or mobile give should mean a freedom to consume the same data via an API.
I think of it as being similar to the right to reverse engineer which you get for hardware in some jurisdictions.
I feel as a user as though I should be allowed to automate my use of Internet services. I should be able to use improved clients for any service as and when I like, to get improved user experience, and to integrate them with other services.
I can imagine a law that allows this. Entirely to encourage innovation and competition.
Remember - it's the early days of the web. It took about a century after the printing press before the consequent law changes (such as invention of copyright) settled down.
I expect it to take a century on the Internet as well. Everyone should plan for the future assuming our laws from previous centuries will be found by society to be unsuitable, and will change.
I believe a person owns the data traces of their life, not twitter, not facebook, not any financial institution or ad network.
Do you think by going to a physician and having a checkup that the hospital or doctor's network should now have the right to sell the fact that you have some skin condition to Johnson & Johnson so they can target you with advertising?
I do not. I feel a physician and twitter have a legal responsibility to insure my data is secured by them and also that I have the right to take my data and and provide it to a competitor.
Twitter and my physician are a little different in that Twitter should be able to tell me the consumer that I can not use both their service and another, whereas a physician is obligation bound to treat me. Twitter is refusing to engage and be honest with its users however and instead is smashing competition in a similar fashion that Craigslist is not being honest with its users.
I have been told my view is un-American and that is I guess proving in practice to be true. Americans seem more than happy to bargain away their information for a few pieces of candy.
Having worked in a hospital and undergone HIPAA training multiple times, I can assure you there are pretty strict rules about passing along identified data.
What the drug companies are purchasing is anonymized; they have the data about patient X, but they have n idea who that person is. They are literally purchasing only the chance to pass along a request through your doctors to see if you'd be interested in participating in a study if you meet some criteria.
> Do you think by going to a physician and having a checkup that the hospital or doctor's network should now have the right to sell the fact that you have some skin condition to Johnson & Johnson so they can target you with advertising?
With the healthcare situation in America right now, I could imagine a lot of people would gladly trade that for a 10% cost reduction....
While I certainly don't think that twitter has handled the developer ecosystem very well, this is absolutely on point. They said not to do this, he did it, they did what they said they would.
I will add that, if the developer had made five dollars on each sale, he or she would now have a half million dollars, but I'm assuming they didn't, as the story is pitched as a tragedy rather than a triumph.
It's worth keeping in mind that Marco is/was doubly fucked, because in addition to cracking down on client tokens, quoth section 3b of the new display guidelines:
No other social or 3rd party actions may be attached
to a Tweet.
This was the wording of the section at the famous time of the Twitter blog post describing the Bermuda quadrant of impending developer ostracism. This is what it reads currently:
No other social or 3rd party actions similar to Follow,
Reply, Retweet and Favorite may be attached to a Tweet.
For some, there is not only one, but several Damoclean swords dangling over developers.
I'm not sure I follow. Isn't the second wording less restrictive than the first? It suggests that social and 3rd party actions dissimilar to Follow, Reply, Retweet and Favorite are now allowed.
There were a bunch of Twitter apologists a while back who went around saying "hey, they just want to communicate with you when your service gets popular so they can support you better, make sure you don't subvert their monetization". But no, it turns out they really do just want you to die and go away.
So I imagine those people who were doing the apologizing are surprised. And as most of the rest of us thought, Twitter has withdrawn from being a platform and is just a business now. Just like any other business, don't bother doing anything with them unless you draw it up in a contract in advance. The independent 3rd party ecosystem for Twitter is dead. But the good news is that the opportunity for a startup that wants to be a true platform in this space is riper than it has been for a while.
Wait, you mean you can't just wrap someone's service in a fancy UI and then sell it as your own? OH THE HUMANITY!
What happened to innovation? All I see these days is a derivative of a derivative of a derivative. Hell even the memes these days are derived from other memes.
Now that it has the userbase, it's milking its situation. The talk in the beginning was "How are they gonna make money out of this?" and the answer is gradually unfolding. Kudos to them or starting the way they did, shame on them for closing out the very things that brought them to where they are.
Late arrivals like identi.ca might not be as polished, but they offer a similar product, with open APIs. Being based on open and federated standards like status.net, it's extremely unlikely that identi.ca will ever get the ego trip twitter got, and in fact is much more likely that it will be more open over time, and more useful even if other competition arises. What it doesn't have, and what we (consumers as well as devs) can help with, is by heading over there and giving them users and status and content.
The problem with core-twitter limitation is that twitter's own product sucks and has basic features missing or implemented very poorly...years after launch.
This is just shitty all around. Sometimes I wish I could buy 1,000 twitter tokens for some price and use it in some "core-feature" 3rd party app because twitter sucks at implementing the very core features.
187 comments
[ 3.3 ms ] story [ 230 ms ] threadThe challenge is to determine, in advance, if the platform you are writing for will maintain some reasonable level of access to the API, both now, and in the future.
The question you have to ask yourself is how much leverage the third-party has over you if they decided they want to screw you over. Even still, you may want to write for that platform if the $$$ is there. Look at iOS platform - Apple totally owns you. Or, even better, look at the PS3/Wii/XBox platforms - the owners of those APIs have even more control over what you can do - but still very profitable platforms to develop for.
At the end of the day, a judgement call has to be made. No easy rules.
This is evidence for an unfortunate confusion about the usage of the term "API". There is a world of difference between a third-party library and a third-party service, each of which can be said to have an API. There are plenty of pieces of software which rely on one kind of API but not the other.
It is entirely possible to write software that doesn't rely on a third-party service. If that's the point you're trying to make then great! You see the thing is about relying on third-party services is that a great amount of trust must exist between the application and the service. It's a good way to go, but when there's no actual money moving between the app and the service, everyone has reason to be a little concerned.
A better strategy is to trust somebody (/an API) until they give you good reasons not to. Admittedly, twitter seems to have broken that trust. I personally would't use them as a platform, unless the benefits clearly outweigh the risks of them haphazardly cutting me off.
And they may convince others to join App.net. Granted that many people will avoid App.net just because you have to pay for it and common internet guy will never realize what Twitter is doing. Still, if even top 10-20% of people who I follow go to App.net, I will follow!
Personally, I'm sick of being sold to. Ad-supported is not the only business model in town and I'm not sure when using an ad-supported service over a paid one became a virtue. If this makes me "rich", ok.
App.net is just proof that at least a few people agree with me.
I do think it's an exaggeration to say that app.net caters to the rich, but I can guarantee you that the demographics skew much more upper class, between being an app that is charged for and a service that mostly has interested hackers (who, nowadays, tend to be an affluent bunch, for better or worse).
Edit: Also, the value of a service like TV is something determined by the individual end-user. I don't think TV is more valuable than Twitter for everyone.
It sucks that Twitter is blocking cool development like this, but they've managed to become "a place where people are" (which is no easy task) and it's a mistake to underestimate that value.
I wonder if this trend between FB, Twitter, etc. is going to ruin the ability for new companies and new platforms to attract free development by third parties?
Exactly, that's precisely the message they wanted you to have.
What's wrong with using the twitter.com on Windows8, do we really need a special client just for Windows 8? This is exactly what the web is supposed to do.
I don't get anyone is surprised, it's Twitter's ecosystem and if you're duplicating their functionality then it's perfectly reasonable of them to not make any special exemption. If you wrote a client that exposed twitter to new markets or something that added value to Twitter then they'd likely give you a higher limit, but that's not the case...
Native > Web, if you do it right. Web has a lot of UX limitations native apps don't have.
LiveLoop is our PowerPoint plugin that makes presentations real-time collaborative without ever having to leave Office -- available at http://getliveloop.com
Unless by native you mean written in a language that only works on a single platform.
Emphasis on "supposed". It doesn't always do it, and definitely never to everyone's taste. Hence the custom clients.
> I don't get anyone is surprised, it's Twitter's ecosystem and if you're duplicating their functionality then it's perfectly reasonable of them to not make any special exemption. If you wrote a client that exposed twitter to new markets or something that added value to Twitter then they'd likely give you a higher limit, but that's not the case...
By now I doubt anyone is truly surprised, but it's disappointing nevertheless. Twitter's success is partly built on the explosion of Twitter clients that allowed Twitter to evolve faster than its dev team could follow (hence all the scaling issues). Then they bought a few players in the Twitter client market. And now they've strangled all the ones that remained in that market.
So basically, Twitter now has an obvious and provable history of leaving things open, deciding that thriving third-party market X is nice, stepping into it themselves, and killing everyone else there.
That's not a reputation I'd like to have for my business, when it is a piece of underlying infrastructure that depends on others to make it thrive.
Anyone starting a business from today onwards and having any critical dependency or reliance on Twitter is insane.
People with large amounts of money rarely get that way by sharecropping for companies like Twitter, so it may not be as big a problem as you fear.
That it's a terrible experience on many fronts, that it's slow as molasses (especially on mobile networks), that composition sucks, that multiuser blows, that it's got no idea where you left off and doesn't care, etc...?
> This is exactly what the web is supposed to do.
Crappy?
That's exactly what happened here. Twitter does not currently have a native Win8 client, and a native client has always been a value-add for Twitter's users - many people prefer to have an always-on Twitter widget on their machine that pushes messages to them, over a browser window they have to poll.
I haven't used this software myself, but it certainly seems like something that is welcomed by Windows users and improves the experience for the relevant set of Twitter users.
The root problem here is unsurprising: for many web startups what's good for users is not good for the company. The modern, ad-driven web company is a precarious balance between tending to the sheep and throwing them at the wolves as hard as you can.
While that may be true, Twitter has a lot of its popularity and mechanics to thank for from the third party apps.
Think of hashtags and slashtags: http://gigaom.com/2010/04/30/the-short-and-illustrious-histo...
Even the verb 'to tweet' and the bird imagery allegedly came from outside of Twitter.
If it weren't for Loren Brichter's app Tweetie, I probably wouldn't have even bothered with using Twitter.
The message they want you to have is "build boring enterprisey stuff".
Notifications. Multiple accounts. Filters. Speed.
Twitter.com compares to (many) Twitter clients like 2004 webmail compares to native e-mail clients of the time.
Because Twitter provides native clients for Android and iOS tablets their web site is simply not optimised for touch. It's crappy on Windows 8, plain and simple.
Moreover, it works remarkably great in Win8. Add a direct link to twitter.com on your start page, and it feels like a fullscreen native app in virtually every way.
I dunno. Ask the 100,000+ people that wanted to use the client.
Sadly what makes Twitter more valuable for a user does not necessarily make the user more valuable for Twitter.
Why then have people still been using the facebook app?
When you realize the answer to that, you'll understand.
What's wrong with everyone using the same web browser? After all, that's exactly what the HTML standard is for, right?
Yes. Opening a web browser, typing twitter.com on a phone keyboard, waiting for it to load, logging in on a phone keyboard, then using a mobile site that is built to target as many users on mobile across different devices and versions is much less enjoyable than tapping the twitter icon on a phone and having it open an app built for that phone and that os, then load tweets without further action.
>This is exactly what the web is supposed to do.
That line of reasoning was true before 2008-2010, before smartphones became ubiquitous and before smart phone app experiences became way better than their mobile counterparts. Using the web on a phone is not this great, fun experience. It's typically a pain that involves a lot of typos, and a lot of zooming in, zooming out and scrolling.
I'm sure Twitter knows how to block crawlers, especially ones that they're actually aware of.
Since the client runs on the user's machine, performance isn't really an issue, either. (Trying to do it for all users on a server is a different story.)
APIs are indeed "all the rage" because they're easier and don't change as much. But when given no other option... You do what you have to.
Not as straightforward as an API to be sure, but not impossible by a long shot.
A business? Probably too high risk. A nice FOSS client, though? Why not?
If you want Twitter-that-was, ADN is your best bet at this point.
How's that working out for Facebook?
At least, for now. Twitter has shown they are willing to be hostile towards their developers. Even if I fit in the "don't take their eyeballs" category, I wouldn't build on their platform because I don't trust them.
Although, it still kills the advertising cash cow.
I'm pretty sure developers would agree to something like this and Twitter could get some extra money that they're not getting right now.
I participate in these services, but I know full well whatever I post is market research.
But I suppose they'd just wind up getting sued.
What TOS does that violate? What if the user manually creates a token and inputs it? Could Twitter detect this even happening?
You answered your own question. People seem to be under the impression that just because something is accessible with a web browser it no longer falls under copyright and you can use it how you want. This has never been true. Any web site can make a terms of use (and most do) that prohibit you scraping their data.
Very good summary by Marco. It's really annoying when these companies have secret policies that have to be discovered rather than are clearly stated. It just wastes people's time to try to discover the policy, having to do costly time consuming experiments to find out what the policy is as if this was an unknown branch of particle physics.
I see the need/desire for hackers to make things useful and unique in a way that they envision things but you will never hear me apologize for my remarks on this subject. If you are building your business or product depending on someone else's and are not a form of contractual partner you can be kicked in the ass down the line and there's no accountability to you they owe.
Developers are pissed off at Twitter for two main reasons:
1) Developers helped build Twitter as it exists today. With their hard work, sleepless nights and toil, they created the ecosystem that allowed Twitter to grow into the giant they are today. Now that Twitter is big, they are saying thank you by more or less shutting down their API for any serious Twitter integrations.
2) Twitter said, "we'll work with you" regarding API limits, but they didn't mean it. People that built things in good faith are now realizing that Twitter didn't act as such. If you put a lot of effort into building an app that utilizes Twitter's API, you'd be rightly pissed about this too.
I agree that it may have taken a long time for "the obvious" to set in with regards to Twitter not caring about their 3rd party developer ecosystem. Hopefully, as the OP points out, its pretty obvious you'd be a fool to build anything on Twitter anymore.
There were warnings about the fate of sharecroppers well before Twitter existed: http://www.tbray.org/ongoing/When/200x/2003/07/12/WebsThePla...
Quote: "It’s a lousy position to be in, because you’re never going to make much, and if the land’s owner finds something better to do with the land, you’re history."
It would be refreshingly honest and for some people/clients it could work, plus it could earn them some of the needed cash.
Getting money from teeny little twitter apps is not the sort of plan they are going to make that money back with. Imagine if they charged a buck per username per year.
This would probably be enough money to put tweetro out of business (say 100k dollar per year), but it would not come close to the amount of money they need to make.
Even if something makes you good money, often you have to scrap it if it isn't or even endangers your core product.
But it doesn't make sense to do that, and they don't want to anyway.
It would probably be a nightmare to implement well.
A pity.
> It does not appear that your service addresses an area that our current or future products do not already serve.
How can your future product already serve an area?
Atta: I built a core-feature Twitter client!
Twitter: Sorry, we're not approving your core-feature Twitter client.
Who is surprised? How is this news? Were you expecting them to not apply their own rules? It seems like a clear-cut case, and concluding "don't build anything for Twitter" is just throwing a temper tantrum.
Maybe the "Don't build anything for Twitter" thing is a little heavy handed but the fact remains that if you build something that you hoping will get more than 100k users you can't count on twitter as a stable platform.
a) changing the rules of the game and b) leaving you in the dark of what the actual rules _are_
Make business with people that care about your business. Twitter clearly doesn't.
why anyone would expect a business to do anything else is beyond my understanding!
Not that there isn't precedent for their model. I remember being fascinated to read that the Big Mac and Ronald McDonald both came from local franchise restaurants, not corporate HQ. It's just a frustrating position to take. It feels short sighted.
A really cool fried who suddenly shows up for lunch in a suit, then eventually stops calling you. Your mom reads about them in a magazine and excitedly tells you what they're up to for a few years, then you stop hearing about them.
For example, most taxi cab regulations were passed in an era where the public had extremely unsafe and unclear transportation in an unfettered race to the bottom, (were being extorted by drivers, unsafe cars and unlicensed drivers, no insurance, etc etc). So in many municipalities regulations after much debate were passed to address these concerns that the market seemed unable to correct.
Now after enough time has passed, are the usages by taxi companies of those regulations to insure their market dominance in your view acting rationally or in an abusive manner?
http://www.nyc.gov/html/media/totweb/taxioftomorrow_history_...
Not really. They led people on, over the years, into building on their API. People spent a lot of time and money building Twitter clients. Then they pulled the rug out. Why would you build anything using an API that could get arbitrarily locked down in the future?
Yes, I'm serious.
And you build with proprietary APIs because that's where the users are. You can make a StatusNet client with no worries, but nobody will care.
This worldview seems to come up most in relation to free services, so maybe it's a belief that freely consumable services via the Web or mobile give should mean a freedom to consume the same data via an API.
I feel as a user as though I should be allowed to automate my use of Internet services. I should be able to use improved clients for any service as and when I like, to get improved user experience, and to integrate them with other services.
I can imagine a law that allows this. Entirely to encourage innovation and competition.
Remember - it's the early days of the web. It took about a century after the printing press before the consequent law changes (such as invention of copyright) settled down.
I expect it to take a century on the Internet as well. Everyone should plan for the future assuming our laws from previous centuries will be found by society to be unsuitable, and will change.
Do you think by going to a physician and having a checkup that the hospital or doctor's network should now have the right to sell the fact that you have some skin condition to Johnson & Johnson so they can target you with advertising?
I do not. I feel a physician and twitter have a legal responsibility to insure my data is secured by them and also that I have the right to take my data and and provide it to a competitor.
Twitter and my physician are a little different in that Twitter should be able to tell me the consumer that I can not use both their service and another, whereas a physician is obligation bound to treat me. Twitter is refusing to engage and be honest with its users however and instead is smashing competition in a similar fashion that Craigslist is not being honest with its users.
I have been told my view is un-American and that is I guess proving in practice to be true. Americans seem more than happy to bargain away their information for a few pieces of candy.
[1]: http://www.businessweek.com/magazine/drugmakers-mine-data-fo...
What the drug companies are purchasing is anonymized; they have the data about patient X, but they have n idea who that person is. They are literally purchasing only the chance to pass along a request through your doctors to see if you'd be interested in participating in a study if you meet some criteria.
With the healthcare situation in America right now, I could imagine a lot of people would gladly trade that for a 10% cost reduction....
And any given person may write their own client, and use one single token for their twitter account.
I will add that, if the developer had made five dollars on each sale, he or she would now have a half million dollars, but I'm assuming they didn't, as the story is pitched as a tragedy rather than a triumph.
So I imagine those people who were doing the apologizing are surprised. And as most of the rest of us thought, Twitter has withdrawn from being a platform and is just a business now. Just like any other business, don't bother doing anything with them unless you draw it up in a contract in advance. The independent 3rd party ecosystem for Twitter is dead. But the good news is that the opportunity for a startup that wants to be a true platform in this space is riper than it has been for a while.
http://bijansabet.com/post/35849228202/the-first-photo-the-t...
Found via
http://threads2.scripting.com/2012/november/howTechCompanies...
Seems a sensible position to me (old guy, non-coder and won't use twitter or fb).
What happened to innovation? All I see these days is a derivative of a derivative of a derivative. Hell even the memes these days are derived from other memes.
I thought we got over the "no value in UIs" bias when Apple made more money than some small countries.
>then sell it as your own
1) Tweetro doesn't say "look at this great real-time messaging service we made!" They built a UI. That's their value proposition.
2) Less importantly, Tweetro is free.
>All I see these days is a derivative of a derivative of a derivative.
How is that uniquely "these days"?
Late arrivals like identi.ca might not be as polished, but they offer a similar product, with open APIs. Being based on open and federated standards like status.net, it's extremely unlikely that identi.ca will ever get the ego trip twitter got, and in fact is much more likely that it will be more open over time, and more useful even if other competition arises. What it doesn't have, and what we (consumers as well as devs) can help with, is by heading over there and giving them users and status and content.
wat?
This is just shitty all around. Sometimes I wish I could buy 1,000 twitter tokens for some price and use it in some "core-feature" 3rd party app because twitter sucks at implementing the very core features.