Hi,
I’m thinking about spending some of my spare time on DrRacket and the GUI libraries and would appreciate your feedback about where you think I should put my efforts, both in the ideas below (that I have cribbed from other IDE’s) and any suggestions you have.
I don’t want to go down any paths that might be undesirable in general, but also specifically in the role as a IDE for teaching/learning. I believe the concept of ‘projects’ (like in xcode) is undesirable in this context, but please correct me if I am wrong about this.
Please don't take this as a criticism of DrRacket - it is amazing. I just like it so much I want to contribute in some way.
Please forgive me for intruding on this list if it is the wrong venue for this question.
Kind regards
Stephen
OK here are the ideas (I know some are probably unrealistic)
• to put a few more screenshots in the DrRacket Guide,
• Make some DrRacket gif’s and videos for the guide and youtube etc. (short ones – and write a program in #lang video to make automate processing) (Screen recording with quicktime on macos is easy - but I'm not sure how to do this on windows? Twitch?)
• Make the error messages pane optional, but on by default, and optionally show ‘live’ status information when there are no error messages (appropriate to the current selected language BSL, typed racket, scribble, slideshow, datalog?)
• hide the ‘check syntax’ button if background expansion is *enabled*
• use the big space between ‘language selection’ and cursor position – perhaps git info/status?
• (optional) activity logging and eye tracking with automated submission
• ‘buffer’ arrangement like emacs (but with sensible defaults) to better support different screen geometries so as to penalise neither professionals with multiple large screens or students/others who can only afford a second hand 7inch netbook.
• to create an address bar for the currently selected directory>file (and possibly ‘component’: as function or class>method)
o
like the ‘file’ button in that clicking gives a list of items to select keeping the whole path to the currently selected file/component
visible in the DrRacket toolbar.
(keeping the ‘file’ button for when the buttons panel is on the side)
o Should clicking a part of the path show siblings or children(like in ‘intellij-idea’ below) ?
o Should clicking a file show (require ...)’d components?
o Should clicking the currently selected component show dependencies?
o What should right-clicking do?

(simple mockup of address bar)
• add a ‘side bar’ panel (like VScode) with a hlist/outliner type control to show defined identifiers like the (define…) button.
o (define…) doesn’t work well with large files like drracket/private/unit.rkt at 5500 lines
Some tab things;
o add tab reorganisation functions (drag to re-order, drag out to a new window, drag in from another window)
o add tab affordances: tab icon on left(filetype?), tiny x on right (to close tab)(,
o add ‘new-tab’ control
o add context menu to tabs for the above
o Only show ‘check syntax’ button if background expansion is disabled
(the goal is to use typed racket for the above where possible)
Screenshots from other systems
address bar from https://www.jetbrains.com/help/idea/discover-intellij-idea.html#UserInterface


TAB AFFORDANCES

New Tab ‘button’

error messages pane

Status pane intellijidea

On Nov 24, 2017, at 9:35 AM, Stephen De Gabrielle <spdega...@gmail.com> wrote:I’m thinking about spending some of my spare time on DrRacket and the GUI libraries and would appreciate your feedback about where you think I should put my efforts, both in the ideas below (that I have cribbed from other IDE’s) and any suggestions you have.
I don’t want to go down any paths that might be undesirable in general, but also specifically in the role as a IDE for teaching/learning.
I believe the concept of ‘projects’ (like in xcode) is undesirable in this context, but please correct me if I am wrong about this.
• hide the ‘check syntax’ button if background expansion is *enabled*




I'll admit that I wish the interactions window was a popup, instead of stealing a massive chunk of my screen estate
each time I hit [cmd]-[r] I got this [...]