indieweb / microsub

For tracking issues on the Microsub specification
24 stars 1 forks source link

Proposal: channel method to include all sources #44

Open swentel opened 4 years ago

swentel commented 4 years ago

Request: ?action=channels&method=tree

The response includes all sources in a channel, order is defined by the server.

Response:

{
  "channels": [
    {
      "uid": "31eccfe322d6c48c50dea2c84efc74ff",
      "name": "IndieWeb",
      "unread": 9,
      "sources": [
        {
          "uid": "sourceId1",
          "url": "https://source.url",
          "name": "Source name",
          "unread": 3, 
          "last_update": "2020-05-11T17:00:00",
          "total": 23,
        },
        {
          "uid": "sourceId2",
          "url": "https://source-2.url",
          "name": "Source name 2",
          "unread": 6, 
          "last_update": "2020-05-11T17:00:00"
          "total": 12,
        }
      ],
    }
  ]
}

Use cases:

This came out of suggestions of people who are currently testing the Indigenous desktop application and are coming from Feedly. As far as they are concerned, that is a very handy feature (yet, not blocking). Example screenshot at https://s5.feedly.com/images/fx/landing/source-browser-empty-v2@2x.png

Properties of sources:

Last update and total can be calculated in the Drupal Microsub server.

swentel commented 4 years ago

Added this to the Drupal Microsub server. It doesn't include 'total' yet as I'm not sure myself how useful it is. Now on to Indigenous.

swentel commented 4 years ago

Available now in indigenous - the start screen is able to hide unread channels/sources. The user can decide to list the sources and directly click on it to view items in that source alone.

Screenshot_20200613-142332_Indigenous

aaronpk commented 3 years ago
capjamesg commented 3 years ago

I am planning to implement a feature on my Microsub server that supports reading from all feeds at once.

This is something I have felt lacking in Microsub so far, coming from feed readers and social networks where all of my content is aggregated for me.

While segmenting posts by topic is helpful if you want to browse content my topic, one of the main features in social feeds is being able to see all content in chronological order.

I'll experiment and report back on my implementation. In the interim, have there been more discussions about this topic since the last comment on this ticket?

capjamesg commented 3 years ago

I have implemented a channel=all exception that returns all timeline items stored on my server.

I think tree might be appropriate for nesting categories -- a feature I have seen in RSS readers. But I get an "all" reserved name was easier to implement and met my needs.

I am open to exploring new ways of aggregating the content of channels and would love feedback on a channel=all concept.