Skip to content
This repository was archived by the owner on Aug 18, 2023. It is now read-only.
This repository was archived by the owner on Aug 18, 2023. It is now read-only.

TweetDeck Preview, Better TweetDeck and the future #848

Closed
@eramdam

Description

@eramdam

EDIT: As of February 2023, it is clear Twitter's new management doesn't give a shit about 3rd party developers so I am NOT going to invest any energy about building on top of Twitter's platform anymore.

If you want to find me, I'll still be on Twitter but I'm also (more) active on Mastodon and Cohost these days. I might build something for Mastodon ;)

Old issue body below:


I'm opening another issue to replace #653 because quite a lot has changed since I commented there, and I figured it would act as a better redirect point for future questions/discussions about this topic.

As you may know, Twitter has started rolling out a new version of TweetDeck. How you feel about it isn't relevant since it will be rolled out generally at some point anyway1.

Here's how it will affect Better TweetDeck:

  • It brings feature parity with Twitter Web, which is a great thing because I had to do a lot of that with BTD
  • It completely breaks BTD due to how it's built. The new TweetDeck is the Twitter Web App + some code to handle multiple feeds/columns 2.

What do I plan to do about it?

A year ago I had said I'd poke around and see what I could do, and around the beginning of this year, I started digging more seriously into how I could feasibly rewrite BTD for it.

Unfortunately, the tech stack that TweetDeck Preview uses makes it very hard to extend it:

  • Redux (state/data management) is relatively easy to poke at, and I could do some things, but it's only one piece of the puzzle
  • React in conjunction with react-native-web make it very hard to mod anything in a reliable way because the component tree of the app is just a bunch of views that are indistinguishable from each other and they're all styled with machine-generated CSS classes that change depending on the underlying styles applied. All of this means that any UI or CSS mod is hard to make and maintain.

However, some of the issues I have with TweetDeck Preview aren't technical. I have been working on Better TweetDeck for more than 8 years at this point, so the thought of having to throw out all the shared knowledge of the internals of TweetDeck to start over is, at best, annoying and, at worst, kind of depressing.

After thinking about it for a long time, I've concluded that I do not want to start over on even less stable grounds. As much as BTD has been fun as a project, it involved a lot of stress because overnight, Twitter could (and did!) break BTD without any warnings, and it doesn't sound like TweetDeck Preview would be less of a moving target.
Add to this the annoyances/support issues that come with working on a browser extension for all the major browsers, and honestly? I think I want to chill for a bit.

What now?

For Better TweetDeck

First and foremost, as of writing this, I'm considering Better TweetDeck to be in a feature freeze state. Any changes I do/accept to the codebase will be bug fixes when I can gather the motivation to do so. Notably, the "biggest" change that's on the way is updating the tooling of BTD to support Manifest V3 because Google will require it for any updates to existing extensions, so I can't escape it.

Conclusion

First of all, I want to thank everybody who used BTD, spread the word about it, or contributed to it in any shape or form. I definitely couldn't imagine it being so big when I started working on it as a student in 2014, and it's been a wild ride ♥️

Thanks for reading, and thanks for the support for all those years!

Footnotes

  1. When this rollout exactly happens hasn't been communicated. My gut feeling says it'll be sometime around early next year but don't quote me on that as I'm (obviously) not a Twitter employee!

  2. That's not even an exaggeration, and I have been told it's by design to avoid running into a situation where TweetDeck has to wait months before it gets a new Twitter Web feature

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions