Development of fairer and clearer rules for autoamted processes


#1

Hi,

Is Twitter going to make clear rules for automated processes? I have had the application suspended for almost a month and no one of the operators is able to properly assist in this matter.

According to API terms, it is stated:

“If your application performs automatic actions (including tweeting or other content updates), make sure you comply with the Automation Rules found here”

This statement clearly implies that a “sort of automation” is allowed. However, the automation rules are somewhere far beyond clarity and it is difficult to punctually differentiate if certain operations are allowed or not.

While there are applications like Tweet Adder, which send automated tweets given a configurable delay or time interval between messages, I have my software suspended for featuring such an automated action (I already removed automated follows/un-follows). I have been trying to comply with Twitter’s rules over the last month but I do not see a rule that explicitly refers to this kind of automation, and what is even worse, none of the operators has been able to address these questions:

  1. What is the minimum interval allowed?

  2. An interval of two minutes would result in 720 tweets daily, as maximum, which is less than the maximum allowed (1,000). Is such a feature permitted? If not, why are there many applications like Tweet Adder which featuring such a characteristic have not been suspended like mine was?

Generally, Twitter’s rules talks about a reasonable number of tweets, but computers do not understand the term “reasonable”. We as developers need precise instructions and rules to develop our applications accordingly and to avoid these unfair suspensions that in the end are being caused by vaguely written rules. I see many possible solutions:

  1. To establish a minimum Tweet interval for automated posts. Those applications that do not comply with that rule, once caught, get suspended;
  2. If Twitter has already set daily limits, which cannot be exceeded by applications, why not to ONLY ban those users who continuously send spam, no matter if it comes from manually or automated actions;
  3. To reduce the number of allowed daily tweets. Let’s say 100 instead of 1,000. Those who consume the allowed quota cannot post for the rest of the day.

Actually, with a top limit of 1,000 tweets a day, it is Twitter who encourages automated actions as users who want to use the total tweet allowance are not violating any rule, but in order to post such a massive number of messages, it is obvious that an automated process is required. So here, Twitter’s rules are slightly contradictory to the limits.

It would be beneficial if Twitter reconsidered these gaps carefully AND QUICKLY. I as a developer, find this situation extremely painful because my clients send us e-mails every day asking for a solution, but I have no longer idea of what to say because the solution MUST come from Twitter. I am trying to comply with Twitter’s rules, but WHAT’S EXACTLY THE RULE I SHOULD COMPLY WITH? And the answer is, THERE IS NO SUCH A RULE. If Tweet Adder is still operating while other applications doing the same get suspended, there is something that is not working properly here.

Please Twitter, put your hands on it and establish clear and well-defined limits, at least for developers. If you want, leave things as they are for manual use, but for the correct development of application, fair rules will be welcome. As I said, I cannot indicate the computer what a reasonable use of the API is if there are not accurate, definite, exact, or specific NUMBERS perfectly defined.

Is it possible for operators to escalate this topic to rule makers, committee, or reviewers with higher authority? The situation is no longer sustainable and unfair for many developers. I would appreciate a QUICK solution.

Regards,

CJ


#2

It seems that Twitter just decides to ignore strong arguments that show their defects and to continue in a authoritarian attitude instead of being more cooperative and recognising mistakes.


#3

Still waiting for a response…


#4

No operator/supervisor has addressed yet this petition. Although the discussion forum might not be the proper place to find a solution I am looking for, I have sent several messages similar to the one opening this thread to the Help Center. They just ignore everything I send. I will continue posting here until someone takes this matter seriously and provides a solution as it has been a month since my app was suspended. Thus, everyone can read and know how “seriously” Twitter takes care of these sorts of issues.

Not surprisingly, since I also posted about the neglected support coming from “rgenkins”, who showed not to be qualified to occupy the position of operator, I have never been contacted or obtained a response to any of my messages. Is it just coincidence? It looks more like an authoritarian and arrogant Twitter attitude. I hope to be wrong.

CJ


#5

…and I am still waiting for a response from the Help Center…What is Twitter really expecting? That I would accept to remove from my app a characteristic that is featured by others? A feature for which there is no even a specific rule dictating how exactly applications should work? This is insane…

Why doesn’t the Help Center reply back to me? I’m just simply trying to comply with Twitter’s rules and found out that such rules are not being applied equally…Shame on Twitter…


#6

THIS IS THE WAY THAT TWITTER TREATS DEVELOPERS: AFTER WAITING FOR ONE WEEK FOR AN ANSWER, I DECIDED TO ENQUIRE AGAIN, BUT UNFORTUNATELY, I RECEIVED THE MESSAGE BELOW:

You tried to update a request that has been closed. Please submit a new request at http://support.twitter.com/forms. You can also visit our help center at http://support.twitter.com for self-help solutions to common problems. Thanks!

I JUST CANNOT BELIEVE THAT YOU TREAT US AS EXCREMENT. WHO IS RESPONSIBLE FOR CLOSING THE CASE WHEN NO ONE ANSWERED MY QUESTIONS AND MUCH LESS SOLVED THE PROBLEM?

DISGUSTING AND RECKLESS ATTITUDE !!!


#7

It’s @rgenkins, he did the same thing to me. Closed the support ticket without ever responding. If he does respond, he just sends a canned response that doesn’t answer your question at all. He’s a terrible employee and needs to be fired.


#8

I couldn’t agree more with you when saying “he just sends a canned response that doesn’t answer your question at all”. As I mentioned in the other thread, all people affected by the reckless attitude of this operator should approach the head of engineering…I will for sure…


#9

Hey there,

I wanted to step in to this conversation and, while not directly speak about specific cases of application suspension, provide a little more insight into our suspension process and how that relates to some specific terms of service and/or automation rules on Twitter that are brought up in this thread. I understand how this can be frustrating.

First, a few points about limitations on Twitter:

  • The typical daily tweeting limit for a Twitter account is an upper bound of 1,000 tweets daily. Consider that an “allowance” for a Twitter account.
  • That allowance is further broken into roaming windows of time, with portions of that 1,000 available in each roaming window. We don’t disclose the length of the windows or how many tweets are allocated to them.
  • It is actually very practical for an account to legitimately use all 1,000 daily tweets or all tweets in a roaming window period of time without using any kind of automation at all.
  • Just because there’s an upper bound to something doesn’t mean that the upper bound is meant to be perpetually reached.
  • The terms of service and any other direction you get from Twitter takes precedence over any technical limitations an application or user can reach.

Aside from where any kind of limits or allowances are, applications must abide from a few rules… The rules are up to interpretation as most rules are, but I’ll share some of the terms that are most important around these kind of issues:

"Your use of the Twitter API and Twitter Content are subject to certain limitations on access, calls, and use as set forth in the Rules, on dev.twitter.com, or as otherwise provided to you by Twitter." "Don't create or distribute spam"

These parts of the developer terms are pretty important. An application developer is responsible for the capabilities of an application they have created.

While there could be some value in an application that posts content to Twitter every few seconds or minutes, in most cases such an application will just produce content that is either considered spam, abusive, or is otherwise indistinguishable from either category – either by the users who consume the tweets or by abuse detection algorithms.

An application typically either shouldn’t provide such functionality or should contain safeguards that would make it difficult or impossible to be used for abuse. Not all applications can adequately protect themselves from abusive use cases.

On the topic of other applications not being suspended for what are perceived as similar infractions:

As I’ve mentioned, we can’t talk about specific application cases here. We rely on user and developer escalations to help us regulate the ecosystem. If you find an application in the ecosystem that you believe to be non-compliant with our terms, please bring it to our attention through this form: https://support.twitter.com/forms/platform

OK, so I hope this brings some clarity on how we look at some of these key issues. I wanted to address another aspect of all this – what happens once an application is suspended.

When an application is suspended for abuse, the terms forbid you from registering new API keys to circumvent that suspension. Registering new keys in this situation becomes a kind of “tarpit” – the situation gets worse – now more terms are violated…

While one may do this with the best of intentions, our API Terms of Service explicitly mentions this in Section II.4.G), we explicitly state:

"Twitter may suspend or revoke access if we believe you are in violation of the Rules or the spirit of these principles. If you are suspended, do not apply for or register additional API tokens."

When this happens, all applications and developer accounts associated with your API keys may be suspended per this policy. If a developer then continues to register new API keys without resolving the original suspension, the problem just intensifies – sometimes resulting in a permanent suspension from the platform.

If you find yourself in this situation, you may apply for re-admittance to the Platform by filing a ticket through https://support.twitter.com/forms/platform after a few months.

In this ticket, describe the main feature set of the application you would like to register. If this new proposed application does not differ radically from the applications which have been previously suspended, then it will likely not be re-admitted to the platform. If the proposed application does differ from previously suspended applications, then we may re-allow it back on the platform with the expectation that it will follow the terms and rules.

Our API Policy team is working with a pretty giant ecosystem. To perform their work at scale, they often need to use prepared responses with the hope that the response, when combined with the terms of service and other rules & documentation we provide, will provide the clarity developers need to get back on the right track. We’ll continue to improve these responses so that they are more clear.

Thanks,
@episod


#10

Hi Taylor,

I appreciate your intervention and your effort for clarification. Actually, I understand these policies and rules but it is just that there are gaps and contradictions in between, and I would like to bring attention to the most significant ones you mentioned:

• We don’t disclose the length of the windows or how many tweets are allocated to them.

This is indeed too bad and does not help developers built safer applications. Without disclosing these limits we cannot accurately set the right configuration.

• It is actually very practical for an account to legitimately use all 1,000 daily tweets or all tweets in a roaming window period of time without using any kind of automation at all.

This second point contradicts itself as it says that although the legitimate use of all 1,000 daily tweets is apparently allowed, automation should be avoided. In my opinion, users cannot disregard automation in order to manage 1,000 tweets a day. I do not use this platform but if I did, a manual handling of even 100 tweets a day would be extremely tedious and frustrating. Disclosing the aforementioned limits would significantly help developers and users, and even Twitter, who could punctually suspend those applications that do not address that point, avoiding conflicts with other developers like me who have been trying to comply with CLEAR and PRECISE rules that are hidden (such as the length of the windows or how many tweets are allocated to them).

• While there could be some value in an application that posts content to Twitter every few seconds or minutes, in most cases such an application will just produce content that is either considered spam, abusive, or is otherwise indistinguishable from either category – either by the users who consume the tweets or by abuse detection algorithms.

I totally agree with you and that is why I was asking for those limits that Twitter keeps in secret. However, see that probably sending a set of 10 or 20 tweets (as maximum) a day with 1-minute interval in between might not necessarily be intended to create spam. There are users asking for those features and we as developers cannot properly establish a valid limit if Twitter continues with that secretive attitude.

In any case, even thought automation is extremely linked to spam contents, the abuse of the platform or API does not necessarily imply sending tweets automatically. Spam content can be sent manually, and unfortunately and in accordance to current rules, it seems that an application could be suspended even when used manually but not properly, as Twitter cannot identify if the application sends tweets every minute in an automated mode or if it is the user who manually writes and sends a tweet every minute. Thus, developers are completely exposed to constant suspensions. Recovering from them takes ages, it is not agile, it is unfair (as no automation also leads to spam), and it is practically impossible if Twitter keeps hiring pathetic, reckless, useless, and negligent operators like “@rgenkins”.

Regarding the following point:

• When this happens, all applications and developer accounts associated with your API keys may be suspended per this policy. If a developer then continues to register new API keys without resolving the original suspension, the problem just intensifies – sometimes resulting in a permanent suspension from the platform.

I am not proposing to continue registering API keys. I have just desisted from even getting my original keys reestablished. Since Twitter clearly is not properly addressing suspensions and cannot guarantee that an application will not be suspended even if it does not feature automated process, I will never request my former tokens or create new ones. Instead, as I mentioned, it is better for developers to instruct their users in how to create their own keys and load them in the software. Since Twitter does not yet concern much about fair rules for us, the best thing that we can do is just make users responsible for their own activities. This is, not to use our API keys anymore. Hence, if I have 1,000 clients using my app and just one of them is a spammer, this person would be the only one whose keys would be suspended, while the rest would happily continue using my product.

This is the only fair solution I can see at the moment: Suspension for those who deserve it, and in order to do that, each one creates their own keys.

CJ


#11

Episod,

Thanks for the message, I replied on the other thread. Please see https://dev.twitter.com/discussions/20784

Thanks again,
Mike