Open samsullivan opened 8 years ago
Thanks, that's just about it. Related discussion here https://medium.com/@savolai/to-me-escaping-sequences-are-a-part-of-the-regex-problem-not-so-much-the-solution-357e523bdc5f#.1eeufs5ou
and in our wiki [[Ideas]] page
Realized that you already mentioned the fixed menu on the sidebar here, too.
Indeed, this could be done if the UI had a sidebar that provided options dynamically depending on what the user has just done. (It seems that if something like a dropdown - that appears at user cursor location - would appear at each keypress, that would be pretty distracting, if I am catching your drift.)
I am a bit careful in terms of facilitating user adoption and learning for different audiences. Just like the syntax makes it easier to read regexes, I believe it is possible to find the right mix of panels available for different users.
So do I understand correctly that we agree on the following, for the current MVP goal?
Olli Savolai: Biggest challenge is handling importing/exporting/rendering expressions (AKA creating a robust regex parser); needs to be multi-dialect.
Sam Sullivan: I doubt any existing regex library is robust enough for confidently using with multi-dialect expressions; probably makes sense to work on this from scratch. Biggest concern is creating a good UX; where is the line drawn between features that actually involve the end-user writing literal expressions and utilizing the GUI to create expressions without knowing regex...would drag & drop be a good way to bridge the difference between literal vs. GUI? What should the scope of the FOSS project be -- web app, IDE, etc.?
OS: Main idea behind the UX is the idea of a
ctrl
+space
search menu. Typing without this menu, would create literal matches for characters. Maybe, in the future, add more functionality with around\
to bridge the gap between novice and advanced regex'rs. Usability testing (ctrl
+space
is MVP for testing)!!! Web app makes sense; maybe IDE plugin(s) in the future. UI would be great to include "visual" and "real" expressions at the same time; good for learning, but requires live importing/exporting.SS: Maybe there's a way to take the
ctrl
+space
idea one step further; either an always-searching contextual menu (so typing literals would show optional choices for things like character classes, etc.) or a fixed menu on the sidebar...probably too complicated for testing in an MVP. Live import/export is crucial, in my opinion, and shouldn't be too hard once the backend regex engine is complete; not all dialects are necessary to start usability testing. First steps: start creating a library to understand data structures for importing/exporting one dialect (PCRE), build a dictionary that relates the data structures to searchable terms for novices building expressions, and then work on a simple GUI withctrl
+space
menu using the dictionary and the library doing live exporting for usability testing.