Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

Create Integration - naming the integration and the publish button #315

Closed
syndesis-bot opened this issue Nov 15, 2017 · 11 comments
Closed
Labels
group/uxd User experience (UX) designs

Comments

@syndesis-bot
Copy link
Collaborator

@dongniwang 2017-10-11

Met with @sjcox-rh and @amysueg and had a discussion about the naming integration flow and the behaviors of the publish button.

Currently, naming the integration is the "last step" before users can "publish" an integration. The "publish" button also appears twice in the create an integration flow, which creates confusion. The goal is to make sure the UI provides the context sensitive feedback and correct information so users can take appropriate actions.

Here are the solutions we are proposing:

  1. Make naming the integration the first step of the create integration flow. So the flow will become:

    Click Create Integration button (on dashboard or integration list page) -> Give integration a name -> Choose Start Connection -> Choose End Connection -> (Add Step/Connection) -> Publish Integration

If we follow this approach, there will be only one "Publish" button at the end of the flow. And clicking on the "Publish" button will publish the integration right away.

1st_step_name_integration

  1. Keep the current flow, so after users have completed all the steps, they would see name the integration as the "last step".

For this approach, we suggest to change the first "Publish" to "Next", and add a short description on the Name Integration page to inform users why they need to give a name to the integration.

2nd_approach_1

2nd_approach_2

Alternatively, very long time ago, there was a discussion about auto-generating integration names for users. Not sure if this is still feasible? Do you remember this conversation? @gashcrumb

cc: @zregvart @akieling @rhuss

@syndesis-bot syndesis-bot added the group/uxd User experience (UX) designs label Nov 15, 2017
@syndesis-bot
Copy link
Collaborator Author

@rhuss 2017-10-11

Thanks a lot for this detailed explorations.

Some comments on the approaches:

  1. Forcing to name the integration first was (afair) ruled out because the should come directly to the integration definition without being distracted. But as the user has currently to enter a name anyway (sooner or later) I don't think this would be an issue anymore, and actually, I'd prefer this approach. Please correct me if I wrong, @kcbabo

  2. The "Next" button suggestion is close to the current implementation, with replacing "Publish" by "Next" when no name has been entered inline in the omnipresent text box. Correct ? (i.e. would you also go directly to publish if the name has been entered already in the right side text box, or would you still show this form, with the given name prefilled ?)

Reconsidering the design (and after filling out this part for maybe 2000 times while testing stuff), I actually would prefer the first approach and omit the textbox above the vertical integration definition. Just a read-only label for the name there. I think this text box adds more confusion than it helps because you still have to enter the name at some point in the flow, so why not let it be guided all the time. I don't see any benefit of the textbox (as I never filled it out in advance).

@syndesis-bot
Copy link
Collaborator Author

@gashcrumb 2017-10-11

Yeah, name generation based on the start/end connection, though to be honest this could get quite wordy, i.e. Twitter Mention to Salesforce Create/Update Object.

Though personally I like docker generated names -> https://frightanic.com/computers/docker-default-container-names/

In either case with generated names the user should always have the option to provide their own. I think I'm onboard with either removing or re-working the name input field above the flow view, that seems to be a constant source of confusion.

@syndesis-bot
Copy link
Collaborator Author

@kcbabo 2017-10-11

Not gonna sugarcoat it - I hate naming the integration first. Seems much more natural (at least to me) to create my integration and then give it a name.

Seems like the only options while creating an integration should be Save and Publish. Save requires a name, so it feels totally normal to go to the naming screen. If the user doesn't want to publish at that point, they just return to the editor or the dashboard depending on what they want to do next. Publish should only be visible for a saved integration, IMO.

Another possibility is to not allow publish from the integration editor at all and only have it visible on the integration detail page. Haven't really thought that through completely, but figured I'd throw it out for discussion.

@syndesis-bot
Copy link
Collaborator Author

@gashcrumb 2017-10-11

I don't see BTW how this solves the problem of what page these buttons show up on to be honest. If the first thing the user sees is name this integration then eventually when it's save time it's currently from the 'save or add step page', how would that work? Next and then from the name page again?

Are these buttons really as confusing as we're making them out to be? :-)

@syndesis-bot
Copy link
Collaborator Author

@gashcrumb 2017-10-11

Not gonna sugarcoat it - I hate naming the integration first. Seems much more natural (at least to me) to create my integration and then give it a name.

+1

Another possibility is to not allow publish from the integration editor at all and only have it visible on the integration detail page.

+1 too, I like this approach, I kinda feel like actual deployment should be an intentional thing vs. something that happens as a result of a save but that might just be me.

@syndesis-bot
Copy link
Collaborator Author

@dongniwang 2017-10-11

Just want to throw it out here for discussion. By no mean I'm showing the final design. But the below screenshot shows the concept of not showing integration description (the text box) and expanding the integration name field across both the left and right panes (like Google doc).

If users don't have a name for the integration by the time they click "publish", then we show the naming page?

name_integration_no_text_box

Another possibility is to not allow publish from the integration editor at all and only have it visible on the integration detail page. Haven't really thought that through completely, but figured I'd throw it out for discussion.

This could work. But then it also requires much more thinking on the integration details page.

@syndesis-bot
Copy link
Collaborator Author

@zregvart 2017-10-11

Perhaps one approach would to disable out the Publish button until the user names the integration and have the "Enter integration name..." text be "To publish set the name of the integration here..."? I think linking those two (similar to the last screenshot) could help.

I also like @gashcrumb's suggestion of auto-creating integration names.

@syndesis-bot
Copy link
Collaborator Author

@chirino 2017-10-12

We could also auto name to "Unnamed 1", "Unnamed 2". Just like when you create a new File on your Desktop. And just make it easy for users to rename stuff if they don't like those names.

I like the idea of controlling the naming and publishing in the Integration Overview page.

@syndesis-bot
Copy link
Collaborator Author

@mastepan 2017-10-12

Question1: do we want to push a user to name the integration?

  • yes? why?: to don't let him to create a mess of unnamed integrations?
  • no?: let's set a default name to a new integration that can be changed later (Unnamed X or other)

I vote for default names.

Question2: how to offer an integration name change during the creation?

The user shouldn't be forced to set the name if he don't want to. He should be only offered to do this as the first action as @dongniwang mentioned (for him to know he can do it at all) And then whenever he wants to (that means having the naming page accessible through a link or a button at any time of creating the integration)
e.g. something like this:
nametheintegration

@syndesis-bot
Copy link
Collaborator Author

@amysueg 2017-10-12

Reading over the comments, a couple of thoughts.

  1. I think the existing flow in the application is close to right, but just needs a small tweak and not a complete rethink. Some of the suggestions in this thread I believe will introduce other usability issues that are currently not a problem.
  2. Autonaming sounds good in theory but is not the most elegant solution because in every case the user will then have to take another step to rename.
  3. I do believe that the Publish action should be included in the flow and the user not forced to go to the integration details page in order to publish. Caveat: we likely need user feedback to understand the way people typically work with integrations. Create a bunch of integrations, then publish them all together? Or create and publish in the same step? Do we know the usage patterns?

So finally, I think that we could resolve this with a simple change as follows:
In the existing flow currently in the TP, if the user has not named the integration by discovering the name field at the top of the left panel, then the system would detect that there is no name and the (existing) Publish button would be labeled "Next". When the user selects "Next" at the end of the integration, the page includes the Name* and Description fields, with an appropriate title on the page like "Name the Integration". Once the user adds the name, the button text becomes "Publish".

@gashcrumb
Copy link
Contributor

If something needs to happen here open a new epic with concrete tasks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
group/uxd User experience (UX) designs
Projects
None yet
Development

No branches or pull requests

2 participants