PubHubs Moderation update 2024-02-02
- Related docs: Disclosure of Identity Attributes page on Moderator Tools for PubHubs web site.
- PubHubs-moderation live demo: central.ph.s.trax.im/client
- TODO: instructions; basically you need Yivi app with dev mode enabled and two sets of demo credentials (one as moderator, one as recipient)
- disclosure UI live prototype: on qx.trax.im
Disclosure Flow
A moderator asks someone to disclose an attribute of their real identity. The recipient provide the requested attribute, using Yivi to attach a cryptographic proof.
In the last update I introduced a demo of attribute disclosure. I have since completed the main TODO there, making the disclosure flow happen on the recipient's account. (In the first demo the moderator's role and the recipient's role both took place in the same login session in the same account.)
This week I have been thinking about how we will need to improve the user experience, or flow, of this disclosure request and response.
Writing the dialogue boxes and associated logic by hand was tedious and buggy. Rapid prototyping would be helpful. I decided it's time for me to learn a better way. Being new to UI design and fervently open-source principled, I searched for a FOSS solution and found Quant-UX.
Quant-UX
Quant-UX seems well suited for this task. Unlike the better known PenPot, an open source tool for detailed visual design, Quant-UX focuses on dropping UI components into place and wiring them together for a live testable UI design, with facilities for collecting feedback from user testing. While Quant-UX is a bit rough around the edges compared to a polished commercial product like Figma, having minor bugs, inconsistencies and so on, it is nevertheless powerful and usable enough. And on the positive side, I understand it can do things that Figma can't.
There is even a “low-code” sister project Luisa.cloud which promises to import a Quant-UX (or Figma) design into a real application and run it for real. I am interested to try that too, but that will have to wait.
I set about self-hosting Quant-UX to be sure of owning my own data. Now it is running on my Trax domain, at qx.trax.im. (You can try it, but be aware I'm providing it “as-is”, no guarantees at all, even if you create an account there (which I may or may not allow). Consider using the official site or hosting your own.)
Live Prototype: Disclosure Flow
I made a prototype, roughly representing the disclosure flow in the initial demo, and a wiki page about it with screen-shots and with links to the live prototype where you can click through and add comments to the screens.
Improvement Ideas
Some initial ideas about improvements to the flow:
The moderator could initiate the process by clicking an action button on a message from the intended recipient user in a hub room, or by clicking on the user's avatar or pseudonym in some list, and the relevant user would be pre-populated in the initial dialogue and not editable there.
The recipient user should receive a more gentle notification than suddenly seeing a pop-up dialogue of any kind. Perhaps a notification consistent with other notifications, though perhaps indicating a greater “urgency”, from which they can then access the full details of the request when they are ready.
I started adding some “comment” annotations on the UI prototype, mentioning some of these thoughts. You (dear reader) can do so too, either anonymously or after creating an account. (I have reported a bug whereby none of the existing comment annotations can be seen until you add a new comment, then they all appear.) If you add any comments there, please also contact me another way to let me know you're doing so, as I might not otherwise notice.
[EDIT 2024-04-23: add links to Related Docs]
#PubHubs #matrix #QuantUX #awesomeFOSS
Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian@wrily.foad.me.uk · use the Cactus Comments box above · matrix me · Fedi follow me · email me · julian.foad.me.uk Donate: via Liberapay All posts © Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise