Giter VIP home page Giter VIP logo

thud's Introduction


Logo

Thud.

Read news without the fuss
ยท Report Bug ยท Request Feature

Stargazers MIT License LinkedIn

Get it on Google Play Get it on F-Droid

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. License
  5. Contact

About The Project

Product Name Screen Shot

Thud. is a free and open source news reader for Android and iOS inspired by the original design of Pulse News.

Why did I build this?

Those of you who have been using news reader apps since the dawn of smartphones might remember one the first rockstars in the market: Pulse News (you can see it in all it's former glory here) It offered an incredible user experience for the time and a convenient way to view all your feeds quickly and efficiently, minimizing the interactions needed to get you to the content you chose to see.

Then LinkedIn bought it and shortly after ruined it.

Ever since that terrible day I've wandered the barren landscape of the app stores waiting for a worthy contender. I've tried it all: the feedly official app, different feedly clients like Inoreader, Flipboard, Google News and Apple News. I even tried some Microsoft news apps ๐Ÿ˜ฉ.

And yet, to this day, I haven't been able to find a replacement that offers a similar user experience... so I decided to take the matter into my own hands and code it myself.

Here is the result, free and open source just in case LinkedIn decides to try to buy and destroy this one too.

Features

  • Sleek mosaic-like UI: All your feeds one blink away, no distractions.
  • Feed Search: It uses the feedly search api to make it easier to discover news sources and add your favourite ones.
  • Bookmarks: Save articles to read later or for whatever other reason, there for when you need them.
  • Light and Dark themes: Complete with fancy (and silly) apple-like names like Darcula and Snowflake (because light and dark are just boring).
  • Collections: Organise your feed into collections to keep them nice and tidy.
  • No account: Yes, no account, no registration, no servers (besides the public feedly api). Your data is in your phone and remains there, as it should.
  • Multiple reading settings: Change the background, typefont and font size.

(back to top)

Built With

(back to top)

Getting Started

Woah! Wait right there cowboy!

This section is for developers, if you are on GitHub, chances are you are one, but just in case, if you don't know what the difference is between a class and a function, head over to the friends at Free Code Camp and they'll get you started in no time. If you do know why HTML cannot be parsed with a regular expression please, continue.

Prerequisites

You need to install Node.js, then install the latest Ionic command-line tools in your terminal.

npm install -g @ionic/cli

Then you can follow the Ionic Framework guides to install the native tools for Android and iOS.

Running

If you already have all the tools required, you can install it on your device by running:

Android:

Add Android platform if it doesn't exist:

npx cap add android

Build project and sync with capacitor platforms:

ionic cap sync

Open native Android project in Android Studio:

npx cap open android

And then use Android Studio to compile and run.

iOS:

Add iOS platform if it doesn't exist:

 npx cap add ios

Build project and sync with capacitor platforms:

ionic cap sync

Open native iOS project in Xcode:

npx cap open ios

And then use Xcode to compile and run.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the AGPL License. See LICENSE.txt for more information.

(back to top)

Contact

Samuel Bazaga - @aerotoad

Project Link: https://github.com/aerotoad/Thud

(back to top)

thud's People

Contributors

aerotoad avatar gensitu avatar izzysoft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

thud's Issues

Error navigating back from article view

After opening an article in any collection that's not the first one, when coming back to the collections it goes back to the first one instead of the collection you came from.

Open in default browser rather than google chrome

I have firefox focus as my default browser on mobile because I'm trying to avoid google, downloaded Thud as an alternative to the google newsfeed itself.

I would love if I could just set my own default browser as the browser articles open into.

Add empty states

The following screens don't have an empty state:

  • Collections list.
  • Feeds list inside collections.
  • Sigle collection feeds.
  • Bookmarks.

Add opml import/export

Is your feature request related to a problem? Please describe.
I feel like this could be the perfect open source rss reader. I want to use it but I can't import my feeds into it.

Describe the solution you'd like
An option to import subscriptions from an opml file and also an option to export them.

Describe alternatives you've considered
I think rss feed folders in the opml can be added as collections.

Add custom feed from URL

Is your feature request related to a problem? Please describe.
The ability to search and discover feeds is pretty good, but sometimes you just want to add a feed directly from a URL instead of searching for it, or sometimes it might not be found either.

Describe the solution you'd like
An option to add a feed directly from a URL without having to search for it.

Describe alternatives you've considered
Currently, searching for it and hoping it's there.

Additional context
Maybe this already exists in the app and I just can't find it. Or maybe this is intentional? I never used Pulse News.

[BUG] Share functionality causes app crash

Describe the bug
Last update broke the share functionality.

To Reproduce
Steps to reproduce the behavior:

  1. Go to any article view
  2. Click on the share button
  3. App crashes

Ability to change article thumbnail size in Home Feed.

I am really enjoying Thud, and I hope it's still maintained.
I would like to kindly ask, if possible and willing to implement, more flexible customisation in Home Feed articles tab.

One thing that I find really uncomfortable is the small and visually crammed aspect of articles thumbnail and quick description. I'd love to be able to modify the thumbnail size, distance between rows, to be easier to follow visually.

Download badges on README page

[![IzzyOnDroid](https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/com.aerotoad.thud)](https://apt.izzysoft.de/fdroid/index/apk/com.aerotoad.thud)

Downloads

[<img alt="Get it on Google Play" height="80" src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png">](https://play.google.com/store/apps/details?id=com.aerotoad.thud)
[<img alt="Get it on IzzyOnDroid" height="80" src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png">](https://apt.izzysoft.de/fdroid/index/apk/com.aerotoad.thud)

refer: https://gitlab.com/IzzyOnDroid/repo/blob/master/README.md#if-my-app-is-available-here-do-you-have-a-badge-i-can-use-to-link-to-it

"beautiful life.info" doesn't display images.

One of the websites (beautiful life.info) doesn't display images in feed thumbnails, or the article itself. However, if from article view I'm tapping "open website", I can see images just fine.

Perhaps it can be fixed.

Screenshot_20240319_130941_Thud

Screenshot_20240319_131407_Thud

Nextcloud News suppot

Is there any possibility of adding the ability to sync with Nextcloud servers so that you can continue reading on the desktop or other device?

Thanks.

Better text formatting for articles

Is your feature request related to a problem? Please describe.
One thing I've noticed is that when reading from sources like Fedora Magazine, text formatting (bullet points, headings, code blocks, etc.) is missing from the article. It would be nice if text formatting would appear in the app as it's hard to read without it

Describe alternatives you've considered
Going to the website version of each article, but that's inconvenient

Additional context
Screenshot_20221122-223214_Thud

Screenshot_20221122-223304_Firefox Nightly

Add the ability to help translate

Hello I am Ok to translate the application in my language (French) on the condition that it is added on crowdin, weblate or transifex.
I think it would be the best way to contribute to a promising project ๐Ÿ˜

3 Usability Features

  1. Swipe left to show next article on the list instead of going back to select another article.

  2. Once out of the article hide it from front-page.

  3. Show card view in the front-page instead of those side scrolling images.

Tablet support

image

How it looks on my 8 inch tablet. The bar looks too small & I don't feel comfortable clicking the menu buttons. Plus unnecessary blank parts on both side of the bottom bar.
The bottom bar size should follow device screen size.

My Tablet Screen size

Absolute Width : 1200px
Absolute Height : 1824px

(checked using CPU info app)

Provide an online accessible database via IPFS

Is your feature request related to a problem? Please describe.
Currently, Thud does indeed provide the functionality to select feeds from an online database.

However, I suggest to make use of that functionality in a different way, which involves a decentralized protocol.

Describe the solution you'd like
Adding support for protocol IPFS and selecting feeds from a database.

Describe alternatives you've considered
The current mechanism used by Thud.

Additional context
I'm working on a feeds database at Slixfeed. The database is at the public domain.

The reason I suggest IPFS (or any DHT fashion technology) is because the database is expected to grow larger, so it would be wiser to share that database with peers, when the only centralized (e.g. HTTP) factor would be the IPFS hash.

The above database amount ~3K feeds, and there is another database which amounts ~3K feeds too.

We are operating an RSS crawler which amount over 500K news feeds, excluding git, subvertion and wikis. The database resulted by the crawler wasn't reviewed yet. Reviewed feeds will be added slowly to the database.

See also lwindolf/liferea#974 (comment)


Warning! (Government)

Because this database is intended to be used with my project, and because it has less than 10K entries, I don't make any selection, which means that some sources might not be appropriate (i.e. nsfw).

Personally, I might have a legal issue with that database at the moment, because I also add sources of neighbouring countries. Some of these sources appear to be censored by the ISP providers here, and this is another reason of why I have an interest of making that database available via a decentralized mean (e.g. IPFS).

Suggestion to allocate feeds via IPFS

There would be several databases allocated by language code and country code.

Unrestricted

  • de would include all feeds for use by German speaking audience that is not subjected to restrictions poised by any other German speaking countries (Austria, Germany, Liechtenstein, Luxembourg, Switzerland).

Restricted

  • de-at would include any feed in German, excluding those that are forbidden by Austrian government.
  • de-ch would include any feed in German, excluding those that are forbidden by Swiss government.
  • de-de would include any feed in German, excluding those that are forbidden by German government.
  • etc.

Unrestricted databases (those that do not have country code), like de, will either be unavailable or would be available by enabling an option.

Release on F-Droid

It would be great to see this Android app on F-Droid!

F-Droid is an Android app store specifically for free/libre open-source apps. It would be great if your app could be released there, as it is the number one for getting FLOSS Android apps for many people.
F-Droid also builds all apps from source (optionally even reproducible), so downloads from there can be trusted.

The app developer FAQ or the quick start guide may help you to get started.

BTW a release on F-Droid could also bring some (more) popularity (in case that is intended), as it will show up in the app (new apps are featured there).

Open original website when scrolling all the way to the bottom

The current implementation uses a button at the bottom of the article view to get the user to the original page using the in app browser.
The solution that inoreader uses is a scroll trigger when the user reaches the end, that opens the browser with a vibration feedback.

I think this is a better user experience than just a button.

Feature Request: widget

Loving your app, great work thus far!
However, I was wondering if you were planning on adding a widget.
It would be great if this was added!

Disable pictures display

Hi Thank you for jour great app, i would need the possibility in settings to disable the display of all pictures in the news, thank you

Fetch full text

Is your feature request related to a problem? Please describe.
Some web sites just show the feed without much details & to view full text you need to open the link on your browser. IMO from productivity point of view it defeats the purpose of using RSS app.

Describe the solution you'd like
Add an option/button to fetch full text from any feed/article.

Integrated browser

As per the title, an integrated browser would be useful, perhaps with the option of forcing it into read mode as in the squid app, perhaps as the default view.

Add onboarding screen

Add an intro onboarding screen with a slider that explains the functions of the app.

stretched thumbnail images

v 1.1.0

in home collection all images appeare stretched in their rectangular container

they should fit without altering the image

Android: Using the "back" functionality, the state of the collection page is lost

Describe the bug
Basically #13 but for the "back" button, which most Android either have physically or with a gesture.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the collections, swipe right on one
  2. Click on any article but the first one
  3. Use the "back" button
  4. See that collection page state (horizontal scrolling position) is lost

Exception: If you have used the "back" icon inside the footer ONCE, it will always work.
Easily reproducable by just closing the app and starting at 1.

Expected behavior
The state of the collections page should be preserved even for first time going back via the "button"

Screenshots

Smartphone (please complete the following information):

  • Device: Any Android
  • OS: Android 12
  • Browser: Internal App Browser
  • Version: 1.2.1 (of the app)

Additional context
Ionic article about the back button of Android: https://ionicframework.com/docs/developing/hardware-back-button#basic-usage

My two cents:
I think adding the code from the article above here would resolve the issue:

  this.platform.backButton.subscribeWithPriority(10, () => {
    goBack();
  });

I have not seen that you have registered ANY handler for the back button, so I guess Ionic just does a browser back and loses the state that way. Not sure though.

<3 your app by the way.

Feature request: news flow

Is your feature request related to a problem? Please describe.
This feature request does not represent a problem at all.

Describe the solution you'd like
I have 7 news sources listed in one stack. When I open the home screen, I can read the news grouped by each source. I stopped using any news provided by Google but it had one great feature - the news were listed as published, sorted by the date and time with just a small icon in the corner representing the source of the news. It was actually very comfortable browsing the news regardless of the source.

Describe alternatives you've considered
There is none.

Additional context
None

Tap and hold to preview

When in the mosaic view, user should be able to tap and hold an article to preview (view the full title in case it's cut, bigger image and snippet of content)

  • Investigate the possibility of adding actions (instagram-like preview)
  • Close preview when finger is lifted.

Project Maintenance

Is this project still maintained? Last commit was last year in May. ๐Ÿค”

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.