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

☂️ Migrate samples to 'quickstart' format, update and deprecate samples as necessary #2409

Open
ericwindmill opened this issue Aug 28, 2024 · 0 comments
Assignees
Labels
p1 proposal Propose a new sample or change to the directory tech-debt

Comments

@ericwindmill
Copy link
Contributor

ericwindmill commented Aug 28, 2024

In order to reduce maintenance costs and improve DX of this repo, I plan on updating and/or deprecating a majority of the samples.

After the changes, samples will fall into two categories:

  • quickstarts - the minimum required code needed to demo a specific feature or API.
  • demo apps - apps that are explicitly meant to demo Flutter, not a feature.

For more info on sample types, read the contributing docs.

For Googlers with too much time on their hands, read the long version of the motivation at go/dash-sample-code

Motivations

  1. Samples are only useful if they don't require explanation. Far too many of our samples cover topics that are too complex to be useful as samples on their own (i.e. add_to_app samples). Flutter developers would be better off if complex topics were accompanied by explainer text, as in cookbook recipes or codelabs or reference documentation.
  2. Multi-feature demo apps don't make good samples. Again, far too many of of samples are overly complex, but because we've designed them that way. For example, the deep-linking sample is an entire app that happens to demo deep linking. It should be reduced to it's absolutely necessary parts. Feature-rich apps should have a reason to be feature-rich. For example, the forth-coming date_planner app, which is explicitly being written to be a full demo app.
  3. The samples repo isn't very useful. In the week prior to 11/27, the most visited sample (compass_app) had >1000 unique visitors. In the same week, the accompanying docs had >10k unique visitors. The sample with the most views in the last week that doesn't have accompanying docs was visited a few hundred times.
  4. AI is coming. In the the not-too-distant future, samples will be irrelevant. Now is a great time to start slowly migrating toward a world without samples and preparing our developers for that future.

Proposed updates

The following are all the changes I plan on making.

Changes to existing samples

Samples to add

Samples to deprecate

TBD

  • simplistic_editor - important, but way complex. idk

Repo improvements, etc

@ericwindmill ericwindmill self-assigned this Aug 28, 2024
auto-submit bot pushed a commit that referenced this issue Oct 12, 2024
Adds a README as a breadcrumb with the history of the sample as well as links to some relevant resources.

Part of dart-lang/sdk#56835
Contributes to #2409
@ericwindmill ericwindmill changed the title Samples audit - Increase overall quality and maintainability of the samples repo. ☂️ Migrate samples to 'quickstart' format, update and deprecate samples as necessary Nov 26, 2024
@ericwindmill ericwindmill added p1 tech-debt proposal Propose a new sample or change to the directory and removed v2 labels Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p1 proposal Propose a new sample or change to the directory tech-debt
Projects
None yet
Development

No branches or pull requests

1 participant