Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gnome-builder gnome-builder
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 553
    • Issues 553
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOME
  • gnome-buildergnome-builder
  • Issues
  • #1413

Closed
Open
Created Mar 06, 2021 by Christian Hergert@chergertMaintainer

Builder 41 Design Goals

Builder Design

Obviously design is a never-ending project, but we'd like to address some things for the next release while we port from GTK 3 to GTK 4.

Builder focuses on being the best IDE it can be for writing GNOME-based applications. We know we can't complete against large projects that are more widely focused, so we take that focus seriously.

Some big ticket items we probably need to rethink:

  • (High Priority) Investigate tab alternative to our document switcher
    • The primary constraint here is maximizing vertical space for code
  • (High Priority) Improve visibility of search results in the editor despite overlays
    • Again, we want to maximize vertical real-estate
  • (Low Priority) Re-think our layout of preferences
    • Do we introduce "per project" preferences? The backend supports it.
  • (Low Priority) How should we make it easier to apply settings across languages
    • Things such as where to put curly braces, spaces vs tabs
    • Currently you can use modelines, editorconfig, gsettings...
  • (Low Priority) We have relatively few templates. How should they be displayed as we add templates for new languages, application styles.
    • List scalability has reduced how many we add
  • (High Priority) What are the common problems that newcomers have to contributing to a project?
    • We've already drastically simplified things by making it easy to just click "Run" and doing all the SDK management
    • What is holding them back from getting to Run?
    • What is holding them back once they have the code open?
    • Do we need to focus on Git integration?
    • Questions for users, and potential users.
  • (Medium Priority) We need a "Simulator" design so people can run apps inside something that looks like a phone, tablet, laptop, etc with newest GNOME builds
    • How can we make it easier for people to make GNOME Shell extensions without breaking their current desktop?
    • How can we get people testing in-development GNOME with their app?
  • (Low Priority) We've very much avoided things like menubars and favored contextual access better
    • How is that working?
    • What would we like to change?
    • What is missing?
  • (High Priority) We need a new designer library/application to replace Glade or GTK 4
    • What do people love about design tooling elswhere?
    • What should we copy?
    • What should we avoid?
    • Glade was not well loved, why is that?
    • How do we tighten the loop between design and code?
  • (Low Priority) How well are the container-based terminals working for users?
    • Terminal on host vs in build container vs runtime environment
    • Do we need
  • (High Priority) We currently have multiple ways to search across a project. Can we unify them?
    • Global search based on file names
    • Global search based on functions/classes/etc
    • Grep across files
    • We have a command bar which is a little bit like a "shell" into the program.
      • How is that working?
      • How can we improve it?
      • Should it be combined with Search features?
    • Some previous work on #31, #29, and https://gitlab.gnome.org/Teams/Design/os-mockups/-/blob/master/command-search/command-search-aday.png
  • We need new style schemes that match GTK's Adwaita theme well
    • Should we focus on type more than color?
    • Should we focus on style variants more than color?
    • How well are they working for those with vision imparments?
  • (Low Priority) Spell check is an underused feature. How can we elevate it's use?
  • (Medium Priority) We have a button for fullscreen to raise it's visibility. Should we move that to primary menu?
    • What about the panel buttons?
  • (Low Priority) Are users using the shortcuts? Are they discoverable enough?
  • (Low Priority) What languages are people using most?
    • What languages would people use?
    • What missing language features are driving them to other products?
  • (High Priority) Builder uses devhelp for documentation access, but that is showing design issues and we need something that can work better for accessing documentation while people write code.
    • What do people really like on other platforms?
    • How can we display that information to users when they need it?
    • When do users need it most? Browsing? While writing? Quick reference?
  • (Medium Priority) Builder uses Sysprof for performance profiling and that likely needs redesign work going forward.
    • I wrote it while trying to triage GNOME Shell performance issues
    • It is a bit cumbersome to use from a Sandbox, but possible
    • How are people other than us on the GTK upstream team using it?
Edited Mar 11, 2021 by Christian Hergert
Assignee
Assign to
Time tracking