Giter Site home page Giter Site logo

Comments (9)

amyjko avatar amyjko commented on August 17, 2024

This one is specifically about the "unknown" parsing error, where a whole can't be parsed. We need to give more instructive feedback about the error, and try to figure out what they were trying to type and offer targeted recommendations.

from gidget.

mjslee avatar mjslee commented on August 17, 2024

For now, I have currently gone through the text.js file to redo the speech to make it more consistent for both the control and experimental conditions.

Any suggestions on how we can give feedback about what they typed in? Currently, only some of the function calls in text.js have variables pushed to them.

from gidget.

amyjko avatar amyjko commented on August 17, 2024

The feedback should really depend on the tokens they have typed in. At the very least, we should be giving them some detail about the commands that Gidget knows and examples of how to type them. Even better would be feedback that's tailored to what they typed (for example, if there were typos, checking for off by one character typos and seeing if they match any of the commands or objects in the world, then recommending commands). If nothing matches, we could show a list of the commands that Gidget knows, like a help listing for a unix command.

from gidget.

mjslee avatar mjslee commented on August 17, 2024

Got it. I think this will be a valuable feature of the language as it serves dual purposes - to highlight an error, and also to act as a teaching opportunity.

I haven't worked with this kind of text parsing/processing before, so I am certain that I won't have anything usable implemented by tomorrow's target pilot launch date.

from gidget.

amyjko avatar amyjko commented on August 17, 2024

Let's talk about it in our meeting tomorrow.

from gidget.

mjslee avatar mjslee commented on August 17, 2024

This is a reminder that we should talk about this during magic desk time.

from gidget.

amyjko avatar amyjko commented on August 17, 2024

The feature idea:

  • Add a cheat sheet below the code area that contains all of the commands that Gidget knows
  • The commands that Gidget knows are determined by which level the player is on. Add some code to level specs that detail which commands are not available and use it to hide syntax on cheat sheet.
  • When Gidget encounters some sort of parsing error, rather than offering suggestions in the dialog, he highlights elements of the cheat sheet to explain why he was confused.
  • The user always has control over showing and hiding the cheat sheet
  • The cheat sheet goes away after the parsing error is passed, unless the user was the one who opened it.

from gidget.

amyjko avatar amyjko commented on August 17, 2024

Added a cheatsheet, a control for toggling it, and code that highlights specific parts of it when particular parsing errors are encountered.

Work remaining for Mike:

  • Go through each level and call world.addHiddenCommand() for each command Gidget shouldn't show in the cheat sheet.
  • Add all missing commands to cheat sheet, being careful to name them 'cheat-' since the UI code hides them based on the names passed into world.addHiddenCommand().

from gidget.

mjslee avatar mjslee commented on August 17, 2024
  • All current commands are included except for 'name.'
  • All levels updated to hide unknown commands for that stage
  • Changed some wording to make Gidget gender neutral.

from gidget.

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.