-
Notifications
You must be signed in to change notification settings - Fork 88
Citygram Dataset Best Practices
So you'd like to get your data distributed via Citygram. That's great news! Here's some more detailed information about the sort of datasets that Citygram can manage.
From our Getting Started page:
The geojson we created is Citygram-compliant with the following fields: An 'id' field at the top-level of the feature that is unique to the event. This exists to prevent duplication. A 'title' property that merges fields to create a message to send out as the notification.
So, the minimum requirements are easily stated. You must publish valid GeoJSON with each Feature
element id
and title
attributes. Citygram can operate with as little as this.
Citygram is designed to deliver timely notifications relevant to specific locations. If your dataset changes rarely (e.g. roads, data intended to be published only once, etc.) it might not be a great fit for Citygram. Citygram is able to react to "the pace of Government" with perhaps weeks or months worth of data becoming available at once. But a commitment to updating the data regularly will be most pleasing to your citizens and our users.
311 requests, police information, planned and accidental road closures, business and land licensure information are all great candidates for data sets.
Citygram the technology has no preference, but this is likely to lead to the least probability of omitting data on behalf of the producer. Citygram will process whatever it is served.
Do you have any limit / offset type of parameters that you use in your requests to paginate data? Or do you just want it all in one response.
Limits are common, offsets are less so. You can browse the examples for common practices. Citygram expects those providing the service to understand the dataset best. For example, if Seattle experiences more than 100 911 fire calls in 10 minutes, Citygram may not distribute those. Citygram operators currently make no claims regarding quality of service, so we'll accept services that are offered on their face.
For its initial load, in particular, it's helpful for Citygram to have at least two weeks of back data, as that data is shown to prospective subscribers so that they might judge how active their subscription will be ahead of time. This can be done by either providing all the data and depending on Citygram to dedupe, or by providing a smaller dataset, and having Citygram process the data without making the dataset available to the public to subscribe. Let your operator know which of these approaches suit you best as you prepare to go-live.
If you are able to arrange for a "Next-Page" header to be provided in your response, Citygram will follow that header up to ten times.
We believe allowing citizens to choose which data streams to receive is the optimal experience. For this reason, the datasets should specialize in a single type of event. We are happy to bring many datasets online, whenever they are available, and over any sort of timeline.