Skip to content

Idea scratchpad

Scenario

Ideation is a messy process. We have the proverbial back-of-envelope or napkin situation where somebody just scribbles some notes. In an office setting, people might use stickies or a big whiteboard to sketch out rough ideas.

Problem

Existing GitLab is too heavy and dense to support these messy situations. So people resort to physical tools like a scratchpad, whiteboard, or stickies. A very good existing tool is Google Docs. People use the WYSIWYG editor to sketch out ideas. With only one click, and you are already putting ideas onto a blank canvas. You can set up permissions for the Doc, share it, and just socialize it more widely. You can use more powerful tools through commenting and resolution. It is an amazing product because at the beginning, it gets out of your way to allow you to just brainstorm and scribble. But afterward, you can use the more powerful features.

Currently, GitLab does not have a solution to this problem. Issues are a heavy-handed solution to this problem. There is too much UX friction and cognitive friction to even open an issue and fill out all the fields. It's too clumsy. Wikis and snippets are also poor choices because they are not tailored for this scenario either.

Opportunity

GitLab can provide a new feature to serve this specific scenario of messy ideation. The strategic opportunity is the subsequent integration. Suppose GitLab gives me a blank canvas to scribble ideas in a low-friction manner. If an idea makes sense and should be fleshed out later, then we enable and integrate the existing powerful features of GitLab to get that idea all the way to production.

Proposed design for smallest first iteration

  • Scratchpads are created dynamically according to namespace of the gitlab instance, similar to http://appear.in.
  • When you navigate to a scratchpad for the first time, it is dynamically created. So you could navigate to https://gitlab.com/scratchpads/lets-collaborate-here.
  • No explicit navigation UI. Just type in the browser bar. (Expose the feature as a "beta" through blog posts and forums.)
  • Once the scratchpad is created, it stays forever. You cannot delete it.
  • Anybody can access any scratchpad. It is totally public. Anybody can go to a scratchpad and start editing the contents.
  • Markdown for editing in the scratchpad.
  • There is no concept of saving or editing or deleting. You just type in the scratchpad and it saves automatically in real-time.
  • Multiple folks can work on a single scratchpad at the same time.

Out of scope, but possible future iterations

  • A simple navigation UI to expose the feature. E.g. there's a text box somewhere with a button. You type "Crazy idea to improve Continuous Integration" and then click the button. GitLab will then navigate to https://gitlab.com/scratchpads/crazy-idea-to-improve-continuous-integration, creating the scratchpad if it doesn't already exist.
  • One-click to create an issue from a scratchpad.
  • Permissions.
  • Multiple scratchpads.
  • Viewing multiple scratchpads in a list.
  • Searching for scratchpads.
  • Associating scratchpads with groups, people, projects, etc.
  • Versioning in the scratchpad.
  • Richer editing tools in the scratchpad.

Similar online text editors

No signup and you can collaborate on them.