Giter Club home page Giter Club logo

touchdevelop's People

Contributors

hammyhavoc avatar hugheth avatar inversion avatar jtuchsen avatar millerv avatar mmoskal avatar msprotz avatar n6udp avatar ntoll avatar pelikhan avatar protz avatar rubycoder avatar sebastianburckhardt avatar siddhartha-sharma avatar tballmsft avatar thomasjball avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

touchdevelop's Issues

Confusing tutorial hints in "Add Action"

Today I created a tutorial that included defining a new action. Overall, it was an easy process.

One confusion was in the part where it asks to type the name of the action. Even with the hints: full, it just said to type "square" (when in reality you first have to erase "do stuff"). But most of the confusion was with "tap (<-) when done".

I was not sure which back arrow it wanted me to tap, then I realized it was the one at the top. It would have been better if the usual blue hint pointed to that arrow or actually if there was a "Done" button.

It is really confusing for sounds to be under "art"

I got really confused by this when going through the tutorial, and later when teaching students they were really confused by this also. The tutorial tells you to do sound->play but you're supposed to click on art.

Tutorials should either say look under art or sounds should be a separate library (not sure the term here)

No delay between tutorial steps

Need to have a delay between tutorial steps so students can examine code that they have written. Currently, when you complete a step, If there isn't a prompt to run the code, you go immediately to the next step without opportunity to examine the code you've written.

Need a way to "back up" in a tutorial

We need a way to allow a user to go back any number of steps in a tutorial...something like the "rewind" option that is available to tutorial authors, but something more intuitive/easy for a student. A "go to previous step" button...or something like it...might work.

Introduce delay between tutorial steps

Students following a tutorial need to be able to contemplate the code they have written. Right now, students can do this only if they are prompted to run the code after a tutorial step (they can examine the code before tapping "run"). However, it is not always desirable to have students run code after a tutorial step. In this case, instructions for the next step are immediately shown without giving a student opportunity to examine what he/she just wrote.

Some options that would be helpful (least-good to best):

  • a built-in delay of a few seconds between all tutorial steps
  • a macro that allowed a configurable delay between steps
  • a macro that provided a way to pop a "continue to next step" button between steps

Turtle Shapes Tutorial 1: Does not detect first step completed

There seems to be no business logic that handles the completion of the first challenge (drawing a square). The tutorial expects a for loop drawing a square with sides of length 200. When this code is written and had run, the tutorial does not detect this success condition and move on the the next challenge.

add oldName(...) annotations and remove old APIs

The new oldName("...") annotation is in. I have added "on every frame", we need to wait until it becomes current and then remove "add on every frame".

We also need to remove math->rand_norm etc., and add appropriate oldName("...").

Change size, timing, placement of "click here to continue tutorial" message

The timing, size, and placement of the “click here to continue tutorial” message (shows when you are running the code of a tutorial) are awkward.

  • Can the timing be customizable? Sometimes it shows up too soon or too late depending on the nature of the tutorial step. In either case it leads to confusion.
  • Can the size be changed (or be customizable)? It often covers up important elements of the running script.

jake warning

There's a spurious warning from jake.

jake
[B] build/addCssPrefixes.js
[B] build/jsonapi.d.ts
[B] build/browser.d.ts
[B] build/genmeta.js
[B] build/shell.js
(node) warning: possible EventEmitter memory leak detected. 11 complete listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at addListener (events.js:179:15)
    at once (events.js:204:8)
    at C:\Users\jhalleux\AppData\Roaming\npm\node_modules\jake\lib\task\task.js:141:20
    at replenish (C:\Users\jhalleux\AppData\Roaming\npm\node_modules\jake\node_modules\async\lib\async.js:194:21)
    at C:\Users\jhalleux\AppData\Roaming\npm\node_modules\jake\node_modules\async\lib\async.js:211:15
    at Object.async.eachLimit (C:\Users\jhalleux\AppData\Roaming\npm\node_modules\jake\node_modules\async\lib\async.js:171:12)
    at TaskBase.runPrereqs (C:\Users\jhalleux\AppData\Roaming\npm\node_modules\jake\lib\task\task.js:124:15)
    at TaskBase.invoke (C:\Users\jhalleux\AppData\Roaming\npm\node_modules\jake\lib\task\task.js:104:10)
    at C:\Users\jhalleux\AppData\Roaming\npm\node_modules\jake\lib\task\task.js:147:29
    at replenish (C:\Users\jhalleux\AppData\Roaming\npm\node_modules\jake\node_modules\async\lib\async.js:194:21)

Running jake local exits

On Mac OS X 10.9.5, node v0.12.0:

Running jake local gives:

host:TouchDevelop me$ jake local
[P] modifying in-place all css files
host:TouchDevelop me$

Amending Jakefile seemed to fix this issue:

diff --git a/Jakefile b/Jakefile
index 6cba6ae..fdec998 100644
--- a/Jakefile
+++ b/Jakefile
@@ -352,7 +352,7 @@ Object.keys(concatMap).forEach(function (f) {
     });
 });

-task('log', [], { async: true }, function () {
+task('log', [], { async: false }, function () {
   if (process.env.TRAVIS) {
     console.log("[I] dumping the last few commits in build/gitlog.txt");
     runAndComplete([ "git log -n 100 --pretty='format:%H%x20%ci%x20%cN%n%w(90,4,4)%s%n%w(90,4,4)%b' > build/gitlog.txt" ], this);

Tutorial prompting: order of changing parameters

This tutorial demonstrates two issues: http://tdev.ly/iuxvkndh

  1. When changing the parameter for set y(0), it would be best to delete the existing parameter 1st (not last) before being prompted for the new parameter.
  2. (less serious) When changing "100" to "200", it would be best to delete the "1" then add the "2", not add the "2" then delete the "1".

"fork on TouchDevelop" should be "edit in TouchDevelop"

When you follow a link to a script, you land on a page that has a big "run" button (which is good). However, if you want to edit the script, you have to click on "fork on TouchDevelop", which doesn't mean anything to non-coders (our main audience). "edit in TouchDevelop" would be better.

missing icons

We are still missing a bunch of icons. I'll pile up the list as I stumble on them:

  • "move left"
  • "fix it"
  • "action"
    ...

"keep editing" is too subtle and should exit tutorial mode.

The "keep editing" link at the end of a tutorial is too subtle - many users simply do not see it. Making this easily discoverable is very important from an pedagogical standpoint.

Additionally, the "keep editing" button doesn't exit "tutorial mode" when you return to the script (you have to explicitly do this in another step). Presumably, if you click the "keep editing" button, you are finished with the tutorial, so it would be ideal that you have also exited "tutorial mode" (i.e. it is now just another script for you to edit, without prompts). If this is not desirable for all tutorials, making it configurable would be the next best thing.

Preserve user-added art and strings in tutorials

There needs to be a way to create a tutorial that allows a user to add art and/or strings and preserve those throughout the tutorial. Currently, user-added images/strings can "revert" to the art/strings used when the tutorial was created (author-added art). This tutorial provides an example: http://tdev.ly/yzwiwwbf. Look at #2-5 main() in the tutorial. Because of the way I'm using {stauto}, user images and strings aren't preserved throughout the tutorial (the images I used when creating the tutorial are used instead).

Touch develop no run

touchdevelop local does not start and returns error

cd TouchDevelop
Mac-mini-di-samuel:TouchDevelop samuelsavio$ jake local
[P] modifying in-place all css files
[I] build completed.
rm -rf build/local/tdserver.js
starting shell watch...
starting with --cli TD_ALLOW_EDITOR=true TD_LOCAL_EDITOR_PATH=../.. --usehome
set TD_ALLOW_EDITOR=true
set TD_LOCAL_EDITOR_PATH=../..
data directory: /Users/samuelsavio/TouchDevelop
start, autoupdate=false
Deployment key: a843009fc0732e4dd949e8798756d3412020f940
Editor URL: http://localhost:4242/editor/local#td_deployment_key=a843009fc0732e4dd949e8798756d3412020f940
touchdevelop local started...
serving index.html from ../..
serving main.js from ../..
serving default.css from ../..
serving editor.css from ../..
serving browser.js from ../..
serving index.html from ../..
serving default.css from ../..
serving browser.js from ../..
serving main.js from ../..
serving editor.css from ../..
GET /-tdevmgmt-/d432fa3fab495dff663d6feacad8ecb459ec54c8/stats
HTTP error 403: wrong key
serving index.html from ../..
serving default.css from ../..
serving editor.css from ../..
serving browser.js from ../..
serving main.js from ../..
GET /-tdevmgmt-/d432fa3fab495dff663d6feacad8ecb459ec54c8/stats
HTTP error 403: wrong key

Cordova export phone back button

The phone hardware back button exits the app in Cordova exported apps in touchdevelop. It doesn't navigate the page stack and if you try to put a 'catch' in, e.g. on page navigated from, this doesn't work either.

Non-sequential prompting in tutorial

The tutorial engine does not prompt the user to write code in a sequential manner in this tutorial: http://tdev.ly/iyzyuien. In general, for tutorials to be helpful teaching tools, they need to prompt students to write code in the way one would expect: line 1, then line 2, then line 3, etc.

"on every frame" action names are inconsistent

The board object has an action called add on every frame. Other objects have an action called on every frame. They essentially do the same thing: evaluate the objects state on every frame. From a teaching (or learning) point of view, this is confusing. Suggestion: Change the function on board to on every frame.

officemix.js not built

Looks like we lost the officemix.js / officemix.html in the build. I see that we have a task in the jakefile but the officemix.js file is not generated or uploaded.

Turtle maze: need "on collision" and "on goal" actions

In older versions of the turtle library, when creating a maze it was possible to set the behavior on collisions with obstacles and on reaching the goal. Those actions/behaviors don't seem to work in recent version of the library. An example is here: http://tdev.ly/gkvkg

In the context of a maze, having a turtle->on collision action and a turtle->on goal action (or on goal reached or on goal attained or something like that) is necessary to make mazes good teaching tools.

"back" button is difficult to find in tutorials

When prompted to enter a string in a tutorial, the tutorial directions tell you to click the <- button after you have entered the string. Many new-to-TD users can't find it. e.g. http://tdev.ly/iluoirmv

Suggestions:

  1. Add the word "dismiss" to the UI (i.e. "Enter . Click "dismiss" (<-) when finished.")
  2. Provide an alternative way to exit the string editor.

Tutorials: no hints for adding parameters

Tried to add an action with parameters today to the tutorial. Looks like there are no hints (with full hints turned on) when adding an action with parameters. Hints nicely guide users how to create an action, but stop when user is about to change parameter name. There should be a blue hint pointing to the parameter and then to rename on the keyboard, then it should guide them to type the name.

Defaults for board->create text() are poor

The default values for board->create text() seem to have the font size and box size swapped. This is the default:

board->create text(100, 20, 40, "")

This creates text (40) that doesn't fit in the box height (20). Better defaults would be...

board->create text(100, 40, 20, "")

This change will cut down on unnecessary tutorial steps.

Order of tutorial prompting is confusing

When following a tutorial, the order in which a user is prompted to write code is sometimes very confusing.

  • e.g. 1: http://tdev.ly/kavqqqgj
  • e.g. 2: When inserting Random Range (step 5 here http://tdev.ly/oeqeagwu, like for robot set x or y), it’s clunky – it leaves the “0” from the original function there and you have to delete it.
  • e.g. the order for storing a value in a variable should be 1) create variable, 2) write the expression for initialization (not the other way around using "store in var")

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.