UX Design/Discovery for Snippets

Problem to solve

Currently Snippets are stored as blobs in the database, this limits our ability to support common Git functions and multiple files. As we work towards version controlled snippets and snippets with multiple files the current user interface for working with snippets does not support this.

Intended users

Anyone who uses snippets for sharing or documenting information would benefit from the additions of multiple files and version control.

Proposal

The Snippets interface needs to be updated to lay the foundational support for multiple files and git functionality. Ultimately, we may be looking at a "Light" projects interface, but self-containing Snippets initially may make the most sense.

These items include:

Add File button to create multiple files

Additional "Sharing" Options:

These will be important as we introduce Git functionality and cloning becomes possible

Fork Options to support remix and contributing

Notification Settings to support collaboration of Snippets

Stars to promote popularity and discoverability

Snippets should feel very familiar to users already using projects at GitLab

Revisions to better understand what's changed in each edit/commit of a Snippet. GitHub does it like this:

Permissions and Security

Mutli file + Git Snippets should have the same permission model as projects, and our current Snippets.

What does success look like, and how can we measure that?

Success will be measured through an increase in Snippets usage and multi-file Snippets.