zadjii-msft / PowerToys

Windows system utilities to maximize productivity
MIT License
3 stars 2 forks source link

Improve Form pages #96

Closed plante-msft closed 1 week ago

plante-msft commented 1 month ago

Description of the new feature / enhancement

Form pages are a bit messy from both a UX and extension dev experience standpoint - we need to improve them to meet the following requirements:

Scenario when this would be used?

Example scenario:

A user wants to create a quicklink to search a certain website quickly from CommandPalette. A user can enter in the base url and fields via text boxes in the form page, and on click, the quicklink is created as a new command.

Supporting information

No response

zadjii commented 1 week ago

@plante-msft Can you clarify what's different between this issue, and something like #123 / #141?

Pretty sure forms can do all of this today

plante-msft commented 1 week ago

This one might have been opened late from an issue list that @joadoumie and I had from after the hackathon. From the #141 it seems like these requirements are largely met so I'm fine to close this.

plante-msft commented 1 week ago

If we need a separate issue in the future for improving the UX design of FormPages specifically, I can open one.

joadoumie commented 1 week ago

Settings helpers are great, AND I think this is actually maybe something that will come up over time of "it's just JSON" but it's messy. One missed comma, leads to a lot of noisy debugging. I feel like maybe just a standard we use where the JSON snippets are stored as their own .json files and we can help folks parse that file properly. Maybe a documentation + guidelines situation for now until we get dev feedback.

plante-msft commented 1 week ago

Can't we help check this though? There must be methods/parsing libraries out there that check for malformed JSON and we can throw the right error at runtime in that event, no?

joadoumie commented 1 week ago

Yeah I think we should catch at compile time though and/or in the IDE itself before building so it's clear to the developer what is going wrong so they can fix it right there before running. I feel like some tweaking of the solution's analyzers would be a reasonable approach but not sure how we'd want to discern between adaptive card JSON vs just regular old JSON.

@krschau and I were chatting at some point about some additional potentially cool outcomes too:

zadjii-msft commented 1 week ago

it's just JSON" but it's messy. One missed comma, leads to a lot of noisy debugging.

that check for malformed JSON and we can throw the right error at runtime in that event, no?

Guys yea, I already did #101 in #132

using adaptive card visualizer but in some integrated way for folks to visualize what their JSON looks like

You mean like #116

throwing in a web view

HARD VETO.

joadoumie commented 1 week ago

Oh wow. That was fast 😮.

As for #116 I'll move any additional convos there, because I'm not sure I follow it all but seems right.