racket / racket/drracket

We should re-enable background expansion by default when there is only one CPU

Open
#117 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

check-syntax
Dominant language
Racket
Stars
516
Forks
103
PR merge metrics
No merged PRs in 30d

Description

Commit https://github.com/racket/drracket/commit/2ec3dc0489f681920d9944940444783ac72b7ffc disabled background expansion on machines where places are not enabled, and where there is only one CPU.

This is IMHO a bad thing, as clueless beginners will have a hard time guessing why they do not get contextual help, while their friends have nice blue boxes and arrows to help them out. The feature is made hard to discover: one has to click on a literally invisible icon (see #116) or a red dot in the lower-right corner, which tooltip says "background expansion is disabled" (no mention of help bubbles or arrows) to get a help bubble in the top right corner and arrows overlaid on the program.

I think we should make the experience as effortless as possible for new learners (the initial welcome screen which asks the user to select a language goes towards that goal, for example), and enable helpful features by default. If seasoned programmers want to disable the blue boxes for performance reasons, they are more likely to manage to find that hard-to-discover button and use it to disable the feature, rather than the other way round.

If performance is really a concern on single-CPU machines, then maybe we should display a small speech bubble upon the first startup, pointing towards that icon and indicating "For a more smooth experience at the expense of features, you can disable background expansion by clicking on this button" (and not the opposite).

Along the same line of thinking: if we really wanted to ship a super-efficient IDE, we would disable all tools (teachpacks etc.) by default (that's what I do on my machine, to shorten DrRacket's startup time), and require that users enable the ones which they want in the preferences. Clearly, that would be unhelpful to newcomers.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing commit 2ec3dc0489f681920d9944940444783ac72b7ffc and issue #116 to locate the background-expansion setting and its single-CPU behavior. Confirm the default enables background expansion so contextual help bubbles and arrows appear without requiring users to find the hidden control, while preserving a way to disable it for performance.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.