Skip to content
This repository has been archived by the owner on May 20, 2023. It is now read-only.

Allow the use of Cawbird without an account #53

Open
spazziale opened this issue Oct 29, 2022 · 4 comments
Open

Allow the use of Cawbird without an account #53

spazziale opened this issue Oct 29, 2022 · 4 comments
Labels
Discussion A point to be discussed.
Milestone

Comments

@spazziale
Copy link

Fritter Github
Fritter is an FOSS android app that let you access a feed view without having a twitter account.
We can take inspiration from it.

@CodedOre
Copy link
Owner

CodedOre commented Oct 29, 2022

While I'm not opposed to the idea, there are a few issues that make it unlikely.

The first one is the additional amount of code needed. Not only we need a special session that handles the API calls with an assigned app token, we also need to prevent prevent methods that will interact (like, repost, etc.) to make invalid calls, hide UI options that are not available, not to speak of creating an follower system just for that session.
This adds a good amount of code on top, which also needs maintaining.

The second one are rate limits. Twitter restricts how many calls you can make and how many tweets you can pull. IIRC we already had an situation where these limits were reached, making the client unusable. With no entry limit, I could imagine a lot more calls might be made, pushing us nearer to the limit.
However, I already have an separate OAuth-Application for this development version, so it might be worth discussion to reuse that for separating the rate limits from authenticated and anonymous sessions.

Mainly because of point one I have to say that this is something I would not implement soon. However, if we can find a solution that works and someone had the interest of implementing it, we could discuss adding it.

@CodedOre CodedOre added the Discussion A point to be discussed. label Oct 29, 2022
@CodedOre CodedOre added this to the Future milestone Oct 29, 2022
@spazziale
Copy link
Author

spazziale commented Oct 29, 2022

The second one are rate limits. Twitter restricts how many calls you can make and how many tweets you can pull. IIRC we already had an situation where these limits were reached, making the client unusable. With no entry limit, I could imagine a lot more calls might be made, pushing us nearer to the limit. However, I already have an separate OAuth-Application for this development version, so it might be worth discussion to reuse that for separating the rate limits from authenticated and anonymous sessions.

Maybe we can use service like Nitter as a backend support. Nitter is a front-end for Twitter that also allow parsing tweet as a rss feed. Using Nitter, the amount of code to maintain will reduce drastically.

Structure of a rss feed: https://nitter.net/{user}/rss

@CodedOre
Copy link
Owner

If we need to use another infrastructure to load the content than its effectively an different application.

However, I think the second issue is the manageable one, with just using another OAuth application. The first one is the problematic one.

@IBBoard
Copy link
Contributor

IBBoard commented Nov 2, 2022

App-level token access (rather than user token access) should let you view various feeds without a login. But:

  1. You can't store and create any kind of "home timeline", because you're just an app. The only approach would be some Frankenstein code to track "followed" users locally and bodge together multiple requests to individual timelines into a coherent "timeline". But it would be horrifically inefficient if you had one high-volume poster and an infrequent poster. Which leads to:
  2. User auth gives you a set number of requests and other people's activity won't affect that (beyond the global cap that CodedOre mentioned). App auth gives you a set number of requests that every user will share. It'll be infinitely more likely that the app becomes unusable for the majority because one user used up every call in the quota.

(Basically what CodedOre said, but slightly more depth on the horrors of coding it 😁)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Discussion A point to be discussed.
Projects
None yet
Development

No branches or pull requests

3 participants