janhq / jan

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer. Multiple engine support (llama.cpp, TensorRT-LLM)
https://jan.ai/
GNU Affero General Public License v3.0
23.84k stars 1.39k forks source link

epic: Experimental features should have experimental tag #3096

Open imtuyethan opened 5 months ago

imtuyethan commented 5 months ago

Problem

We force users to go to Settings > Advanced Settings > Turn on Experimental > Turn on each feature to use the latest experimental features. This is an anti-pattern.

Experimental features should be natively built into the application, but denoted with a sublet flag to let users know the feature may be flaky.

Antipatterns ❌ Experimental page in settings ❌ Grouping unrelated experimental features in the same section ❌ Users never discover various features, i.e. "Why doesn't Jan have RAG?" ❌ Users discover it, but can't remember how to turn it off (Quick Ask) ❌ Once experimental moves into stable, it's a very unnatural integration and requires more work, e.g. Quick Ask.

Good patterns 👍 Built into the application on day 1 👍 Visually clear each time users use it, that it is experimental

Experimental features

1. Quick Ask

Figma: https://www.figma.com/design/DYfpMhf8qiSReKvYooBgDV/Jan-App-(3rd-version)?node-id=8522-106723&t=grvrbEHWnoAM254S-4

Screenshot 2024-09-19 at 7 04 06 PM

2. Tools (Retrieval,...)

Figma: https://www.figma.com/design/DYfpMhf8qiSReKvYooBgDV/Jan-App-(3rd-version)?node-id=5119-85461&t=grvrbEHWnoAM254S-4

Screenshot 2024-09-19 at 6 56 05 PM

3. Vulkan

Figma: https://www.figma.com/design/DYfpMhf8qiSReKvYooBgDV/Jan-App-(3rd-version)?node-id=8522-107553&t=grvrbEHWnoAM254S-4

Screenshot 2024-09-19 at 7 07 14 PM

Note: this page looks a bit different than the current UI is because we have not implemented this yet: https://github.com/janhq/jan/issues/3688

4. Save instruction for new threads

Should roll out to stable releases: https://github.com/janhq/jan/issues/3704

0xSage commented 2 months ago

@imtuyethan can you take a look at my notes in the Description above?

Let's

  1. Itemize all the experimental features
  2. Have a consistent experimental tag that works for all features
  3. Ensure the feature still looks fine once the experimental flag is removed
imtuyethan commented 2 months ago

^ Updated the description with the latest designs