add initial goals documentation #1

Merged
patrik merged 8 commits from goals into main 2025-12-01 13:48:39 +01:00
Owner

#2

#2
patrik added 1 commit 2025-10-14 21:12:44 +02:00
Signed-off-by: Patrik Fodor <fodor.patrik.2000@gmail.com>
requested reviews from blint, marcsello 2025-10-14 21:13:02 +02:00
marcsello reviewed 2025-10-14 21:18:10 +02:00
goals.md Outdated
@ -0,0 +4,4 @@
- **Caching & Performance:**
- Use cached segments for seamless seeking and fast resume.
- If another user starts playback with the same parameters, reuse existing cached data to minimize transcoding and bandwidth usage.
- Includes CDN capabilities and P2P federation by Blint.
Owner

I think CDN deserves it's own section here. I personally have a few ideas for it.

I think CDN deserves it's own section here. I personally have a few ideas for it.
marcsello marked this conversation as resolved
marcsello reviewed 2025-10-14 21:18:54 +02:00
goals.md Outdated
@ -0,0 +16,4 @@
- Native Clients: Desktop (Windows, Linux, MacOS), Mobile (Android, iOS), TV (Android TV, Apple TV, WebOS, Roku, Someone could create one for Xbox)
- Multiuser Support in clients: You are able to login with multiple users and change between them.
- **Offline Access:**
- Clients can batch-download content for offline playback, respecting user permissions and device limits.
Owner

What are device limits exactly?

What are device limits exactly?
Author
Owner

Just too much copying and pasting. It should not be there.

Just too much copying and pasting. It should not be there.
Author
Owner

Removed

Removed
marcsello marked this conversation as resolved
marcsello reviewed 2025-10-14 21:20:08 +02:00
goals.md Outdated
@ -0,0 +45,4 @@
- **Multi-Format Detection:** Detect multiple versions (e.g., 1080p, 4K, HDR) of the same media and show them in a unified view.
- **IPTV / Live TV:** Stream and manage live channels alongside on-demand content.
## Architecture
Owner

I would add "Resiliency" as in. "Temporary outage in one service should not affect/disrupt the viewing experience" or something similar along the lines

I would add "Resiliency" as in. "Temporary outage in one service should not affect/disrupt the viewing experience" or something similar along the lines
Author
Owner

Added

Added
marcsello marked this conversation as resolved
patrik added 1 commit 2025-10-14 22:10:44 +02:00
Signed-off-by: Patrik Fodor <fodor.patrik.2000@gmail.com>
blint added 1 commit 2025-10-16 09:15:25 +02:00
Added a detailed specification for CDN functionality, including:
- Lightweight CDN node concept (simple executable for users)
- Secure connectivity using pre-shared keys
- Dynamic registration with main metadata server and DNS assignment
- Content awareness, replication, and streaming fallback
- Peer-to-peer (P2P) sharing for distributed content transfer
- Federation and collaboration between CDNs
- Future idea: predictive caching based on user activity

This formalizes the CDN architecture for Walros, supporting distributed caching,
federation, and smarter prefetching mechanisms."
blint force-pushed goals from 6009407c99 to 41fb1e5b55 2025-10-16 09:16:21 +02:00 Compare
Owner

added CDN functionality, @patrik @marcsello please take a look 👀

added CDN functionality, @patrik @marcsello please take a look 👀
patrik reviewed 2025-10-16 09:43:01 +02:00
goals.md Outdated
@ -0,0 +36,4 @@
- Multiple CDNs can share content and metadata within a trusted federation network.
- The system can automatically balance or replicate popular content across CDNs to optimize bandwidth usage and ensure availability.
- **Future Idea - Predictive Caching:**
Author
Owner

This part should be moved to the later section @blint .

This part should be moved to the later section @blint .
patrik marked this conversation as resolved
patrik added 2 commits 2025-10-16 10:01:25 +02:00
- Change "series" to "TV show" to make it clearer
- Move CDN future goal to the Later section

Signed-off-by: Patrik Fodor <fodor.patrik.2000@gmail.com>
Signed-off-by: Patrik Fodor <fodor.patrik.2000@gmail.com>
patrik force-pushed goals from 5106ae1a9a to beecae7c09 2025-10-16 10:03:46 +02:00 Compare
patrik added this to the Walros Development project 2025-10-16 10:04:55 +02:00
patrik removed this from the Walros Development project 2025-10-16 10:05:08 +02:00
marcsello reviewed 2025-10-17 11:20:51 +02:00
@ -0,0 +30,4 @@
- **Peer-to-Peer (P2P) Sharing:**
- CDNs and the main server interconnect via **P2P protocols** to simplify file transfer and reduce reliance on centralized infrastructure.
- This enables faster, bandwidth-efficient distribution of popular content between geographically distributed CDNs.
Owner

This is not a goal, this is an explanation.

This is not a goal, this is an explanation.
blint marked this conversation as resolved
marcsello reviewed 2025-10-17 11:22:14 +02:00
goals.md Outdated
@ -0,0 +14,4 @@
- **Secure Connectivity:**
- Each CDN connects to the **main metadata server** using a **pre-shared key** for authentication and trust establishment.
- This ensures only authorized CDNs can register and exchange data with the main network.
Owner

This isn't a goal, that's an explanation.

This isn't a goal, that's an explanation.
blint marked this conversation as resolved
marcsello reviewed 2025-10-17 11:25:16 +02:00
goals.md Outdated
@ -0,0 +33,4 @@
- This enables faster, bandwidth-efficient distribution of popular content between geographically distributed CDNs.
- **Federation & Collaboration:**
- Multiple CDNs can share content and metadata within a trusted federation network.
Owner

What does a "trusted federation network" mean in this context?

What does a "trusted federation network" mean in this context?
Owner

a connection between the instances via VPN

a connection between the instances via VPN
Owner

I think we should write that instead. To me it's more exact and therefore easier to understand.

I think we should write that instead. To me it's more exact and therefore easier to understand.
blint marked this conversation as resolved
marcsello added 1 commit 2025-10-17 12:03:58 +02:00
marcsello reviewed 2025-10-17 12:04:56 +02:00
goals.md Outdated
@ -0,0 +28,4 @@
1. **Request content replication:** Copy or prefetch the content from another CDN or the main server.
2. **Stream fallback:** Stream the content directly from the main server or the nearest available CDN.
- **Peer-to-Peer (P2P) Sharing:**
Owner

I think this would be better in the "Nice to have/later" part. Sounds a bit complex to be a core feature. (especially if you want to pack all this up to a single binary)

I think this would be better in the "Nice to have/later" part. Sounds a bit complex to be a core feature. (especially if you want to pack all this up to a single binary)
blint marked this conversation as resolved
marcsello reviewed 2025-10-17 12:10:12 +02:00
@ -0,0 +4,4 @@
- **Caching & Performance:**
- Use cached segments for seamless seeking and fast resume.
- If another user starts playback with the same parameters, reuse existing cached data to minimize transcoding and bandwidth usage.
- **CDN Capabilities and P2P Federation**
Owner

I think it might worth including that what content does exactly a CDN node deliver? For starters I think serving only "media" would be good.

I think it might worth including that what content does exactly a CDN node deliver? For starters I think serving only "media" would be good.
blint marked this conversation as resolved
marcsello added 1 commit 2025-10-19 22:36:04 +02:00
blint added 1 commit 2025-11-27 16:17:41 +01:00
blint approved these changes 2025-11-27 16:18:11 +01:00
blint left a comment
Owner

/lgtm

/lgtm
marcsello approved these changes 2025-11-29 12:01:25 +01:00
Owner

@patrik wanna take a look?

@patrik wanna take a look?
Author
Owner

Lgtm
I can't approve my own PR @blint

Lgtm I can't approve my own PR @blint
patrik merged commit 985c2112af into main 2025-12-01 13:48:39 +01:00
patrik deleted branch goals 2025-12-01 13:48:55 +01:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Walros-Dev/ConceptDocs#1
No description provided.