Closed Franceq34 closed 2 years ago
cc @assimbly as you have probably some suggestion
Here the current version (v0.3.0):
Looks good, I will give it a try later this week to give feedback in detail.
Here is what I got using Figma.
On hover on a button :
Here's what I added :
I updated :
Maybe we could add filters as tags below the description of each button when hovered
Very good work here @Franceq34 ! A lot of good ideas here I'll give you feedback very soon
In fact, all good ideas Maybe the filter can be changed, as + and - can be confused, but I don't know what to propose
I like the proposed design theme. Some comments and suggestions
If you all like this approach I can help with designing the metadata API
First:
Here my 2 cents about this process:
In my opinion the configuration/generating of an app is somewhat like the checkout experience of a webshop. Even the slightest friction in the checkout process can drive shoppers away from a site—many never to return. I believe the same applies for the UI of JHL (and why it's so important).
To have a good experience most checkouts are designed by the following 3 rules:
To achieve this, the process is mostly
For JHipster the process can be
The above outline in short terms and hipster terms (= short term plus text in parentheses). I favor a top-down approach to go through every section. Where the first section is on top and the user (developers) scroll downs to go to the next step until it reaches the next step. On the right the user can see the progress.
Just like the Amazon checkout:
Here on the various sections in detail:
1. Configure your project
2. Choose your tech
3. Generate your app
4. Run your app
I think (at least when user run JHL locally) users also want to know
Summary
Like at Amazon there could be a summary side panel. Is configuration complete? What did we generate? Also the download (and run) buttons can be placed here. Make the download (and run) button as separate color (yellow?)
The 0.3 had already some good improvements. I think with a few iterations based on the above ideas JHL UI could be the next level of easy application generation. Note that the above comments are just suggestions, nothing strict to follow.
We discuss something around that with @hdurix today (we were thinking about https://github.com/jhipster/jhipster-lite/issues/1666) and, for now, we still think it's possible to have a front end depending only on an HATEOAS API that can be generated from very simple definitions.
I discuss about it with @hdurix during our last JHipster Day, and indeed, I think it's good idea. Anyway, I don't know the amount of work, specially for the frontend.
The API generation and documentation from an implicit bean graph (making it explicit with inheritance is not a good idea IMHO) afraid me more than the frontend part (but I may be wrong).
There is, indeed, some work to achieve this but I really think the current interface mechanism is too fragile and that this is worth it to ease upcoming contributions.
I think this is a good time to start this since there are enough modules to find the limitations of the designs.
If you agree with the main idea I can try to bootstrap something "soon" (I'll need help to make the full thing real)
I really think the current interface mechanism is too fragile
Totally agree, and that's why this ticket was created :-)
I would suggest to design the metadata API first and UX after that to save time. Once you have a solid API it would be easier to decide on UI/UX
On Wed, 11 May 2022, 7:07 am Pascal Grimaud, @.***> wrote:
I really think the current interface mechanism is too fragile
Totally agree, and that's why this ticket was created :-)
— Reply to this email directly, view it on GitHub https://github.com/jhipster/jhipster-lite/issues/1565#issuecomment-1123190836, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIOKF6SO33FIK35DXG6HZDVJM57LANCNFSM5U6HQTVQ . You are receiving this because you commented.Message ID: @.***>
The module mechanism is making it's way \o/ we now have automatic APIs: https://github.com/jhipster/jhipster-lite/pull/2036 and a very simple module list screen https://github.com/jhipster/jhipster-lite/pull/2055 the next step will be to be able to apply modules using the UI.
But, I'm not sure how to do this, here are the constraints to keep in mind:
I started (and trash) a module form screen working on it's own, it was looking like that:
I trashed it because having a dedicated screen to apply modules in just a nightmare!
I have some ideas like keeping the side form @Franceq34 show but the fields in this forms needs to be dynamic so that mean different actions on lines:
BUT this sucks because of not mandatory properties, this is where I ran out of ideas :D. Don't hesitate to tell if this is not clear (because for me it is :D)
I'll make a proposal later in the morning from discussions with @DamnClin .
Here is the idea when you select a module.
On the left side you have all the properties relatives to the module.
On the module, you know if all the properties are set and how many optional properties are available.
The apply button is not enabled until all mandatory properties are filled.
An "optional" indication is added to a field on the left side to know it's optional.
Good point @Gnuk Additional idea would be an option to ignore all checks and make all 'apply' buttons available
I really like the idea of this front generated from API. I wonder what is the best strategy to make the transition from the current design to this one.
Regarding the mockup of @Gnuk, I like the structure of the page. I have some questions about it : Correct me i I'm wrong, but "Category" is -> Maven Gradle, Angular, Vue ... and "Module" are the direct calls to APIs ?
I wonder what is the best strategy to make the transition from the current design to this one.
For me the migration strategy is the one we started: the page exists on a path (for now /modules), we update the page && the modules until we are happy with that and switch it to the main page.
Maybe it needs Categories and Sub-categories ?
I don't think so, I think we need tags and a search / filter on this page
If you fill for example lineBreak for module 1 and module has a lineBreak, will it be "auto-filled" ?
Yes, that's the whole point of that :)
https://github.com/jhipster/jhipster-lite/pull/2325 was the last think we discussed with @Gnuk. I see, at least those UX tickets on that screen:
But what do you think for this peculiar ticket lifecycle?
PS: Yep, the current UI really is ugly, I can't make any beautiful screen no matter how hard I try :D
"PS: Yep, the current UI really is ugly, I can't make any beautiful screen no matter how hard I try :D"
Ha, you made me laugh with that comment :). I am sure though that with every try things will improve over time. Keep up the great work!
I am sure though that with every try things will improve over time
I'm not even trying, I'm really bad at that, there's no use I waste time on this part
Just a check point. Here the current module page:
On this patch page I see at least 2 missing buttons:
That are needed for the deployed version.
Then, there will be the other page discussed here https://github.com/jhipster/jhipster-lite/discussions/2671
Did some update in https://github.com/jhipster/jhipster-lite/pull/2751, still ugly (dunno if it's more or less...) but some new feature should make it more usable
@pascalgrimaud @Franceq34 what do you think, it is good enough, we close this one for now?
Yes we can close it I think. Let's open smaller tickets for improving the CSS and design
Adding a bounty on this ticket. As you did the main work on this, plz claim it @DamnClin
Claimed $300 on this https://opencollective.com/generator-jhipster/expenses/88312
@DamnClin : approved - so I suppose the other part will be for @Gnuk !
Claimed $200 on this https://opencollective.com/generator-jhipster/expenses/88313
@Gnuk : approved
Thanks for your work here !
Really nice work that have been done here congrats !
The goal of this issue is to track the work done on UI/UX and have a better idea of what could look like the final Jhipster generator app. Feel free to submit any idea in this thread. đź“ť If you feel creative don't hesitate to design some mock-ups with pencil/paper or any tools you are comfortable with. (Marvel, Miro, Adobe XD, Figma etc ...)
Functionalities needed đź›
SpringBoot generator :
Account management (cloud version) :
We won’t focus now on Quarkus generator or Micronaut generator, as this is a completely different context and there’s not any work began on it, but we can keep in mind that this could be added someday.
Users habits 👤
We can imagine 3 types of user needs using JHLite.