Code Monkey home page Code Monkey logo

Comments (7)

YuriSizov avatar YuriSizov commented on May 27, 2024

The tooltip is a small error, this is actually a "Home" button. But indeed, you cannot go back to the lesson. When you leave it, you leave it. With the text and quiz part of the lesson it's not a big deal, as you don't lose any progress (quizzes are tracked, the rest is just the text and examples that you study on your own).

For practices there can be an issue if you leave one after you've worked on the code. To that end we have #9 that would add a confirmation prompt when you try to do so (whether to go back to the text part of the lesson, or to the index).

from learn-gdscript.

xix-xeaon avatar xix-xeaon commented on May 27, 2024

It is a big deal from a UX perspective since it's disorienting. The progress you lose is "how far you've scrolled", that is, where you are in the text - and not just the actual scroll but mentally as well.

Menus are part of navigation and navigation is both about going somewhere And knowing where you are. I did not click the icon because I wanted to go somewhere else - I wanted to know where I was, and I also wanted to check my progress. (They kind of go together in this type of app.)

I get your explanation of what the button does but it's also completely foreign to me as a user. I did not expect to leave the lesson by simply opening a menu.

from learn-gdscript.

YuriSizov avatar YuriSizov commented on May 27, 2024

I think the misconception here is that it's a menu, when it's not. Same as an index in a book, it's just another page. The navigation in the app is designed to only allow going back, with no forward history. I guess we need to indicate that better somehow.

Also, what kind of progress do you want to check? We can add some of that information to the lesson itself. There is not much reason to go to the index other than to go to a different lesson.

PS. Remembering your last scroll position, in paragraphs perhaps, for the last lesson you've visited is trivial enough, we can add it as well. But I think that the misconception of index being just a menu needs to be addressed on its own. We can, perhaps, animate it the same as we do lesson/practice transition to build that familiarity.

from learn-gdscript.

YuriSizov avatar YuriSizov commented on May 27, 2024

So to address this what I think we should do is

  • Fix the "Home" button tooltip, obviously 🙃
  • Detect and track the last content block of the lesson that the user has seen.
  • If you return to the same lesson you just left (or launch the app and click "Continue the Course") we should use that information to restore your scroll position, roughly at the same place.
  • Add an ability to create bookmarks throughout the lesson page and allow to quickly navigate to these bookmarks (from the index, probably), #45
  • Add an in-lesson table of content that would allow quickly scrolling to the top, to each named content block (#19), to each quiz, to the last viewed position, to any bookmark, #43

And possibly add some progress information to the lesson screen itself, though I'm still not sure what that would be.

from learn-gdscript.

Xananax avatar Xananax commented on May 27, 2024

I'd add "support for escape". My reflex every time I open the index by mistake is to press esc to go back where I was.

from learn-gdscript.

YuriSizov avatar YuriSizov commented on May 27, 2024

I've implemented keeping track and restoring the position in the lesson. If it was the last lesson you've visited, we try to put you next to the same piece of content that you likely saw last. If you come back to a different lesson, we will try to put you to the first unread part of the lesson. In all other cases, we'll keep you at the top of the lesson.

Let's keep this issue open to see if it works reasonably well. (Not yet available on the live version)

from learn-gdscript.

NathanLovato avatar NathanLovato commented on May 27, 2024

I would prefer to close issues that we addressed and then reopen or let people open new ones to suggest improvements.

I'll close for now.

from learn-gdscript.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.