pcb-rnd knowledge pool
Risks associated with the menu file switch
menu3 by Tibor 'Igor2' Palinkas on 2018-04-01 | Tags: insight, default, menu, switch, multi, stroke, key, bindings |
Abstract: Any big change in the software is a risk - user may like or may hate the change. There are some changes that are inevitable, because the old setup blocks progression. We have reached that point with the default menu file. The switch is big, this is risky. This node describes why I think our target audience will not get mad.
Read more about the new default menu file , that is probably the biggest UI change we had in pcb-rnd so far.
1. Dislike it as a user?
If you don't like it as a user, you have the option to use a custom menu file (e.g. the old menu file). But this will make your life harder on the long run:
- you will need to maintain your menu file as new features appear
- makes communication with others harder; e.g. when you are reporting bugs with a recipe, you can't assume anybody else uses your menu file so you will need to reproduce them using the default menu file or have to translate in your bugreport; or when you are reading documentation, you will find references only to the default key bindings and menu file so you will need to translate to your own
2. Whether our existing users will be unhappy with the switch
- I am worried too, but I've been planning and promoting this switch for some time and basically this is the last moment we can do it (we are getting into RPM based distros, we are releasing 2.0.0, our number of installations is constantly growing - delaying the switch more would only affect more users)
- so far, from our hard-core power user team I got generally positive feedback, so as far as I could sample it, our users like the change
- we did have a poll about this before I started and that showed the same: more voters agreed with the change than opposed it
- once you have more than 5 users, it's impossible to make decisions that everybody agrees with. It is important to not do things that everybody hates, but we shouldn't block progress just because of our old habits. (And I am saying this while still struggling with panning - still clicking the wrong mouse button 2+ days after the switchover, lol)
3. How new users will learn it
- the original modifier based single-stroke setup became a hell to learn; it was probably easy when PCB had 20 key combinations, but with 100+, it's just a mess. And we literally ran out of keys. Which finger do you bite: remove some strange "nobody knows what it is for" binding and make the 4 users of that feature rage or not add key bindings for important new features and make new users wonder why the least used/important features have key bindings instead?
- I spent some time looking around in other EDA tools in the past few years, for various reasons. The multi-key approach is not unique to pcb-rnd. As far as I can tell protel/autotrax and altium both use the same concept. So our target audience is either already familiar with this, or generally have no problem learning it.
- I also figured that aside of the new wave of mainly web2.0 based stuff targeting the arduino crowd, every single EDA (and generally CAD) package has a "non-standard" UI in one way or another. Our target audience is advanced UNIX hackers, not windows/web2.0 users. We code for engineers, not secretaries, we don't need to copy the UI of excel. So I am not worried that meeting new concepts will scare them. I was more worried about meeting a "historical mess that accumulated over decades and we are too weak to fix it" kind of menu would drive them away.
4. How geda/pcb users will switch
I think who haven't switched from geda/pcb so far will not ever switch. We'll have the 5th anniversary of pcb-rnd this year. If 5 years was not enough, 10 or 20 won't be either. I think they most probably won't switch unless geda/pcb dies and they are forced to switch because of bit rot a few years after that
- if that happens, I expect majority of them will be two kind of switchers: those who realize they need to learn something new and will use this opportunity to learn something super-popular at that time (e.g. kicad today) for the sake of "everyone uses that so it must be good"; and those who hope to get something that's 100% geda/pcb just under a different name, so they can go on doing their thing without learning anything new. pcb-rnd is neither of those, so they will need to re-learn the tool anyway. The menu system doesn't make much difference in this.
- I think during the years I promoted pcb-rnd on geda-user@, I made one thing clear: pcb-rnd improves a lot over the original code base, which also means differing a lot. This inevitable means the later you switch from geda/pcb to pcb-rnd, the further we got, thus the steeper the learning curve is. The only way to avoid this would be to avoid UI changes and stand still, preserve 2011, waiting for everyone to switch before we start coding. That's not our strategy since 2016, and when that was our strategy for three years, the same people didn't switch either - that strategy didn't work. So in short: who haven't switched so far are most probably not our target audience, so I am not worried whether they will find the menu change making their (non-happening) switch harder.
- geda/gschem uses a similar system of keys, and geda/pcb has little practical use without gschem so I am sure geda users are familiar with the concept; the only hassle for them will be learning the actual key combos.
- I do not have exact statistics, and the geda-user@ mailing list is really hard to search. If my memory doesn't fail, I've seen many emails requesting geda/pcb to learn gschem-like multi-stroke key bindings and only a very few that asked gschem to switch to alt+ctrl+shift keys. Which seems to support our direction even among our non-users.