Hi everyone!
After being silent for quite some time considering SteemWatch, the notification center for Steem, I am coming back with some relatively fresh blood and ideas :-) I have a regular job right now, but I am occasionally thinking about where to take SteemWatch next. And it occurred to me that it would make sense to consult you, the community!
Ideas
Let's begin with some practical things. But no worries, we will get to the cool stuff as well.
The Invisible: Scalability, Robustness and Flexibility
SteemWatch is a single Go executable right now, although not entirely monolithic. I would like to split the executable into multiple components (executables) so that there is always just a single component taking care of particular concern. For example, there could be a receiver processing incoming blocks, turning them into events and putting these into Kafka, NATS Steaming or whatever. Then any other component could easily plug into the block/event stream later on.
I am also pretty sure that some of you experienced https://steemwatch.com being down just because the block processor component had some issues. Splitting the functionality into multiple executables would also prevent this from happening, although I am probably at fault here since it is definitely possible to make things better even without splitting SW into multiple executables.
Decoupling Event Matching from Notification Dispatching
Right now there is a single page where you specify the events you are interested in. When any matching event occurs, it is passed to all notifiers configured for your account (e.g. Slack, Steemit Chat and what not). This is rather simple and clear, but not particularly flexible.
I think that it would be nice to be able to create a filter, or event matcher, that could match any number of events, and then assign these matchers to particular notifiers. This would make it possible to e.g. send money transactions-related events via SMS (not that SteemWatch supports that right now) while keeping articles-related events in your email (not that SteemWatch supports that right now either).
It would be obviously possible to assign one particular matcher to multiple notifiers.
Stats & Analytics
When dispatching events, SteemWatch could wrap content links so that a SteemWatch endpoint is visited when the link is clicked. This would make it possible to collect anonymous data regarding the number of people clicking an article via SteemWatch.
The seconds part would be an interface to browse the statistics for your articles or basically any article/content on Steem.
Post Promotion
Let's say you want to promote an article. What about telling SteemWatch to just send it to people using the available notifiers? Well, that could be annoying for the people listening on the other end. Not everybody wants to be spammed.
But wait, there could be some advantage to it. Let's say you could enable or disable receiving post promotions for your account and you would receive free credit for sending post promotions via SteemWatch yourself when enabled. What do you say now?
There is a lot to think about, this is just an idea. The promoted posts could be only sent to people that would seem to be interested and the probability would be high that they would actually click the link.
Your Ideas
Now it is your time. Feel free to use comments!
Disclaimer
This post is not a promise of anything, we are just brainstorming here!
I've really enjoyed this service. Much better than steemit.com notifications because of the flexibility it provides, such as blacklisting certain users.
One thing that has been driving me nuts though, which I hope can be resolved in the future, is how each edit of a post/comment triggers notifications as if it is a new post/comment.
It would be great if I could configure it so that I only get notified of a new reply comment, not every time the user submits an edit to their comment.
And in particular this has gotten annoying with mentions. I often have around 3 or 4 notifications in a short span of time from the same post/user that mentioned me in their post because they, understandably, are fixing minor errors (I also often make quick typo corrections that I only notice after submitting and I would hate to annoy any users I mention in the post with excessive notifications).
For both of these issues, it would require the service to check the user and permlink of a
comment_operation
to see if it already exists in the database. For reply comments, the logic is pretty simple: if it already exists, this is an edit, so do not notify again. For mentions, I think a more sophisticated rule would be needed. If thecomment_operation
is a new post/comment then the mention notification logic would be as it currently is. But if it is an edit, the service would have to grab thejson_metadata
of the existing post/comment (prior to the edit being applied), extract the array of theusers
field, and then diff that with theusers
field of thejson_metadata
of the editcomment_operation
. Only the newly added users, if any, would be mentioned. This way editing a post to correct some typos and not to add new mentions doesn't trigger new mention notifications, but editing a post to mention someone new still would notify just that new user.Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Yeah, people have been complaining about this. The question is whether I need to keep a separate database with some metadata to be able to do this or there are calls to Steem API I can use to implement this without keeping a separate context stored somewhere...
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi @void,
I've just started using SteemWatch and I think this is the only solution to stay fully updated!
The best part that now I know who is started to follow me. I get instant notification, no need to wait for steemdb.com to refresh.
I got excited when I read:
Are you talking about statistics collected when people clicking an article via SteemWatch (your planned data collection) or can you extract statistics from blockchain?
My new feature suggestion would be that I would like to be able to get notifications when there is new post on my feed, without the need to subscribe all of my followed authors' "story published" notifications one-by-one.
Thanks for making this app, really a big help!
Even, if you wouldn't change anything, this is already awesome:)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi @neander-squirrel,
Glad you like SteemWatch :-)
Yeah, I am talking about statistics collected as people click links generated by SteemWatch. There is no somple way to collect statistics from steemit.com if you are not steemit.com.
I think that I have an issue created on GitHub that is about integration with the Follow button, so yeah, I would like to eventually be able to reproduce what happens on steemit.com feed.
Thanks for a constructive response :-)
Cheers!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
LOL the SSL certificate for https://steemwatch.com has just expired, what a nightmare. I will renew it ASAP.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
New SSL cert is in place, https://steemwatch.com is working again :-)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
steemwatch is down @void please restart your webserver if possible, i appreciate it! :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Please use https://steemit.chat to let me know next time. You can find me there as @void.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
All that you do is excellent.
I have a question for you.
Do you plan to further develop the project [go-steem / rpc]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @asuleymanov,
Glad you like the service. Considering
go-steem/rpc
I usually add only what I need personally. I am expecting others to send pull request to fill in what is missing in case they need it. Is there anything in particular that you are talking about?Considering the package in general I may end up doing some cleanup when developing SteemWatch further. I am expecting people to vendor the package so if I feel strongly that the interface could be cleaner, I will change it.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Where can I ask you a question about the package?
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey I am looking for a guide to get steem watch to work and I cannot find anything. I have no coding experience or any of this nor I do not know where the JSON data is or where the steem slack group is.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Right. In
Notifications
you need to enable one of the notifiers. Then you can set up the event filter inEvents
and you will start getting events that they occur. But true, there is no documentation as of now.Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I also like to be rich
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi! thanks for the great job. Telegram notifications would be a great addition.
Btw I am now getting empty notifications in steemit.chat.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I have a feeling there is already an issue created for that. Can't tell you exactly when that is implemented: https://github.com/tchap/steemwatch/issues/11
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hellooooooo my friend
excellent
i voted
my voted tnx ❤️❤️❤️
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
People should use SteemWatch more. I was expecting more excitement. Or it is already so good that people don't feel like it needs improving :D
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit