Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[submission] Layers #19

Open
bumbleblue opened this issue Dec 7, 2024 · 0 comments
Open

[submission] Layers #19

bumbleblue opened this issue Dec 7, 2024 · 0 comments
Labels
pattern-submission A design pattern submission

Comments

@bumbleblue
Copy link
Contributor

The Design Problem

When teams collaborate, there are two general frameworks: (1) an agreed-upon version that is constantly shared, or (2) many versions that need to be intentionally shared and merged together at different points in time. Decentralized technologies often introduce framework (2) as a collaboration model but doesn't support version control out of the box. Git is a protocol that helps people collaborate; it is very much intended for developers and is biased towards text (lines of code). Beyond Git, version control can be a mess.

The Design Solution

A Layer is a number of changes grouped together and -- ideally -- named. This forces collaborators to intentionally log and share changes they make to a common document. The metaphor is a "stack of layers" where the top layer is the latest version of the document.

Examples

  • Almanac uses Layers for their text editor
Almanac_Layer

Why Choose Layers?

Layers can be a simplified presentation of a pull request.

Best Practice: How to Implement Layers

  • Show authorship colors (cf. Etherpad)

Potential Problems with Layers

  • Do not use layers in visual contexts; layers are an existing concept in visual editors such as Photoshop, Figma etc.
  • Offer a toggle for tracking changes.
  • We are unsure about the word 'layer', and are hoping to test it. Almanac used it in 2022 as the Upwelling essay was being developed, but it is being sunset early 2025.

The Take Away

Git's collaboration model can be too complex for non-developers, it is worth experimenting with alternative terms that are more intuitive.

References & Where to Learn More

https://www.inkandswitch.com/upwelling/

@bumbleblue bumbleblue added the pattern-submission A design pattern submission label Dec 7, 2024
@bumbleblue bumbleblue moved this from Proposed to Under development in Pattern Development Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pattern-submission A design pattern submission
Projects
Status: Under development
Development

No branches or pull requests

1 participant