Suggestion: new menu navigation in webclient

525 views
Skip to first unread message

DJ Dekker

unread,
Apr 3, 2026, 8:06:25 AMApr 3
to PicoChess
Hi PicoChess users,

I have a suggestion for a new way of navigating around the PicoChess menus in the webclient. Instead of having many buttons in three places on the page, and instead of clicking back & forth on the simulated DGT clock button bar, I propose to use an overlay with the menu options. Here's a YouTube video showing the idea:


Greetings,
DJ

DJ Dekker

unread,
Apr 3, 2026, 9:00:29 AMApr 3
to PicoChess
And here are two screenshots showing the relative size of the overlay:

1. Raspberry Pi Touch Display 2 (resolution 1280x720 pixels, Chromium in kiosk mode)
touchdisplay.png

2. Mobile phone (resolution 828x1792 pixels, Chromium)
phone.png

Johan Sjöblom

unread,
Apr 3, 2026, 9:51:16 AMApr 3
to pico...@googlegroups.com
Looks good to me. It would definitely be easier to switch and select engines from a proper dropdown.

The modes and tutor could perhaps be combined as per our earlier discussion. If we could reduce the modes to 4 (ish), 1. Normal play (w or wo tutor)
2. "light" tutor analysis with pgn recording on
3. deeper analysis with he selected engine and no tutor, and no pgn recording
4. replay mode  (w or wo tutor)
The details would have to be worked out.

One design change we might need is to separate "what you want to display on the clock" from the mode setting. Each mode could have a default display setting to make them backward compatible,  but you could chose the clock display as a separate setting?

And greetings from Madeira, so I am not using any computers this Easter.

-- Johan



--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/picochess/66fd6ac2-983a-4e60-9baf-743ff9371dedn%40googlegroups.com.

Randy Reade

unread,
Apr 3, 2026, 11:04:25 AMApr 3
to pico...@googlegroups.com
Very nice improvement to the web interface, DJ.

Randy

--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Antonio

unread,
Apr 3, 2026, 12:09:02 PMApr 3
to PicoChess
No hay barra de evaluacion?
There's no evaluation bar?

DJ Dekker

unread,
Apr 3, 2026, 12:46:19 PMApr 3
to PicoChess
Yes there is, it's shown on the left of the diagram when you activate the Stockfish 18 web engine (click on the "Start web" tab):

screenshot.png

Op vrijdag 3 april 2026 om 18:09:02 UTC+2 schreef Antonio:

Luigi Vogliobene

unread,
Apr 4, 2026, 5:57:43 AMApr 4
to PicoChess
It would be great, DJ, looks like a great GUI improvement, to me.

I take this opportunity to propose something: 

the engine resign (whichever engine is active at that moment) when the evaluation penalizes 
the engine by a certain value (even better if this value is parameterizable)); 

I find it annoying to have to keep playing until checkmate when the engine is in a hopeless position. 

My 2 cents. 

Luigi

waldomiro dias machado junior

unread,
Apr 5, 2026, 1:38:56 PMApr 5
to pico...@googlegroups.com
Hello,

Would it be possible to add the option to save games in PGN format to a pen drive USB that would be plugged into the Raspberry Pi?

Waldomiro 

To unsubscribe from this group and stop receiving emails from it, send an email to picochess+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/picochess/84ad1b19-12c4-499c-8244-c780649089b1n%40googlegroups.com.

Johan Sjöblom

unread,
Apr 9, 2026, 1:59:25 PM (13 days ago) Apr 9
to PicoChess
DJ Dekkers new web client is now a branch in the repo. To check out a local branch to test do this:
>git fetch origin
>git switch -c 367-modernized-webclient --track origin/367-modernized-webclient

Its got more than 100 commits, so we better test it properly...

-- Johan

Luigi Vogliobene

unread,
Apr 10, 2026, 5:48:53 AM (13 days ago) Apr 10
to PicoChess
Just tested the new branch: the gui do not show the engine move on the chessboard, I tested two different engines, same problem.

Luigi

DJ Dekker

unread,
Apr 10, 2026, 9:39:55 AM (12 days ago) Apr 10
to PicoChess
Hi Luigi,

Thank you for testing. Could you please tell me which engines you were playing? And are you sure that you're on the 367-modernized-webclient branch and did a git pull?

I'm seeing no problems here:
picochess.png

Greetings,
DJ

Johan Sjöblom

unread,
Apr 10, 2026, 11:40:13 AM (12 days ago) Apr 10
to PicoChess
Hello DJ and others.

I will now make 4 fixes as 4 commits to this branch. The issues are the following roughly:
1. web set_mode and new_time send plain strings into the DGT dispatch path, which expects DGT message objects.
2. the new web book picker now changes the engine’s opening book and persists it - that also confuses the obooksrv compiled opening book hidden on "index 0"
3. web engine changes bypass the normal LEVEL event
4. the branch expands unauthenticated remote control through /channel

Fix nr 4 might require a remote web client to login. But that might be cybersecurity cost we have to accept. Lets see when my agent has finished if we want to revert (skip) change commit 4.

-- Johan

Johan Sjöblom

unread,
Apr 10, 2026, 11:56:54 AM (12 days ago) Apr 10
to PicoChess
The "fixes" listed above are now committed.

I was thinking that Luigi might have done "set mode or time" (1), select opening book (2), switched engine (3) in the new menu. And in theory these could have caused some state to become wrong.
In a quick test now I can see that the book change does not work...

And I might have misunderstood this branch on the opening books. Is it our intention that we can change the book used by the engine in the "new" menu, and in the existing "view menu" on tab "Book" we can switch what the user sees? I think I now realized that that is what we actually want to have... I will change it accordingly... so there might be a 5th commit coming up affecting commit 2.

-- Johan

Johan Sjöblom

unread,
Apr 10, 2026, 12:11:33 PM (12 days ago) Apr 10
to PicoChess
OK, 3 more commits coming up to make nr 2 - web client book changes work
- the new menu can set the book used by the engine (obooksrv not included as the engine cannot use that)
- the old existing "BOOK" tab changed to as it was, just a view change for the web client user, which includes the special obooksrv choice on index 0

Johan Sjöblom

unread,
Apr 10, 2026, 12:27:33 PM (12 days ago) Apr 10
to PicoChess
Fixed the 3 more commits. Now you can change both the book used by the engine (new menu), or the book you see on the web client in the old "BOOK" tab menu. That was probably the intention from start, but the the two ways to change books were tangled and one breakage was that _web_book_choices() in server.py (line 229) included a raw DGT_DISPLAY_TEXT object in each book entry, and /book?action=get_book_list returned that list directly in server.py (line 1243). That object is not JSON-serializable, so the browser got a broken response instead of a usable list... That is also fixed now.
Now we have 2 separate functions that both list the opening books:
1. The new menu changes the book used by engine and stores it under "book" in picochess ini.
2. The old "BOOK" menu is now like before and has one extra named ObookSrv which is the obooksrv compiled special version previously handled by a separate obooksrv
A small quirk I did not have time to fix now is that you can chose to look at the "no book" in the web client "BOOK" tab... Which of course makes no sense :-)

Now testing can proceed, but remember to do a git pull as I have done 7 commits.

-- Johan

DJ Dekker

unread,
Apr 10, 2026, 2:12:51 PM (12 days ago) Apr 10
to PicoChess
Hi Johan,

Thank you for the fixes! I have also been wondering why we could set opening books in two places. It was my understanding that the DGT clock buttons select the opening book that the opponent engine has to use, and that the opening book in the BOOK tab is only for reference and not intended to be used by the engine at all. I have no preference in this matter.

Greetings,
DJ

Op vrijdag 10 april 2026 om 18:27:33 UTC+2 schreef messi...@gmail.com:

Johan Sjöblom

unread,
Apr 10, 2026, 2:57:03 PM (12 days ago) Apr 10
to PicoChess
I was also confused. But as I had been working with the rotating book view and replacing the obooksrv service by secretly adding obooksrv as an option with index=0. So I new that the "BOOK" was only for web client view. Now we also have engine setup so now we should be fine :-) ... Actually I have never noticed that you can change books in the DGT Clock menu... Have to check that one later.

I made one more commit 0d15f16, a minor fix, but you need to do git pull.
The small problem I fixed: Toggling watcher/coach can leave stale tutor data around or replace the engine row with a blank ?-state instead of clearing it cleanly, and reconnects can replay that cached empty payload. Now it should clear the cache neatly.

-- Johan

Johan Sjöblom

unread,
Apr 10, 2026, 3:01:12 PM (12 days ago) Apr 10
to PicoChess
I have to continue another day, but I did notice in a quick regression test that you can now start more than one web client stockfish analyser. Previously we have prevented more than one on localhost to protect cpu. Have to test more in the weekend.

Luigi Vogliobene

unread,
Apr 10, 2026, 4:45:56 PM (12 days ago) Apr 10
to PicoChess
Hi DJ,

I missed the git pull, now it is OK.

Thank you.

Luigi

Luigi Vogliobene

unread,
Apr 10, 2026, 4:54:33 PM (12 days ago) Apr 10
to PicoChess
If I play black the engine clock freeze on 1 second and the engine do not make any move.

I also tested w/ Stockfish 16 engine.

Thank you.

Luigi

Il giorno venerdì 10 aprile 2026 alle 21:01:12 UTC+2 messi...@gmail.com ha scritto:
Screenshot 2026-04-10 alle 22.49.38.png

Johan Sjöblom

unread,
Apr 11, 2026, 3:02:38 AM (12 days ago) Apr 11
to PicoChess
Hello Luigi.

For me it works to play black so I cannot repeat the problem. I think something must have happened to your picochess.ini when you tested the first version. Something might be wrong with the book setting, or the time setting. The fixes I made yesterday should avoid these problems but you might already have them in your picochess.ini file.

Can you post your picochess.ini file, and if you can: also post your picochess.log that you can find in your logs folder. Then we would know what is wrong and we would not need to guess.

I have not had time to test myself yet, but is it now so that we no longer see the CLOCK menu on the web client? If we think about the chess playing UX experience we do need a fast way to switch sides, and we do need a quick way to click the pause-resume ||> button. We need to come closer to a situation that feels the same as when using a real chess clock.  I dont hink these two functions should only inside a menu, I would prefer quick buttons somewhere for these. Maybe I am missing something...?

-- Johan

DJ Dekker

unread,
Apr 11, 2026, 3:45:34 AM (12 days ago) Apr 11
to PicoChess
Hi Luigi,

I'm not familiar with the Princhess engine, I'll compile it and do a test with it. Concerning Stockfish 16: I've seen it crashing on my RPi5 because it couldn't find the nn-5af11540bbfe.nnue file (I hadn't put it in the engines/aarch64 folder). Could that be the problem?

Greetings,
DJ

DJ Dekker

unread,
Apr 11, 2026, 3:51:40 AM (12 days ago) Apr 11
to PicoChess
Hi Johan,

Absolutely agree... there is currently no button to switch sides or to pause/resume the game, but that would greatly enhance the clock experience!

I think this could be addressed by adding two buttons under the board, one for 'switch sides' and one for 'pause/resume'. There is a row of six buttons right now, but there's enough space for eight, optically aligned below the a–h files. What do you think?

Greetings,
DJ

Johan Sjöblom

unread,
Apr 11, 2026, 4:02:25 AM (12 days ago) Apr 11
to PicoChess
Having them under the board would be ok/good if they fit. There is already a flip and a sync button if I remember correctly...

The only thing I am hesitating on from a UX design perspective is that for a chess player these buttons feel like "they should be on the clock". Conceptually the board is the board, you can flip, sync, change colours etc. But I would expect a "clock feeling" somewhere separated from the board... Ideally the switch sides would be "on top of the clock" and the pause/resume button "under" the clock or "between" the left and right clock values... Exact position does not perhaps matter but I think we should think conceptually about having "a chessboard" and a "clock". From that perspective its not optimal perhaps to put the buttons below the board but its okey/good enough?

-- Johan

Luigi Vogliobene

unread,
Apr 11, 2026, 6:44:30 AM (11 days ago) Apr 11
to PicoChess
Hi DJ,

the nn file for the Stockfish16 engine was missing in the aarch64 folder; 

as you suggested I copied it from the NNUE folder to the aarch64 folder and now the engine works good playing w/ black. 

Then I switched to the Princhess engine and I played an entire game w/ black without problems.

Later on I will play w/ white against some others engines and I'll  let you know if there will be some other problems.

Thank you.

Luigi  

Johan Sjöblom

unread,
Apr 11, 2026, 7:44:44 AM (11 days ago) Apr 11
to PicoChess
Good news! Glad that it worked!

To DJ Dekker I would still add some design ideas, like that its most important how the web client looks and feels on the phone. The main use in the future I imagine is to have a headless Pi (without speakers). Thats why I implemented the possibility to send full backend sound to the mobile phone web client. The mobile phone is then the speaker and a clock display.
Especially with the use of an eboard the mobile phone could just have the clock display and a ”clock feeling”. We need the time, the side-switch, and the pause-play ||> button, and a ”info text display”, and a cog-wheel settings button. In a way the mobile phone would replace the DGT clock. Also with the use of a DGT clock you could still use the mobile phone as a speaker and a  faster way to change settings (your new menu).
— Johan

Randy Reade

unread,
Apr 11, 2026, 2:51:17 PM (11 days ago) Apr 11
to pico...@googlegroups.com
Hmmm, Stockfish 16 (a-stockf) shouldn't need an NNUE file as it is set for classic evaluation. That's why I left it there - just for evaluation by PicoTutor (unless the a-stockf.uci file was altered). To play against the latest Stockfish it's best to use StockfishNN.

Randy

DJ Dekker

unread,
Apr 11, 2026, 3:41:10 PM (11 days ago) Apr 11
to PicoChess
Hi Randy,

Unlike the UCI options "Contempt" and "Threads", the option "Use NNUE" is not being set in picotutor.py. Because it defaults to "True", Stockfish 16 will look for the NNUE file. I've been wrestling quite some time with Stockfish crashing every single game, until I found out that the missing NNUE file was the cause... 🫣

Greetings,
DJ


Op zaterdag 11 april 2026 om 20:51:17 UTC+2 schreef RandyR:

Randy Reade

unread,
Apr 11, 2026, 5:14:06 PM (11 days ago) Apr 11
to pico...@googlegroups.com
Hi DJ,

Maybe it's a new compile? I won't have access to my Pi's for another week but I thought I compiled it with NNUE defaulting to OFF and embedding OFF. Perhaps there's a new compile that replaced it. I've never had any crash and I'm pretty sure when I was watching the UCI communication for a different issue that a-stockf was running ok. But, I wonder if we should really keep SF16 around. My aim was to use its good analysis for PicoTutor while using minimal resources. I initially thought of removing it from engines.ini but decided that maybe someone might actually want to play against it.

I'll look into the NNUE issue when I get a chance. The x86_64 version should be the same. I can check that on my laptop.

Randy

RandyR

unread,
Apr 11, 2026, 5:36:37 PM (11 days ago) Apr 11
to PicoChess
I checked the x86_64 version of a-stockf and it's correct: option name Use NNUE type check default false.

Luigi Vogliobene

unread,
Apr 12, 2026, 5:15:10 AM (11 days ago) Apr 12
to PicoChess
Hi,

yesterday I played a few games (with black and white), with different chess engines and no problems so far with the new picochess GUI.

Luigi

waldomiro dias machado junior

unread,
Apr 13, 2026, 12:40:29 PM (9 days ago) Apr 13
to pico...@googlegroups.com

Hello DJ Dekker, 

Do you plan to make that PicoChess image with all those new features available to us here? 

Waldomiro.
--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/picochess/d92c35cf-2710-4a57-915e-62c180fd20d2n%40googlegroups.com.

Johan Sjöblom

unread,
Apr 14, 2026, 3:42:09 AM (9 days ago) Apr 14
to PicoChess
This new feature is already a branch and PR and as soon as we have finished testing and possible some fine-tuning it will become the next release. I think its a matter of 1-2 weeks now until its done.

Its already testable for those who know how to test a github branch, I repeat the above test information


DJ Dekkers new web client is now a branch in the repo. To check out a local branch to test do this:
>git fetch origin
>git switch -c 367-modernized-webclient --track origin/367-modernized-webclient

Its got more than 100 commits, so we better test it properly...

-- Johan
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Johan Sjöblom

unread,
Apr 18, 2026, 11:10:11 AM (4 days ago) Apr 18
to PicoChess
OK, back from a travel. I did some more work to this branch:
- Added quick buttons for switching sides and play/pause "on top of the clock display". I made the play pause icon "smart" so it only shows play or pause. I did not test all combinations but it works across 2 separate web clients.
- Fixed a bug when choosing a new game in the cogwheel menu using web client. The new game did not work as the engine did not reply to the first move. The first move was lost due to a state error.
- I also brought back the mute button on a remote web client. It was lost in this branch. The mute buttons is now in the same location as before, but the upload/download PGN buttons I decided to move and place them "inside the board" - just below it with the sync, flip etc.". As you mentioned DJ Dekker there was room for two more buttons within the chess board and I thought that uploading or downloading a PGN game buttons belong there. To make the board look-and-feel consistent those upload/download buttons are now also shown on local web client so that the board looks the same across clients.
- On desktop portrait mode I got double vertical scroll bars when going into portrait mode. Fixed that!
- latest commit was that if I upload a PGN game, autoplay starts, but the new "smart" play-pause icon was showing play. Fixed it to show pause. Now uploading and watching a PGN replay is more UX friendly.

Now as a result of this new design, we actually have a way to start the users clock before making the first move, just like in a "real face-2-face" game. I can start my user clock if I play white, and then make my first move. I have not utilised this for any logic yet, but in discussions with Dirk earlier I have been missing a way to say that the game has started - before making the first move. One case where I needed it was that I would not like to start any analyzers and consume CPU unless the game really has started.... I would not like to consume CPU if you just start the web client.

I just basic tested all these changes. I need to test more and it would be good if someone else also tests more. I am sure I missed something when doing the fixes listed above. They are now committed into this branch so if you do a git pull you get them.

One thing that I noticed was that the clock font is quite big on the phone remote web client... For instance the text "depth 17 | score -0.17" will not fit on one portrait mode row in the mobile phone (but it does fit on desktop portrait).

-- Johan

RandyR

unread,
Apr 18, 2026, 1:11:37 PM (4 days ago) Apr 18
to PicoChess
I just checked the current aarch64 version of a-stockf and it also has 'Use NNUE' set to false as default so no NNUE file is required.

Randy

RandyR

unread,
Apr 18, 2026, 2:28:48 PM (4 days ago) Apr 18
to PicoChess
I finally had a chance to see to new Web interface. Very nice. Yes, the font scaling is an issue on some resolutions but there are ways around that.

One issue I have (first test game) is that when I lost on time and reset the pieces to the starting position, PicoChess announced 'Take Back" (not immediately but maybe when I moved the piece that made the last move?) and it didn't reset for a new game. This was both on the attached monitor and in a network web client. Pressing the refresh button (Firefox) reset the pieces on the web board but not the Time, and the move section continued to show 0-1 and none of the moves from the lost game:

PicoChess_20260418.png

Refreshing Chromium on the attached monitor showed the same result.

Randy

RandyR

unread,
Apr 18, 2026, 2:56:01 PM (4 days ago) Apr 18
to PicoChess
I switched back to master. Played another game in which I lost on time. This time the result (0-1) wasn't shown in the move section, both on the attached monitor and the network browser, even after refresh:

Screenshot from 2026-04-18 13-47-18.png

Resetting the pieces to the starting position, I heard "Take Back" when the start position was reached, but the board (nor PicoChess) again did not reset for a new game. Using the Game Setup menu reset for a new game but the old result (0-1) now showed up in the move section.

Screenshot from 2026-04-18 13-54-52.png

Randy

Johan Sjöblom

unread,
Apr 18, 2026, 2:59:44 PM (4 days ago) Apr 18
to PicoChess
Thanks for testing Randy. Yes, that was a clear bug. Its actually also a bug in master. But now thanks to that I had introduced a game_started flag in this branch in my latest commit: 67af1d8 I was able to easily fix it here in this branch. I cannot hotfix it into master as it needs the new state. If you do a git pull this should be fixed.
-- Johan

Johan Sjöblom

unread,
Apr 18, 2026, 3:07:07 PM (4 days ago) Apr 18
to PicoChess
Your master test result verifies that the bug is already in master. But if you git pull the latest 367-modernized-webclient you will get the fix I just made, as I have only fixed it in "this" new branch, not in master.

Here is the master sequence that goes wrong, just if anyone is interested:
  1. White loses on time.
  2. OUT_OF_TIME sends GAME_ENDS, but the game object and move stack are intentionally kept so the user can continue after flag fall.
  3. DgtDisplay sets ModeInfo result to 0-1.
  4. WebDisplay also stores 0-1 into shared["headers"]["Result"], but it does not rebuild/resend the full PGN/game message at GAME_ENDS. So the move section may not immediately show the result because the browser’s current PGN payload is still the previous one.
  5. When Randy reset the physical pieces to start, DGT routes the start position through Event.FEN because the game has moves.
  6. process_fen() interprets the start position as a takeback target before it gets to Event.NEW_GAME, announces Take Back, and pops moves instead of resetting.
  7. Now the game has no moves, while the result/header state still says 0-1. That explains “0-1 and none of the moves” after refresh or later UI updates.
  8. Using the Game Setup menu finally sends the real new-game flow, so the web move section/header state gets rebuilt, which can expose the old 0-1 result that had been stored but not shown consistently earlier.
The bug was more visible in the new branch, and easier to fix as I finally have a state variable on line 255 in picochess.py: game_started.

-- Johan

Johan Sjöblom

unread,
Apr 18, 2026, 3:16:41 PM (4 days ago) Apr 18
to PicoChess
I have not yet tested the picotutor settings...  Made a quick test now and that also seems to need some repairing... I get a lot of tutor enabled disabled messages if I change one tutor setting in the new menu.

And the web stockfish 18 still allows for more than one on localhost... Not sure we want that as we have restricted it before... And does the hide function actually turn off all cpu usage of the web stockfish... Still untested..

So there are still things to fix in this branch, but one step at a time :-)

Randy Reade

unread,
Apr 18, 2026, 3:20:42 PM (4 days ago) Apr 18
to pico...@googlegroups.com
Yes. Retested branch 367 and the startpos reset now works. Thanks Johan.

Randy

Johan Sjöblom

unread,
Apr 19, 2026, 3:07:21 AM (4 days ago) Apr 19
to PicoChess
Fixed the tutor menu, but it still has an issue with reading the startup values and showing them correct. Changing tutor settings now work from the new menu. I also added a quick smart switch on the ANALYSES tab so that you can quickly turn on/off the tutor in order to switch between seeing tutor analysis and engine analysis in that tab. Its "smart" because it remembers if your setting was "on" or "lift" and toggling to off and back will set it to the previous value.
I will continue to fix the startup values later... And we need to check and test more... Please report any findings on this branch.
-- Johan

Johan Sjöblom

unread,
Apr 19, 2026, 5:02:23 AM (4 days ago) Apr 19
to PicoChess
OK, now the new tutor menu correctly shows the current values. You can toggle them one by one and hear the announcements accordingly.  I will still think about what to do with the hint function in the tutor menu. I am thinking that in addition to it being there I would add a question-mark button to ask for a quick hint? The hint only comes from tutor if tutor is on, otherwise its the selected engine that has given the hint so its not really a tutor-menu thingie?
So far I have checked the menus Engine, Engine Book, and now also Tutor. In Game I have only fixed the new game bug, I have not tested the other ones like the save-read cycle etc.
We need some more testing and fine tuning... so it might still take 1-2 weeks before this release is ready... But it does improve the web client a lot.
-- Johan

Johan Sjöblom

unread,
Apr 21, 2026, 5:32:52 AM (yesterday) Apr 21
to PicoChess
I have checked the system menu sound settings and made some changes. Now you can activate the mobile phone speaker function in the new System menu, very useful if you dont have speakers on your Raspberry backend. You can utilise your mobile phone to play the backend sounds from picotalker. It also means you can play against the Raspberry Pi anywhere in your home by using your mobile phone as a full rich client.

So whats left for me still is to:
- Not allow more than one web stockfish to take CPU on localhost like we have in master
- See how to improve the quick Tutor toggle button on the ANALYSES tab... This is needed if you want to switch between getting engine analysis and tutor analysis visible from backend.
- Add a hint icon and possibly an evaluation icon. So far I have only added back a "switch sides" and "play-pause" icon.

Anything else? Please report results from your testing if you find something that does not work.

-- Johan

Dirk

unread,
Apr 21, 2026, 5:34:47 AM (yesterday) Apr 21
to pico...@googlegroups.com
Having a full mobile PicoChess client with full voice/sound support is really a big improvement!

Thank you Johan!


--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Johan Sjöblom

unread,
Apr 21, 2026, 11:42:28 AM (yesterday) Apr 21
to PicoChess
I designed the backend sound as a ”smart switch” so that you can still keep a speaker on the Pi if you want, and have the mobile phone speaker setting ”on”. It will send the backend sound to a remote web client ONLY if a remote client has connected. Before you type in the ip address of the Pi on your phone the backend audio will stay on the Pi speaker. As soon as you connect the phone browser to the Pi the phone will ”take over” the backend sound. When you close the browser window it should let it go back to the Pi backend speaker.

The mobile phone speaker main purpose was of course to be able to use a headless Pi. But its also easier to quickly connect the mobile phone sound to a bluetooth speaker to send the sound wherever you want to.
In fact, I made an strange and stupid error while testing this. Earlier I had paired my phone with my Pi4 but forgot that it was paired. Then when I wanted to send the sound to the mobile phone the sound kept coming out of the Pi speaker… It took me a good 30-40 minutes of trouble shooting all the logs before I realized that there was nothing wrong with the code… It was my mobile phone sending back the sound to ”where it came from”. As soon as I unpaired the mobile phone from the Pi it stopped sending the sound back and I started hearing picotalker on my phone. Testing is not always easy, a real silly nerd mistake  :-)

I have only tested this on my Android (S24). If I switch between the mobile phone having the web page open and closing it I only miss one move announcement before the sound switches ”back”. Not sure how it will work on other remote web clients. But it should work on Apple, laptops etc. The result could depend on what browser is being used.

— Johan

Reply all
Reply to author
Forward
0 new messages