Working on a new iteration of the micro:bit Python Editor
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 10/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- javascript, jquery, python, react, typescript
Research direction
This issue is an announcement rather than a scoped change in the current repository. Read the new python-editor-next repository and its alpha deployment first; any contribution should be made there, while this codebase remains available for the current editor at python.microbit.org/v/2.
Written by the indexing model from the issue text.
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.
- Dominant language
- JavaScript
- Stars
- 201
- Forks
- 126
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from bbcmicrobit/PythonEditor
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
bbcmicrobit/PythonEditor#406 ·
-
U Open
Difficulty 5/5 Over a week Newbie friendliness 1/100
bbcmicrobit/PythonEditor#405 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
bbcmicrobit/PythonEditor#375 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
bbcmicrobit/PythonEditor#367 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
bbcmicrobit/PythonEditor#366 ·
All issues in bbcmicrobit/PythonEditor
Similar issues
-
bug customer-eng Durable Agents Inngest status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
githubnext/gh-aw-cao#13475 ·
-
[BUG]: "Clear All" in Settings doesn't clear the saved analysis, old data comes back after reload Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
AOSSIE-Org/OrgExplorer#253 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
oxc-project/oxc#26944 ·
-
ai-observability bug team/ai-observability
Difficulty 2/5 1-3 hours Newbie friendliness 78/100