Lack of examples and documentation

Issue #337 resolved
David Moshal created an issue

Hi, fabulous project, have used it on and off for many years to introduce kids to programming.
My usage of the software though has been limited by the lack of examples and documentation.

For example HTTP server, Websocket server, etc.

It’s possible by trial and error to figure out how to connect and send a response, but the error messages along the way are not helpful….

So really this is a request for a couple of things:

1) Examples for each of the libraries.

2) A way to debug problems and provide information, is this possible? is there a log file? If so, where is it documented?

3) A way for end users to post working projects, ie: contribute examples to the community?

Thanks for the excellent projects.

Comments (3)

  1. John Maloney repo owner

    Glad you are enjoying MicroBlocks. What ages of kids have you worked with?

    1) Examples for each of the libraries.

    As you may know, the MicroBlocks editor. all built-in blocks, and key libraries are documented on our wiki:

    https://wiki.microblocks.fun

    There are also many built-in example/demo projects that can be opened by selecting the Open menu command and clicking the Examples shortcut in the file open dialog. The Network example folder has several examples of HTTP clients and servers.

    Finally, the Learn page has dozens of activity guides, some with teacher notes or cards for students to use.

    That said, some of the more expert-oriented libraries, including the ones for networking, are not documented. For now, the best way to learn about those is to look at the examples in the Network folder.

    2) A way to debug problems and provide information, is this possible? is there a log file? If so, where is it documented?

    There's no log file, but you can use the graph block to log strings to the MicroBlocks editor. (The board must be connected.) Non-numeric strings are not shown in the graph window but you can right click on the graph tool and select "copy graph data to clipboard", then paste the text into your favorite text editor so see the logged strings. You need to have selected "show advanced blocks" to be able to do this. There is a limit to the number of log entries that are kept (10,000, I believe).

    This seldom-used feature is not documented. However, it's useful for debugging, so we will add it to the documentation.

    You can also use the "say" block to report internal state and progress. You should add a wait block after the say block to make sure you have time to see the message.

    3) A way for end users to post working projects, ie: contribute examples to the community?

    We don't have cloud-based project sharing site like Scratch or Snap! and no plans to add one.

    However, we are close friends with the Snap! community. If your store your projects on a server (Google Drive, Dropbox, Git repository, etc.) and share a link on the Physical Computing forum:

    https://forum.snap.berkeley.edu/c/compsci/physical-computing/42

    You may also be able to post scripts or even small projects on the Snap! Forum as data URLs using the "Copy project URL to clipboard" command in the File menu or the "copy to clipboard as URL" command on a script.

    Hope these ideas help!

  2. Log in to comment