maehw / maehw/WebPBrick

Indicate required build before program download

Open
#3 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
Dominant language
JavaScript
Stars
34
Forks
8
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**

Not really a bug, but a potential user experience (UX) improvement.

**To Reproduce**

1. Write NQC code
1. Press the "Build" button
1. Press the "Download program to RCX" button
1. Play around with user program on the RCX
1. Modify code
1. Press the "Download program to RCX" button
1. Play around with user program on the RCX
1. Wonder why code changes do not have any effects

**Expected behavior**

When downloading, the user could be informed that they made changes to the code that have not been compiled and hence the built binary may not include the expected changes.

Alternatively, we could combine the build step into a "Build & download" step as there's probably only a very small majority of users who only want to build their code - and maybe expect the binary.

**Screenshots**

N/A

**Operating system & webbrowser:**

Considered irrelevant here.

**RCX hardware & firmware:**

Considered irrelevant here.

**Additional context**

There may be users with web browsers that only support WebAssembly (WASM) but not Web Serial or WebUSB APIs and therefore only play around with writing NQC code and compiling it, i.e. press the "Build" button and want to see what happens.

(EDIT) Suggestion: Replace the two buttons ("🧱 Build" and "⬇️ Download program to RCX") with a "universal" button.
Dependent on web browser capabilities, label that button and use different functionalities. Only WASM available? Stick with "🧱 Build" as no IR communication is available for download. WASM + WebSerial available? Then re-label the button "🧱 Build + ⬇️ Download program to RCX" and have both functionalities executed after each other automatically.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Build and Download program to RCX controls and the browser capability checks for WebAssembly, Web Serial, and WebUSB. Compare the proposed warning and universal-button behaviors, then verify that build-only browsers compile successfully and compatible browsers build before downloading, with clear labels or feedback.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, wasm
Domain
embedded-iot, frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.