julian

matrix

This is my POSSE copy of the announcement posted in This Week in Matrix (TWIM) 2024-03-29.

Read more...

This is my POSSE copy of the announcement posted in This Week in Matrix (TWIM) 2024-03-29.

Read more...

I wanted to write “please matrix me!” with “matrix me” being a hyperlink to my matrix identity. Why should this be hard?

I wrote (in markdown mode, using Element-web/desktop): please [matrix me](https://matrix.to/#/@julian:foad.me.uk "@julian:foad.me.uk")!

This was formatted into HTML (by Element-web/desktop) as: please <a href=\"https://matrix.to/#/@julian:foad.me.uk\">matrix me</a>! (losing my “title” text from the markdown).

How did clients render it? Ordered roughly best to worst.

good? client rendered notes
Hydrogen please ((J) matrix me) a pill with my given text “matrix me” inside it, and my initial in place of avatar.
Nheko please [matrix me] a plain hyperlink
matrix-static/view.m.o please [matrix me] a plain hyperlink
! Element (web/desktop) edit mode please ((☺)matrix me) a pill with my avatar and my given text “matrix me” inside it. Different from view mode!
- Element (web/desktop, Android) please ((☺)JulianF) a pill with my avatar and username, losing the link text that I specified.
- Fluffychat (desktop, Android) please ((☺)JulianF) a pill with my avatar and username, losing the link text that I specified.
- Syphon please matrix me plain text, losing the hyperlink.

Why should this be hard? Sigh.


#matrix

Read more...

I put up a web site with details of my PubHubs work:

https://www.ph.trax.im

Under Moderation, there are subsections for the main work areas of the project: Draupnir+Pantalaimon, Disclosure of Identity Attributes, and Civilised Discourse.

That last area is the one I am currently working on.


#PubHubs #matrix #awesomeFOSS

Read more...

Towards Matrix, Properly Decentralised

One of matrix's key properties is decentralised communication.

No single party controls the whole system, there is not a single service provider of whom everybody is a customer, anyone can choose who provides their service or run it themself.

When I install a Matrix client app, I expect it to connect to my Matrix server. What happens currently: most matrix client apps invite me to connect to one particular de-facto “central” server called “matrix.org”. As a user, connecting to my own server is a chore. In Element's flagship “Element X” preview, for example, currently I have to choose the less obvious buttons to skip past screens inviting me to choose the “matrix.org” server, twice, and input my server's domain on a “search” screen separate from where I enter my “username”.

What matrix client apps should do: discover my local server automatically, make a reasonable suggestion for my username (e.g. from my computer's or phone's user account details, address-book, etc.), and move on to asking me for my password.

It would be nice if we could standardise a way for a local matrix homeserver to advertise itself on the local network, and for a client to detect the local homeserver(s) automatically. Home media servers do this, and some other kinds of home servers. Technically there are a few different ways to achieve Zero-configuration networking, like UPnP, mDNS, DNS-SD.

A different and complementary approach is to integrate with the accounts already configured in the phone's settings (on Android for example). I should be able to configure one matrix account in one place, and then any matrix client app I install should pick up the settings from there.

Which technique(s) we use is not as important as that it should Just Work, for ordinary low-tech people who have not set up their own infrastructure but are perhaps subscribing to a matrix server provider.

(Traditional “enterprise” deployment techniques are still valid in an enterprise setting, for example where the enterprise IT department configures the employees' devices. But that is something they have the resources to develop and deploy. I am interested in what we can do for ordinary individuals at home.)

It seems to me that's the way things should Just Work, everywhere from homes to enterprises, if we care about decentralisation.


#matrix #awesomeFOSS

Read more...

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

Read more...

This month I have been building a PubHubs-specific feature, the ability for a moderator to ask a someone to disclose an attribute of their real identity.

When a person signs in to PubHubs hub through the Yivi verified credentials system, initially they are allocated a pseudonymous user identifier, for example @123-321:testhub.matrix.host. From this pseudonym, not even an operator or moderator of the hub can discover the user's real identity.

A moderator may wish to ask a user to confirm their real identity, to some degree. Through Yivi it is possible to ask a user to reveal a cryptographic proof [1] of one or more of their identity attributes. Some common attributes are one's real name, physical address, or email address. An attribute could also be something like “age is at least 18 years”.

First Demo Version

Read more...

Last week I began making this primitive Draupnir (moderation bot) UI, in my PubHubs work.

Read more...

Android or iPhone — either Google or Apple delivers our messages — surely? You don't accept that?

Time I Learned: there are freedom-respecting phones.

People who do not want to depend on Google or have them control our devices are using android-compatible but not google-controlled phones, a.k.a. “degoogled phones”. We have been asking (ourselves) for several years if we can have google-free push notifications. Thanks to the developers of the UnifiedPush standard, the answer is now, “yes!”

But why?

Read more...

UnifiedPush open-standard push messaging complements degoogled android-compatible phone OS's such as LineageOS.

People who do not want to depend on Google or have them control our devices are using android-compatible but not google-controlled phones, a.k.a. “degoogled phones”. We have been asking (ourselves) for several years if we can have google-free push notifications. Thanks to the developers of the UnifiedPush standard, the answer is now, “yes!”

The open standard UnifiedPush.org has now been created. While not a large number yet, a useful handful of apps already support UnifiedPush, including several matrix and fediverse apps. For its servers and the associated client-side “distributor” component, there are multiple successful implementations deployed.

Read more...