In CircuitPython mode, Mu should allow users to save their files off-device for SCM. #1331
Replies: 3 comments 2 replies
-
I think you could also simply backup to the host device with timestamped versions of the file. For example: |
Beta Was this translation helpful? Give feedback.
-
Great summary, thanks Nicholas! And also thanks to everybody else in the discussion as well, it was very informative and great to see everybody's perspective. Some additional notes:
From the current proposals:
In this case I would vote for a run button that is always present, rather than a setting. To maintain Mu simple I would prefer to choose to change the UI rather than provide options to change it or customise it in a per-user bases. All the other modes have a run/play/flash button, CircuitPython is the only mode currently that doesn't have a button that clearly indicates "I want to execute this code". This is the main reason a "Run" button looks attractive to me. While changing the UI can affect existing literature (books, tutorials, workshops, educational material, etc), in this case the new button is an addition that does not change the behaviour of the rest of the buttons or Mu options. So instructions should still be valid, and while screenshots will be a bit different it should be easy to understand the difference and I think it should be fine for most users. Other option:
|
Beta Was this translation helpful? Give feedback.
-
I have been rereading all of the comments both here and on the PR to clarify my own thinking. One new path I went down was considering a general github integration for all modes, but that seems even more mirky than this issue. @ntoll suggested in our video discussion just changing the behavior of the "Save" button to always copy the code if it is not already on the device. @ntoll had also suggested something like this back in June 2018, but making it an opt-in feature selected through "Mu Administration". This has the advantage of not causing the interface to change. I was starting to lean this way, but realized that it is common to "Save" work intermittently while making a set of changes, not intending the steps to actually be "Run" until all the changes are completed. So, a separate "Save" and "Run" button does make sense. This lead me to think about one possible solution @carlosperate proposed of just adding the "Run" button all the time to align more with other modes, making it available all of the time. This is the simplest solution, which is frequently good and probably the best solution considering all the options. A couple of downsides to this is the interface change affects existing literature, as @carlosperate reminded everyone. There is also a risk that teachers might find this confusing because they have already dealt with the only copy of the code living on the device in whatever way they have and will need to either do some reteaching or at least deal with some general confusion. This is why I liked adding the "Run" button optionally as an opt-in feature similar to the @ntoll suggesting of the opt-in behavior of the "Save" button. I will completely defer to the group on making the "Run" button optional since both approaches seem valid. So, my conclusion at this point is to add the "Run" button full-time. If the "Run" button is selected, the file is saved to the local filesystem and a copy of it is made to CIRCUITPY/code.py. If the file is already on the CIRCUITPY device, it acts just like "Save". I am craving some feedback from the teachers about this, though I would expect some resistance. Do we have any teachers we could ask about this that we know are actively using mu + circuitpython to see if we get any sort of reaction to the proposed change? |
Beta Was this translation helpful? Give feedback.
-
This discussion is a result of the work by @fmorton in PR #485. The problem we're trying to solve is:
code.py
.code.py
is from CircuitPython and is needed so the device knows what code to run on boot (hence the obvious name). This need not be the case for the file when stored on the user's local (non-device) file system.Proposed solutions (based on @carlosperate's summary in the recent video call):
code.py
on the attached CP device.user_defined_name.py
in acircuitpython
directory within the user'smu_code
directory.user_defined_name.py
file is saved.cc/ @tannewt @kattni @makermelissa @DaveSprague
Beta Was this translation helpful? Give feedback.
All reactions