Optimizing Special Character Entry: the Case of the French Keyboard Standard

Optimizing Special
Character Entry
TheCase ofthe FrenchKeyboard Standard
Anna Feit, Aalto University, Helsinki
Joint work with
Mathieu Nancel, Maximilian John, Andreas Karrenbauer, Daryl Weir, and Antti Oulasvirta
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Fun facts about the French keyboard
• There is no way to type œuf, Été or FRANÇAIS (egg, Summer, FRENCH)
• où (where) is the only word that contains ù, yet it has it’s own key
• No french quotation marks « »
• Typing . requires Shift, so do all numbers, and try finding the @ key…
” It is almost impossible to write correctly French
with a keyboard marketed in France”
French Ministry of Culture and Communications
08.09.2017
2
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Design Task
08.09.2017
3
Assign 129 keyslots to 122
special characters
Normal
Shift
Alt Gr
Alt Gr + Shift
! ? " # $ % & ' ( ) [ ] { } * + , - .  / : ; < =
> ≤ ≥ ÷ @ | ¿ ¡ ¢ £ ¤ ¥ § © ª « ® ° ± · º »
¼ ½ ¾ × ù Ù à æ Æ ç Ç è é ê œ Œ þ İ ı IJ
ij Ŋ ŋ ſ Ə Ʒ ə ʒ μ ð Ð Þ ß ẞ _ - – — ‘ ’ ‚ “
” „ † ‡ … ‰ ‹ › ₩ ™ √ ∞ ≃ · ´ ˋ ˆ ¨ ˉ ̲ ˘ ̑
ˇ ˜ ˙ ̣ ̊ ˝ ˵ ¸ ˛ ̦ ̵ ̷
> 𝟏𝟎 𝟐𝟏𝟑
𝒂𝒔𝒔𝒊𝒈𝒏𝒎𝒆𝒏𝒕𝒔
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Given: n characters – 𝑖, 𝑗 𝜖 Σ
m keyslots – 𝑘, 𝑙 𝜖 𝑆
Let: 𝑥𝑖𝑘 = 1 if character 𝑖 is assigned to keyslot 𝑘, 𝑥𝑖𝑘 = 0 otherwise
The (letter) assignment problem
[Burkhard, 1977]
08.09.2017
4
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Given: n characters – 𝑖, 𝑗 𝜖 Σ
m keyslots – 𝑘, 𝑙 𝜖 𝑆
Let: 𝑥𝑖𝑘 = 1 if character 𝑖 is assigned to keyslot 𝑘, 𝑥𝑖𝑘 = 0 otherwise
Goal: Find the assignment of characters to keyslots that minimizes the cost
of typing one character after another
The (letter) assignment problem
[Burkhard, 1977]
08.09.2017
5
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Given: n characters – 𝑖, 𝑗 𝜖 Σ
m keyslots – 𝑘, 𝑙 𝜖 𝑆
Let: 𝑥𝑖𝑘 = 1 if character 𝑖 is assigned to keyslot 𝑘, 𝑥𝑖𝑘 = 0 otherwise
Goal: Find the assignment of characters to keyslots that minimizes the cost
of typing one character after another
[Burkhard, 1977]
The (letter) assignment problem
Assign each symbol to exactly one input action
08.09.2017
6
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Given: n characters – 𝑖, 𝑗 𝜖 Σ
m keyslots – 𝑘, 𝑙 𝜖 𝑆
Let: 𝑥𝑖𝑘 = 1 if character 𝑖 is assigned to keyslot 𝑘, 𝑥𝑖𝑘 = 0 otherwise
Goal: Find the assignment of characters to keyslots that minimizes the cost
of typing one character after another
[Burkhard, 1977]
The (letter) assignment problem
Assign each character to exactly one keyslot
Assign each keyslot not more than once
08.09.2017
7
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Optimization of Text Entry methods
08.09.2017
8
[Zhai, Hunter, Smith, 2000] [Karrenbauer and Oulasvirta, 2014]
[Feit and Oulasvirta, 2014]
[Sridhar, Feit, Theobalt and
Oulasvirta, 2015]
…
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Special character entry
Quadratic assignment problem is NP hard, with 129 keyslots, 122
characters too complex to even approximate.
Observation:
• Special characters are infrequent in comparison to letters
• Mostly entered before or after a letter
We can simplify the quadratic problem to a linear assignment
problem plus a sparse quadratic part
08.09.2017
9
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Given: n characters – 𝑖, 𝑗 𝜖 Σ
m keyslots – 𝑘, 𝑙 𝜖 𝑆
Let: 𝑥𝑖𝑘 = 1 if character 𝑖 is assigned to keyslot 𝑘, 𝑥𝑖𝑘 = 0 otherwise
Goal: Find the assignment of characters to keyslots that minimizes the cost
of typing one character after another or before / after a letter
Assignment problem
08.09.2017
10
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Given: n characters – 𝑖, 𝑗 𝜖 Σ
m keyslots – 𝑘, 𝑙 𝜖 𝑆
Let: 𝑥𝑖𝑘 = 1 if character 𝑖 is assigned to keyslot 𝑘, 𝑥𝑖𝑘 = 0 otherwise
Goal: Find the assignment of characters to keyslots that minimizes the cost
of typing one character after another or before / after a letter
Assignment problem
08.09.2017
11
sparse
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Objectives
08.09.2017
12
Standardization committee:
” The new keyboard should
• facilitate typing of correct french
• allow quick and easy access to all French characters
• be easy to learn and intuitive to use ”
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Motor Performance: minimize time to move between frequent
character-letter pairs
Objectives
Note: linear function
08.09.2017
13
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Objectives
Note: linear function
Ergonomics: minimize frequent extreme movements of wrist and
fingers when entering a special character in combination with a letter
Motor Performance: minimize time to move between frequent
character-letter pairs
Note: linear function
08.09.2017
14
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Learnability (Intuitiveness): minimize the distance between similar
characters to ensure a consistent and intuitive layout that is easy to
use and learn.
Objectives
08.09.2017
15
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Learnability (Intuitiveness): minimize the distance between similar
characters to ensure a consistent and intuitive layout that is easy to
use and learn.
Objectives
Learnability (Familiarity): minimize the distance of a character to its
position on the standard keyboard layout.
Note: linear function
08.09.2017
16
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Optimization Problem
08.09.2017
17
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Assign each letter to exactly one key
Optimization Problem
08.09.2017
18
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Assign each letter to exactly one key
Assign each key to at most one letter
Optimization Problem
08.09.2017
19
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Assign each character to exactly one key
Assign each key to at most one character
Capital character must be on shifted key of
lower case character
Optimization Problem
08.09.2017
20
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Letter and letter pair frequency
Weighted combination of different corpora representing diverse tasks
• Formal corpus:
legal texts, newspaper articles, wikipedia, emails, facebook
10 different corpora averaged, largest coverage of symbols
• Twitter corpus:
10000 tweets from 10 different twitter accounts,
6 "classic" (e.g. newspaper) and 4 "popular" accounts
• Code corpus:
50 projects from github of most common programming languages (Java,
C++, python, CSS, javascript, HTML)
Input data
08.09.2017
21
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Formal: Twitter: Code:
Input data
08.09.2017
22
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Input data
Performance crowdsourced movement times of 7555 different key pairs
embedded in nonsense words and repeated 10 times.
08.09.2017
23
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Input data
Ergonomics: heuristic cost based on literature, equally punishing movement
toward outer right and left, wrist and finger extension, use of modifiers (Alt, Shift)
08.09.2017
24
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Input data
Similarity
each letter-character and character-character pair rated with a heuristic score,
maximum of multiple similarity criteria such as:
• visual similarity, e.g. à and a,
• semantic or functional similarity, e.g. $ and £
• phonetic similarity, e.g. s and ß
• etc.
Sparse input matrix
08.09.2017
25
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Input data
Distance
Manhattan distance quantifies number of rows and columns between two
keyslots, additional cost for difference in modifier keys
Similar to search behavior of users (row and column wise)
08.09.2017
26
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Optimization in the Iterative Design Process
Problem and design
space
Objectives and
constraints
Input data
Optimization Process
Expert
Comittee
Optimal
layouts
08.09.2017
27
Anna Feit
annafeit.de
userinterfaces.aalto.fi
One solution
08.09.2017
28
Anna Feit
annafeit.de
userinterfaces.aalto.fi
One solution
French characters easily and
quickly accessible
08.09.2017
29
Anna Feit
annafeit.de
userinterfaces.aalto.fi
One solution
Easy to learn: familiar position and groups of
similar characters
08.09.2017
30
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Comparison with Azerty
Our mapping
AZERTY
Difference of AZERTY to our
mapping (smaller is worse)
08.09.2017
31
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Comparison with manual design
Our mapping
Manually created mapping
Difference of manual mapping to
our mapping (smaller is worse)
08.09.2017
32
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Optimization in the Iterative Design Process
Problem and design
space
Objectives and
constraints
Input data
Optimization Process
Expert
Comittee
Optimal
layouts
Manual changes evaluated
by objective functions
08.09.2017
33
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Current status
Public feedback
Nearly 3000 comments from French people (47% positive, 37%
negative, 16% neutral)
Revision of optimization model and layout to integrate feedback
08.09.2017
34
Anna Feit
annafeit.de
userinterfaces.aalto.fi
Summary
08.09.2017
35
• Large real world instance of the (sparse) quadratic assignment problem
• Relevant for millions of users and applicable to other languages
• Problem models objectives for performance, ergonomics, and learnability
of typing special characters
• Optimization as part of an iterative design process
1 of 35

Recommended

Optimization of Text Input by
Optimization of Text InputOptimization of Text Input
Optimization of Text InputAnna Maria Feit
583 views23 slides
Toward Everyday Gaze Input: Accuracy and Precision of Eye Tracking and Implic... by
Toward Everyday Gaze Input: Accuracy and Precision of Eye Tracking and Implic...Toward Everyday Gaze Input: Accuracy and Precision of Eye Tracking and Implic...
Toward Everyday Gaze Input: Accuracy and Precision of Eye Tracking and Implic...Anna Maria Feit
741 views31 slides
How we type: Movement Strategies and Performance in Everyday typing by
How we type: Movement Strategies and Performance in Everyday typingHow we type: Movement Strategies and Performance in Everyday typing
How we type: Movement Strategies and Performance in Everyday typingAnna Maria Feit
828 views35 slides
ChatGPT and the Future of Work - Clark Boyd by
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
25.3K views69 slides
Getting into the tech field. what next by
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
6K views22 slides
Google's Just Not That Into You: Understanding Core Updates & Search Intent by
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
6.5K views99 slides

More Related Content

Recently uploaded

Nitrosamine & NDSRI.pptx by
Nitrosamine & NDSRI.pptxNitrosamine & NDSRI.pptx
Nitrosamine & NDSRI.pptxNileshBonde4
18 views22 slides
Ecology by
Ecology Ecology
Ecology Abhijith Raj.R
13 views10 slides
MILK LIPIDS 2.pptx by
MILK LIPIDS 2.pptxMILK LIPIDS 2.pptx
MILK LIPIDS 2.pptxabhinambroze18
8 views15 slides
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F... by
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...SwagatBehera9
5 views36 slides
Open Access Publishing in Astrophysics by
Open Access Publishing in AstrophysicsOpen Access Publishing in Astrophysics
Open Access Publishing in AstrophysicsPeter Coles
1.2K views26 slides
Ellagic Acid and Its Metabolites as Potent and Selective Allosteric Inhibitor... by
Ellagic Acid and Its Metabolites as Potent and Selective Allosteric Inhibitor...Ellagic Acid and Its Metabolites as Potent and Selective Allosteric Inhibitor...
Ellagic Acid and Its Metabolites as Potent and Selective Allosteric Inhibitor...Trustlife
100 views17 slides

Recently uploaded(20)

Nitrosamine & NDSRI.pptx by NileshBonde4
Nitrosamine & NDSRI.pptxNitrosamine & NDSRI.pptx
Nitrosamine & NDSRI.pptx
NileshBonde418 views
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F... by SwagatBehera9
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...
SwagatBehera95 views
Open Access Publishing in Astrophysics by Peter Coles
Open Access Publishing in AstrophysicsOpen Access Publishing in Astrophysics
Open Access Publishing in Astrophysics
Peter Coles1.2K views
Ellagic Acid and Its Metabolites as Potent and Selective Allosteric Inhibitor... by Trustlife
Ellagic Acid and Its Metabolites as Potent and Selective Allosteric Inhibitor...Ellagic Acid and Its Metabolites as Potent and Selective Allosteric Inhibitor...
Ellagic Acid and Its Metabolites as Potent and Selective Allosteric Inhibitor...
Trustlife100 views
Pollination By Nagapradheesh.M.pptx by MNAGAPRADHEESH
Pollination By Nagapradheesh.M.pptxPollination By Nagapradheesh.M.pptx
Pollination By Nagapradheesh.M.pptx
MNAGAPRADHEESH19 views
How to be(come) a successful PhD student by Tom Mens
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
Tom Mens524 views
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana... by jahnviarora989
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...
jahnviarora9896 views
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe... by Anmol Vishnu Gupta
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...
Applications of Large Language Models in Materials Discovery and Design by Anubhav Jain
Applications of Large Language Models in Materials Discovery and DesignApplications of Large Language Models in Materials Discovery and Design
Applications of Large Language Models in Materials Discovery and Design
Anubhav Jain13 views
ELECTRON TRANSPORT CHAIN by DEEKSHA RANI
ELECTRON TRANSPORT CHAINELECTRON TRANSPORT CHAIN
ELECTRON TRANSPORT CHAIN
DEEKSHA RANI10 views
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ... by ILRI
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
ILRI5 views
Light Pollution for LVIS students by CWBarthlmew
Light Pollution for LVIS studentsLight Pollution for LVIS students
Light Pollution for LVIS students
CWBarthlmew9 views

Featured

Time Management & Productivity - Best Practices by
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
169.7K views42 slides
The six step guide to practical project management by
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
36.6K views27 slides
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright... by
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
12.7K views21 slides
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present... by
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
55.5K views138 slides
12 Ways to Increase Your Influence at Work by
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
401.7K views64 slides
ChatGPT webinar slides by
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slidesAlireza Esmikhani
30.4K views36 slides

Featured(20)

Time Management & Productivity - Best Practices by Vit Horky
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky169.7K views
The six step guide to practical project management by MindGenius
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius36.6K views
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright... by RachelPearson36
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson3612.7K views
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present... by Applitools
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools55.5K views
12 Ways to Increase Your Influence at Work by GetSmarter
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter401.7K views
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G... by DevGAMM Conference
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference3.6K views
Barbie - Brand Strategy Presentation by Erica Santiago
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago25.1K views
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well by Saba Software
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software25.2K views
Introduction to C Programming Language by Simplilearn
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
Simplilearn8.4K views
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr... by Palo Alto Software
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
Palo Alto Software88.4K views
9 Tips for a Work-free Vacation by Weekdone.com
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
Weekdone.com7.2K views
How to Map Your Future by SlideShop.com
How to Map Your FutureHow to Map Your Future
How to Map Your Future
SlideShop.com275.1K views
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -... by AccuraCast
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...
AccuraCast3.4K views
Exploring ChatGPT for Effective Teaching and Learning.pptx by Stan Skrabut, Ed.D.
Exploring ChatGPT for Effective Teaching and Learning.pptxExploring ChatGPT for Effective Teaching and Learning.pptx
Exploring ChatGPT for Effective Teaching and Learning.pptx
Stan Skrabut, Ed.D.57.7K views
How to train your robot (with Deep Reinforcement Learning) by Lucas García, PhD
How to train your robot (with Deep Reinforcement Learning)How to train your robot (with Deep Reinforcement Learning)
How to train your robot (with Deep Reinforcement Learning)
Lucas García, PhD42.5K views
4 Strategies to Renew Your Career Passion by Daniel Goleman
4 Strategies to Renew Your Career Passion4 Strategies to Renew Your Career Passion
4 Strategies to Renew Your Career Passion
Daniel Goleman122K views

Optimizing Special Character Entry: the Case of the French Keyboard Standard