IBBoard / cawbird

A fork of the Corebird GTK Twitter client that continues to work with Twitter
https://ibboard.co.uk/cawbird/
GNU General Public License v3.0
309 stars 37 forks source link

MBFC API integration #416

Open roryst opened 2 years ago

roryst commented 2 years ago

Is your feature request related to a problem? Please describe. the problem is twitter is filled with lies and fake news

Describe the solution you'd like MBFC integration would be a big help. If a tweet has a news-outlet URL or comes from a newsoutlet, it'll check the database and tell you if the source are a bunch of crazy people or reliable. I'm not sure if this API is good/active, but i hope it helps https://github.com/EG-Freelance/mbfc-api

Describe alternatives you've considered MBFC has a chrome extension that displays the info on twitter.com (screenshot included)

mbfc_twitter

IBBoard commented 2 years ago

From what I can tell, it's a single endpoint that just lists lots of news domains and we download it once per session then look up the domain. Simple enough, I guess.

I've already been hoping to including BotSentinel support, just as soon as they make their API public (and assuming there's a free/FOSS version), so I'd definitely like anything else that we can easily incorporate that identifies dubious, misleading and biased content.

The hard part is going to be working out how best to incorporate it into the UI! (cc @CodedOre). We can't use tooltips on the link because a) it's not accessibility friendly for more important information and b) we already use it for the full URL. We might be able to put an icon after each link, but a) getting the full range of bias and trustworthiness in a set of icons will be hard and b) we'd probably still need tooltips to fill in the info.

We might be able to put some kind of "link report" button on each tweet with links that expands a full report when clicked, but that's a lot of UI and potentially quite messy!

CodedOre commented 2 years ago

Adding an source checker might be an improvement, but I think there are quite a few questions still need to be answered.

First of all I found that the API don't return all information for all "supported" domains, while the site had these information, so I think it would be good to check if the API is still up-to-date. Secondly, if we want to add an source checker, we should be sure it's a good one. MBFC looks promising, but I have to assume it's good to check US-based sources, but not from around the world (I was already surprised that a major news source in Germany like the Tagesschau for example is not found there, let alone smaller ones).

Last but not least, the UI would be a good question.

I think a banner below the text could work, showing the most necessary information: A reliable sourceA medium good sourceA bad source

This concept uses the MBFC Credibility Rating for the colors, and displays bias and factual rating as well, with an button to open the site for more. However, it leaves out a lot of possibilities, like if a site is a satire or conspiracy site.

At the end I think the first question to be solved would be what do we want to show to the user (directly or as additional information), where do we get these information from and then how we make the UI.

IBBoard commented 2 years ago

That looks like it might work 🙂 It'd make some tweets much bigger, but it's definitely clear.

I wouldn't be surprised if MBFC is Anglo-centric, but I did have a quick look for Al Jazeera and found that. And I've just checked and it has the Daily Mail in from the UK with a rating of low accuracy with "fake" bias (which sounds right!) plus BBC, Channel 4, and all the big newspapers or sites like the Telegraph, Observer, Express, GB News UK, The Metro, etc. As it's run by a group of volunteers then it might not have good non-English coverage.

I hadn't checked how up-to-date the list was, but thousands of sites is better than nothing. I've also just had a quick look at the official extension to see what they do, but I haven't found the source of their authoritative list yet (and TypeScript is a bit odd).

The [Stopaganda Plus extension)[https://addons.mozilla.org/en-US/firefox/addon/stopaganda-plus/] seems to just bundle a load of JSON. It's not quite in the same format as the API in this ticket, and there's no source repo in the links, so I don't know where it gets that from.

As a follow-on from Botsentinel, I'd also like to include Shinigami Eyes for flagging TERFs and transphobes, but they build and embed their data into the extension and don't publish it.

[Edit] Ahah! Here's the official extension's data 🙂 They load it from a constant URL that links to GitHub as a CDN!