Comparison matrix for keyboard layout proposals


One question, if one property is colored red at higher numbers and green in lower numbers, does that mean the higher the worse? If I prefer the higher ones, do I have to use a negative score on it?
You should ignore the coloring when assigning your weights. If your weight is positive, then higher numbers will always be 'better' and lower numbers will be 'worse'. The coloring is just a visual thing, and if it makes higher numbers red, then that's just because 'most people' think it's worse to have a higher number there, so they give it a negative weight. But of course 'most people' is something that could change, so it's probably better to just ignore those colors :)
 
After a rough assignment of weights, I check to make sure that my gut feelings aren't clashing with the normalized scores I'm giving each keyboard.  E.g., if one score is too high, I go and decrease the weight that makes that keyboard stand out.  Not the most unbiased way to do things, but it can help with general things if we're not too partial.

Also, Eight Bit's layout has quite a lot of coding combos, nice job.  It had more than what was originally encoded in the matrix, at least according to my subjective grading scheme.

Thanks everyone for taking part.

Link again for ease of finding it:

https://docs.google.com/spreadsheets/d/14mVNNzLhmhyA4sCIAPSoDv404xtctfLSiEMTtTlEzfw/edit#gid=1574311258
 
About the coding combos: I don't really understand how you score them. E.g. comradekingu has [ i ] all as primary keys, so I would expect him to get good scores for that, but iiuc he only gets 0.1 point for that combo. I have + as a primary key so something like i++ requires no modifiers at all, yet it gets 0 points for that combo. Are you ignoring modifiers completely and just looking at thumb travel or something? You are assuming that array or loop indexes are always called i, but it could just as well be a, b, c, x, y, j, k, n or longer variable names.

Also, it's not really a combo, but I think that having { } | : ~ under just one modifier (meta or shift) instead of two (meta and shift) makes those symbols slightly easier to type. So that gives a slight "coding advantage" in my opinion.
 
No you dont. + and - as dedicated keys is different from re-purposing gaming-cluster buttons for typewriter keys.
 
The only dedication to speak of is that of primary function, not position, nor is the button actually dedicated to said keys.
 
When + and - no longer becomes possible to use in games i seriously begin to question the rationality behind it.
 
Yes distance traveled is what counts. No less so for people who know how to code, sufficiently advanced to use shoulders.
 
Thus you are left with a button that is farther away, feels different, and sometimes doesnt work.
 
I imagine you havent tested + and - on any part of the actual user-base or potential market-base for the pyra.
Nor do i expect to get an answer to my good old "who is that better for?"
 
To deal with the nature of the argument, lets say + and - are ideal
 
how many of the coding-centric buttons are primary
how many coding-centric buttons can be typed as hold-and-press combos
how many coding-centric-buttons can be typed as hold2-and-press combos
 
How many often used combos are considered for often used languages.
 
Why something is better is a rational motive, the current matrix highly favours disadvatageous behavior.
My question is why. Lets for the case of argument forget about everything that isnt in here.
Why is it that the questions asked are the nature of what makes a keyboard good?  First we deal with those questions by themselves, then we ask again at the end.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
{ } | : ~ under none or one modifier not only is easier, its also _a keyboard_ for the purpose of calling a keyboard, something that works for using a keyboard.
 
Putting { } | : ~ under Shift+AltGr is misguided. Shift+AltGr already has expected functionality. You are breaking it by messing with conventions.
 
Shift+meta to type { } | : ~ when there isnt an AltGr is just wrong on every level.
-----------------------------------------------------------------------------------------------------------------------------------------
Not having AltGr do third level shift means you have to re-learn how to type, and it has less combinations overall, less standard ones, its just plain worse.
Yet these are categories:
 
Everything behind at most 1 modifier
 
(From a selection of the things on offer, when those things are fewer comparitavly, is junk logic. Normativly it is worse.)
 
All symbols with shoulders+ 1 thumb
 
(I guess F-keys are symbols now. Somehow equates less symbols to all.
 
Only one extra, Pyra-specific modifier
 
Here im given 0 points, which means i have something else than one extra pyra-specific mod. Is the consideration that my modifer can be found on other keyboards that dont have f-keys?
How is that worse?
What really is going on here is that a lot of layouts have one less, keyboard specific modifier. Namely AltGr.
 
All symbols with keyboard modifiers
 
(Doesnt at all take into consideration what modifiers they are. Sets "all symbols" to an arbitrary definition, yet scores in non-arbitrary points.)
 
Everything behind at least one mashable action.
 
(Scoring everything 1 here just inflates the scores. What constitutes the real difference is if its 2buttons+mash or 1button+mash) Same as
 
Mashable symbols
 
(Again, one button+mash, or two-buttons+mash. And is it standard buttons dare we ask. Are the things you mash in standard positions)
 
Shift + Meta/Fn combo thumb-mash?
 
Almost sounds like a good way to implement real third level modifier, or is it meta-fourth? Who knows, other than it doesnt beat AltGr for third level, and its a dubious concern for typing 4th level, since that isnt at all common.
 
P2+L2 available for remapping
 
These are buttons on any standard keyboard, through non-clever choice of words it seems as if they are optional.
With non-clever ways of counting, it looks as if these keys arent really there, even if they are.
 
Right alt can be set to AltGr without disruption.
 
I dont know, how about disrupting the visual nature of how AltGr works. Or making a category make sense, at all.
 
Finding non-clever ways to reinvent typing isnt i18l support
 
Why inventing new ways to compose and type dead-keys is better than existing ones, implemented, beats me.
 
Dosbox-compliance
 
What dosbox software doesnt come with a config to set up non-US layouts?  http://www.dosbox.com/wiki/Mapperand http://www.dosbox.com/wiki/KEYB begs to differ
 
German letters labeled (ÄÖÜß)
 
Why isnt this in the clutter category?
 
-------------------------------------------------------------------------------------------------------------------------------------------
So wb, you made the categories, you rated, what is your layout a benchmark for? The way you scored states its the least cluttered, along with anything that doesnt have 4prints per key...
 
 
Is it the most standard, is it the most efficient, does it work for the most people, does it look welcoming etc?
 
Ill make a list.  Feel free to add more.
 
Easier to type F-keys
Has super-key
US symbol/punctuation-pairs.
 
Last edited by a moderator:
No you dont. + and - as dedicated keys is different from re-purposing gaming-cluster buttons for typewriter keys.


The only dedication to speak of is that of primary function, not position, nor is the button actually dedicated to said keys.


When + and - no longer becomes possible to use in games i seriously begin to question the rationality behind it.


Yes distance traveled is what counts. No less so for people who know how to code, sufficiently advanced to use shoulders.
"Distance traveled" sounds almost as if this device is going to be 140 by 84 meters instead of millimeters. I don't think we should overestimate that.

+ and - no longer possible to use in games? Is that an issue? More of an issue than, say, PgUp/PgDn no longer possible to use in games? It all depends on how you look at things. If you have a game where + and - are important keys, then perhaps having them as action buttons is an advantage, not a disadvantage. What type of game do you have in mind? Some kind of calculator game with 6 game actions that absolutely need to be mapped to the 6 action buttons?

Anyway, if people really don't like + and - as dedicated keys at the action buttons, then they can always be moved down to the main block as Meta-keys. We can even have both, and make one pair (e.g. the actions buttons) the numpad plus/minus and the other pair the keyboard plus/minus.

So wb, you made the categories, you rated, what is your layout a benchmark for? The way you scored states its the least cluttered, along with anything that doesnt have 4prints per key...


Is it the most standard, is it the most efficient, does it work for the most people, does it look welcoming etc?


Ill make a list.  Feel free to add more.


Easier to type F-keys


Has super-key


US symbol/punctuation-pairs.
My proposal is not particularly good at anything. It's a compromise, trying to find a good balance. If I would design a keyboard just for myself, I would have a single-width space and no keyboard Shift and Meta, to get 3 more primary keys (e.g. compose, slash and semicolon).
 
The assumption that + and - are gamepad-keys is something that makes them into something different than gamepad-keys. Meaning they cant be utilized without the loss of function.

Not being able to for example, write ones name, "Dunning-kruger" is much worse than not being able to pageup/home/end in games, which is just as impossible anyhow.

Things cant just move, and having duplicates of keys on a device with limited amounts of buttons is particularly bad.

How about if someone wants + and - on the extra buttoncluster-buttons, they can map them there, and figure out a different place for insert and delete to be. Which is the real alternative.

That way you inconvenience a tiny subset of advanced users, who are more capable of remapping things.

Not particularly good ay anything isnt much of a staplemark when there are better options for a lot of things. Meaning better keyboard for a lot of people.

Relevant C&H

compromise.gif
 
Last edited by a moderator:
The assumption that + and - are gamepad-keys is something that makes them into something different than gamepad-keys. Meaning they cant be utilized without the loss of function.

Not being able to for example, write ones name, "Dunning-kruger" is much worse than not being able to pageup/home/end in games, which is just as impossible anyhow.
I don't know many games where you have to write your name while at the same time using 6 action buttons. There are plenty of PC games that use e.g. WASD as game keys, but as far as I know that doesn't imply that your name cannot contain any of those letters, or something like that.
 
About the coding combos: I don't really understand how you score them. E.g. comradekingu has [ i ] all as primary keys, so I would expect him to get good scores for that, but iiuc he only gets 0.1 point for that combo. I have + as a primary key so something like i++ requires no modifiers at all, yet it gets 0 points for that combo. Are you ignoring modifiers completely and just looking at thumb travel or something? You are assuming that array or loop indexes are always called i, but it could just as well be a, b, c, x, y, j, k, n or longer variable names.

Also, it's not really a combo, but I think that having { } | : ~ under just one modifier (meta or shift) instead of two (meta and shift) makes those symbols slightly easier to type. So that gives a slight "coding advantage" in my opinion.
I've tried to make it clear that it's a fairly subjective scheme, but I'll try to enumerate it better.  So far I haven't been grading how many modifiers it takes to get to a given symbol, especially since I expect it will be fairly easy to mash L1+L2 to get Meta+shift.  But it certainly adds a little difficulty, and is one of the reasons why I like my <> on Meta, so that the same modifiers are used for things like <=.

So yeah, I'm mostly looking at thumb travel.  For keys that are on opposite sides of the keyboard, I give the combo a 1 score.  That's because one thumb can get ready while the other one hits one key (this is why Grench gets the high score; many of the combos are on opposite sides of his keyboard).  For keys on the same side of the keyboard, I give a 1 score if the symbol is on the same key (like with += if + is shift =), a 1 if the next symbol is one key over, up, or down.  Then I give a 0.5 if it there is one key in between.  Then 0.4, 0.3, and others if it's two or more keys in between, with some subjectiveness/arbitrariness.  I wanted to give a rough idea of things, but if someone has a better idea (with how things work on the Pandora), they can add their own row for their own code combos they want, and how easy they think they are on each keyboard :) .
 
About the coding combos: I don't really understand how you score them. E.g. comradekingu has [ i ] all as primary keys, so I would expect him to get good scores for that, but iiuc he only gets 0.1 point for that combo. I have + as a primary key so something like i++ requires no modifiers at all, yet it gets 0 points for that combo. Are you ignoring modifiers completely and just looking at thumb travel or something? You are assuming that array or loop indexes are always called i, but it could just as well be a, b, c, x, y, j, k, n or longer variable names.

Also, it's not really a combo, but I think that having { } | : ~ under just one modifier (meta or shift) instead of two (meta and shift) makes those symbols slightly easier to type. So that gives a slight "coding advantage" in my opinion.
I've tried to make it clear that it's a fairly subjective scheme, but I'll try to enumerate it better.  So far I haven't been grading how many modifiers it takes to get to a given symbol, especially since I expect it will be fairly easy to mash L1+L2 to get Meta+shift.  But it certainly adds a little difficulty, and is one of the reasons why I like my <> on Meta, so that the same modifiers are used for things like <=.

So yeah, I'm mostly looking at thumb travel.  For keys that are on opposite sides of the keyboard, I give the combo a 1 score.  That's because one thumb can get ready while the other one hits one key (this is why Grench gets the high score; many of the combos are on opposite sides of his keyboard).  For keys on the same side of the keyboard, I give a 1 score if the symbol is on the same key (like with += if + is shift =), a 1 if the next symbol is one key over, up, or down.  Then I give a 0.5 if it there is one key in between.  Then 0.4, 0.3, and others if it's two or more keys in between, with some subjectiveness/arbitrariness.  I wanted to give a rough idea of things, but if someone has a better idea (with how things work on the Pandora), they can add their own row for their own code combos they want, and how easy they think they are on each keyboard :) .
Maybe it makes sense to split the "code combo" thing into different (families of) programming languages, and also include 'combinations' of just one symbol.

For example, for shell scripts or on the command line, you need - / . ~ | > < a lot (also of course TAB on the command line). Having those symbols easy to type is probably more important than multi-symbol combos like $().

For HTML, besides </>, you also often have to type ="something" (so =").

Maybe a more scientific way to proceed would be to look at a representative corpus of source code for different languages, and find the most common n-grams (for n=1,2,3) in them. It could even be the case that someone on the internet has already done that.
 
sudo apt-get install ngrams

I took a random piece of code (the code for libpng), and computed ngrams.

ngrams --orderby=frequency --type=byte *.c

Frequent 1-grams:

space e t n _ p r i enter o a s g f d l u h ) ( c ; m * P , = b N - w E R > T G y A / 0 L I x 1 O U S v D . k + { } & " 2 # C F z M 3 6 H [ ] B 8 4 5 < | ! W X Y ' 9 K 7 : V Z j % \ q Q ? ~ J @

Some frequent 2-grams: (now I only look at symbol sequences)

; enter

->

);

{ enter

} enter

*/

/*

==

Some frequent 3-grams:

space = space

); enter

");

!= space
 
I didn't think my subjective grading scheme warranted a huge list of sequences, but I'll add a few of these that aren't there:

;Enter

);

{Enter

Space = Space

People may need to rescale their weightings here, since there will be an additional 4 points possible to code combos...
 
I added yet another proposal to the matrix: _wb_ 4, which is a single-width space proposal.
 
I'm noticing a few things about the keyboard matrix.

People are editing other peoples weights.  Really?  Have we gone there?  Do we really need to add security and change management to scores on a keyboard layout matrix?

Someone put three scores of 45+ into my column.  I suspect others have been changed as well.  Everyone should double check their weights column.

There are categories and absence of categories that are being implemented to be directly misleading.  

Example:  "#Symbols on shift (besides numberrow):"

Should either include "Symbols on Fn (or other named) modifier" OR have an equally weighted category of it's own.

The two are, after all, the same thing from an end user mechanics perspective.  For "#Symbols on shift" to be a negative weight and "#Symbols on Fn" to not be equally negative is silly.

I propose two new rows be added:

#Symbols on Fn (besides F1-F12).

List of symbols on Fn layer

There are keyboards being coded improperly.

[SIZE=100%]"All symbols with bottom-keyboard only" should NOT be 1 for keboards where the Fn, Shift, Alt or Ctrl for the keyboard is only present in the "Between the nubs" buttons.  Otherwise it is redundant with "[/SIZE]All symbols with keyboard modifiers"

My keyboard's scores were edited negatively.

"Unlabeled, easy to remember diacritics" is 5, not 1.  The unlabeled ones are actually in the AltGr capability.  They are easy to remember as they are in  their standard position in a US International AltGr keyboard layout.

Yes, this means that the 4 of the 5 diacritics are repeated.  This is to allow international use by the most common European languages (for the Pandora/Pyra audience) without having to engage the AltGr.

We're loosing sight of what the real objective of this is.  It isn't to force weight the results until we, "Love our own."  The objective is to examine the compromises that each of us have made in order to make the layout work and how much we like the related benefits.  Realizing that we like nearly everything else about a layout then throwing MASSIVE negative weighting on someone's when you realize that it's benefits cause your own weightings to show you like it more than your own - that's getting silly.

I would like to propose that we all cap our weights for any given feature, in both directions, in both min/max AND granularity.  I propose that all weights must be between -10 and 10 with NO decimals allowed.  I have changed my scores to reflect this.  If we allow 'off the scale' scores, creating multiple categories that are measuring the same effects, ignoring features, editing other's weights, then we're never going to reach compromise.

They​
I stopped editing - someone else was apparently editing at the same time.

 

#​
 
Last edited by a moderator:
I would like to propose that we all cap our weights for any given feature, in both directions, in both min/max AND granularity.  I propose that all weights must be between -10 and 10 with NO decimals allowed.  I have changed my scores to reflect this.  If we allow 'off the scale' scores, creating multiple categories that are measuring the same effects, ignoring features, editing other's weights, then we're never going to reach compromise.#​
Why? If someone puts a 1000 in a line and just something between -10 to 10 in other lines, then its the same as someone votes with 10 instead 1000 and -0.1 to 0.1 in other lines - it has the same effect on the score then. And why forbid decimals?

Are you sure you were edited? I mean at some point the multiplier were edited and some ratings had to be recalculated. After that the votes had the same impact as before. I made that request, you can read it in the keyboard thread in the news section.
 
I would like to propose that we all cap our weights for any given feature, in both directions, in both min/max AND granularity.  I propose that all weights must be between -10 and 10 with NO decimals allowed.  I have changed my scores to reflect this.  If we allow 'off the scale' scores, creating multiple categories that are measuring the same effects, ignoring features, editing other's weights, then we're never going to reach compromise.#​
Why? If someone puts a 1000 in a line and just something between -10 to 10 in other lines, then its the same as someone votes with 10 instead 1000 and -0.1 to 0.1 in other lines - it has the same effect on the score then. And why forbid decimals?

Are you sure you were edited? I mean at some point the multiplier were edited and some ratings had to be recalculated. After that the votes had the same impact as before. I made that request, you can read it in the keyboard thread in the news section.
Why?  Because people are dumb.  They're putting scores of 50+ (max is currently +/- 130!!!) in scores in order to mass-weight their results.  What this in effect does is state that NOTHING is important other than factors weighted on that scale.  They in effect have back-weighted everything else on the page to 0 by forcing the scale out of bounds.  What has been apparently done to 'normalize' the results is in fact actually resulting in a MASSIVE magnification factor for these 'out of bounds' scores.

This then transfers to the overall scores where the out-of-reason scores off the scale by multiple factors twist what would otherwise be 'good results'.  If the only way you can FORCE the results to exclude a layout is by dropping HUGE weights against it, you might want to reconsider your priorities.  Maybe, just maybe, that layout has something going that you're not wanting to admit to.  There is absolutely NO way that 

Yes, I'm 100% sure mine were edited.  I had been relatively conservative in my assignments.  I had capped at 10.  Someone had put scores of 18, 45, and multiple of 50+ under my name.  I'm assuming this is in effort to tweak the 'controversial' column up.  This is using the matrix to inflate controversy, which is counter the the intent of seeking compromise.

And yes.  I mean cold hard edited.  Several of the scores had been shifted to opposing meanings.
 
I should have explained this in this thread, sorry for the confusion. The weights you see in columns AD-AM are indeed not the weights some of you have put in originally. Those are in hidden columns T-AC now. The reasoning for the change is as follows:

- Some properties (rows) have a range between 0 and 1, others have a completely different range.

- In computing your score for a particular proposal, the weight was multiplied by the property value, which meant that the "real" weight of a weight depended also on the range of the property values.

- This was not very intuitive: it would be better to have a system where a weight of "+10" always means that "the best" proposal (highest-valued for that particular property) gets 10 more points than "the worst" proposal (lowest-valued for that particular property), regardless of whether it's a boolean property or not.

So the way the change was implemented, was by first normalizing all the weights (in columns AD-AM), and then to make sure that the 'actual' weights (in the hidden columns T-AC) get automatically computed from the normalized weights.

Sorry about the confusion I may have created. I hope this new way of assigning weights to properties is more intuitive though.

My keyboard's scores were edited negatively.

"Unlabeled, easy to remember diacritics" is 5, not 1.  The unlabeled ones are actually in the AltGr capability.  They are easy to remember as they are in  their standard position in a US International AltGr keyboard layout.

Yes, this means that the 4 of the 5 diacritics are repeated.  This is to allow international use by the most common European languages (for the Pandora/Pyra audience) without having to engage the AltGr.
I did that at some point. You have 4 labeled dead diacritics (on the dedicated dead diacritic key), and then 5 unlabeled dead diacritics and another 5 hidden dead diacritics, for a total of 14 dead diacritics (but only 5 different ones). That is a weird way to count things.

Yes, with R_Alt turned into AltGr and using e.g. US-International, you get dead diacritics on some keys. But that is the case for all proposals where you can use R_Alt as AltGr. That's just an inherent property of AltGr (and depending on the keyboard layout you would select, you could get even more dead diacritics behind AltGr).

What I had in mind with "Unlabeled, easy to remember diacritics" were things like the dead acute on Meta+apostrophe in my proposal or the dead umlaut on Shift+" in Saber's proposal. It's a property of the default layout, not something you can do with AltGr or manual remapping.

Here the link again for convenience:

https://docs.google.com/spreadsheets/d/14mVNNzLhmhyA4sCIAPSoDv404xtctfLSiEMTtTlEzfw/edit#gid=1574311258
 
I updated the table a bit.

There are now averaged normalized scores per category (general, modifiers, international support, clutter). I think that helps to see the strengths and weaknesses of the different proposals, so it can help proposal authors to further improve their proposal.

For people assigning weights to properties, this can also help to check whether your weights correspond to your gut feeling.

Also, I added something on the right hand side to visualize how your weights are balanced between the different categories. For example, comradekingu's scoring system is mostly based on properties in the "Clutter / legibility / æsthetics" category, while for all other scorers, the "General properties" are the most important ones. Perhaps that is intentional, perhaps not really, but now at least it's easy to spot potential balance issues.

I don't know who added the standard deviations to the average normalized overall scores, but that's quite interesting -- it gives a measure of how much we agree about the score, or in other words how much uncertainty or controversy there is about the score. To make it more visual, I simply added a row for "avg - 1σ" and "avg + 1σ", and use the same color coding as for the average itself. That gives a kind of confidence interval around the main score.

https://docs.google.com/spreadsheets/d/14mVNNzLhmhyA4sCIAPSoDv404xtctfLSiEMTtTlEzfw/edit?usp=sharing
comparison_table_4_May_2015.zip
 

Attachments

  • comparison_table_4_May_2015.zip
    53.3 KB · Views: 205
Back
Top