Lots of feedback and suggestions

Some issues I’ve seen so far:

  1. It looks like some people have trouble distinguishing between variables and the same name as a literal.

  2. My own experience was that I didn’t know about some parts of the Grasshopper user interface until later, specifically, swiping left for more data-entry options and the glossary, the less-restricted Code Playground available on the menu, the reset option, a reminder about the hint, the online-help option, staying in a lesson to try variations, goal stars, function detail boxes available within the goal stars, and that quiz reply boxes can be moved up and down. Maybe you could include this as an initial set of lessons.

  3. [Edit: Sentence removed]. Perhaps you should have an option for people to indicate whether they need to focus on it more, and a test without hints to see if they really did understand. Some of the quiz questions may have been answered correctly by coincidence.

  4. The Profile options causes unexpected side effects on Android; I started getting the other person’s emails on my phone. Why create a phone profile instead of keeping it in the app?

  5. Some built-ins, such as for(), have multiple parameters; would be nice to have the parameter template appear. You could perhaps have it appear inline as a default value, such as: for(initialize, complete?, increment). Also, or as an alternative, double-tap or hold the function button to get the function detail box.

  6. My own experience is that it helps me learn something new when I realize that I’ve done something redundant or extremely convoluted.

  7. Suggest leaving the next lesson box dim until the goal stars have been viewed. I didn’t realize they actually had something until I decided to tap one.

  8. Used A Function star: suggest rewording as: “drawBox() is a function. A function tells the computer to do a certain thing. Functions can take arguments, also known as parameters, to give the function extra information. For example drawBox(red) has red as an argument, telling the computer to draw a red box. You won’t see drawBox() elsewhere; we created it just for Grasshopper.”

  9. Suggest explaining that students have already been using variables – the colors, defined in a way to prevent them from being changed. See also 33 below.

  10. The pickRandom() detail box says it can be used to pick colors or pick an item from an array. The example does both, mixed together, which may be confusing. Suggest 3 separate examples of each possibility.

  11. [Edit: deleted]

  12. In the first variable quiz, it says "The print function looks ‘up’, and prints out the first value it finds for song". Suggest rewording as “The print function looks up and prints out the current value it has for song.”

  13. There are a number of concepts which are found in other languages but can’t be done in JavaScript. Some things are hard to understand or use effectively if they’re put off until much later (as I know from my own experience). Might consider a way to cover such topics.

  14. In the array quiz, var shoeColor = drawBox(blue) isn’t even valid.

  15. In the Code Playground, drawBox() is available as an option, but there doesn’t seem to be a way to enter the colors. I see that you have a forum note about that, but that doesn’t really help those who haven’t read the forum. See 33 below.

  16. In the banana bread quiz, the code would not run as-is, which might confuse some people. Might want to clarify that the code is incomplete, or removing the two var lines. In fact, might want to redo the example, since you have colors in quotes. Maybe instead of 'green', etc., use 'still green'.

  17. Suggest labelling the quizzes and goal stars so people can refer to them in the forum.

  18. Modifier Math – might want to reiterate (might be first time for most) that the value on the right is calculated and assigned to the variable on the left.

  19. Code isn’t always marked with backquotes, especially in puzzle descriptions. See Open the Lock for an example, in which if is not marked. Suggest also marking &&. Also, the code highlight is kinda faint, not always visible.

  20. Might want to stay in quizzes until they get the answer right.

  21. In Image Decoder, remove 1st paragraph of instructions, since it’s already done. Also, might want to clarify that the var img = '...' isn’t shown. See 33 below.

  22. On the Achievements screen, Keys shows the dots at the bottom which indicates you can find more by swiping, but you can’t swipe.

  23. In Custom Colors, change “Draw a magenta box” to “Draw a magenta box as follows.” Ditto for the next puzzle.

  24. [Deleted]

  25. Consider writing some of the later problem descriptions the way a programmer analyst, client, code review team/programming partner, or beta test team would write it.

  26. I’m surprised no partners in northeast USA (no, I don’t live there, just noticed); the New York MSA alone has 7% of the US population.

  27. You might want to have the staff names marked. I think I’ve seen marked names on this forum software (Discourse) on other sites.

  28. You definitely should introduce comments early. Code with few or poor comments is a curse to work on – especially when it’s your own code weeks or months later, and you have no clue what it does.

  29. Sometimes nice to see what the other quiz answers are, even after you’ve answered the question. Suggest having the other quiz answers below the message about the correct answer.

  30. There’s lots of color use; keep in mind that some people may be colorblind.

  31. Don’t know if you do so already or not, but might want to notify people via email when you’ve made significant updates (and at the same time, you can mention the lesser changes).

  32. I think a lot of people don’t know how to do screenshots. Maybe a hint on the forum editor screen to add a screenshot, and a link to a page discussing how to do a screenshot. [Edit] Is it feasible to have the Help option upload app state and screenshot (with user permission), and then open the Explainer page with an ID on the URL. When the page opens, you could have an insert-screenshot button. If user approved it, you’d be able to look at app state also on your end. Am I explaining that badly?

  33. About hidden code, how about a new section, between the results box and the code box, minimized by default, have it say “Hidden code: You don’t need the hidden code to solve this, and it’s not unusual to not be able to see everything.” You could have this even in the beginning puzzles, to show color code definitions, define print(x) as gh.print(x), etc.

  34. Looking at some of the forum topics (while searching for ‘random’), I get the impression a couple dozen cover puzzles which have been changed significantly. If so, and if you haven’t done so already, might want to mark them as obsolete topics. [Edit] Or better yet, put them all back in as bonus items or a bonus course.


1 Like

Hey @Scott_McNay,

Thanks for taking the time and providing this detailed feedback and suggestions.

Grasshopper is an early app, and we’re working to add more content and improve features. We appreciate your patience while we figure out the best way to solve these problems. A lot of your suggestions we’re already working on improving, but I’m going to call out a few:

4: Would you be able to explain this issue a little more? Did you mean notifications? Or support emails? Those are the only two methods we have to contact you, and the latter is based on the email that is submitted with the support request. Or, do you mean their Google account was linked to other Google products on your phone? I can’t speak to the specifics of other apps, but you should be able to turn off which Google accounts are linked to those apps.

13: Do you have examples of what you found difficult in your own experience? It’s great for us to get an understanding of how people have learned, as it can help us shape our curriculum strategy.

15: You can enter a literal string in drawBox() and it will work. In the first few lessons we use identifiers holding strings to avoid users accidentally editing strings and getting off track (since those lessons are aimed at getting familiar with the IDE, rather than specific coding concepts).

24: The first print(elevation) doesn’t need to be deleted to complete this puzzle; are you seeing behavior where keeping the print() blocks completion? (if so we’d love to investigate, as that sounds buggy).

H :slight_smile:


Hi @Grasshopper_Heather,

  1. Their Google account was linked to other products. I wasn’t watching, so perhaps there was something she approved without realizing what it would do.

  2. The two which come to mind: I have trouble with the way C uses pointers (yes, in spite of being familiar with assembly language, including writing a Forth compiler in assembly), and there’s also monads in Haskell (this is supposedly the best explanation, but I haven’t sat down to look at it yet: http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html?m=1). C had just been introduced when I got my degree, so it wasn’t covered.

  3. I looked at it again and deleted it.