20
Expert Ape
208ade921babab7cbf8ee3944452928e715ff42aea40c4cf7e53829a378c8d86
Replying to Expert Ape

Keyoxide.org: https://community.keyoxide.org/d/89-adding-nostr #FYI #keyoxide

nostr:npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240 nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn nostr:npub1acg6thl5psv62405rljzkj8spesceyfz2c32udakc2ak0dmvfeyse9p35c

yes.

ActivityPub

ASPE

Discourse

DNS

forem

Forgejo

Friendica

Gitea

Github

Gitlab

Hackernews

IRC

kbin

Keybase

Lemmy

Liberapay

Lichess

Lobste.rs

Mastodon

Matrix

OpenCollective

OpenPGP

Owncast

Peertube

Pixelfed

Pleroma

Reddit

StackExchange

Telegram

Twitter

WriteFreely

XMPP

ps: docs.keyoxide.org/service-providers/twitter/

Is just a proposal for now, not implemented.

keyoxide.org is opensource, Keybase.io was opensource !

PS: keybase.io/blog/keybase-joins-zoom , github.com/keybase

Keyoxide.org: https://community.keyoxide.org/d/89-adding-nostr #FYI #keyoxide

nostr:npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240 nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn nostr:npub1acg6thl5psv62405rljzkj8spesceyfz2c32udakc2ak0dmvfeyse9p35c

. != ? , it works for me.

FORKING GOSSIP to change the UI:

Gossip is MIT licensed and so you can do anything you want with it, including forking it.

I don't mind. I don't consider it a slight against me, and I won't push back. In fact, I recommend forking gossip if you want to change the UI, and I will even help you by supporting new backend functions that you need to get your UI to work (presuming you will be merging in upstream changes outside of the UI).

I've had lots of requests to change gossip substantially. Every single one of them has been with regards to it's UI. Nobody suggests changing the storage engine, or creating async functions that wait on relay responses. Everybody seems to care only about the UI. Well guess what? I consider the UI a necessary evil, a thing that must be coded, but not something I have any real interest in, and generally a distraction from the much more interesting work. That is why I partnered with several other developers who are more keen on UI development.

The problem I have with all the requests to change gossip's UI is that they all go in different directions. They can't all happen. Everybody has a different vision for how they want the gossip UI to work. Which is why I think forks are a good idea. Everybody can get what they want, if they put in the effort.

So here is the thing: gossip's UI is cleanly divided from the rest of the code. The UI reads from global structures and sends messages to the overlord (but you could call overlord functions directly if your UI isn't immediate-mode and is async). It is currently designed for worst case: single thread, not async, immediate mode rendering. But that means it could easily handle all the other cases. You could rip it out and put in an entirely different UI... tauri, gtk4 ... you could probably even get it running under WASM and make the browser the UI.

Most people with grand UI designs don't also write rust code, so I'm not sure if anybody is going to take me up on this. But if anybody was thinking about it and hesitating because they didn't want to make waves, maybe this post will smooth that over.

Retroshare had the same "problem". They move part of the code ( non UI ) in separate project, libretroshare (lgpl), and made Qt UI and service (doxygenautogenerated rest) + webui use the lib.