====== User interface guidelines ======
this page is horribly written lmao remind me to rewrite it when my brain is working better
When making a user interface for software that uses PawSD, it's helpful to follow some consistent ways of presenting information so that it's the same or similar between different software and therefore less confusing.
===== Layout of zones =====
For example, in a navigation bar you would want to show which zone is providing the content the user is viewing. If the zone is in the daemon's contacts list, you should prefer to show the associated local name on its own. Otherwise, you should try to show the shortest edge name (in terms of number of edges) with the closest local name at the start and the actual zone's final edge name at the end (by start and end I mean the writing direction i.e. in English the local name would be on the left). If there is more than one edge name available you may want to have an expandable widget that can show all of them, and if there are no edge names available you should just show the self-proposed name on its own. You should put an arrow pointing in the text direction between each edge. Also, if the service is unambiguous (i.e. there's only one service within the zone that contains the kind of resource your application can handle) you don't need to show the service name, but otherwise, you should show it at the end after a colon or some similar kind of separator.
===== Colours and icons =====
Each zone label should be shown with an icon indicating its trust status, as well as a background colour if colour is available. In text-only interfaces you may choose to use abbreviations e.g. a single letter in place of icons. Note that these guidelines assume Western colour/icon symbolism because that's what I'm familiar with, you should probably use something that makes more sense for a given culture if that's your audience.
* **Local names** should be green with a positive icon such as a checkmark if trusted, blue with (no icon???? im not sure) if introduced, grey with maybe a question mark if neutral, and red with a "no symbol" if distrusted.
* **Edge names** should just be grey with no icon, the arrow next to them indicates that they're an edge name anyway.
* **Self-proposed names** should be yellow/orange with a warning triangle icon.
===== Examples =====
These are janky because i made them with dokuwiki wrap plugin default styles. please make yours look nicer ^_^
* Trusted zone in local contacts: ✓ Local name
* Disambiguated service at a zone with a direct edge to an introduced local contact: Jane Smith→bestie: Homepage
* Self-proposed name: Real amazon .com i promise
===== What is a "trust status" anyway =====
{{:pawsd:2026-04-27_18-27.png?800|screenshot of signal messages where i explain trust levels. basically:
distrusted = you have specifically chosen to mark that zone as evil and bad
neutral = just default in case nothing else is set
introduced = default for when a zone was introduced via an edge pointer from another zone that was either trusted or introduced, and then you saved it locally. i think it would also save which zone it was introduced by in that case. the idea is its like an implicit conferring of trust but it's not as strong as actually trusting it yourself
trusted = you marked it as trusted because maybe you met up with its author in person or it was bundled with the software or whatever
}}