I’m making a browser addon and the various limitations of how Twitter
apps work are making what I’m trying to achieve unnecessarily difficult.
In this post, I’ll explain what I’m trying to achieve, where I’m at now and finally make a concrete proposal for how things could be better.
What I am trying to build
I am trying to build a browser addon that improves the Twitter web
experience. This addon adds a handful of metrics when visiting someone’s
profile (histogram of recent activities, % of RTs, % of conversations, %
of tweets with links, etc. more to come like number of tweets per day
this person would add to your timeline if you followed them, etc.).
The addon exists right now, works and can be tested at https://addons.mozilla.org/fr/firefox/addon/twitter-assistant/
An important part of the addon isn’t so much the metrics but the lack of
third-party dependencies. Indeed, the addon is intended to speak
directly with the Twitter API to gather the data.
This way, the addon is not dependent on a third-party server to work. So
the addon doesn’t stop working if the server is down or unreachable
(because of a proxy/firewall or whatever). The addon still works even if
the person who maintains the server gets banned from Twitter.
How things work today
To achieve this amount of freedom, the addon needs to speak directly to
the API. The only way to do that today is that each user creates its own
Twitter app and feeds the API key and secret to the addon.
Doing this is fairly boring, so given this is an addon, I can automate
this process (open tab, fill in form, get the credentials in the app
page) after having informed the user that this is what is going to
The user can fall back to making the app manually if that doesn’t work.
Annoying ("8 easy steps"
but the addon works.
Apparently, now, people need to provide a phone number to create apps.
This breaks the automated process if the user hasn’t provided a phone
number. This is awkward UX anyway. Users shouldn’t have to provide a
phone number to use my addon.
As a developer, this also makes testing the app really difficult.
It’d be nice if Twitter users could create tokens very much like
Github’s personal access token
They would then hand this token to an addon. This token could not be used for other users to authenticate.
Of course, this is just one idea of a solution. I’d be happy with any
other solution where the user can install the addon and grant it the
right to discuss directly with the Twitter API with no third-party
Questions for the Twitter dev team
Do you consider this use case (browser addon discussing directly with the Twitter API) matters?
Is there an option I haven’t considered? (besides having each user creating a Twitter app)
If there isn’t, would you consider a solution where this use case is more easily served than the current situation?