HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
sangaline
dodona
C++2015–2015
sangaline / dodona

dodona

A framework for constructing keyboards and evaluating their performance with user interaction models.

2Distinct people
2Mentions
0Explicit recommenders
40GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A framework for constructing keyboards and evaluating their performance with user interaction models.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week2 dated mentions

Observed mentions: 2015-04-10 23:14:21 UTC to 2015-07-02 20:34:48 UTC. Weeks start Monday, UTC.

012015-04-06 00:00:00 UTC to 2015-04-13 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsApr 62015-04-13 00:00:00 UTC to 2015-04-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-04-20 00:00:00 UTC to 2015-04-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-04-27 00:00:00 UTC to 2015-05-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-05-04 00:00:00 UTC to 2015-05-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-05-11 00:00:00 UTC to 2015-05-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-05-18 00:00:00 UTC to 2015-05-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMay 182015-05-25 00:00:00 UTC to 2015-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-06-01 00:00:00 UTC to 2015-06-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-06-08 00:00:00 UTC to 2015-06-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-06-15 00:00:00 UTC to 2015-06-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-06-22 00:00:00 UTC to 2015-06-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-06-29 00:00:00 UTC to 2015-07-06 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 29

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 62015-04-06 00:00:00 UTC2015-04-13 00:00:00 UTC101
Apr 132015-04-13 00:00:00 UTC2015-04-20 00:00:00 UTC000
Apr 202015-04-20 00:00:00 UTC2015-04-27 00:00:00 UTC000
Apr 272015-04-27 00:00:00 UTC2015-05-04 00:00:00 UTC000
May 42015-05-04 00:00:00 UTC2015-05-11 00:00:00 UTC000
May 112015-05-11 00:00:00 UTC2015-05-18 00:00:00 UTC000
May 182015-05-18 00:00:00 UTC2015-05-25 00:00:00 UTC000
May 252015-05-25 00:00:00 UTC2015-06-01 00:00:00 UTC000
Jun 12015-06-01 00:00:00 UTC2015-06-08 00:00:00 UTC000
Jun 82015-06-08 00:00:00 UTC2015-06-15 00:00:00 UTC000
Jun 152015-06-15 00:00:00 UTC2015-06-22 00:00:00 UTC000
Jun 222015-06-22 00:00:00 UTC2015-06-29 00:00:00 UTC000
Jun 292015-06-29 00:00:00 UTC2015-07-06 00:00:00 UTC101

What Hacker News says

2 sources
The complexity of gesture typing opens the door to a lot of interesting questions that aren't relevant for "normal" typing. I really enjoyed reading through this notebook, it's very clear and presented well. What's more impressive is that most of the questions were answered with less than ~150 lines of code! In regards to the 6th question (one left only partially answered), some of you might find this blog post (posted to HN by my collegue a few months ago) that attempts to answer this question in a lot more detail (and with a lot more computing power) [1]. An aside: we made a python library (specifically intended for use in iPython) to help facilitate answering the exact types of questions posed in this article. A bit more time was spent on performance efficiency and visualization but there were some interesting functions in this note
Read the rest
book that would be a welcomed addition to the library [2]. Although the main point of our work was to determine the least confusing keyboard layout for gesture typing, we designed the library to make it quick and easy to answer all types of questions relating to keyboard input. As an example, at the request of an HN commenter on our previous post, we took a quick look at how the average path length on a random keyboard layout compares to the FITALY keyboard. Shameless plug: the question only took 5-10 minutes to code up and answer using iPython with the library mentioned above ([2]). In case anyone is interested you can find that notebook here [3]. [1]: http://sangaline.com/blog/swype_optimization/index.html [2]: https://github.com/sangaline/dodona [3]: http://sangaline.com/blog/optimizing_for_swype/FITALY.html
In Gesture Typing
I'm perfectly willing to make people learn all sorts of new things :-). We focused on optimizing over the permutations of the key labels in this analysis but we designed dodona [1] to be much more flexible. To demonstrate this, I just threw together a quick little notebook [2] evaluating the average distance traveled for FITALY. As you'd expect, it's much shorter than what we find using a random configuration. We'd love it if people used dodona to explore things more creative than permuting keys. [1] https://github.com/sangaline/dodona/ [2] http://sangaline.com/blog/optimizing_for_swype/FITALY.html
In Finding an Optimal Keyboard Layout for Swype

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.