statamic / ideas

💡Discussions on ideas and feature requests for Statamic
https://statamic.dev
32 stars 1 forks source link

Improvements to forms UX #1111

Open wiegertschouten opened 10 months ago

wiegertschouten commented 10 months ago

One of the main reasons I chose Statamic over several other CMS systems is the fact that it has forms built-in. However, after building a number of sites with the CMS, the forms module is actually one of the things about Statamic that I like the least.

The main reason for that is that I find the UX to be a bit confusing. Which has become a more urgent problem since separate permissions for blueprint editing have been introduced a while ago, which gives my users the ability to edit forms.

I want to tread carefully here. I realize that I'm new to the community, and criticizing the results of a lot of hard work by others. Still, I do see room for improvement.

Submissions should not be first

When a user clicks a form in the CP, the first thing they see is the submissions made on that form. I think this is not ideal. The list of submissions is treated like an inbox. But in my opinion, it should be treated more like a log.

I mean, if a form's submissions are relevant to admins, an email notification has probably been set up, so they have already received the submission in their actual inbox. The submission list in Statamic is only needed to make sure no submissions get lost, or to debug forms. Which is, indeed, more like a log.

Assuming that is true, if a user clicks a form, what do they most probably want to do? Do they want to see the submissions? Or do they want to modify the form? I think the latter is far more likely. Which leads me to the next point.

The blueprint should be first

Whether it's Google Forms, Microsoft Forms, Formie for Craft, Gravity Forms for WordPress, or Form Builder for ProcessWire, they all put the field editor first. I believe that is because they recognize that editing a form's fields is the action that is performed most often.

In Statamic, depending on how I do it, I always need several clicks to get to the blueprint editor. The quickest way is via the ellipsis menu in the forms list, but many users will miss that, click the form title, and end up in its submissions list. I forget it myself all the time.

On top of that, in the general form settings, the link to the blueprint editor is very subtle, and easily overlooked.

Considering this, I'd like to see the blueprint editor first when I click a form, rather than the submissions list.

A single view with four tabs

So here's my five cents about how to improve this. I'd like to see the forms editor reduced to a single view with four tabs:

The order matters here, so Fields is the first tab which is open by default.

Note that I called it 'Fields', not 'Blueprint'. I understand what a blueprint is, but my users don't.

I think this will enable me and my users to edit forms with less clicks and confusion.

But...

Anticipating a discussion about this (which I hope for), I have thought about a number of objections people might have to this proposal.

Sorry for the lengthy post. Because this is a fairly big change, it needs a rationale, I think.

andjsch commented 9 months ago

Thanks for your input. I have heard that forms are about to get some polish in the upcoming v5 and @jackmcdade himself said to rethink them currently in one of the community calls 👍🏽

But I do agree, they are currently a bit weird and do not behave the same as the rest of the eco system. My biggest wish would be to have separate forms for each site. Currently they are installation wide, which can make sense, but sometimes doesn't. What if a contact form needs different fields for another site, what if the mail address for submissions changes for another site? This is currently only possible to handle via workarounds.

Another thing that would be cool: Add the ability to let users change form blueprints / fieldsets. I know this works already, but I wished we had form fieldsets. This can be very useful for users who make a lot of forms. Not only would it limit the choice in the blueprint builder, to only include fieldsets that make sense and users would be able to organize their forms better > it shouldn't be possible to add fieldsets of Globals and Collections to a form (think of the fields that simply cannot be in a form...)

andjsch commented 9 months ago

1081 I opened up an idea for the fieldsets some time ago as it was frustrating to look for the fieldsets that actually were intended for forms.

rachelmflowers commented 7 months ago

I agree with all of this and some improvements along these lines would greatly be appreciated. Our clients also create and edit forms often.

Another thing would be for them to create new forms and permissions already be applied to the proper admin group to view and edit. It's frustrating having to update the permissions for every new form created.

wiegertschouten commented 3 months ago

Just discovered someone has built an addon which does most of what I suggested: https://statamic.com/addons/addon-foundry/flexible-forms. It's a good example of how it could work in core, too.

Is anything currently cooking in that regard? Forms are not on the roadmap at the moment.