Closed TylerMatteo closed 1 month ago
This Issue is a research spike to evaluate Knock as the notification vendor to use for the ZAP Listserv project.
Document pricing model for vendor at various service tiers
https://knock.app/pricing | Plan | Developer | Starter | Enterprise |
---|---|---|---|---|
Price | Free | $250/mo | Contact us | |
Notifications | 10k/mo | 50k/mo, $5 per 1k additional | Volume based |
It says here that you need a paid addon for SendGrid.
High-level user stories for the project can be found in Figma here.
In addition to the user stories, here are some specific questions to answer in your research:
How does this product allow users to sign up for notifications about some events but not others? We want to give users the option to sign up for updates on projects in any combination of community districts and/or citywide. What feature from the vendor supports this use case? Seems like you can do it based upon anything you want in this regard, but you'll have to build the sign up functionality yourself.
Does the vendor support SMS (texting) as well as email? Yes.**
Does it automatically support sending users confirmation emails before actually subscribing them or is that something we would have to implement ourselves? We would need to implement everything ourselves.
Does the product have the concept of a staging (aka "test" or "dev") environment baked in? If not, how would we accomplish that? It supports multiple environments, and has a git-like version control system
How does the vendor allow users to unsubscribe from notifications? Does it give users a web page they can visit to manage their subscriptions or only simple "unsubscribe" links in the individual emails? Neither, would all need to be built
What analytics/observability features does the product offer? Does it show us how often our notifications are actually being open and read? Yes, it has built-in analytics
How does templating for emails work? Does the product offer a built-in template builder? Does it allow us to format the emails in code, such as with a templating language like Handlebars?
Does the product support "batching" or "digests"? We may want to send notifications to their API in real time but have the notifications be aggregated and sent to users on a set schedule, such as daily. https://docs.knock.app/designing-workflows/batch-function Batching appears to be by user, as part of a workflow.
We may want to let users subscribe to get notifications on a different schedules. For example, a user could get an email either daily or weekly with all of the notifications since the last email. Does the product support that out of the box? Partially - the batching allows for setting whatever time frame you want for each user. It appears the way the batching works is that as part of the user's workflow, you trigger a start time and it will collect all of the events you send for a specific period of time, before moving to the next step in the workflow. It seems that events that occur before that window started will be lost to that user, so any notifications between the start of the day/week/month and when the user signs up will not be included. I have no idea how it would handle changing the interval length, which could also be an issue.
What security/compliance accreditations does the vendor have? Such as:
The engineer taking this on is encouraged to create a free account with the vendor if a free tier is offered and play around. You're also encouraged to reach out to the vendor to schedule a demo. Please CC @TylerMatteo on all comms with vendors.
The developer taking this on should document answers to these questions as well as their overall impression of the vendor. Documentation can be put in comments to this Issue or a GH Discussion to be linked to in a comment below.
AE will be presenting this research at Technical Design Review on 8/26. @TylerMatteo will follow up with details on how to incorporate research into the slide deck mid-sprint.
Overall thoughts: I don't think this is an appropriate platform for this project.
It is an extremely robust, flexible platform designed for managing user-specific notifications across multiple platforms. It's really designed to deliver personalized notifications in mobile apps based upon users' individual actions. It's not really designed for sending a newsletter-digest of "global" (non-user) events.
It does not have the built-in features that we are looking for, so it wouldn't be providing much out of the box aside from a NoSQL database. Because of the depth of features, there seems to be a pretty steep learning curve, which would make it hard to manage.
This Issue is a research spike to evaluate Knock as the notification vendor to use for the ZAP Listserv project.
Goals
High-level user stories for the project can be found in Figma here.
Research questions
In addition to the user stories, here are some specific questions to answer in your research:
Notes
The engineer taking this on is encouraged to create a free account with the vendor if a free tier is offered and play around. You're also encouraged to reach out to the vendor to schedule a demo. Please CC @TylerMatteo on all comms with vendors.
Deliverables
The developer taking this on should document answers to these questions as well as their overall impression of the vendor. Documentation can be put in comments to this Issue or a GH Discussion to be linked to in a comment below.
AE will be presenting this research at Technical Design Review on 8/26. @TylerMatteo will follow up with details on how to incorporate research into the slide deck mid-sprint.