backdrop / backdrop-issues

Issue tracker for Backdrop core.
144 stars 39 forks source link

[META] [UX] Field UI redesign. #779

Open clickbox opened 9 years ago

clickbox commented 9 years ago

The field UI could use some love. Several of these things we can do right away, but a complete overhaul may need to wait until Backdrop 2.x. Below are some ideas for improvement:

Related issues on d.o:

klonos commented 9 years ago

Do we have any rough ideas as to what needs to be done? Any previous mockups, discussions or d.org initiative perhaps?

klonos commented 9 years ago

...also wanted to note that since this will touch the UI that two of my favorite modules (that are fairly popular) rely on, we should take them into account when designing the new UI. I'm talking about Field Group and Field Collection (or Multifield alternatively).

Related #647

clickbox commented 9 years ago

I made this issue based on feedback from issue #744 "Make field settings visually clearer, no indication that you’re a layer deeper."

I think the rough idea is to design a UI without the constraints previously in place set by cck tools. Ideally there should be less "pogo sticking" or change the appearance in a way that makes menu link levels more obvious.

Thru collaboration with @dariusgarza who has been working hard to update the style guide I think this will be an obtainable goal. @klonos Taking those two modules into consideration seems like a great idea to me unless anyone knows otherwise. I love the image for Multifield's module page...

clickbox commented 9 years ago

I'm not certain what d.org initiative means. If you think it would help, could you please explain?

klonos commented 9 years ago

I love the image for Multifield's module page.

Me too. Milla Jovovich ++ !!!

...ooh, you meant the actual screenshot from the module admin page. Now I get it :stuck_out_tongue:

docwilmot commented 9 years ago

What would be great would be an add more button on the manage fields page, so you could build all your fields at once. Set defaults for all fields, and then a notification for fields which require further manual settings like selects. That would be cool.

jenlampton commented 9 years ago

I was fairly involved in the issues for redesigning the Field UI for Drupal. Let me gather some links and add them into the first post in this thread.

clickbox commented 9 years ago

field ui_wireframe1 field_ui_wireframe2

I should had some descriptions for more context but this is a wireframe of an idea I have for the field ui. My goal is to achieve a more graphical approach to editing and organizing fields.

My hypothesis is that to consolidate "manage display" with "field settings" into an easy to use GUI would simplify creating and managing content types. I like the idea of drag & drop icons to represent field types and source order while being clickable to access the individual field settings.

jenlampton commented 9 years ago

Keep in mind that we also have the Layouts UI that can be used in place of "Manage display" long term if what we end up wanting is drag-and-drop that includes laying out content on the page. Field configuration (Manage fields) could become the same pattern as adding and configuring a block.

edit: New core issue created for this: https://github.com/backdrop/backdrop-issues/issues/6039

quicksketch commented 9 years ago

Regarding the original post:

remove the extra step (field settings before entity-bundle settings)

As an easy fix, I'm working on skipping this step if there aren't any field settings in the first place, as is the case for Link and Email fields. https://github.com/backdrop/backdrop-issues/issues/1183

klonos commented 9 years ago

Regarding the original post:

remove the extra step (field settings before entity-bundle settings)

Yeah, I changed that task to point to #1183 and renamed it too. ...before you made that comment.

wesruv commented 9 years ago

Here's a pitch for a redesign of the field creation process. I liked the direction @clickbox was headed and I also thought of 'IFTTT' (which I like to steal from for complicated multi step forms).

I'm going for more of a wireframe than 'finished design', so don't take aesthetic touches too seriously.

Specific requirements from what I was thinking below the mocks.

Let me know what you all think :smile:

Step 1, Data Type

image

Step 2, Editor Interface

image

Step 3, Field Options

image

Functionality requirements that I'm thinking:

docwilmot commented 9 years ago

Wow, wow. Nice! There was an issue somewhere to change the order of creating fields by starting with offering what "Editor Interface" the user wanted first then allowing to choose the data type based on that. But this actually probably makes more sense as it allows better categorization. Either way it looks fantastic! Are you working on the code as well or just the design concept?

clickbox commented 9 years ago

This is great! Simplifying Data Type options seems like it should be a high priority.

wesruv commented 9 years ago

@docwilmot I can definitely work on the interface, but wanted to run the workflow/idea/design through it's paces first.

I can do the front-end part, but some of the JS and mapping user choices to config might be a bit steep for me. Not that I couldn't do it, but I'd need a lot of help.

Tag teaming this would be fun too :no_mouth: stares at everyone else

Graham-72 commented 9 years ago

I too like the look of this.

docwilmot commented 9 years ago

Tag teaming this would be fun too :no_mouth: stares at everyone else

This would be above my level but I'll be happy to help any way I can. One thought though that this design idea doesn't address (and even pushes further back), is the feature request that the UI allow multiple fields to be added at once.

serundeputy commented 9 years ago

does this seem like the rantings of a crazy person or does this make sense to anybody else?

I think it would be a big undertaking, but I think it could work: https://docs.google.com/document/d/1aJdtyybC-SxOdgLXXJaV4WqlNM_ZU4W9wnDxLLEZWaU/edit?usp=sharing

wesruv commented 9 years ago

@docwilmot cool! I'd like to understand the use case to create a bunch of fields at once. It seems a bit goofy the way I'm imagining it.

If you or anyone has instances where this would have come in handy, I'd like to understand what was at play.

@serundeputy I love it!

So if I understand it right, and I was laying out an article node's full view mode, I could have:

And plop those in some regions in the layout.

I was thinking similarly to you (not nearly as good as this idea though). It seems like we should have an "entity layout" that is similar to our current "page layout" interface. We could score some good UX points if we used a similar UI and metaphors for entity layout.

To pick nits on the interaction, I'm thinking if you drag a field into a region that doesn't have a field block, it auto-creates a block for you, and you can decide to add other fields to it or not.

Each block could also have settings like our current block system in Backdrop of wrapper tag, classes, etc.

wesruv commented 9 years ago

One thing that got me thinking about...

The distinction between page and node has frustrated me a lot in the past. For instance, I'd want a view block in a node's "full" view node presentation, but couldn't figure out a good way of doing it for quite a while.

Nowadays I know that I can invoke a view with code in the preprocessor to shove into the template somewhat easily, but it's a bit obtuse and feels like something we should address with a UI in Backdrop.

docwilmot commented 9 years ago

If you or anyone has instances where this would have come in handy, I'd like to understand what was at play.

Just channeling this: https://github.com/backdrop/backdrop-issues/issues/292

I thought it was a good idea. An "Add more" button on the current manage fields form. you fill all the field names, data types etc, at once, and either have smart defaults, and save all, or a views-like sequential settings screen: settings for field 1 pop up, save it, the settings for field 2 load in same dialog, save, next, etc.

jenlampton commented 8 years ago

smart defaults

yes please, fewer steps up front++

wesruv commented 8 years ago

Here's some design refinement based on Nate and Jen's feedback on my Add Field form.

So I'm trying to integrate ideas from webform.com, wufoo.com and some other sources I'm probably not remembering right now. Trying to simplify the user interface further into groups that more people can easily understand.

Step 1: field ui - step 1

More like a Denny's menu (big pictures so you can point at what you want, even when hungover), this first step makes smart defaults more feasible than my other design's first step.

Step 2: field ui - step 2

You can see I selected a Text field, and there are two things we need to know before we can create a field, the field name and what widget they want.

At this point you could "Create Field" and go back to the Manage Field screen, or you could hit the other button and edit the other options that people don't usually change.

Other field types may require more things on this step. E.g. Multiple Choice would require the options that could be chosen from.

For Label, Field Name might be a better label there, but once they start entering it the machine name will get auto populated and can be edited if they click on it

Step 3: field ui ideas - step 3

Check out Step 2 being all filled out, machine name is grayed out because the field has been created.

For a text field there's only a couple other things that can be customized, though different fields types/widgets could have more/different options.

For the Default value bit of the form we have the field label populated correctly, and it'd be cool to have the field description update when the field Help text field looses focus.

wesruv commented 8 years ago

Oops... in the "Pick a Widget" section the first option should not have the text "Option 1"... that was a Photoshop hacking artifact that I forgot to remove.

wesruv commented 8 years ago

@quicksketch @jenlampton any thoughts? Warmer, colder?

klonos commented 8 years ago

@wesruv sorry for not commenting earlier. I meant to come back with a thorough(er) and more constructive response, but unfortunately I have no time. Let me then quickly say that definitely warmer. ...A LOT!!

I especially like the way you expose the field types by a visual representation rather than just a name that users might not be familiar with. I think that we should make a pattern out of it (we are already doing this with the layout selection screen and their icons).

Thank you!

klonos commented 8 years ago

...not so sure about the single-page thing though. Once the user has selected a field type, there is no reason to still show the whole list at the top. It seems more confusing and many options in one page might intimidate new users.

klonos commented 8 years ago

...how about after type selection we show a different page with "[field-type-name] field setup" as a title and a "select a different field type" link next to it? That page can have the main "Basic settings" section that holds only the minimum things required to set up the field and an "Advanced options" section that holds additional, optional settings (could be collapsed by default in order to keep the page clutter to a minimum).

klonos commented 8 years ago

...would also loose the bullets from the widget selection.

klonos commented 8 years ago

Made this a meta-issue and filed a few issues for things that were listed in the issue summary. Will file a few more...

klonos commented 8 years ago

...and a better title.

docwilmot commented 8 years ago

Once the user has selected a field type, there is no reason to still show the whole list at the top. ...would also lose the bullets from the widget selection.

agreed.

I had initial reservations because this doesnt allow for bulk adding fieelds. But this would be MUCH quicker than the current process, especially with the option to "create field" with default options, so it matters not as much

:+1: from me.

wesruv commented 8 years ago

Watched this Karen McGrane talk and it reminded me of our layouts/block/Field UI Redesign efforts. Highly recommend!

http://karenmcgrane.com/2012/09/04/adapting-ourselves-to-adaptive-content-video-slides-and-transcript-oh-my/

[edit] updated link to the above: https://karenmcgrane.com/talks/adapting-ourselves-to-adaptive-content ...and direct link to the video: https://vimeo.com/56705945

klonos commented 7 years ago

...close to a year later, I'd like to say that perhaps this should be targeted as the main new feature for 1.7.0.

I have not thought this through thoroughly yet, but now that we have seen the success of the Layout UI, I would like to propose the following:

...essentially a visual form builder. Can you see the magic?! 😜

klonos commented 7 years ago

...I realize that this would mean that the way that the "Main page content" works would need to change and that is something fundamental, but as I said, it's just an idea:

I have not thought this through thoroughly yet...

klonos commented 7 years ago

I have added https://www.drupal.org/node/2539740 to the list of related d.org issues.

[Oct. 2021 edit] I've split my last couple of comments into a separate issue here: #5292