Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[LEARN] features / UI updates V3.0 #449

Closed
36 of 38 tasks
Sembauke opened this issue Jul 5, 2022 · 19 comments
Closed
36 of 38 tasks

[LEARN] features / UI updates V3.0 #449

Sembauke opened this issue Jul 5, 2022 · 19 comments
Labels
help wanted Open for all. You do not need permission to work on these. status: on the roadmap Long term features

Comments

@Sembauke
Copy link
Member

Sembauke commented Jul 5, 2022

Design link- https://www.figma.com/file/4XPlUi8QGWsmyV7hA8r86m/learn-mobile

PhoneIDE

Learn

Required before release

  • Gatekeep users if the app is not in latest version

Updated tasks

Challenge

Header

  • It should be possible to view a dropdown which shows all openable files in the current challenge, if there is not more than one file available there should be text instead displaying the file name.
  • It should have a preview which displays the current project

Instructions Pane - #481

  • When starting a new challenge, a pop-up should appear with the current instructions.
  • The instructions should close if the user presses a cross icon in the upper-right corner.
  • Under the title "Instructions" there should be a progress indicator which displays the number of steps completed and the total number of steps e.g., Step 45 out of 100.

Hint Pane

  • When a user fails to pass the tests, a pop-up should appear which shows a hint, and indicates what the user needs to do to pass the tests
  • The hint should close if the user presses a cross icon in the upper-right corner.
  • There should be a button the user can use to reset the challenge
  • There should be a button that the user can click to take them to the forum to get external help
  • There should be a button to preview the project the user is developing.
  • The instructions and hints should cover the same amount of the screen regardless of their content. If the content is larger than the element, it should be scrollable.

Pass Pane

Lower function bar

  • There should be a functional bar that includes multiple buttons to execute actions
  • There should be a button that hides and opens the instruction pane, when the pane is active the color of the button should change to indicate that the button is active.
  • There should be a button to test the challenges.
  • The test button should turn green when the challenge passes and indicates that the user can move to the next challenge.
  • There should be a button that hides the header which includes the preview and editor dropdown when the user is editing.
  • When the user is on the preview pane a button should appear that gives the user the ability to move back to the editor.

Superblock

  • When a superblock is not available yet there should be a snack-bar which indicates it.

Block pages

  • The user should have the ability to see their progress on the new RWD which has a grid-based challenge layout instead of a list layout (The list layout already has progress indication)
  • The block description should not be visible when the block is closed.

This includes minimal viable product and extra's, this may be discussed publicly. Please if I missed something you would like to see add a comment below.


Problems and features found/needed in development

This space will be updated with bugs or UI fixes which we come across while making this component

Features

  • When instructions/hint/success panel is open, text and line numbers are not aligned
  • Sign in button on pass panel when the user is not signed in
  • improve styling for the preview button so that it looks like a toggle button

Bugs and Flutter errors

  • WebView.destroy() called while WebView is still attached to window.
    • This appears when closing a challenge
    • Toggling back to editor from preview
  • For a challenge with single file, clicking the editor tab shouldn't refresh the challenge view nor should the user be asked to choose a file. Basically remove the dropdown for single file challenges.
@Sembauke Sembauke added the type: feature request Threads classified to be feature requests. Implementation to be considered as a nice to have label Jul 5, 2022
@Sembauke Sembauke pinned this issue Jul 5, 2022
@Sembauke Sembauke added help wanted Open for all. You do not need permission to work on these. status: on the roadmap Long term features scope: ui and removed type: feature request Threads classified to be feature requests. Implementation to be considered as a nice to have labels Jul 5, 2022
@ahmaxed
Copy link
Member

ahmaxed commented Jul 5, 2022

cc @ahmadabdolsaheb :)

@ahmaxed
Copy link
Member

ahmaxed commented Jul 9, 2022

Thanks for putting this detailed list together. Here are a few points worth mentioning:

  • On the success, hint, and instructions states, the editor should shrink and only show one or two lines above and below the active line on the editor. That way the user can select different lines, open the instructions, or hint and compare their answer.
  • It might be helpful to think of success, hint, and instructions not as overlays or pop ops since they are placed on the top of the editor rather than covering it (similar to flash messages).
  • Initially a line in the editable region is selected.
  • The new editor is ideal for the new responsive web design. It would need some changes to be usable for the older and legacy certificates.
  • The help and reset button both should show a pop up to confirm the user's intention
  • The lower function bar can be shorter on editing mode to open up more space for editing.
  • The editor button on the lower function bar of the preview should take the user back to the editor on editing mode where the previous selected line is selected. That button should be displayed when the user is on non editor tab (preview, console, etc). That should save the user a couple of taps.

@Nirajn2311
Copy link
Member

Under the title "Instructions" there should be a progress indicator which displays the number of steps completed and the total number of steps e.g., Step 45 out of 100.

Is this just for the new challenges?

@ahmaxed
Copy link
Member

ahmaxed commented Jul 17, 2022

Yes for now, until we redesign the editor for the older curriculum.

@Sembauke
Copy link
Member Author

I think it is fine to do on the old and the new challenges as it's basically the same.

@ahmaxed
Copy link
Member

ahmaxed commented Jul 17, 2022

I agree, I think the design is mainly usable for older challenges but there are a few points to keep in mind for the new RWD.

  1. Editable regions notify the editor where to focus.
  2. The challenges are shorter
  3. I think the tests are written in order. That is why showing the first failing test would make sense.

If it is a high priority, I will mock the older RWD.

@Nirajn2311
Copy link
Member

I wouldn't say it's high priority as finishing off the current design would take some time but it would be great to have that also.

@ahmaxed
Copy link
Member

ahmaxed commented Jul 17, 2022

awesome, let's get this in and see the feedback. We could redesign the old RWD accordingly.

@Nirajn2311
Copy link
Member

It should be possible to view a dropdown which shows all openable files in the current challenge, if there is not more than one file available there should be text instead displaying the file name.

@ahmadabdolsaheb In the design link, the dropdown text is just Editors. If there is multiple files then the text should be the currently shown file right? Also what about the case of one file, will the text be "Editors" or the file?

@ahmaxed
Copy link
Member

ahmaxed commented Jul 19, 2022

So that is an accessibility consideration. Not sure if it applies to mobile. Feel free to look up best practices.
If there is one file, showing the name of the file is fine.

@Nirajn2311
Copy link
Member

Pass Pane - The pane should have a share button which implements the ability to make Twitter cards

What exactly should be in the twitter card?

@ahmaxed
Copy link
Member

ahmaxed commented Aug 9, 2022

Good question. This feature needs more research to see what the convention is. We can initially only show the button when the block is completed and share a link to the block with a meaningful predesigned OG image.

Ultimately we would need to have a dynamic twitter cards similar to freeCodeCamp/freeCodeCamp#47085

Feel free to post pond this feature until we finalize the functionality on the learn repo.

@ahmaxed
Copy link
Member

ahmaxed commented Aug 11, 2022

For the last action item:

  • improve styling for the preview button so that it looks like a toggle button.
    I think we can keep them as tabs( no toggling)
    On the other hand, we can add a contextual button to the code editing view that switches between editing and preview

@ahmaxed
Copy link
Member

ahmaxed commented Aug 11, 2022

Screen Shot 2022-08-11 at 10 32 29 AM

@ahmaxed
Copy link
Member

ahmaxed commented Aug 11, 2022

Although I am not sure why we would need a toggle at the first place.

  1. if users are editing and want to go to preview, they could click on the 'preview'
  2. if they want to go from the 'preview tab' to editing, they could tap on the button the lower navigation

@ahmaxed
Copy link
Member

ahmaxed commented Aug 11, 2022

How about grouping the console and the preview under the eye icon since both of those panes are only observable and not editable. That way we could remove the dropdown from the editors tabs and just have them side by side.

That way the lower buttons would be views, but not toggles. Here is a mock, thoughts:
Screen Shot 2022-08-11 at 11 50 15 AM

@Sembauke
Copy link
Member Author

This looks solid Ahmad. If wee keep the amount of files under four it should be good.

@ahmaxed
Copy link
Member

ahmaxed commented Aug 16, 2022

Here is the next iteration
Screen Shot 2022-08-16 at 4 42 35 PM

@ahmaxed
Copy link
Member

ahmaxed commented Oct 4, 2022

I worked a little more on the mocks and this one seems to look alright. The border around the baby editor are still the same color as the background of the editor.

Screen Shot 2022-10-04 at 8 47 34 PM

@Sembauke Sembauke changed the title [LEARN] features / UI updates [LEARN] features / UI updates V3.0 Oct 24, 2022
@Sembauke Sembauke unpinned this issue Nov 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Open for all. You do not need permission to work on these. status: on the roadmap Long term features
Projects
None yet
Development

No branches or pull requests

3 participants