···200200We need a generalized system for feeds and time-series data.
201201It might be two different systems, based on analysis of the use-cases.
202202It might be a new system + the items system we already have, and using metadata.
203203+The use-cases below cover a variety of feed-like needs.
203204204205Use-case: Querying web pages for time-series data
206206+- Pattern: checking urls, collecting web data over time
205207- Eg a bank account balance, stock price, weather report
206208- Periodically load a web page in background hiddent window, and run a content script against it, returning a value and writing it to datastore (and metadata like page url, created/updated, custom metadata)
207209- Have a widget that shows latest value and its age
208210- Have a widget that shows graph of values over time
209211210212Use-case: Checking web page for ticket availability
213213+- Pattern: checking urls for a one-time trigger
211214- Want to know when tickets go on sale for an event
212215- Periodically load a page in background, and run a content script against it
213216- Notify user when page change matched some criteria
214217215218Use-case: Pull data from external systems
219219+- Pattern: harvesting 3rd party content feeds
216220- Eg RSS feeds or importing my posts/etc from other accounts - plays on Soundcloud, or thumbs-ups on Youtube, etc
217221- Imagine an extension which walks you through Oauth login for various systems, and then pulls their data into Peek via the system's API. Could be URLs with custom metadata (like Soundcloud plays) or non-URL data (like sports scores)
218222- Or someone could implement a feed reader extension focused on RSS reading
219223220224Use-case: System metrics
225225+- Pattern: aggregating system metadata
221226- We need to be able to log and reflect all kinds of system information
222227- See the "Metadata, QS and reflection" section in this document for examples
223228- Other examples: datastore size-on-disk, ongoing performance and resource usage data
224229- Surface these in diagnostic panels, widgets, HUDs, etc
225230226226-- [ ] API for logging outputs to datastore (time series data, feeds)
227227-228228-uses
229229-- [ ] tag streaks -> atproto streaks (feeds + daytum)
231231+Use-case: Tag streaks, group change feeds
232232+- Pattern: aggregating sysetm user data
233233+- tag streaks - eg one day you add tags "pushups, 10", next day "pushups, 20", then be able to query feed data for number of days in a row, max pushups, graph of pushups over time, longest streak, etc
234234+- show in widgets
235235+- push individual records or any rollup as an atproto record to get social streaking
230236231237## Entity centrism (NER streams)
232238