I pushed an update to Aperture which allows you to toggle per-channel whether read state tracking is enabled. There are two modes, one where it returns the count of the number of unread items, and the other where it returns only true or false depending on whether there are new items.

For my super busy feeds, it wasn't useful having the counts, but I do like a subtle indicator there are new posts.
There are also some channels I don't want to be bothered about at all, so I've disabled read state tracking on those.
This means the Microsub API is now returning either an integer or a boolean for the unread property on channels, e.g.:
{
"channels": [
{
"uid": "notifications",
"name": "Notifications",
"unread": 0
},
{
"uid": "31eccfe322d6c48c50dea2c84efc74ff",
"name": "IndieWeb"
"unread": true
}
]
}
This has been bugging me as well. I have Instagram as a channel, and there are almost always new photos there, so the unread count is pretty much meaningless.
I was also thinking of a third option which is to only track whether or not there are new posts, not the number of new posts. This could show up in the API as unread: true rather than unread: 24.
I’m not sure why but I genuinely love this Windows 95 style interface for Instagram coded up by Gabrielle Wee.
Can you provide examples of what you're finding that is not normalized?
Microsub is not "merely delivering the content from other locations". Microsub is in fact specifically already doing a lot of normalization of the content it finds, producing a feed that is much more standardized than what it discovered when crawling the feeds, even to the point of making vocabulary-specific decisions about some values.
