Hacker News new | past | comments | ask | show | jobs | submit login
What Happens When A Twitter Client Hits The Token Limit (marco.org)
511 points by DaNmarner on Nov 16, 2012 | hide | past | favorite | 179 comments



*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.

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, 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.


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


[deleted]


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.


The line between web apps with offline capability and native apps with online functionality is non existent.

Unless by native you mean written in a language that only works on a single platform.


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.


And native has features that web doesn't have. Growl on OS X, for example.



I have been using notifications in chrome since they were available, and they don't even come close to growl, AFAICT.


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.


> 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...?

> This is exactly what the web is supposed to do.

Crappy?


>What's wrong with using the twitter.com on Windows8

I dunno. Ask the 100,000+ people that wanted to use the client.


> What's wrong with using the twitter.com on Windows8, do we really need a special client just for Windows 8?

Notifications. Multiple accounts. Filters. Speed.

Twitter.com compares to (many) Twitter clients like 2004 webmail compares to native e-mail clients of the time.


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.


> "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.


"I don't get anyone is surprised, it's Twitter's ecosystem"

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.


Twitter.com is slow. I pretty much stopped using twitter altogether instead.


And it lacks functionality. I used to use Brizzly and when that shut down my Twitter use went way down.


For the past several years the Facebook mobile site has been much better and performed faster than the iphone app.

Why then have people still been using the facebook app?

When you realize the answer to that, you'll understand.


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..."

What's wrong with everyone using the same web browser? After all, that's exactly what the HTML standard is for, right?


> 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.


> Exactly, that's precisely the message they wanted you to have.

The message they want you to have is "build boring enterprisey stuff".


>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.


Windows 8 does not run on phones.


His argument would apply to tablets, where Windows 8 does run, about equally well.


Twitter: Don't build core-feature Twitter clients, we probably won't approve them.

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.


>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?


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)


WTF? Why do people post photos of their debit cards online?!?


Haha, glad to see I wasn't the only one shocked by that. That's pretty incredible actually.


That's nothing compared to when one of the issuing banks @replied to the person doing it, telling them to remember to set up online account access.

Yes, I'm serious.


Literally lol'd when I saw the needadebitcard feed.


Twitter's official web client has no filtering capability, for one thing. For that reason alone I can't use it regularly.


But the rug was pulled out well before anyone was thinking about writing Windows 8 app.

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.


From what I can tell it doesn't affect current clients, only new ones.


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.


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.


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.


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.


Its not heavy-handed. Twitter has shown repeatedly that they have no problem with:

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.


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.


they're acting perfectly rationally: they see third party clients as a threat to their ability to monetise, so they're killing them

why anyone would expect a business to do anything else is beyond my understanding!


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.

http://www.nyc.gov/html/media/totweb/taxioftomorrow_history_...


Abusive, the regulations haven't adopted with the times, but it's apple to oranges in that situation.


I suspect Über would have a different answer to the apparently assumed one in your question.


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 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.


Hospitals actually do sell their patient data to drug companies[1]. Not for advertising, but for medical research and drug trials.

[1]: http://www.businessweek.com/magazine/drugmakers-mine-data-fo...


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.


> I believe a person owns the data traces of their life, not twitter, not facebook, not any financial institution or ad network.

And any given person may write their own client, and use one single token for their twitter account.


> 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....


Sort of amused by the wording in this line:

> 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?


Shouldn't the real news today be that Twitter has invented time travel?


If it's in development and not released yet.


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.


> Developers helped build Twitter

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."


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.


well it's not like twitter benefits from correcting that.


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'm sure Twitter would block bots doing unuserlike things. But isn't the point of a Twitter client to do userlike things?


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.


To what end? You're going to base a business on scraping twitter.com? That sounds like a much worse idea than trying to work within the API.


> You're going to base a business on scraping twitter.com?

A business? Probably too high risk. A nice FOSS client, though? Why not?


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).


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.


But a client would just run on their machine. Save cookies, and you're fine.


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.


Twitter would blacklist the IP(s).


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?


If my salary depended on the Twitter API right now I'd be scared shitless.


If your salary ever depends on a completely free service's API, then you may be scared shitless, but you've also usually made a bad choice.


Unfortunately they don't give you the option to pay to get around it though.


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.


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.


How about "don't build your business on a free service's platform".


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?


Twitter's API is free for API consumers...


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.


>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.


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.


That's a ridiculous statement. Unless you are as vertically integrated as Apple, you can't avoid dependencies on someone else's APIs.


What's ridiculous is assuming you can make money off of a free data source without any inherent long term risk.


Better advice would be: Don't depend on someone else's API when they've made it quite clear how hostile they're going to be towards you.


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.


If Twitter charged to send tweets (like Facebook is now doing) then they wouldn't need to crack down on third-party clients.


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.


> If Twitter charged to send tweets (like Facebook is now doing)

How's that working out for Facebook?


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.

But I suppose they'd just wind up getting sued.


> But I suppose they'd just wind up getting sued

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'.


Or automating the creation of a unique app token for each user: https://dev.twitter.com/apps

What TOS does that violate? What if the user manually creates a token and inputs it? Could Twitter detect this even happening?


I'd say that sudden explosion in one user application is very suspicious. This is easily countered by premoderation of applications, for example.


Goddamn, I've never seen a clearer example of the colloquial term "butt hurt". Twitter is a company, they built something, they support it, they have the right to control it, and they have arbitrary rights over it. More tellingly, they have a very good point.

It reminds me of the craigslist haters, and my response to them. I don't hate craigslist for stopping third parties from using their data because, frankly, it hurts their brand if "druggycriminalroommates.com" starts syndicating their apartment ads.

That said, don't think that I'm some sort of right-wing capitalist fascist. No, I don't think everything should be privately owned and controlled. There are some things that should remain public: internet infrastructure being one of them. My personal belief is that the only real egalitarian, open system is one that relies on that infrastructure, and ONLY on that infrastructure. This vision requires that people either a) run their own servers, or b) pay money to someone else to run servers (or parts of servers). (Other possibilities for payment exist, of course, such as bartering information for service, etc.)

I mean, twitter is free to control, the OP is free to complain about that control, but the solution presented (don't develop anything for twitter) is ridiculous and immature.


A company builds an API and encourages lots of developers to use it across a wide variety of projects, and they do. After achieving almost unprecedented success in user adoption, the company decides to unilaterally change their terms to say, "From this day on, not only do we want you to use our API only in ways that drive value to us, we're not really down with you getting any value in return beyond whatever value being able to say 'you can post to Twitter from our app!' brings you." And they are really down with screwing over existing developers to bring them in line with the New Reality.

I'm pretty sure that I would, at that point, not be keen on developing anything that used that API, even if it complied with the new rules, because the company has at that point demonstrated that they will knife me in the back if they think it's going to further their own business goals. How is that reaction ridiculous and immature on my part?


I don't know, I think it's stupid to allow any private company to control the worlds data, as Twitter, Facebook, and to some extent Google are attempting to do. To expect these for-profit companies to act in any way other than "unilaterally" is naive. If you think that they violated the terms of service, then you should sue them for fraud - or if that's too expensive, make it clear that you think they are engaging in fraud.

Actually my message is this: build for the open web, and only the open web! There is a lot of room in that space. Personally, I think that Twitter will go bye bye and Facebook is going to get eroded by it. But that's my personal belief.


I blame Wall Street. Endless growth ($), forever.

I like the open web you allude to. However, bills gotta get paid.


Well, Wall Street is a totally different problem - one that is essentially an expression of systemic moral hazards that are present in our legal and banking systems. Wealth = responsibility and yet people are content to just put their money anywhere the return is highest. The result is Wall Street.

The open web is not at all anathema to making money! You say, "I like the open web you allude to. However, bills gotta get paid" but would you have also said, about interstate highways, "I like the highway system you allude to, but bills gotta be paid"? No, of course not. Highways enable gobs and gobs of business to be done. Twitter and facebook have built slightly more usable highways alongside the public ones, called them free, and people have gone there in droves. But once the true cost becomes realized, I think people will go back to the public highways - especially when this means that can go anywhere they want, however they want. Twitter is limiting clients, FB is limiting reach. Both companies are merely very expensive usability innovators on how users like to interact with the public web, in my opinion.


I like your words. It's not a different problem. Doubly said "expression of systemic moral hazards" leak into these successful platforms. They get fat and then formally hire 1000x more inhouse devs, biz, and design folks when they could ad hoc pay the people who were there from the beginning. Or new people who spring up and bring the platform forward. It's creativity in contracts the status quo is lacking.

I am curious - where are the "public highway" equivalents of Twitter or Facebook? Who owns the infrastructure all this data is passed through? It's definitely not publicly owned. In my opinion, your analogy is mismatched.


TCP/IP, DNS, HTTP is the major part of the internet's virtual infrastructure (although you might say that there are others, such as router configuration protocols). The physical infrastructure is rather complicated, and owned by large ISPs which connect to each other and smaller ISPs that connect to one or more large ISPs. The 'last mile' provider collects money for access to this infrastructure.

Free physical access is provided in the US by public libraries. De facto free access is provided by a wide range of retail businesses, such as coffee shops.

With your own device connected to the internet you will have a NAT'd IP address from which you can request anything you want. Unfortunately, until IPv6 becomes commonplace, one has to jump through hoops to expose the device - the most common being some form of dynamic DNS.

At the coffee shop the packets that your computer sends are travelling around the world on de facto public infrastructure. It's true that a bad actor can shut down routes, but the internet is rather cleverly designed to treat a shutdown or reduction as "damage" and simply use a different route.


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.


>just wrap someone's service in a fancy UI

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"?


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.

A pity.


It would work if their goal was to gently discourage developers writing client apps without totally cutting them off; an economic disincentive.

But it doesn't make sense to do that, and they don't want to anyway.


> 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.


When you have to find 1500 monthly pay checks, I suppose you have to get the money somehow.

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).


If you build a company around someone else's free API, you're either a high stakes gambler or a moron.


Or out for a quick buck without any expectation to build a lasting business.


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?


Don't develop for the quirks of any particular browser.


Except for when the browsers implement standards differently, e.g. appcache, localstorage, etc.


I didn't know that different browsers implemented those things differently, aside from the default and maximum amount of space given to localstorage.


just like anyone who had apps using Tumblr's v1 API which they terminated quicker than anyone could hear about it's demise


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.


This is really idiotic. What are they trying to do? Make sure that all the top users flock to App.net or somewhere else?


Considering that I don't know a single real-life person that is on app.net, I wouldn't consider it an alternative to anything.


The same used to be true of Twitter.


Yes but early-days Twitter did not have to compete with current-day Twitter when it was trying to grow.


It had to compete with general ignorance of its value. Many would argue that's a more difficult hurdle.


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!


No, they're making sure users flock to twitter.com instead. And it's been effective, since I use the web interface instead of Tweetbot now!


Since tweetbot still works, why did you migrate from it?


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).


You may not be aware such a thing exists, but I'd consider http://www.freesat.co.uk or or even http://www.freeview.co.uk to be (subscription) free alternatives to cable TV.


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.


To me, it seems like they may have a long term plan for monetization which requires users to visit the website rather than using a client.


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.


Yea, that's not a bad idea. But who knows what their actual revenue or capital situation is. Just like Facebook, transparency is an issue.

I participate in these services, but I know full well whatever I post is market research.


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 liked the Internet better when we had things like irc and news to talk with that weren't controlled by any single corporate entity.


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.


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.


I still don't understand why everyone is getting angry about this. It doesn't affect clients made before they introduced the new rule. The only people who get hurt are the idiots who ignore twitter and build a business which uses their API in a way they have said not to.


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.


How would you compare the Twitter ecosystem to how the Facebook ecosystem is doing lately? Seems that Facebook sign on/identity is doing well. Seems that the Facebook hosted apps are increasingly less relevant than apps just getting sign on and possibly newsfeed flow? Twitter ecosystem seems pretty much destroyed. Tweeting and Facebook newsfeed seem to be doing fine.


I'm amazed we haven't seen some developer say screw it and build thing using Twitters own keys. There have been multiple instances of them being published over the last couple of years, and I'm having trouble seeing what incentive a dev has not to just use them.

If you're working against Twitters interest already then why not go for broke?


> that our [...] future products do not already serve

wat?


Tweetro should be happy that Twitter is not blaming them for using their platform in a way they prohibit. They want to use what Twitter has worked hard to build, make easy money, and then also want Twitter to spend extra to help them do it (by allowing more API calls etc) - why don't they build something original?


I'm surprised nobody has mentioned yet that Windows 8 has built-in Twitter integration that works very well.

Why do you need another client? Just go to the People Hub and click What's new. Need to reply or retweet? The buttons are right below the message. Need to see mentions or replies? Click Notifications.


So, based on their guideline, if we made and sold Twitter ID BiLLYS which are custom made wooden signs for the or office (and BTW makes for a cool present), would Twitter have a problem with this?


It seems to me this is an issue of pricing. Reach 100,000 tokens with demand to spare? Congratulations, you left money on the table. Charge more next time.


I'd like to see what would happen if a third-party client just started to use the API token extracted from the official client. What could they do?


Technically nothing, I think. It will be nice to see clients with an option "Use you own tokens" and the official client token widely available for use.

For instance, I'm thinking about this for my integrations -- that's a token Twitter will never ban or throttle.


Does anybody know of any Facebook apps that sort of do the same thing, i.e. recreate the Facebook newsfeed experience for users?


Shameless plug: http://picaapp.com. There are a few things we can't do due to the API not available for 3rd party apps


Oh you guys are doing great work. I had a similar idea for a long time now, so its good to see it executed. :) Quick question: Does the API allow you to do interesting things with the newsfeed elements like tags and saving/searching?


I think some people might call this "biting the hand that feeds you". Or at least the hand that got you started.


Others might call it "getting big-timed"


I don't understand why people bend over backward and provide also the grease to FB, Tweeter, AppStore & co?


If developers are prohibited to develop apps with Twitter APIs, so why they build the API?


make the twitter api a paid api, and everything will be clearer.

Businesses that rely on twitter will have a contractual relationship with twitter , meaning less uncertainty ,less competition ( since you'll have to pay upfront to access twitter's data , less clients ).

That's the solution that makes sense , instead of this half baked situation twitter api developers are in.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: