icdevs / ICEventsWG

WG for developing an Event System(pub/sub) on the Internet Computer
3 stars 1 forks source link

Should we allow range filters on the namespace level? #24

Closed skilesare closed 1 month ago

skilesare commented 2 months ago

ie:

"com.sys.event.*" etc.

Content Filters vs. Topic Filters?

ava-vs commented 2 months ago

The namespace concept should be intuitive and easy to use. Adding wildcards can be the key to making this concept easier for users. A well-designed namespace system should be intuitive and user-friendly, making it easy for users to navigate and understand.

The combination of namespaces with wildcards and filters offers flexibility and power for subscription systems, allowing users to fine-tune event monitoring with high precision and adaptability to changing conditions. This approach is particularly useful in dynamic information spaces.

Note that users will be creating a subscription to a future publication, so the namespace of the subscription will be set BEFORE the namespace of the publication is known.

Let's consider some examples of applying this strategy:

Example 1: Targeted subscription for coding rewards Subscribing to any future events related to rewards for writing code, using the namespace rewards.* and filters by programming languages, e.g., language: [Java, Python, JavaScript, C#, Ruby].

Example 2: Comprehensive subscription for social media marketing webinars Subscribing to all webinars on social media marketing, using the namespace webinars.social_media_marketing and filters by platforms and speakers, e.g., platform: [Facebook, Instagram, TikTok], speaker: ["John Doe", "Jane Smith"].

Example 3: Seasonal subscription for regional sports tournaments Subscribing to sports tournaments in a specific region during the summer season, using the namespace .tournament. or .sports. and filters by location, time, and sport type, e.g., location: "New York", date: ["2023-06-01" TO "2023-08-31"], sport: [football, basketball].

Example 4: Adaptive subscription for stock market news and analytics Subscribing to stock market news and analytics with the ability to suspend, expand, or narrow down based on certain criteria. For example, suspending during vacation with a filter date: ["2023-07-01" TO "2023-07-31"], expanding during high market volatility with the namespace stock_market., market_volatility. and filter VIX: [30 TO ], or narrowing down to key assets in the portfolio with the namespace stock_market.portfolio_companies. and filter company: ["Apple Inc.", "Tesla Inc.", "Amazon.com Inc."].

Using a combination of namespaces with wildcards and dynamic filters offers the user of the subscription system both accuracy in tracking events and flexibility to adapt to changing conditions and interests, making this approach ideal for complex information ecosystems. This approach not only benefits individual users but also enables businesses and organizations to efficiently disseminate information and engage with their target audience.

I believe this concept will allow us to later use the implementation of the standard to handle not only subscriptions, but also some intents with tag clouds, dynamic filters, and complex namespaces.

ava-vs commented 1 month ago

Short summary:

skilesare commented 1 month ago

Vote: https://github.com/icdevs/ICEventsWG/issues/33