Description
We’ve been working on a new iteration of the Python editor for the micro:bit. 🐍🎉✏️
We thought it made sense to raise an issue here to signpost it for all the contributors and users of this repo.
Goals of the new iteration
We started out looking at how we could iterate on the design of the micro:bit Python editor to help make Python as a language more approachable for a diverse audience, especially those who may not already be confident with code. We want to support people whether they are new to computing, or coming from block-based languages.
The goal was to keep things as a text-first editor, that is friendly, approachable and helps you explore the features of the micro:bit and (Micro)Python to create and understand your code.
To do this, we think it is important to make some significant UX changes.
New architecture and source location
As part of the UX overhaul, we are also taking the opportunity to revisit the technical foundations of the micro:bit Python Editor. Some of the requirements that existed at the time this editor was built aren’t as relevant today, and the web stack has moved a lot since 2015!
For example, we’re moving away from jQuery to a TypeScript/React stack, and aiming to build the editor out of components that are also re-usable by other micro:bit Python editors (a direction that’s worked well with microbit-fs, and microbit-universal-hex).
As this project has a significantly different structure, we’ve started a new GitHub repository at https://github.com/microbit-foundation/python-editor-next.
There’s a deployment up at https://python.microbit.org/v/alpha
Status of the new editor
This is very early stages! We definitely don’t think it’s ready for day-to-day use, and lots of the things we want to add to the editor aren’t there yet….
The initial goal of this alpha release is to reach feature parity with the current editor, learning from all the things people love; the simplicity, the focus on the code as the main element, and access to the MicroPython REPL from a WebUSB capable browser.
Part of developing in the open and being responsive to feedback from our audience means our editor roadmap has to be flexible. However, we are currently expecting to include work on:
- adding supporting documentation and educational content to the sidebar to help people explore micro:bit features in the context of MicroPython
- detecting and highlighting syntax errors
- effective autocomplete for the micro:bit API
- and longer term... how best to bring in some of the research done on simulation into the editor
- making this a best-in-class, text-first Python Editor for everyone
Come and help 🙂
We hope the use of a more modern set of tools will make collaborating on the editor with a wide community of micro:bit enthusiasts easier. If you’re interested in working on the editor join us over at the new repository.
We are sharing this news early in the development process, to get your feedback and let you know how to get involved.
What's happening to python.microbit.org and this codebase?
Nothing will change on https://python.microbit.org in the near term. This announcement is to help gather feedback on the newer editor.
Our main development effort will switch to the new editor codebase, where we plan to add more features and run a wider beta testing program with an educational audience before making the new editor the default.
When the new editor is made live, the current version will still remain available at https://python.microbit.org/v/2, built from this repository.