or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
SSB Client-kit Spec: Common Queries & UX guidelines
The main things clients need to do. This can evolve into a more detailed specification, maybe implemented by a high-level library or by #patchql.
Started by cinnamon on 2019-06-26
Inspirations:
Layers from high level to low level
UX principles
Users decide what they want to see - freedom of attention / free listening
Users decide who can see them and their content - choose your audience
Users own their data; their profile is their space
Accessible by a diversity of humans
"Calm technology", anxiety reducing design, no dark patterns
Systemic health
Client API / library functions and queries
Posts, threads, messages
Some of the use cases below could be combined into more general functions. Each of these will also need more options like pagination and filtering.
Options
Algorithmic feed sorting?
Get the default view (messages related to people you follow)
Get messages for a channel
Get messages for all channels you're subscribed to
Get messages related to a user (authored by, liked, follow events, block events…)
Get messages by message type (gatherings, …)
Get a complete thread
Get a single message and its metadata and backlinks
Get threads you're participating in
Get threads started by you
Get mentions
Get recently used channel names
Get recently used tags
Get messages by tag
Search
Search by user, blob, message, channel, tag, or full text
List of usernames sorted by how connected you are to them (for @mention autocompletion)
Search images/blobs
Publishing
Publish a post / comment / blog
Publish a private message
Publish a blob
Delete-request a message
Delete-request a blob?
Publish/edit a gathering
Like/react to a post
(Un)Tag a post (public or private)
(Un)Subscribe to a channel (public or private)
Private messages
Get feed of private messages
Private groups
?
Nicknames & 3rd party avatars
Get for a user, respecting blocks, only showing from appropriate people (TBD)
Set for a user
Social graph & blocking
Follow/unfollow
Block/unblock and Ignore/unignore (private block)
List of blocked users and who blocked them
List of people you blocked
List of people blocking you (? maybe best to skip this one)
Some kind of invite code system to find friends more easily
Get/set list of words and channels you want to hide (stored as private message or as client-specific setting?)
Other blocking policies, like
User profiles
Get current user's identity
Get a user profile
Set your user profile
Get/set
sameAs
data for your accountGet the set of
sameAs
feeds for a userGet a user's tags
Get a user's subscribed channels
Get a list of channels used in the user's posts
List of "Who to follow" users - this requires some thought; how do we choose them?
Blobs
Get a blob data
Privacy settings
Get & set public web gateway visibility
Resource management
Get info about storage space used by feeds & blobs
"Clear cache", remove blobs, compact the log
Pubs
Join a pub by invite code
List pubs following you (hosting your content)
List pubs you're following (bringing people into your social radius)
List all pubs?
Syncing & indexing
List peers you're connecting to right now (pubs and local peers)
Get indexing progress bar info
Low-level settings and state
List local SSB identities & create new ones (and set scuttleverse cap key)
Get/set replication hops
Control which pubs you connect to
Turn local peer finding on/off
Seen/unseen status of messages
Tor settings?
Utilities
Render markdown to HTML & handle emojis
Author markdown, autocomplete emojicodes and @usernames
Hash-based avatar images or colors
Remove location metadata from images that you post
Client-specific settings
These settings are specific to the client you're in and will not be saved to your SSB feed.
Safe reading mode
Hide a specific thread so it won't keep popping to the top of your feed
Font size, font color, contrast, color-blind-safe colors, font typeface (e.g. dyslexia fonts)
Grayscale mode
Infinite scroll on/off
Disable images or click-to-view them
Disable animated images
Disable unread notification badges
Auto-expand content warnings
Hide / de-emphasize engagement stats and numbers (follower count, like count, etc)
Keyboard shortcuts
Image alt-text
Spellcheck