Thread overview
January 10
Hello!
On the page https://dlang.org/ we have small frame with last forum entries. And there is RSS link:
https://forum.dlang.org/feed/threads/digitalmars.D.announce
But sadly it does not work.

Best regards!
Energo Koder
January 10
On Sunday, 10 January 2021 at 14:48:05 UTC, Energo Koder wrote:
> Hello!
> On the page https://dlang.org/ we have small frame with last forum entries. And there is RSS link:
> https://forum.dlang.org/feed/threads/digitalmars.D.announce
> But sadly it does not work.

Hi,

It seems to be working properly. Note that by default it returns entries in the past 24 hours (with the logic being that a RSS client should check the feed at least once a day), and there have been no new threads on the announce group in the last day.

Compare with:

- latest threads on General (currently 2):
  https://forum.dlang.org/feed/threads/digitalmars.D

- latest posts on Announce (currently 2):
  https://forum.dlang.org/feed/posts/digitalmars.D.announce

- latest threads on Announce, going back 3 days (currently 1):
  https://forum.dlang.org/feed/threads/digitalmars.D.announce?hours=72

January 11
On Sunday, 10 January 2021 at 17:59:22 UTC, Vladimir Panteleev wrote:
> Note that by default it returns entries in the past 24 hours (with the logic being that a RSS client should check the feed at least once a day),

On e.g. Android if you don't open your RSS reader then it may be hibernated until you do. You will miss everything from previous days.
January 12
On Monday, 11 January 2021 at 10:54:55 UTC, Nick Treleaven wrote:
> On Sunday, 10 January 2021 at 17:59:22 UTC, Vladimir Panteleev wrote:
>> Note that by default it returns entries in the past 24 hours (with the logic being that a RSS client should check the feed at least once a day),
>
> On e.g. Android if you don't open your RSS reader then it may be hibernated until you do. You will miss everything from previous days.

Some (most?) RSS feeds use a "last N posts" culling policy, where N is some fixed number such as 10. The problem with this approach is that, should there be more than N new posts between two regular checks, then clients will miss those posts. The worst part is that there is nothing that clients can do to avoid missing posts in this circumstance - they would need a crystal ball to predict sudden spikes of activity.

This is why I chose to use the "posts within N hours" policy for DFeed. To avoid missing posts, a client only needs to ensure that it checks the feed in at most N hours intervals. This setting should be readily configurable in RSS/Atom clients. For example, here is the relevant UI in Thunderbird:

https://dump.cy.md/c085bd98c245f7ee0974568637838f1f/04%3A42%3A49-upload.png

On Android, apps can request from the operating system to be woken up at regular intervals. This does not require that the app is running in the traditional sense at the time (i.e. loaded in memory), or even that the device is not in some low-power mode. See e.g. the documentation of android.app.AlarmManager.

One potential improvement is to implement pagination as per RFC 5005, but I would like to defer this until we know that it is also implemented with effect in a feed consuming application in use by a forum.dlang.org user.

January 12
On Tuesday, 12 January 2021 at 04:54:37 UTC, Vladimir Panteleev wrote:
>
> Some (most?) RSS feeds use a "last N posts" culling policy, where N is some fixed number such as 10. The problem with this approach is that, should there be more than N new posts between two regular checks, then clients will miss those posts.

Yes, but at least they will see that there have been new posts and can check the forum to find the rest. Otherwise they see no new posts just because the last day has been silent.

About Android waking up the reader - what if the device is off or doesn't have connectivity on a certain day?


January 12
On Tuesday, 12 January 2021 at 15:34:42 UTC, Nick Treleaven wrote:
> On Tuesday, 12 January 2021 at 04:54:37 UTC, Vladimir Panteleev wrote:
>>
>> Some (most?) RSS feeds use a "last N posts" culling policy, where N is some fixed number such as 10. The problem with this approach is that, should there be more than N new posts between two regular checks, then clients will miss those posts.
>
> Yes, but at least they will see that there have been new posts and can check the forum to find the rest.

That's making a few assumptions there. The user would have to do that every single time to ensure they don't miss posts, or assume that the server always returns the last N posts and thus carefully count the number of new posts that arrive in one batch.

> Otherwise they see no new posts just because the last day has been silent.
>
> About Android waking up the reader - what if the device is off or doesn't have connectivity on a certain day?

I would imagine the answer to be one of:

- implementing RFC 5005 (on both sides)

- the user is not fulfilling their side of the assumptions which the feed "protocol" is based upon, and therefore cannot expect to observe an uninterrupted feed

- the user is putting too much faith on a vanishing standard which was never designed to work in a pub/sub fashion, as it does not have the necessary "all entries since <timestamp>" (or similar) operation as part of the protocol.

:)
January 12
On Tuesday, 12 January 2021 at 15:34:42 UTC, Nick Treleaven wrote:
> About Android waking up the reader - what if the device is off or doesn't have connectivity on a certain day?

As a practical solution, I would recommend subscribing to the feed using an always-on device or Internet service. I heard Google Reader is pretty good <g>