ruby/irb

Autocompletion Meta Issue

st0012 opened this issue · 0 comments

Background

Since its introduction in version 1.4.0, the autocompletion feature has received mixed feedback. We can see many issues and comments in the repo mentioning its problems. Personally I find the feature useful and pretty like it, but I also experienced some problems with it.

However, many feedback were given through various channels (GH issues, Twitter, Slack channels...etc.). And from my experience, people mentioned different problems, not just one.

So I decided to reach out to the community to ask how they feel about this feature, as well as the specific problems they experienced. And then combine with feedback I collected from other channels, I would make a list of problems, so we can discuss and solve them more effectively.

My Poll Results

I did 2 polls, on one Twitter and another one on ruby.social:

Poll on Twitter Poll on ruby.social

We can see that in both polls:

  • Users generally feel this feature is helpful
  • But more than half of them think it has issues
  • There's a non-small percentage of users decided to disable it completely

Problems Collected From Users

Based on the comments from these polls as well as comments in related GH issues, I think we can list its common issues (ordered by frequency):

  • Lack of debounce (mentioned multiple times in the poll comments)
  • Makes backspacing slow (mentioned multiple times in the poll comments)
  • Slow in production (mentioned in #351 and poll comments)
  • Background colour could be problematic (mentioned in #351 and #328)
  • Dropdown moves the input line's position (mentioned in #351 (comment))
  • Doesn't provide helpful suggestions when chaining method calls (#339)

What's Next?

I'll open an issue for every problem if they don't already have one, start from the top of the list.

If the problem involves changing other libraries, like reline, I'll propose the changes on Ruby issue tracker as well (like this one for background colour issue). And in those issues/tickets, we can have more detailed discussions.