Skip to content

Menu system is confusing and unhelpful #70

@tngreene

Description

@tngreene

Last up. And let me just say thank you for maintaining this. As a maintainer of an open source project, I know this is not easy.

Lastly, though some of the commands aren't working, I'm still able to try working through the menus. They were confusing to me and only after carefully reading the manual do I have a better feeling of what they might do, as the manual is not comprehensive.

These were my first impressions before I read the manual.

0. search
1. cancel
2. batchset
3. unsure
4. in_hierarchy
5. resources

What does search mean? Search what? Aren't the others also searching something? What will "unsure" do? Does "in_hierarchy" refer to the folder heirarchy? Does resources refer to something in the .ropeproject folder?

And the rest of the full log:

Rope project root folder: .Opening [.] project ...
Opening [.] project ... done
0. search

  1. cancel
  2. batchset
  3. unsure
  4. in_hierarchy
  5. resources
    Choose what todo: [search] 40. yes <-Not sure what 40 means. Number of occurrences? We're done? Didn't I already choose what to do?
  6. no <- If there is only one choice, why give me the choice?
    Rename methods in class hierarchy: [no] 10. search <- Woah! Rename? I thought I was just finding information!
  7. cancel
  8. batchset
  9. unsure
  10. in_hierarchy <- These options are repeated, but I'm not sure how it is relativent, if we've already searched through everything and found 40 of something.
  11. resources
    Choose what to do: [search] Find Occurences ... <- Now we're finding occurrences?! What was the rest of this for? What have we been doing?
    Find Occurrences ... 5%% <- Before this appeared, I thought the program had completely crashed Vim, but it turns out that it was just taking forever to do whatever it is it is/was doing. I was completely surprised to find out it was not dead in its tracks.
    Find Occurrences ... 10%% <- I keep thinking that this is dead, but every 10 minutes or so another 5% gets added. I'd love to see how long this takes, but I can't wait that long.
So, some real feedback

- Having more descriptive names would be useful
- The pattern of "Go through a tree of menus, getting returned to the base prompt after each time" was very unintuitive. A indicator of how many more menus to go through or progress bar would be helpful.
- Also, why not a series of prompts to work through like a flow chart? Why keep going back to the base prompt?
- Though a small detail, having consistent new lines, spacing and properly putting spaces between things, the careful printf stuff, would have made a more readable and better flowing menu tree. Being careful and consistent means you can take advantage of a pattern like
    - "A new line always means a new action occurred"
    - "A line that ends in ... means the computer is thinking"
    - "A line that ends in a question mark means the user should be thinking"
    - "Text formated in "Title Case With Spaces Ending With A Colon:" means a user choice, not data, paths, or future code changes. 
- ASCII Art is your friend! The NERDTree Menu is a great example of making UI out of text that stands out from all the other text around it, making it much easier to pay attention to.
- For a long operation use an animated progress bar and tell a way to cancel it. Hopefully, canceling the operation would rollback changes.
- Warning what could mutate the contents of a file would give more confidence before proceeding.

Now, I know this is all easier said and done, and any time someone says "just do X, it is so easy!" they're probably have no idea what they're talking about and asking for, especially for a volunteer project, and this is already a lot of work put into this so far, but! I have really high hopes for this project!

If I could do some refactoring in Vim I could ditch PyDev and Eclipse! So, I'm really hoping that this project becomes usable. I expect nothing, and will be glad for whatever else comes out of the python open source community. But maybe if this becomes especially useful in my life, I could put in a few pull requests to help out the community!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions