Penpa-Edit updates (and call for comments)

This morning I applied a large update from the penpa-edit gmpuzzles branch to our GMPuzzles site. This includes a set of new contributions from Swaroop Guggilam (swaroopg92), but also now some meaningful theme improvements from Dave Millar (davmillar). I’m excited to see how far the tool has come since we adopted it at the start of 2021, and these updates are a sign of more things to come.

1) Website look: The visual theme has changed (both at css and html level) which also sets Penpa-Edit up to have more responsive design. Note that we at GMPuzzles have not done our own steps to try to customize the light/dark themes for GMPuzzles site yet, but I like starting the new year with an updated visual design.

2) Responsive design: The default tool position is still at the top of the screen. But in Settings you will now find two options to move tools to left or right for better utilization of space on different screens. There will be more changes like this in the future. (Update: primarily for laptop/computer users right now = 850+ pixels wide, but gives sign for future design updates that could be possible.)

3) Local storage feature: There have been some comments that the solver accidentally refreshed the page or closed the tab and lost all solving progress, so a local storage feature is now implemented. If you refresh the page or accidentally close and reopen the solving puzzle again, your progress will be recovered. To clear it there are multiple ways. This includes “Delete all” button at bottom of puzzle or, in Settings, going to “Local Storage: Clear this puzzle” and then refreshing the page. The default setting of this option is ON, but it can be set to OFF through “Settings” and it will be turned off globally for all puzzles.

4) Initiated Smart Checking: This is a step forward for Penpa-Edit to have some of the solver support elements of other tools. Our Sudoku puzzles (which are the style for this week) will now show you in red when you have placed a digit in a row/column/box that violates constraints. Also, in Nonconsecutive Sudoku (but only fully Nonconsecutive Sudoku), there will be a marking if two adjacent digits are consecutive to break that anti-rule. These sudoku checks are not yet on for less common Sudoku styles (Tight Fit / Battleship / Outside / Isodoku / …). There should be more of these smart checks to come in the future, and this is an area where interested open-source coders that want to contribute to Penpa-Edit can help out in different genres. The method is likely to export common puzzle style data into JavaScript, apply solving checks to the data, and return back any conflicts. Contact us if you are interested in this kind of coding effort (we are able to reimburse for some of the open-source development here to improve these tools for all, while improving them for GMPuzzles, particularly if it is for prioritized improvements we have on our feature list).


Please tell us how you like these changes, and also tell us of any bugs/issues that arise as you work through our current and back catalog.


In terms of what’s to come, my big 2022 goal with Penpa is to build a connection of these individual solving pages into “collections” and user accounts/metrics, so our solvers can interact with puzzles outside of the blog structure, know what they have/have not solved, and so we can release books through the site in the same way and not just as a very long collection of links. A very good example of this kind of Penpa-Edit interactivity is the “Instructionless Grid” app that launched last year — and is a very fun if hard challenge for those that haven’t seen it. While it uses manual entry mode to trigger writing state back to the user account, it is not far off how our automated solution checking could act on such code. I haven’t figured out all parts of who/how we get to these updates, but am working on scoping out that plan this quarter.

  • bert says:

    VERY excited for your plans from the last paragraph! A cohesive, expandable, interactive digital puzzle “book” would be beyond awesome. does a little bit of personal metrics stuff like number of solved puzzles, but it’s quite minimal.
    So your efforts for a gm “web app” are very much appreciated!

  • JP says:

    I’m so happy to see these updates, especially the local storage option! I’ve noticed that these changes don’t seem to work consistently on mobile. It may have something to do with the lack of a “Save Settings” button in the “Settings” tab. As it stands, changing the settings does not seem to apply consistently. For example, the responsive layout causes a minor visual change (the padding in the tools section is altered slightly) but doesn’t cause the tools to actually shift to left or right versus the top of the screen. Meanwhile, selecting a different 2nd color causes no visible change at all.

    Since one setting causes a minor change while another causes no change, I wonder if there’s an issue with some variables’ set/update methods being called in a manner which requires pc-specific activity? Perhaps a manual “Save Settings” option could be used to a force these variables to update for mobile users. This is all a bit of a shot in the dark. My knowledge of coding is pretty limited.

    Overall, I love the versatility of Penpa and I’m appreciate everything you guys already provide with this tool. Thank you for all your hard work! I love the idea of being able to interact with collections and track puzzle completion.

  • Swaroop Guggilam says:

    @JP – The responsive design as of now is to efficiently use the big screen space of laptops. It is effective only if the screen size is bigger than 850px. Technically you should not see any change on Mobile. I will figure out why there is a minor visual change and fix that but it should not impact mobile users. Save settings options are disabled for Solver mode as we didn’t want the solver to overwrite some of the Author decided settings. We will improve this further as we progress but for now, if you like you can go to the main site and select the settings of your choice and Save it. However do note that it doesn’t save all settings as of now but only relevant ones like theme choice, display size choice (overwritten by author selection), etc, more details can be found in the README document.

  • JP says:

    @Swaroop Guggilam Thank you for the reply! That makes sense to me. I suspected that these updates were primarily for PC users. I had no idea about being able to visit the main site to adjust settings, so thank you for that tip as well 🙂

  • sudgy says:

    I have a couple comments related to Penpa-Edit so I guess I’ll put them here.

    First, related to this post, is there a way to save the setting that makes the solving tools appear on the left? That option gets reset whenever I leave the page or refresh.

    Second, are there any plans to support strange keyboard layouts? I use Programmer’s Dvorak, which moves the numbers around and makes you have to use shift to get the numbers. While Penpa is able to handle this most of the time, it gets completely ruined by Sudoku mode. Whenever I’m solving a number placement puzzle I have to switch back to qwerty, which can be pretty annoying when I’m also doing other things. However, I do understand that the fix for this wouldn’t be entirely obvious. The only fix I can think of is to make it (or have an option to) forget about your keyboard layout, although I would like to keep my keyboard layout in other puzzle types.

  • Swaroop Guggilam says:

    1 – I will look into why the preference is not being saved and try to fix it in the next update.
    2 – This is definitely one of those rare cases. I personally don’t use or know about Dvorak Layout. I would need to check and read about it and see why it operates differently. My assumption was that even if the buttons are moved around, the keycode is still the same in most cases. But as I said, I would need to check to see how easy or hard it will be. I will add it to my to-do list but I will be honest, it will not be my top priority. I hope you understand.

  • Carl Worth says:

    It’s great to see some updates to the appearance and usability of interactive solving on this site. Thank you!

    The updated styling is very nice in appearance. It looks much more crisp, modern, and pleasant.

    As far as being responsive and efficiently using the available real estate for a large display, (1920×1080 or larger, say), here’s an idea of two for continuing to improve things:

    1. Constricting the content to a relatively narrow central region makes sense for something like a blog post or other content involving paragraphs of text, (which are painful to read if stretched out to 1000+ pixels wide). But for an “application” like interactive solving, having large margins on the left and right is just wasted space.

    2. It would be great to have the puzzle itself as the primary content on the page, both presented first and also filling more of the screen. The various interface elements that are not the puzzle itself should be presented after/below the puzzle, (since they are secondary), and if the screen is wide enough, could be displayed on the side.

    3. I’d love to see the tools on this site made much more “opinionated” in terms of available options. Certainly, lots of people could have different ideas about their favorite notation, (and penpa offers a zillion options) but the default presentation on this site should include consensus “best” options for a given puzzle type. Any controls for deviating from the standard best should not be given front-and-center treatment like they are now, but could be hidden entirely behind a menu in the corner by default.


    • Avatar photo drsudoku says:

      Hi Carl, on 3, if you are using Penpa-Lite mode, then for each style there are selected tools (only 2 or 3 at most) for each style. I’m not sure if Penpa-Lite defaults to OFF in which case you will see a lot of options for each puzzle. My personal preference is for everyone to always load into Penpa-Lite ON and then have to click it off, but I don’t know if the new saving state options have altered that.

  • Swaroop says:

    1) That is correct, This is just an initial framework and a few options, to begin with. More options and more granularity to come in the future depending on time and task preference. By granularity I mean, currently, it treats the same as 800px+ but might have further 800 to 1000, 1000 to 1200, and so on.
    3) This is already implemented. Please let us know if you are seeing otherwise.

    @drsudoku – To clarify – The saving state does not deal with the Penpa-lite setting. So by default, it should always be ON as long as it is set by the Author. I would request Carl to send a screenshot if he is seeing otherwise.

  • sudgy says:

    @Swaroop, it’s important to realize that I use Programmer’s Dvorak, not normal Dvorak. Normal Dvorak doesn’t mess with the numbers while Programmer’s Dvorak does. Also, Sudoku mode is the only one that’s strange. All other input modes that I’ve tried work correctly.

  • Swaroop Guggilam says:

    @sudgy – Thanks for clarifying. I would suggest, let’s take the discussion to email. Feel free to send out an email to and I can respond/reach out to you whenever testing is needed.

    • Avatar photo drsudoku says:

      Thanks for flagging — we’ll look at making a small fix for our non-9×9 puzzles when applying the checker tag. We also now have an option to turn this on/off so may find a way to default to off until we have a working solution for these puzzles.

  • Grizix says:

    Yay for local storage !
    So many times I rage quitted a puzzle because I accidently closed the tab.
    And I’m really looking forward to interaction between the website and the solver, knowing which grids I’ve already done, recording times, and solving the books on screen !

    In the future, when I’ll have time, I think I will be highly interesting in collaborating to the development of penpa, as I had for years a personnal project to maintain a similar app. If on top of that there’s some little money to be made, it’s amazing.
    Is there a way to discriminate between TODOs you’d want other devs to work on, and those you’re already working on on your side ?

  • Avatar photo drsudoku says:

    Thanks for your interest Grizix. Right now the number of engineers is still relatively small, and there is a todo list maintained by Swaroop on the github as well as a Slack I have for GMPuzzles that we could invite you into. We can follow up by email when you want to potentially get more involved.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.