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
Signed-off-by: Patrik Fodor <fodor.patrik.2000@gmail.com>
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
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
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
Signed-off-by: Patrik Fodor <fodor.patrik.2000@gmail.com>
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."
Owner

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

added CDN functionality, @patrik @marcsello please take a look 👀
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
- 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 removed this from the Walros Development project 2025-10-16 10:05:08 +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
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
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
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
@ -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
blint approved these changes 2025-11-27 16:18:11 +01:00
blint left a comment

/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.