scratchfoundation / scratch-desktop

Scratch 3.0 as a self-contained desktop application
BSD 3-Clause "New" or "Revised" License
344 stars 231 forks source link

add wireless icon to indicate that Bluetooth extensions require wireless #52

Open ntlrsk opened 5 years ago

ntlrsk commented 5 years ago

Currently Scratch Desktop does not indicate that the Bluetooth extensions (e.g., micro:bit, LEGO Mindstorms) also require wireless to work.

Adding the wireless extension next to the Bluetooth icon would make this clear.

image

ntlrsk commented 5 years ago

Ideally this would happen before Scratch Desktop is disseminated more broadly to 35 countries for Africa Code Week. Broad dissemination of Scratch Desktop on USB drives starts in July 2019.

apple502j commented 5 years ago

@thisandagain s said the new version will be out soon, meaning this will come before July!

see also LLK/scratch-gui#4641

Ascor8522 commented 5 years ago

The wireless icon stands for internet connection. These extensions can be used in offline mode, so no need for the icon, unlike the translate/text to speech extension. See https://github.com/LLK/scratch-desktop/issues/31

By the way, Bluetooth is already "wireless" in some kind, there is no "Bluetooth wire".

towerofnix commented 5 years ago

@Smrman until #31 as you linked is resolved, doesn't that mean that an internet connection is required for these extensions?

cwillisf commented 5 years ago

Unfortunately because of #31 Scratch Link itself requires an Internet connection for normal usage, which implies that hardware extensions require an Internet connection as well. That's true in all of Scratch, though it's more noticeable in Scratch Desktop since not many people go to the Scratch web site and then immediately turn off their Internet connection ;)

@ntlrsk do you think we need to include the "requires Internet access" icon only on Scratch Desktop, or should we include it in the web site version of Scratch as well?

towerofnix commented 5 years ago

That's true in all of Scratch, though it's more noticeable in Scratch Desktop since not many people go to the Scratch web site and then immediately turn off their Internet connection ;)

OK, this is super offtopic, but I did make a project which detects exactly that case :) https://scratch.mit.edu/projects/306712705/

ntlrsk commented 5 years ago

@cwillisf It would be very helpful to have a warning on the online version too. In South Africa, the microbit and separately the LEGO Mindstorms connections to the hardware kept dropping, and we couldn't figure out why since Bluetooth was working. This happened on a wireless hotspot as well as the wireless network in the Clubhouse space.

ntlrsk commented 5 years ago

@cwillisf From what I now understand ScratchLink keeps polling for an IP address and that could eventually be changed?

cwillisf commented 5 years ago

@ntlrsk close. Scratch Link acts like a server waiting for a connection from Scratch. Scratch keeps polling for a connection until it finds Scratch Link, in case you don't have Scratch Link running when you start your project or add a hardware extension.

To be precise, the connection between the two is a Secure WebSocket (WSS) connection that's made from Scratch to Scratch Link over a loopback address on a non-standard port.

In theory you/we could change the IP to be something other than loopback and I've experimented with some features ideas based around that, but under normal circumstances it should always be the loopback address.

cwillisf commented 5 years ago

Moved to LLK/scratch-gui#4839

cwillisf commented 5 years ago

Oops! This is already done in scratch-gui so all we need to do is release a new version of Scratch Desktop which includes the updated GUI. I'll reopen this as a placeholder for that release but it should happen very soon.