Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provider Form Violates Usability Principles #3994

Closed
terezanovotna opened this issue May 25, 2018 · 15 comments
Closed

Provider Form Violates Usability Principles #3994

terezanovotna opened this issue May 25, 2018 · 15 comments
Assignees

Comments

@terezanovotna
Copy link

terezanovotna commented May 25, 2018

With the current pluggable provider work, I came across some demos demonstrating forms in MIQ. As new providers are being added to MIQ, developers are trying to be consistent with current form pattern, but that pattern does not follow PatternFly and even violates basic usability principles.

screen shot 2018-05-25 at 09 15 22
screen shot 2018-05-25 at 09 15 40
screen shot 2018-05-25 at 09 15 58
screen shot 2018-05-25 at 09 16 24

Usability Heuristic Problems

  • when the user opens a form, red color appears and shows that the user has done things wrong even though he hasn't started typing
  • required fields are displayed as "you made an error"
  • when the user makes a mistakes, he is not directed to see where it happened and how to fix it

PatternFly has already existing pattern for this behavior as well as displaying errors .

Can we make it more user friendly? @dclarizio @Loicavenel @martinpovolny
Happy to provide guidance

@martinpovolny
Copy link
Member

The current provider forms are broken and unfixable due to a number of issues and design flaws. We should rewrite one or two providers as a POC cleanly and with the proper UX and then decide what to do next.

@martinpovolny
Copy link
Member

@Hyperkid123 has prepared a number of components needed (not only) by the provider forms here: https://github.com/ManageIQ/react-ui-components/tree/master/src/dynamic-form

@AparnaKarve
Copy link
Contributor

@terezanovotna Currently, all angular based forms in MIQ (developed since 2015) follow this pattern where we show the invalid fields in red, right when the form loads.

We discussed this UX in V2V as well with Serena and team, and have made some good changes there like -

  • When the form loads, Required fields would not be marked in red. They would have an asterisk (Name *) to indicate that they are Required
  • Required fields would be marked in red only after the user visits the field and wanders away without populating the field.

So, since this is the approach that we are now taking, I would imagine, going forward we would need ALL forms in MIQ to adhere to this UX.

@terezanovotna
Copy link
Author

terezanovotna commented May 28, 2018

Thanks @AparnaKarve for explanation!
If the provider work is prioritized, I would love to see your mentions in bullet points being implemented, which would add to usability and user-friendliness.

@martinpovolny
Copy link
Member

martinpovolny commented May 28, 2018

So, since this is the approach that we are now taking, I would imagine, going forward we would need ALL forms in MIQ to adhere to this UX.

The provider forms are the first thing everyone (developer) trying to add a provider or add features or a new version of a provider needs to deal with. And we have the feedback from those people (negative).

We also have issues with bugfixes and code review in that area. (Noone wants to review those PRs.)

It's also one of the first parts of the UI a new user sees. There we could use the UX to make a good first impression.

From that perspective it's an important piece. So on your statement:

So, since this is the approach that we are now taking, I would imagine, going forward we would need ALL forms in MIQ to adhere to this UX.

I don't agree. We need to prioritize.

@dclarizio
Copy link

@martinpovolny @terezanovotna @AparnaKarve Sounds like the best plan is to POC one or two of the provider forms and use that as a basis for any new or refactored forms going forward. I know the provider forms were our first attempt at the more complex forms (using angular), so I'm sure a rewrite/refactor into react would be something we want to do first to create a pattern we can follow going forward.

@Loicavenel
Copy link

Good ideas here, I will suggest we start with RHV provider

@miq-bot miq-bot added the stale label Dec 3, 2018
@miq-bot
Copy link
Member

miq-bot commented Dec 3, 2018

This issue has been automatically marked as stale because it has not been updated for at least 6 months.

If you can still reproduce this issue on the current release or on master, please reply with all of the information you have about it in order to keep the issue open.

Thank you for all your contributions!

@JPrause
Copy link
Member

JPrause commented Jan 28, 2019

@terezanovotna is this still a valid issue? If yes, lease remove the stale label. If not can you close.
If there's no update by next week, I'll be closing this issue.

@terezanovotna
Copy link
Author

@JPrause still an issue. We will definitely talk about this at CF 4.8 Planning meeting

@JPrause
Copy link
Member

JPrause commented Jan 29, 2019

Thanks @terezanovotna
@miq-bot remove_label stale

@miq-bot miq-bot removed the stale label Jan 29, 2019
@martinpovolny
Copy link
Member

Definitely still an issue. However now it seems that we got enough progress with the data-driven forms that this can be revisited and fixed with those.

@miq-bot
Copy link
Member

miq-bot commented Aug 5, 2019

This issue has been automatically marked as stale because it has not been updated for at least 6 months.

If you can still reproduce this issue on the current release or on master, please reply with all of the information you have about it in order to keep the issue open.

Thank you for all your contributions!

@miq-bot miq-bot added the stale label Aug 5, 2019
@Fryguy Fryguy added pinned bug and removed stale labels Dec 6, 2019
@Fryguy
Copy link
Member

Fryguy commented Dec 6, 2019

Will be part of the effort in ManageIQ/manageiq#18818

@mfeifer mfeifer assigned skateman and Hyperkid123 and unassigned skateman Dec 6, 2019
@gtanzillo
Copy link
Member

gtanzillo commented Aug 31, 2020

Closing via ManageIQ/manageiq#18818

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests