Skip to content

Commit a0d435e

Browse files
authored
Merge pull request #17 from pubky/new/UI
new UI WIP
2 parents 780cbe1 + 2b5ab82 commit a0d435e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+370
-196
lines changed

.obsidian/workspace.json

+57-46
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,22 @@
1313
"state": {
1414
"type": "image",
1515
"state": {
16-
"file": "images/pubky-arch.png"
16+
"file": "Explore/images/pubky-arch.png"
17+
}
18+
}
19+
},
20+
{
21+
"id": "697b4658292e14ce",
22+
"type": "leaf",
23+
"state": {
24+
"type": "release-notes",
25+
"state": {
26+
"currentVersion": "1.6.7"
1727
}
1828
}
1929
}
20-
]
30+
],
31+
"currentTab": 1
2132
}
2233
],
2334
"direction": "vertical"
@@ -83,7 +94,7 @@
8394
"state": {
8495
"type": "backlink",
8596
"state": {
86-
"file": "images/pubky-arch.png",
97+
"file": "Explore/images/pubky-arch.png",
8798
"collapseAll": false,
8899
"extraContext": false,
89100
"sortOrder": "alphabetical",
@@ -100,7 +111,7 @@
100111
"state": {
101112
"type": "outgoing-link",
102113
"state": {
103-
"file": "images/pubky-arch.png",
114+
"file": "Explore/images/pubky-arch.png",
104115
"linksCollapsed": false,
105116
"unlinkedCollapsed": true
106117
}
@@ -123,7 +134,7 @@
123134
"state": {
124135
"type": "outline",
125136
"state": {
126-
"file": "images/pubky-arch.png"
137+
"file": "Explore/images/pubky-arch.png"
127138
}
128139
}
129140
}
@@ -147,51 +158,51 @@
147158
},
148159
"active": "75a1317f66991245",
149160
"lastOpenFiles": [
150-
"images/pubky-core.png_original",
151-
"images/pubky-core.png_exiftool_tmp",
152-
"images/pubky-backend.png_exiftool_tmp",
153-
"images/pubky-arch.png_original",
154-
"images/pubky-arch.png_exiftool_tmp",
155-
"images/pubky-app.png_exiftool_tmp",
156-
"images/pubky-header.png",
157-
"images/pubky-core.png",
158-
"images/pubky-backend.png",
159-
"images/pubky-arch.png",
160-
"images/pubky-app.png",
161-
"images/client-homeserver.png",
162-
"Technologies/DNS.md",
163-
"Concepts/Credible Exit.md",
164-
"The vision of Pubky.md",
165-
"Pubky App/Introduction.md",
166-
"Pubky Core/Introduction.md",
167-
"index.md",
168-
"Pubky Core/Homeservers.md",
169-
"Pubky Core/Pkarr/ELI5.md",
170-
"Technologies/DoH.md",
171-
"Pubky Core/Pkarr/4.Architecture.md",
172-
"Pubky Core/Pkarr/3.Expectations.md",
173-
"Pubky Core/Pkarr/1.Why PKARR?.md",
174-
"Pubky Core/Pkarr/2.Getting Started with PKARR.md",
175-
"Pubky Core/Pkarr/0.Introduction.md",
176161
"quartz/public/404.html",
162+
"quartz/public/Explore/images/mermaid_charts/semantic_social_graph.svg",
163+
"quartz/public/Explore/images/quartz.png",
164+
"quartz/public/Explore/images/pubky-header.png",
165+
"quartz/public/Explore/images/pubky-core.png",
166+
"quartz/public/Explore/images/pubky-backend.png",
167+
"quartz/public/Explore/images/pubky-arch.png",
168+
"quartz/public/Explore/images/pubky-app.png",
169+
"quartz/public/Explore/images/obsidian.png",
170+
"quartz/public/Explore/images/mermaid_charts",
171+
"quartz/public/Explore/images/global_aggregator.png",
172+
"quartz/public/Explore/images/custom_backend.png",
173+
"quartz/public/Explore/images",
177174
"quartz/public/quartz/quartz/plugins/transformers/toc.ts",
178175
"quartz/public/quartz/quartz/plugins/transformers/syntax.ts",
179176
"quartz/public/quartz/quartz/plugins/transformers/oxhugofm.ts",
180177
"quartz/public/quartz/quartz/plugins/transformers/ofm.ts",
181-
"quartz/public/quartz/quartz/static/og-image.png",
182-
"quartz/public/quartz/quartz/static/icon.png",
183-
"quartz/public/images/mermaid_charts/semantic_social_graph.svg",
184-
"quartz/public/images/pubky-header.png",
185-
"Pubky Core/ELI5.md",
186-
"Technologies/DHT.md",
187-
"Pubky App/Backend/Introduction.md",
188-
"Pubky App/Client/Introduction.md",
189-
"Pubky App/Backend/Web Server.md",
190-
"Pubky App/Backend/Indexer.md",
191-
"Pubky App/Backend/Aggregator.md",
192-
"Pubky App/App Architectures/4. Custom Backend.md",
193-
"Pubky App/App Architectures/3. Global Aggregators.md",
194-
"Pubky App/App Architectures/2. Client - Homeserver.md",
195-
"Pubky App/App Architectures/1. Introduction.md"
178+
"quartz/public/quartz/quartz/plugins/transformers/links.ts",
179+
"quartz/public/quartz/quartz/plugins/transformers/linebreaks.ts",
180+
"quartz/public/quartz/quartz/plugins/transformers/latex.ts",
181+
"quartz/public/quartz/quartz/plugins/transformers/lastmod.ts",
182+
"Readme.md",
183+
"Explore/Technologies/DNS.md",
184+
"Explore/Concepts/Credible Exit.md",
185+
"The vision of Pubky.md",
186+
"Explore/Pubky App/Introduction.md",
187+
"Explore/Pubky Core/Introduction.md",
188+
"index.md",
189+
"Explore/Pubky Core/Homeservers.md",
190+
"Explore/Pubky Core/Pkarr/ELI5.md",
191+
"Explore/Technologies/DoH.md",
192+
"Explore/Pubky Core/Pkarr/4.Architecture.md",
193+
"Explore/Pubky Core/Pkarr/3.Expectations.md",
194+
"Pubky Core/Pkarr/1.Why PKARR?.md",
195+
"Pubky Core/Pkarr/2.Getting Started with PKARR.md",
196+
"Explore/Pubky Core/Pkarr/0.Introduction.md",
197+
"Explore/Pubky Core/ELI5.md",
198+
"Explore/Technologies/DHT.md",
199+
"Explore/Pubky App/Backend/Introduction.md",
200+
"Explore/Pubky App/Client/Introduction.md",
201+
"Explore/Pubky App/Backend/Web Server.md",
202+
"Explore/Pubky App/Backend/Indexer.md",
203+
"Explore/Pubky App/Backend/Aggregator.md",
204+
"Explore/Pubky App/App Architectures/4. Custom Backend.md",
205+
"Explore/Pubky App/App Architectures/3. Global Aggregators.md",
206+
"Explore/Pubky App/App Architectures/2. Client - Homeserver.md"
196207
]
197208
}
File renamed without changes.
File renamed without changes.

Concepts/Semantic Social Graph.md Explore/Concepts/Semantic Social Graph.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ In **Pubky**, a decentralized Semantic Social Graph is central to providing a mo
2222

2323
This diagram shows how a Semantic Social Graph works, representing users, content, and tags. Users tag content and peers, which adds context and helps determine how information flows through the network. Relationships are weighted (Pubky weighting features are under development), meaning users can specify trust levels and the strength of connections to further personalize their experience.
2424

25-
![Semantic Social graph](../images/mermaid_charts/semantic_social_graph.svg)
25+
![Semantic Social graph](Explore/images/mermaid_charts/semantic_social_graph.svg)
2626

2727
**Tags and Contextual Meaning**: Pubky allows users to add tags to content and connections, giving them the ability to add context to their relationships. This means users can easily categorize and prioritize content based on what matters to them most.
2828

Concepts/What Is a Decentralized Semantic Social Graph?.md Explore/Concepts/What Is a Decentralized Semantic Social Graph?.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
![Semantic Social graph](../images/mermaid_charts/semantic_social_graph.svg)
2+
![Semantic Social graph](Explore/images/mermaid_charts/semantic_social_graph.svg)
33

44
**Semantic Relationships:** Connections between users and content are tagged with meaningful metadata, capturing the context, relevance, and nature of each relationship.
55
**Weighted Connections:** Relationships aren't just binary; they carry weights that represent their strength, trust level, or relevance, enabling more sophisticated interactions.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Leveraging the [[Explore/Pubky Core/Introduction|Pubky Core]] protocol as the foundational layer, we can envision a diverse array of applications with distinct functionalities. While each app can implement its own unique design patterns and user interfaces, they all share a common underlying architecture: interacting with the distributed data stores, colloquially referred to as [[Homeservers|homeservers]], through standardized read and write operations.
2+
3+
The [[Explore/Pubky Core/Introduction|Pubky Core protocol]] enables a decentralized approach to data management, facilitating seamless communication between clients and their respective data stores. This architecture promotes data sovereignty and enhances system resilience.
4+
5+
Below, we present several high-level designs that showcase the versatility of this architecture, from simple client (browser) apps that interact directly with one or several [[Homeservers|homeservers]] to more complex applications with custom aggregators and backends capable of powerful inference:
6+
7+
- [[2. Client - Homeserver|Client-Homeserver]]
8+
- [[4. Custom Backend|Custom backend]]
9+
- [[3. Global Aggregators|Global aggregators]]

Pubky App/App Architectures/2. Client - Homeserver.md Explore/Pubky App/App Architectures/2. Client - Homeserver.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![[client-homeserver.png]]
1+
![[Explore/images/client-homeserver.png]]
22

33
In this architecture, we implement a direct communication model between the client application and the home server. This approach minimizes latency and reduces system complexity by establishing a direct data flow pathway.
44

Pubky App/App Architectures/3. Global Aggregators.md Explore/Pubky App/App Architectures/3. Global Aggregators.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![[global_aggregator.png]]
1+
![[Explore/images/global_aggregator.png]]
22

33
This architectural pattern implements a distributed system model centered around a global aggregation layer, eliminating the need to fetch data from a multitude (maybe thousands!) of homesevers by the client. The core component of this design is a centralized global aggregator that interfaces with multiple home servers, consuming events from each in a unified manner.
44

Pubky App/App Architectures/4. Custom Backend.md Explore/Pubky App/App Architectures/4. Custom Backend.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![[custom_backend.png]]
1+
![[Explore/images/custom_backend.png]]
22

33
This architectural design introduces a more sophisticated data flow model, incorporating an intermediary backend layer between the client application and the home server. This backend functions as a middleware, enhancing the system's flexibility and data processing capabilities.
44

@@ -16,5 +16,5 @@ b) In cases where only data normalization is necessary, the backend can bypass o
1616

1717
This modular approach allows for fine-grained control over data processing, enabling efficient resource utilization and optimized client-side performance based on specific application requirements.
1818

19-
An example of a complex backend that does aggregation, normalization, indexation, filtering (compliance) and powerful inference is [Pubky-Nexus](https://github.com/pubky/pubky-nexus), the backend that powers the [[Pubky App/Introduction|Pubky App]] social features.
19+
An example of a complex backend that does aggregation, normalization, indexation, filtering (compliance) and powerful inference is [Pubky-Nexus](https://github.com/pubky/pubky-nexus), the backend that powers the [[Explore/Pubky App/Introduction|Pubky App]] social features.
2020

File renamed without changes.
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
The Backend is responsible for collecting ([[Aggregator|aggregators]]) and organizing ([[Indexer|indexer]]) data from various sources, known as [[Homeservers|homeservers]].
22

3-
![backend](../../images/pubky-backend.png)
3+
![backend](Explore/images/pubky-backend.png)
44

55
Imagine you're trying to find a specific document in a large library. The backend is like a librarian who searches through the shelves, finds the right documents, and prepares them for you to use. This ensures that the data is accurate, up-to-date, and in a format that's easy to work with.
66

77
### Main components
88

99
- [[Aggregator|Aggregators]] execute a **data retrieval protocol** to obtain data from **data storage**, initiating a process that retrieves and collects data from various sources.
1010
- [[Indexer|Indexers]] receive aggregated data from the **Aggregators** and initiate a rigorous **data normalization** process, transforming and converting the data into a standardized format to ensure consistency and accuracy.
11-
- [[Web Server|Web servers]] provide the requested data to [[Pubky App/Client/Introduction|Pubky client]]
11+
- [[Web Server|Web servers]] provide the requested data to [[Explore/Pubky App/Client/Introduction|Pubky client]]
File renamed without changes.
File renamed without changes.
File renamed without changes.

Pubky App/Client/Introduction.md Explore/Pubky App/Client/Introduction.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Pubky Client
22

3-
![pubkey-client](../../images/pubky-header.png)
3+
![pubkey-client](Explore/images/pubky-header.png)
44

5-
The Pubky client will be available as both a desktop application and a hosted website service (standard website) that allows users to interface with the social media layer of [[Pubky App/Backend/Introduction|Pubky Backend]] using [Synonym](https://synonym.to/) hosted services.
5+
The Pubky client will be available as both a desktop application and a hosted website service (standard website) that allows users to interface with the social media layer of [[Explore/Pubky App/Backend/Introduction|Pubky Backend]] using [Synonym](https://synonym.to/) hosted services.
66

7-
Using the library analogy again, the Pubky Client is like a personalized research assistant who takes the prepared documents from the librarian ([[Pubky App/Backend/Introduction|backend]]) and creates a customized report just for you. This report is designed to be easy to read and understand, with all the relevant information presented in a clear and concise manner.
7+
Using the library analogy again, the Pubky Client is like a personalized research assistant who takes the prepared documents from the librarian ([[Explore/Pubky App/Backend/Introduction|backend]]) and creates a customized report just for you. This report is designed to be easy to read and understand, with all the relevant information presented in a clear and concise manner.
88

99
- Users are able to take control of the data and exit the Synonym hosted services and run their own without hampering discoverability ([[Credible Exit|credible exit]]).
1010

11-
- Pubky client uses the open [[Pubky Core/Introduction|Pubky Core]] for nearly all features, allowing users to avoid censorship by choosing self-hosting or alternate hosts without losing followers or integrity. 
11+
- Pubky client uses the open [[Explore/Pubky Core/Introduction|Pubky Core]] for nearly all features, allowing users to avoid censorship by choosing self-hosting or alternate hosts without losing followers or integrity. 
1212

1313
- Pubky also features support for [[Paykit|paykit]], our open payment protocol for coordinating payments among peers supporting various methods. This allows users to create sub-accounts from master wallets for familiar payment experiences. This suite of features removes any requirement from [Synonym](https://synonym.to/) to custody user funds, while allowing for users to set up subscriptions, recurring payments, paywalls, etc, in a P2P way. This feature will not be in the first launch version of Pubky app, but it is worth noting that next year we will enable all users to buy and sell data in this way.
1414

File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
![pubkey-app](../images/pubky-app.png)
1+
![pubkey-app](Explore/images/pubky-app.png)
22

3-
> Synonym will be initially hosting: [[Pubky Core/Homeservers|homeserver]] and [[Pubky App/Introduction|Pubky App]]
3+
> Synonym will be initially hosting: [[Homeservers|homeserver]] and [[Explore/Pubky App/Introduction|Pubky App]]
44
55
## Overview
66

77
Pubky-app's initial focus is building a decentralized social media protocol.
88

99
## Key aspects
1010

11-
- **Data Ownership**: Users have full autonomy over their data, hosting it on **independent [[Pubky Core/Homeservers|homeservers]]** that are decentralized and distributed across the network. This approach enables users to maintain **control** and **ownership** of their data, while also ensuring **data sovereignty** and **privacy**.
11+
- **Data Ownership**: Users have full autonomy over their data, hosting it on **independent [[Homeservers|homeservers]]** that are decentralized and distributed across the network. This approach enables users to maintain **control** and **ownership** of their data, while also ensuring **data sovereignty** and **privacy**.
1212
- **Profiles**: The system employs a **decentralized data storage** approach, where **post****comment**, and **like** data are stored in association with **user profiles**.
1313
- [[Aggregator|Aggregators]] collecting social graphs
1414
- Feeds of followings' activities
1515
- [[Search|Searching]] profiles and posts
16-
- Notification delivery through [[Pubky App/Backend/Introduction|aplication backends]]
16+
- Notification delivery through [[Explore/Pubky App/Backend/Introduction|aplication backends]]
1717
- Distributed moderation through user blocking
1818

1919
## Components
2020

21-
The Pubky App is a complex system that can be broken down into two main components: the [[Pubky App/Backend/Introduction|backend]] and the [[Pubky App/Client/Introduction|client]]. These two pieces work together to provide a seamless user experience.
21+
The Pubky App is a complex system that can be broken down into two main components: the [[Explore/Pubky App/Backend/Introduction|backend]] and the [[Explore/Pubky App/Client/Introduction|client]]. These two pieces work together to provide a seamless user experience.
2222

2323
##### Backend: The Data Organizer
2424

@@ -30,7 +30,7 @@ It is the part of the Pubky App that you interact with directly. It's responsibl
3030

3131
## MVP Architecture
3232

33-
The early versions of Pubky app take some shortcuts over the [[Pubky Core/Introduction|Pubky Core]] design. The MVP app is centralized, therefore we saved time and complexity by aggregating functionality into fewer components. The main two components are the `Homeserver` and the `Indexer`
33+
The early versions of Pubky app take some shortcuts over the [[Explore/Pubky Core/Introduction|Pubky Core]] design. The MVP app is centralized, therefore we saved time and complexity by aggregating functionality into fewer components. The main two components are the `Homeserver` and the `Indexer`
3434

3535
- The [[Homeservers|homeservers]] fulfils the function of `data stores`, republishing users keys to [[0.Introduction|PKARR]] and it acts also as an identity-provider (Oauth-like sign-in). Users maintain a trust relationship with the homeserver.
36-
- The `Indexer` fulfils the function of the [[Pubky App/Backend/Introduction|backend]] for the Pubky App.
36+
- The `Indexer` fulfils the function of the [[Explore/Pubky App/Backend/Introduction|backend]] for the Pubky App.
File renamed without changes.

Pubky Core/Homeservers.md Explore/Pubky Core/Homeservers.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Current implementations across Pubky currently only support public, unencrypted
1717

1818
## User Data Control and Credible Exit
1919

20-
- The current network is being bootstrapped by Synonym's first homeserver, which supports key accounts as a service, as well as all services required to operate the [[Pubky App/Introduction|pubky App]].
20+
- The current network is being bootstrapped by Synonym's first homeserver, which supports key accounts as a service, as well as all services required to operate the [[Explore/Pubky App/Introduction|pubky App]].
2121
- While Synonym is currently not charging fees for homeserving, it is totall possible for anyone to run their own homerserver and require service fees or peer-to-peer micropayments, or any other requirement, to improve data redundancy and competition.
2222
- Synonym does not control who can join or serve data on the network, but in order to truly have a [[Credible Exit|"credible exit"]] the network will need to mature to have more providers of homeservers and Pubky applications.
2323
- We will also need to make it as easy as possible for people to host their own homeservers, and to host homerserver clouds.

Pubky Core/Introduction.md Explore/Pubky Core/Introduction.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Pubky Core Overview
22

3-
![pubky-core](../images/pubky-core.png)
3+
![pubky-core](Explore/images/pubky-core.png)
44

55
Pubky Core is built on a few core concepts:
66

@@ -16,7 +16,7 @@ Pubky Core's distributed architecture aims to provide user autonomy through [[Cr
1616

1717
Pubky Core is made for developers and builders of internet software products. We will actively work to cultivate a community of builders and startups using our tech.
1818

19-
[[Pubky App/Introduction|Pubky App]] is made for anyone interested in social media and online publishing that wants new ways to control their data and more control over which posts they see.
19+
[[Explore/Pubky App/Introduction|Pubky App]] is made for anyone interested in social media and online publishing that wants new ways to control their data and more control over which posts they see.
2020

2121
## Why? What is the reward?
2222

Pubky Core/Pkarr/0.Introduction.md Explore/Pubky Core/Pkarr/0.Introduction.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ For more technical details on PKARR's architecture and how it works, refer to th
2323

2424
## Getting Started
2525

26-
[To start using PKARR](2.Getting%20Started%20with%20PKARR.md), you can visit the [web app demo](https://app.pkarr.org) or explore the Rust examples provided in [PKARR repository](https://github.com/Nuhvi/pkarr/).
26+
[To start using PKARR](2.Getting%20Started%20with%20Pkarr.md), you can visit the [web app demo](https://app.pkarr.org) or explore the Rust examples provided in [PKARR repository](https://github.com/Nuhvi/pkarr/).
File renamed without changes.

0 commit comments

Comments
 (0)