You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While writing the blog post on the state of the ecosystem, I was thinking about what the current limitations of the stack mean for Reflection short-term, and what our next priorities could/should be on the way towards a full Hedgedoc replacement at least for some teams.
I think the primary blockers for that are:
Some kind of support node solution (so you don't have to manually coordinate sync opportunities)
Groups of documents that sync together (so you don't have to keep multiple docs open)
Identity, IP privacy/TOR, access controls, etc. are going to be necessary for broader adoption, but not essential for daily driving among small teams of developers, such as the Reflection team. That's why I would focus on taking shortcuts and doing what we can at the app level to unblock use for those groups, without waiting for things like access controls to be mature.
We add the concept of spaces, but purely as an app-level thing in the UI. Instead of having one topic per document we'd have one topic per space, and sharing a join code gives access to the entire space. There are no access controls, everything else works exactly as-is.
There's a sidebar with the documents in the current space, all of which are always being synced if the space is open, and all of which have the exact same member list. Other spaces are not synced, so you're still in control of who you make network connections to.
Network/sync Indicators
Because networking is now separate from the individual document, the sync indicator and the user list are separate (the former is in the sidebar, the latter in the document pane)
Since we probably won't have Bluetooth anytime soon, the network states are simplified to syncing/paused for now
Identity
We don't know what shape our identity system will ultimately take, but perhaps we could take a step towards it on the UI front by having a simple, fully client-side address book that allows you to set your own aliases for contacts? This would simply be a list of all peers in all your spaces, and allow you to set a custom name and avatar.
We add a command line UI to Reflection, making it easy to just run an instance of it on a server somewhere. As part of this there should probably also be an option to sync all or some of your spaces all the time in the background, so the support node can sync multiple spaces at once. This would make it relatively easy to just have a Raspberry Pi that you add to all your spaces and have it sync everything in the background. Obviously this is not what we want from a security point of view, and we should think about if/how we'd later want to phase out some of this once there's a proper solution.
Open Questions/WIP
Should it be possible to still have single documents that are their own topic, and not part of a space? If so, how would this look in UI?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
While writing the blog post on the state of the ecosystem, I was thinking about what the current limitations of the stack mean for Reflection short-term, and what our next priorities could/should be on the way towards a full Hedgedoc replacement at least for some teams.
I think the primary blockers for that are:
Identity, IP privacy/TOR, access controls, etc. are going to be necessary for broader adoption, but not essential for daily driving among small teams of developers, such as the Reflection team. That's why I would focus on taking shortcuts and doing what we can at the app level to unblock use for those groups, without waiting for things like access controls to be mature.
Concept
Full mockups
We add the concept of spaces, but purely as an app-level thing in the UI. Instead of having one topic per document we'd have one topic per space, and sharing a join code gives access to the entire space. There are no access controls, everything else works exactly as-is.
There's a sidebar with the documents in the current space, all of which are always being synced if the space is open, and all of which have the exact same member list. Other spaces are not synced, so you're still in control of who you make network connections to.
Network/sync Indicators
Because networking is now separate from the individual document, the sync indicator and the user list are separate (the former is in the sidebar, the latter in the document pane)
Since we probably won't have Bluetooth anytime soon, the network states are simplified to syncing/paused for now
Identity
We don't know what shape our identity system will ultimately take, but perhaps we could take a step towards it on the UI front by having a simple, fully client-side address book that allows you to set your own aliases for contacts? This would simply be a list of all peers in all your spaces, and allow you to set a custom name and avatar.
We add a command line UI to Reflection, making it easy to just run an instance of it on a server somewhere. As part of this there should probably also be an option to sync all or some of your spaces all the time in the background, so the support node can sync multiple spaces at once. This would make it relatively easy to just have a Raspberry Pi that you add to all your spaces and have it sync everything in the background. Obviously this is not what we want from a security point of view, and we should think about if/how we'd later want to phase out some of this once there's a proper solution.
Open Questions/WIP
Beta Was this translation helpful? Give feedback.
All reactions