Page 1
Standard

Why product design is like writing a recipe

While reading a cookbook recently I realized the goal of the cookbook author is not entirely different than a product designer. In both roles, the designer and author, there is a need to anticipate the needs and knowledge of the user, and design around those needs within the constraints of their knowledge.

There is also a parallel here between the engineer and the professional chef. Both have much more knowledge than the end user, and rarely understand how their user will be using the product they are creating. If you’ve ever read a cookbook actually written by a professional chef (as opposed to a professional cookbook author), you’ve probably not understood many of the terms or known what many of the ingredients were. If you did understand everything, then either you’re either an experienced chef, or the book was likely co-written with a writer who specializes in cookbooks.

User-Focused Design

It’s not that different with engineers working on a product to be sold to consumers. If you’re a computer programmer selling a product to a computer programmer, maybe you can get away with designing it. If you’re a computer programmer selling to a consumer, you probably need someone to guide the development of the product so it anticipates the needs of the user.

Diagram of the CL-9 CORE remote from a patent filing
Diagram of the CL9 CORE remote from a patent filing

One of the products that sticks out in my mind in this regard is the first product Steve Wozniak worked on after he stopped working for Apple. He left Apple to start CL9, the company that made the first universal programmable remote control (called the CORE). Many of the useful features developed by him back in the mid-to-late 1980s are still hard to find in remote controls today. The remote was built with essentially the same processor that was in the Apple II, also developed by Wozniak. The remote had 16 primary thumb-size buttons that could be programmed to control multiple devices, so a single button could turn on the TV, the VCR, and then start recording. The remote had 16 layers, allowing for 256 possible actions (16 buttons in 16 layers). The remote could even be programmed to activate a specific button’s programming at a specific time (i.e. start that above recording sequence at 6pm).

To keep the settings and time in the remote, there was a coin-battery soldered to the circuit board. If the battery ever died, however, you needed to have it de-soldered and a new one soldered to the board. If the battery ever lost charge, you needed to connect the remote to a computer though a serial cable and re-load the firmware. The keys did not correspond to standard remote functions, but in keeping with its ‘universal’ concept, the keys were labeled in hexadecimal (i.e. 1-9 and A-F). These issues, in addition to it’s cost (over $300 I believe) and the fact there were other simpler ‘universal’ remotes introduced around the same time, drove the company out of business before it ever really got started. I don’t know who decided that hexadecimal was a good user interface, but it seems clear general users were not really considered during the design process.

When writing a recipe to be placed in a cookbook, the author needs to think about who is reading the recipe. It could be the recipe is in a professional cooking textbook geared toward culinary students, but in most cases cookbooks are geared towards the average home chef. That means that the terms used need to be well known, and anything unlikely to be known needs to be explained. If the recipe is for an ethnic dish that uses ingredients not normally found in the supermarket, the recipes needs to explain what the ingredient is, and hopefully explain where it can be found.

Jargon

"Noomi Basra"
“Noomi Basra”

As an example I can use an ingredient found in the cookbook I was just looking at, which the cookbook author refers to as Noomi Basra. She does explain that these are dried limes, and that they can be found in Middle Eastern markets. She also explains how to prepare them. One interesting thing about Noomi Basra, which I know because I’ve looked for them, is that they have a different name depending where you are. If you went to the average Middle Eastern store and asked for Noomi Basra (Lemons from Basra) they probably wouldn’t know what you’re talking about because that’s only the name used in Iraq. In other Arab countries it’s referred to as Limoo Omani (Limes from Oman), and in Oman itself simply as Loomi. In Israel they’re referred to as Limon Parsi (Persian Lemon). In the US they are most likely known as a Black Lime or simply as a Dried Lime (although in a Middle Eastern market they may be known by one of the above names). As an aside, even though some of the names refer to them as lemons, they are always limes. Another thing a cookbook author should do when using hard-to-find ingredients is offer alternative ingredients that may work as substitutes when the reader cannot find the ingredient.

Do you know what Mirepoix is?

Another problem in recipes is the use of terms for other recipes. For example, when an ingredient listed is something like Mirepoix or Demi-Glace. These are not ingredients, as much as other recipes chefs are expected to know and make separately. These terms may be outside the knowledge space of the reader, and should be explained.

In a similar vein, culinary verbs such as julienne (to cut in long thin slices) or brunoise (to julienne and then turn 90 degrees and cut again into small chunks) must be explained, if not in the recipe, then in a glossary. Obviously not every term and ingredient needs to be explained, but finding the cut off of what to define and what not too requires testing the book on readers outside your normal comfort zone. If you’re writing a book on French food and only show it to experienced French chefs, you’re not going to get the feedback you need.

Specialized domain-specific terms are known as jargon, and the world of technology is filled with such terms (just like the culinary world). If these things are not explained, it’s because the author makes assumptions about the knowledge of their reader. Similarly product designers many times make inappropriate assumptions. Product usage assumptions can run the gamut of thinking the usage is obvious when it is not, thinking the user will read the documentation, and assuming your user will use the product in a specific way, when they might assume it is meant to be used a different way.

Making the wrong assumptions

In Israel there have long been only two options for getting lots of TV channels. You could get service from HOT (the country-wide cable company) or from YES (the country-wide Satellite TV company). Recently a third option came into existence, called Cellcom TV, from a cellular phone company. Cellcom’s option operates over existing Internet infrastructure (which ironically is either using the cables of HOT or YES’ largest shareholder Bezeq, the landline phone company). Cellcom can install a cable box that has an okay selection of channels (although no where near as extensive as HOT or YES).

Now imagine this is across the room from you and you need to pick a channel

Once set up (which you can almost guarantee will require multiple visits from Cellcom and your Internet infrastructure provider) you are left with a very advanced cable box with a very simple remote. The box lets you select channels, or review video-on-demand options, or use various Internet applications such as YouTube. Very advanced, however, doesn’t translate into very easy. The remote has no numbers on it, so in order to select a channel you need to press the menu button, select ‘Channels’ and then use the directional buttons to move over a grid of tiny channel logos until you find the channel you want, and then select it. You might have to press a dozen buttons to change the channel. You can’t even keep a few favorite channels in easy reach.

It is possible to use the channel up and down buttons, but how do you know what is up and what is down if there are no numbers? In addition, there is no pause in using the up and down buttons, so you can fly past several channels without even seeing what they were. Someone working at Cellcom was thinking that using numbers is an old method that isn’t necessary with today’s interactive user interfaces, but didn’t think through what removing the use of numbers meant for users.

Making sure to have the correct use cases

Imagine setting up this television service for an elderly person who is used to simply entering the numbers of the channels they want to watch. Now they need to remember which button pops up the menu, which menu item to select, where the channel icon they want is located (possibly off-screen and requiring scrolling down to see), and they need to pick from logos of channels so small even a young person without glasses would be hard pressed to identify them all. An elderly person might also want to look up programming in the TV listings in the newspaper, but without numbers it’s hard to know which channel they are referring to when they say something is on.

The product designers behind the Cellcom TV box were obviously not thinking about the above use case. Perhaps they were focused on young millennials that were more likely to switch from the existing providers, and who would be more appreciative of the Internet features in the box. Evidence of this comes from the fact that for the menu button they use the 3-bar icon (nicknamed the Hamburger) commonly used in mobile apps and web sites to represent a menu.

Aiming for perfection

When designing a product, or writing a recipe, the goal is the largely the same. You want the end-user to be able to user your product, or follow your recipe, with as little help as possible. The ultimate product design is one that is so obvious in its operation that it requires no documentation at all. In a recipe, you want to make sure that there is no confusion over what to do in each step (ever seen an ingredient referenced in a recipe step that wasn’t listed in the ingredient list? or seen an ingredient mentioned in the ingredient list that is never mentioned in the instruction?).

Recently I was working with a software developer on a product I was designing. He was 100% certain that the product would be used a certain way, when in my mind that was only one out several ways it might be used. The product was going to be installed by less-technically-skilled people than we would have liked, so covering all the bases in what might go wrong was critical. He had come up with a usage he thought optimal, and had ignored any other possible use cases. One could argue on how he came to that conclusion. Perhaps the specifications were not detailed enough (my fault), the communications between me and him broke down (with several other people in the mix), or he ignored specifications and communications and did what he thought was right (which could be arrogance like the architect, inexperience, or simply laziness). I believe it was a mix of all of the above.

The end result, however, was a product that in several non-trivial cases simply failed. When these failures were pointed out, the developer answered that if they did things the right way (i.e. the way he decided was best) those would never happen. Needless to say, or perhaps not so needlessly, you should design flexibility into your products so diversions from the intended path don’t cause it to fail. That’s why thinking through use cases and doing sufficient product testing with members of each use case is so important. In this product, those failures were fixed, and the product was made so it would never fail (rather it would try to fix problems that arose automatically).

Designing a product takes some imagination both in how the product should work and who will be using it, needs product testing with multiple user types, and the willingness to change what you originally envisioned to make it usable by the people who will actually be the end users.

more
Standard

The world of Mac software development

I was recently sent an offer to beta test a new service. The service is interesting – it is a subscription service for applications on the Mac operating system. Let me digress for a moment. Selling applications on the Mac, or any desktop operating system, has become more difficult in recent years. In the case of the Mac, this is partly Apple’s fault.

The App Store

Apple introduced the App Store for the iPhone back in 2008, and it completely turned the traditional software business on its head. Many companies made a lot of money from the App Store, and others went out of business. It messed with existing business models, and the reverberations in the software industry are still being felt. My own company, Command Speech, was founded shortly before the launch of the App Store, and it had severe effects on our business.

The App Store today
The App Store today

One of the big effects of the App Store was the race to the bottom. Traditionally, software companies had to spend money to market their applications – through magazines, newspapers, and online. There were also distribution costs. In the old days you had to pay for the media it was distributed on, whether a floppy disk or a CD-ROM, and the printed manual and box as well. You had to keep inventory. You needed to ship products, or put them in retail stores where it cost a lot of money to get shelf space. That meant you couldn’t charge too little for your app, or your acquisition cost for that customer would be more than you were getting paid. Some smaller developers could charge less, especially when the Internet brought down distribution costs, but it was still hard to get the word out. The App Store as a searchable marketplace for apps solved this problem, and allowed developers to charge less for their applications since their distribution was handled by Apple, and anyone could find their applications in the App Store. Add to that viral marketing on social networking sites, and you had the perfect storm to lower the price of software.

If you look back to the days of the Palm Pilot or Psion, the software prices were not that different than desktop software. A bit less maybe, but still in the double digits. With the App Store and viral marketing, the most common price for apps shot quickly to the lowest possible price, $0.99, if not free. It’s rare to find software in the App Store more than $9.99, and the only software I’ve seen in that category are apps that work with expensive desktop apps or with hardware, and can charge $14.99 or $19.99 because if you’re a captive user of their other product, you will pay to have a compatible mobile app.

The best example of this that I’ve seen was when Nuvo introduced a mobile app for their home music system. Nuvo has a great system that distributes music to multiple rooms, offers in-wall touch-screen controllers, and has a music server that can stream audio from its hard drive or from various online streaming services. Besides the in-wall touch screen controllers, they also offered a wireless touchscreen remote for hundreds of dollars. When they introduced their iPhone app, they knew they would be cannibalizing the sales of their touchscreen remote, so they priced the app at a price that probably made them more money than the remote – $99. I don’t know how long they kept the price that high, but I can tell you that they now give the app away for free. In fact, the great majority of apps in the App Store are free. Instead of selling the apps upfront, most developers have come up with other business models, such as in-app advertising. Advertising on the desktop has never been very popular, however, so apps on the Mac needed a different model.

The Mac App Store

In 2011, Apple launched the Mac App Store, bringing the same model of app sales to the desktop, except with one major difference. On iOS, Apple controlled all apps that were made available on the device. The only way to get your software on an iPhone or iPad was through the Apple-controlled App Store (without hacking the phone which most people would not do). On the Mac, Apple didn’t close access to the computer, so developers could choose to continue selling directly, could switch to the Mac App Store, or could try some combination.

The Mac App Store today
The Mac App Store today

At first, the Mac App Store seemed great to developers, particularly smaller developers. Basically free distribution, people could find you by doing a search, and updates were automatically pushed out to users. Of course there was a 30% cut for Apple, but other distribution methods were not free, and meant dealing with credit cards, refunds, issuing serial numbers, etc. The App Store simplified everything. At the beginning the App Store was missing a few things, but developers figured Apple would get around to fixing the missing features. One missing feature was a way to do a paid upgrade. Upgrades are the lifeblood of the software industry. You get a customer, they like your software, you spend time to improve the software, and you get paid for that work. Except for reasons that are still not clear, Apple’s decision not to include an upgrade route was not a missing feature, it was by design. Another missing capability for most developers was a way to do a free trial. Developers can of course create another version that users can download from their web site, but that kind of defeats the purpose of selling through the App Store.

Apple has still not added the ability to do a real upgrade. Some companies have gotten creative, by introducing a new app with a new version number, and offering it for less for the first few weeks to allow people to ‘upgrade’ and then raising the price before publicizing the software. This is an imperfect solution to be sure. The worst part is that if a user doesn’t upgrade in the set period, they cannot get the upgrade price in the future. Other developers have come up with more sophisticated solutions.

Omni Group, a long-time Mac developer, has created a way to do both free trials and upgrades, although it’s a bit complicated. They’ve started to make their apps free on the store, enabling for a free trial. After a couple of weeks, features in the app are disabled unless you purchase them through an in-app purchase. If you want to upgrade, you can find the old version of the app on your hard drive, and it will verify that it’s a valid version of the app, and then show you less expensive in-app purchases to get the same features. Not particularly elegant, but still workable.

There were other problems with the App Store, including additional security features (sandboxing in particular) which prevented some developers from selling through the App Store. Other developers found the effort too complicated, and reduced their interaction with their customers, and so abandoned it. Even so, the world for Mac software was changed. Prices had come down and they were not going back up just because an app was not in the App Store.

Loss of Marketing Avenues

In the old days there were magazines and web sites focused on the Mac, but even the web sites slowly started shutting down. Back in 1997, MacUser magazine in the US merged into MacWorld Magazine. MacWorld shut down its printed magazine in 2014. MacUser UK closed down its magazine in 2015. The MacMinute web site, a popular mac news site shut down in 2008 after the death of its owner. MacLife.com, the web site of MacLife magazine merged into the generic TechRadar site in 2015. Is there still a magazine? I have no idea. MacNN, another popular Mac news site shut down in 2016.

Bundles

In 2006, a new style of software marketing was introduced – the bundle. MacHeist pioneered this marketing scheme, where multiple software products were bundled together and sold for a low price. The site gamified the process, adding challenges that could get the user additional software. The site also raised money for charity at the same time.

The original MacHeist in December 2006

Controversial at the time, since relatively little money went to the developers themselves, the developers looked at it a bit differently. They looked at it as a way to gain new customers, who they would get more money from through future upgrades. MacHeist marketing its bundle as a limited time event, generating lots of sales over a short period of time. This model was copied by many other companies, generating all kinds of bundle sites such as BundleHunt, BundleFox, StackSocial, FairBundle, and more. Many sites came and went, such as Bundleecious, MacBundleBox, TheMacBundles, etc. How many bundle sites could operate at the same time?

Deal Sites

Another variation on the short-term deal are the individual deal sites. They offer a discount on one or more apps separately for a day or a week. Some sites of note include MacZOT and MacUpdate Promos, which is a directory of Mac software that also offer deals on a regular basis.

MacZot today

Besides the lack of immediate payback from bundle sites, another downside is that it precludes selling through the Mac App Store. Of course, not every developer wants to sell through the Mac App Store, but if you could properly promote your app, even at a big discount, it would help your rankings in the store, and make your app more visible, which would bring in more sales, etc. A beneficial cycle. One site that targets this opportunity is Two Dollar Tuesday, a site that promotes discounts on apps, but which sends you to the Mac App Store to make those purchases.

Two Dollar Tuesday today

Two Dollar Tuesday markets the discount (if an app is normally $9.99 then they market it as 80% off) to their subscribers and the developer lowers the price of the app in the app store for the period of the discount (up to a week usually). Like MacZot, the site is essentially a large mailing list that allows software publishers to reach a large number of targeted customers. Another site that follows a similar model is MacAppStoreSale.

A Subscription Model

So back to the beta service. The service is called SetApp, and offers a large number of Mac applications (currently 60 and new ones have been added over time) for a set monthly subscription price of $9.99/month. I was sent an invite from a software publisher whose application I’ve already paid for, whose application is one of the applications in the subscription. Of course, that’s a bit of the problem. I already own many of the applications I like in the subscription.

Here are the 61 applications currently in the subscription:

Aeon Timeline Get Backup Pro Permute
Alternote Gifox Pixa
Archiver GoodTask Polarr
Base HazeOver RapidWeaver
Be Focused Home Inventory Remote Mouse
Blogo Hype Renamer
Capto iFlicks Screens
Chronicle Image2icon Shimo
ChronoSync Express iMazing Simon
CleanMyMac iStat Menus Sip
Cloud Outliner iThoughtsX SQLPro Studio
CodeRunner Jump Desktop Squash
Disk Drill Lacona Studies
Downie Manuscripts TaskPaper
Elmedia Player Marked Timing
Findings MoneyWiz Ulysses
Flume My Wonderful Days WiFi Explorer
Focused Numi XMind
Folx Pagico Yummy FTP Pro
Forecast Bar Paste
Gemini PDF Squeezer


The service installs a folder on your hard drive with all the applications, except they’re not really the applications. The first time you launch one of them, it shows a preview of the application with a screenshot and a description, and if you want to use it you then have it installed remotely. The next time you launch the application, it launches normally. It’s a nice solution that both gives you a way to find out about the applications, and removes the need to store applications on your hard drive that you’re not using.

For me, since I already own most of the applications I want to use, I need to calculate if the $120/year is worth it for the applications I don’t own. That depends on how many of those other applications I want to use. Sure, if I subscribe to the service I won’t have to pay upgrade fees for the applications I do own. That requires a more complicated cost/benefit calculation. In general I’m opposed to software subscriptions, such as Adobe Creative Cloud. I particularly don’t like the idea of software stopping to work when I stop paying, and I can’t stand the massive number of Internet calls these subscription apps seem to make back to their servers. Try installing a single Adobe CC app with a network monitoring tool such as Little Snitch, and you’ll be shocked how often and to how many servers that single app tries to phone home.

That’s the case where there are no other options. Adobe gets away with that because there are not many alternatives to many of their applications. There’s nothing yet to indicate that these software publishers are planning to use this subscription as their only means of distribution. I suspect that wouldn’t make sense for most of them. As such, as an additional option, it’s probably a good thing. Someone should probably put together a chart showing the cost of each of these applications, and the upgrade costs over the last few versions, to let someone see if they would be paying over $120/year in upgrade fees on the apps they want.

In a world where many of the most ubiquitous desktop applications are available through the web, such as office suites (Microsoft Office 365 and Google Docs) and photo editors (Adobe Photoshop Express, Fotor, Pixlr), it seems logical that even non-web-based applications would find a way to get into the subscription model. For SetApp, I suppose the big question is does their mix of applications appeal to enough people and provide a big enough payoff to the developers who include their applications in the subscription. The beta ends in March, and it will be interesting to see how many people make the shift to paying $9.99/month. I don’t expect they would be promoting their numbers, at least not right away, but I suppose a good proxy for that information will be if new developers continue to add their apps to the subscription in the months that follow.

more
Standard

Three delayed keyboards (or four future keyboards)

Anyone who has been involved with crowdfunding sites like Kickstarter and IndieGoGo, and particularly those who have backed hardware products, know all about product delays. I’ve written before about how crowdfunding sites are invigorating the hardware startup market, allowing hardware products to reach the market that would never have done so in the past. The flip side is of course that not all the hardware products that receive crowdfunding do in fact reach the market.

Many crowdfunded products have famously failed, such as the Eyez by ZionEyez HD video recording glasses whose principles seemed to simply disappear off the face of the planet without delivering any products (and it’s unclear if they ever worked on their product at all). That case was covered by Forbes and Network World, although it only raises about $350,000. More recently Kickstarter has made it harder for pie-in-the-sky hardware ideas to make it onto the site. One interesting case was the Skarp Laser Razor, which raised over $4 Million on Kickstarter before the site suspended their campaign. The company quickly switched to IndieGoGo and raised over $450,000. Whether Kickstarter was right and the project ultimately fails remains to be seen.

A product doesn’t need to be crowdfunded to be a colossal failure. The Gizmondo handheld gaming console built up a lot of hype before flaming out fast once they launched. I suppose it’s good they at least launched, although it was apparently the worst-selling console of all time, selling less than 25,000 units. The company behind it had apparently burned through $300 Million, most of it in the six months before it declared bankruptcy. In case you were wondering how a company could spend that much money in such a short period of time, you might remember the story of one executive of Gizmondo who the year following the bankruptcy crashed his $2 Million Ferrari Enzo into a poll on the Pacific Coast Highway at such a such speed that he literally split the car in two. It was later found that he had illegally imported over $10 Million worth of sports cars that were being leased in the UK to the US, and then stopped paying the leases.

Now I wanted to look at three keyboards I’ve previously discussed, and see where they fit into this story. I’m not saying these products will fail, and I certainly hope they do not, but some are examples of hardware crowdfunding projects that have been excessively delayed. Two keyboards, the King’s Assembly and the KeyMouse, were crowdfunded. One, the Kinesis Advantage, is an existing keyboard from a longtime keyboard manufacturer, that has been awaiting an update for many years (for example being announced as forthcoming in 2013).

Let’s start with the two crowdfunded keyboards, since they are incredibly similar. Both the King’s Assembly and the KeyMouse are split ergonomic keyboards whose halves can be moved as mice, allowing one to both type and use the mouse without having to ever move your hands off the keyboard. Both raised similar amounts of money (the KA raised just under $240K and the KM raised just over $150K. The KA cost $200 during the campaign (and is currently accepting pre-orders for $320), while the KM cost $299 during the campaign (and is slated to sell for $399 retail). Both keyboards launched their campaigns with non-mechanical key switches, and later updated their designs to support Cherry MX mechanical switches (I suppose if you’re buying a keyboard for $200-300 you expect quality switches). Both companies are beyond their promised ship dates.

The KeyMouse
The KeyMouse

For a long time I suspected the KeyMouse, even though it raised its money later than the King’s Assembly, would ship first. I thought that because the company was out there showing working demonstration hardware of their designs. The KeyMouse was shown at CES 2015 in Las Vegas, and won an Innovation Award at CES 2016, just a few months ago (it was actually announced in November 2015). I didn’t back the KeyMouse, and the updates they’ve posted have been made available only to backers, so it’s not entirely clear what is going on with the product. What I can glean from the comments is that they’ve offered all their backers full refunds, as well as a promise to sell them the final product when released at the same price they paid during the campaign. That seems like a very good way to deal with whatever problem they’re having. Most companies don’t ever offer refunds to Kickstarter campaigns, as it’s not required, and they’ve usually already spent the money. So while I don’t know what happened to cause KM to start offering refunds, it seems a good sign that they’re offering refunds, as it means they’re likely not insolvent. Maybe we’ll see products shipping from them, but don’t hold your breath on seeing it this year.

 

KA Beta Pair Pic from KS
King’s Assembly 3D-Printed Beta (from the back)

The King’s Assembly has never, to my knowledge, actually shown off its prototypes publicly. Some pictures have been released to backers in updates on Kickstarter, and recently they took orders for what they called Beta keyboards, basically prototypes with 3D-printed plastic parts, that they somehow managed to sell to people for $650 each before the Kickstarter units are ready to ship. I suppose it’s pretty clever getting people to pay for your beta testing hardware. It’s a little galling for some KA backers who paid for two units – a final unit when released, and a pre-production unit earlier. That pre-production unit was supposed to be ready a few months after the campaign ended in April 2014. Those backers, who paid $350 for the privilege of getting an early unit in addition to the final one, don’t get the Beta units. I guess if the money and testing received through the beta program help get the product finished, however, people will be happy to get their products in the end. At this point even the Beta units haven’t shipped yet, although they seem to be in some form of final assembly. Once they get to Beta customers, it will be interesting to see people’s reaction to them. I wonder if Beta customers are restricted from posting photos of the units online. We’ll see what happens when they get into customer hands. Even assuming they get them out soon, and they all work perfectly, I wouldn’t expect a final unit to ship from KA before 2017. If they do get the Beta untis out, it will at least show they’ve managed to manufacture working units in some quantity, although that won’t prove that they can mass-produce the product using the money given them by backers in 2014.

Advantage Pro Keyboard
Kinesis Advantage Pro

Back in 2012, an employee of Kinesis started a thread on the Geekhack keyboard forum about what features people would like to see in a future version of the Kinesis Advantage contoured keyboard. I’ve written about the Advantage before (Why haven’t there been any keyboard innovations in decades? and How I would re-design the Kinesis Advantage keyboard). It’s a great keyboard, and I’ve used one myself on and off for years. The thread on Geekhack is actually still active, and there have been some interesting updates in the past four years. Of note, in early 2013, that same employee said the keyboard could be expected that year. As recently as last week, he was saying no date for the release, although other indications show that it is likely to come out this year (and in response to a tweet I sent them, they responded Q2). In the discussion online, it was revealed that the company only has about a dozen employees, and while the Advantage is the company’s most expensive keyboard, it isn’t the company’s most profitable. They sell many more of their less-expensive split adjustable Freestyle line of keyboards, which they’ve updated more frequently, adding for example Bluetooth support. In addition, they sell a line of foot pedals and other accessories.

Other priorities combined with some design problems has led to this delay now of more than four years. In the scheme of things, however, what’s four years? By my reckoning the last major update to the Advantage line was in 2002, when they introduced USB to the keyboard. That’s fourteen years since the last update. The overall design, however, hasn’t changed since it’s launch in 1996, which is twenty years ago. Twenty years selling the same design is pretty long by any reckoning, although Kinesis’ design is certainly modeled, at least in part, on the original Maltron keyboard that was designed in 1976 – so one could argue it’s a forty year old design. I’ve written how I would improve it, although my suggestions from 2014 are mostly functional, not design, changes. One design change that many people have asked for is the ability to split the keyboard into two halves, similar to their Freestyle keyboards. It seems that isn’t in the cards for the update planned this year, but they’ve said it’s not impossible in the future. It’s important to note that while this design update has been delayed, it’s not like the other keyboards which have backers that have put up money for them in advance. Kinesis certainly is under no obligation to update their keyboard, and while many people want an updated version, they’re not financially on the line if Kinesis never updates it.

 

Keyboardio Model 01
Keyboardio Model 01

I know the title of this post mentions three keyboards, but I’m going to mention one last keyboard because technically it’s not late yet. In fact I’ve mentioned this keyboard in at least two previous posts – A few interesting keyboards, nearly in existence… and The rise of hardware startups – thank you crowdfunding. The keyboard is the Keyboardio Model 01, and I’ve been following it for quite a long time. If you look at the two previous posts you can see quite a change in its appearance over time. Part of what has been interesting about this keyboard is how much information was shared about its design long before it was crowdfunded on Kickstarter. What started out as an, I guess obsession is not too strong a word, for its designer Jesse Vincent, has been shared all along the way. Jesse started by documenting his keyboard on his blog, as well is in keyboard forums. He went through many many prototypes, and landed in a hardware incubator called Highway1, where he further refined the design. Finally, after years of work, sharing his trials and errors, and even his code, he launched a crowdfunding campaign on Kickstarter.

The campaign was actually quite simple for a crowdfunding campaign. No stretch goals or other oddities. The keyboard was sold for $299. A $999 limited edition actually sold 11 units, amazing to me (to many people it’s probably harder to believe they sold over a thousand keyboards at $299, but while there are many keyboards available for over $299, I don’t know of too many over $999). The Keyboardio folk did a 25 State road trip during the campaign, driving from coast to coast and showing off the keyboard in various maker spaces. In the end, they raised over $650K, more than both the King’s Assembly and the KeyMouse combined. In addition, while I don’t expect the keyboard to ship by its April 2016 date (see, it’s not late yet), I do expect it to ship well in advance of the other two crowdfunded keyboards. There’s no question in my mind that the Keyboardio Model 01 will ship, and not many months after their original ship date.

One can certainly argue that the King’s Assembly and the KeyMouse are much more complicated than the Keyboardio, and that’s mostly true. The Keyboardio has no pointing device (although it can move the mouse position using keys), it doesn’t move, it has many fewer parts, less keys, etc. However, it’s clear from looking at the stories of these keyboards that the Keyboardio was planned out well in advance of being crowdfunded, while the other two were only rough prototypes then (and over a year later for both, they essentially still are).

In the end, we have four new keyboard designs all supposed to be released in the coming year. I hope they all make it to production, and sooner rather than later. This is, to some extent, the beginning of a keyboard renaissance, and in large part it’s due to crowdfunding expanding the hardware market (see The rise of hardware startups – thank you crowdfunding). While not all keyboard crowdfunding campaigns have ended well (such as the failed Multi-Touch glass keyboard), it seems that if keyboards like the above can all reach the market it will encourage others to experiment and come up with new keyboard designs. While hardware crowdfunding has almost always been associated with delays, it’s still a major driver of innovation, and I hope we’ll see more products soon (although if you really want to ship stuff on time, I won’t oppose that).

more
Standard

Who watches the watchmen? Apple vs. The FBI

The confrontation between the FBI and Apple over decrypting an Apple iPhone 5C used by Syed Rizwan Farook, one of the San Bernardino terrorists, who murdered fourteen and injured twenty two more on December 2, 2015, is a very interesting story.

At first blush the story seems quite simple. The FBI clearly wants to know what is on Farook’s phone, as it could potentially tell them if the terrorists had accomplices, as well as if they were in touch with other potential terrorists before the attack. Everyone involved (other than perhaps their accomplices if they exist) wants the FBI to get the information on the phone.

In fact, Apple assisted the FBI in getting all the information backed up to iCloud, and offered advice on how to retrieve the data from the locked iPhone. That advice was simply to plug in the phone in the presence of a known WiFi network, which might have triggered an automatic backup to iCloud of the more recent data. This would not have been affective if Farook had disabled backups, but otherwise would have sent a backup to iCloud that Apple would have been able to provide the FBI.

The reason this method didn’t work for the FBI was that they had the Farook’s employer, the San Bernardino County Department of Public Health, change the iCloud password for Farook’s phone “in the hours after the attack”. That action prevents the iPhone from automatically backing up to iCloud. In this case, it means that the most recent six weeks of data is not backed up, and now cannot be accessed without the user’s screen lock passcode. As part of the iPhone’s security, Apple automatically disables the phone is too many wrong passcodes are entered into the phone. That means the FBI cannot just enter the 10,000 possible passcodes sequentially until they get the correct one. It is this security feature – the disabling of the phone for repeated passcode attempts – that the FBI wants Apple to remove from the phone.

Let’s take a step back. Apple offers very clear guidelines to law enforcement, explaining what data Apple can provide them with with a proper warrant. The guidelines provide the exact text which they say needs to be in the search warrant for Apple to be able to comply, which is the following:

“It is hereby ordered that Apple Inc. assist [LAW ENFORCEMENT AGENCY] in its search of one Apple iOS device, Model #____________, on the _______ network with access number (phone number) _________, serial3 or IMEI4 number __________, and FCC ID#_____________ (the “Device”), by providing reasonable technical assistance in the instance where the Device is in reasonable working order and has been locked via passcode protection. Such reasonable technical assistance consists of, to the extent possible, extracting data from the Device, copying the data from the Device onto an external hard drive or other storage medium, and returning the aforementioned storage medium to law enforcement. Law Enforcement may then perform a search of the device data on the supplied storage medium.

It is further ordered that, to the extent that data on the Device is encrypted, Apple may provide a copy of the encrypted data to law enforcement but Apple is not required to attempt to decrypt, or otherwise enable law enforcement’s attempts to access any encrypted data.

Although Apple shall make reasonable efforts to maintain the integrity of data on the Device, Apple shall not be required to maintain copies of any user data as a result of the assistance ordered herein; all evidence preservation shall remain the responsibility of law enforcement agents.”

Note that Apple writes in the text that they “may provide a copy of the encrypted data to law enforcement but Apple is not required to attempt to decrypt, or otherwise enable law enforcement’s attempts to access any encrypted data.”

The FBI clearly already had such a search warrant issued, and Apple clearly already complied with it and provided them with the data that was more than six weeks old from the iCloud backup. Now the FBI wants that encrypted data, which Apple is fighting. Why is Apple fighting this? If they could access the data, then why wouldn’t just hand it over to the FBI like they did the iCloud backups? The answer is complicated. The short version is they have never done it, and if they do it now, they’ll be opening up the floodgates to probably thousands of iPhones in the possession of law enforcement that they want hacked.

The long version is that Apple looks at this as a civil rights issue. Apple has worked hard to make their devices secure for their customers. People trust their phones with all kinds of personal information, and don’t want that information available to the outside world. In addition, the FBI has used the All Writs Act of 1789 to pursue their unprecedented request for Apple to break into the iPhone in question. Apple feels that this is an attempt by the FBI to expand its powers using the 1789 law in a way that was never intended.

Apple responded with a letter to it’s customers, as well as a letter to it’s employees, outlining its opposition to creating such a backdoor to the iPhone.

Now begins the real battle. I think a few scenarios are worth taking a look at here.

  • Recently there have been a number of articles written wondering what would have happened if the phone in question had been an Android phone. The general consensus seems to be that the security of Android isn’t as strong as the iPhone’s, and it’s likely the phone would have been able to be broken into by the FBI without any help from the manufacturer. Part of the problem is that Android phones are not updated as regularly as Apple devices. Many Android phones get stuck at a certain Android version and never get updated. Apple has a much better record of getting their older phones updated with newer operating systems. In fact, the iPhone 5C in question here was released with iOS 7, which did not offer the level of encryption that is dogging the FBI right now. Only when the phone was updated to iOS 8 did the stronger encryption features kick in that are at the center of this case.
  • The cost of Apple to create an alternate version of their OS that is hackable is never really discussed. How many people work on iOS? How many people would be needed to implement this change? How much would it cost to keep such a version secure from other users cost? Apple wouldn’t have any problem doing any of this, but what if the device in question had been created by a startup? What if complying with the request would make them miss a market window (perhaps shipping in time for the holidays) and that could potentially send them into bankruptcy?
  • What would happen in the hacked version of iOS got out into the wild? Apple could build all kinds of safeguards into the software, such as only enabling it to work on Apple’s internal network, needing to get permission from a central server to operate, being linked to specific hardware, etc. but all of those things could be circumvented. It’s also clear that if it did get out into the wild, the people using it would be criminals, not the FBI. Criminals pay a lot better than the FBI.
  • The WSJ is reporting that the Justice Department already has a dozen iPhones it wants cracked by Apple, and none of those phones have anything to do with terrorism. This is the crack in the dam that Apple wants to make sure gets plugged. Apple knows they cannot offer to crack the phone in this case, and not crack the others if their requests are all based on the same All Writs Act.
  • This out out there, but worth considering. What if this is all an act? What if Apple already agreed to crack the phone, but wants cover from the FBI to insure their customers don’t know they’ve done it? In this stream, criminals and terrorists would probably switch to iPhones over Android phones, knowing Apple had fought the FBI successfully to prevent access. If Apple was secretly providing the data to the FBI, then this would be a great way to encourage switching to the devices that the FBI already has access to via Apple. If it seems the FBI and Apple are both making too big a deal of this issue, dragging into the public sphere what is usually very discrete, then this makes a lot more sense. For the record, I don’t believe this is the case, but in some ways it makes a lot more sense.

In light of the above, I thought it curious timing when I plugged in my iPhone to my computer and was presented with the following pop-up:

Apple Encryption Pop-Up

Now it’s possible this is coincidence. I don’t always have an iPhone cable in my office to connect to my computer. Maybe I haven’t plugged in my iPhone to my computer in a long time. The timing does make me wonder if other people have been asked by iTunes if they want to turn on backup encryption since San Bernardino entered the news. Have you seen this message recently? What are your thoughts on the Apple, FBI, and encrypted data?

more
Standard

A keyboard with swappable switches

It started out with a post to Reddit that linked to a series of photos on Imgur of a new keyboard the user had ordered from the Chinese e-commerce site Taobao. Taobao, for those who don’t know, is a Chinese-language-only e-commerce site run by Alibaba Group that caters to residents of China and nearby countries where people speak Chinese. Many sellers on the site, even if you could navigate the site in Chinese, won’t ship outside of China. To meet demand, a whole crop of sites have sprung up just to help foreigners order products from Taobao. These ‘Taobao agents’ will order the product for you, receive the product in China, and then re-ship it to you wherever you are in the world. Of course, that service comes with a price, and in many cases that eliminates any cost savings you might get from ordering from Taobao. Occassionally, however, there are products on Taobao that are not available elsewhere. In this case, the user (redditsavedmyagain) ordered a keyboard that was in fact quite unique.

The keyboard is called the Team Wolf Zhuque+. I had never heard of it and before that post on Reddit most other people had never heard of it either. The keyboard was made of Aluminum, had folding feet on the bottom that could be used to angle the keyboard, and had LED backlights. Most interestingly, the keyboard was configured to allow switches to added without soldering (and removed without desoldering). The keyboard comes with blue Gaote Outemu switches, made special for the SMD LED underneath the switch. Most LEDs in keyboards go on the top of the switch, with the wires going through holes in the switch and then soldered to the circuit board underneath. Since this keyboard allows the switches to be removed, the LEDs are surface-mounted to the circuit board and have no connection to the switch. This is nice, but presents some problems. For one, the light is below the switch instead of on top of it, meaning the switch itself needs to either be transparent or have a hole to allow the light through. Also, since most switches are not designed with SMD LEDs in mind, they may not have enough room at the bottom for the LED. The Gaote switches used in this keyboard are specially designed for these kinds of LEDs, and are recessed at the bottom to leave room for the LED, have an extra large hole to allow light through, and while the bottom of the switch is white plastic, the top is transparent. This allows the light lots of room to shine.

Two things about the keyboard got users excited on Reddit. First, the swappable switches. It’s not the first keyboard to have swappable switches, but it definitely is one of the first. The second reason was the price. The keyboard cost only about $30-$40. That’s more or less unheard of for a metal-frame mechanical keyboard, especially one including Cherry MX-compatible switches. While lots of people on Reddit wanted to order the keyboard, they ran into a problem – there was no easy way to order it without speaking Chinese and probably having a shipping location in China. Some managed to do it, but most could not. Instead, something interesting happened. Users recruited representatives of Massdrop on Reddit to look into putting together a group buy on their site. That came together very quickly. Massdrop contacted the manufacturer, and offered two versions of the keyboard, the same TKL version shown on Reddit, and a Full Size keyboard as well (if you don’t know the difference between TKL and Full Size, see my article How many keys are there on a keyboard?). In addition to the keyboard, Massdrop allowed the user to bundle Gateron switches that were similarly configured to the Gaote switches, designed for use with SMD LEDs. The Gateron switches similarly had a gap for the LED, larger holes above the LED, and transparent tops. Massdrop offered the switches in a variety of types (brown, red, black, etc.) for $30 for a set. The price of the TKL keyboard was $59 (and an extra $20 for the Full Size) and while shipping in the US wasn’t too expensive, outside the US the shipping came to $30. That brought the price of the keyboard that was somewhere around $30-$40 on Taobao to $89 to people outside the US. A lot of people were annoyed at the big price hike. Of course, most people couldn’t order on Taobao, and certainly couldn’t get SMD LED compatible switches to go with the keyboard (specialist switches like this are incredibly hard to find in small volumes).

Another option popped up at the same time. Chinese site Banggood.com also followed the post, and offered the same TKL version from the original post for $59 on their site, including shipping anywhere in the world. While the Massdrop deal might be better in the US considering it could be bundles with extra switches and you could get the Full Size version, the Banggood deal was better for most people outside the US as the price was the same and the shipping was free.

One big difference between Massdrop and Banggood in terms of this keybaord, is that Massdrop sold a set amount, and now you need to wait until Massdrop decides there’s enough interest to have another group buy for the keyboard. Banggood is a normal e-commerce site, and you can still buy the keyboard from them for $59. As long as there is interest in it, presumably they’re continue to replenish stock.

So I bought a keyboard through BG. It’s true that I can’t find the special SMD LED switches myself, but I read that other switches could work. I happened to have a bag of normal Gateron switches, and figured I could make them work. If not, I could always use the keyboard with the Gaote switches it came with.

This is what the keyboard looked like on arrival:

Close up of Team Wolf keyboard with original keycaps

For more (and better) images see the original photos on Imgur linked to from Reddit, as well as another review on Imgur (I can’t find the post that linked to this review).

So a few things about the stock appearance. Note the white keycaps with translucent legends. The stencil-like appearance of the legends is, how do I put this, not very appealing. I I like the FN (function) key that lets me use all the secondary functions, such as the media keys and the backlight controls.

The keyboard comes with a keycap remover, and a switch remover. The keycap remove wasn’t particularly good, but I had a different one which made it easier to remove all the keycaps:

Team Wolf keyboard close-up with keycaps removed

The switches are blue tactile clicky Gaote Outemu switches. Note the bottom half is white plastic, and the top is transparent. The first thing I noticed when I removed the keycaps was that the switches are mounted upside down. It took me a few moments before I realized all the keycaps I had removed had their legends on the top half of the keycap. The switches were mounted upside down so the opening for the LED underneath the switch would be underneath the legends. Normally the LEDs that are mounted on top of a switch are on the lower half of the switch, so in order to have the light on the top half of the keycap they needed to be upside down.

The next step was removing the switches from the keyboard. In a normal mechanical keyboard, you would need to desolder the switches from the circuit board, and then remove the switches. A normal switch has two contacts that would have to be desoldered. If there were LEDs, depending on the type, you would need to desolder either two or four contacts. That’s per switch. These LEDs have two contacts, so four contacts per switch, times 87 keys, is 348 contacts to desolder to replace all the switches in a normal mechanical keyboard of this size. I’m okay with soldering, but let me say that I hate desoldering. That’s one of the reasons this keyboard appealed to me. Here’s the switch removal tool that comes with the keyboard. It takes all of a couple of seconds to remove the switches:

Removing a switch

Removing the switches leaves you with an empty space in the top plate over the circuit board. Below you can see the four arrow key switches removed, with one of them flipped over so you can see the bottom of the switch. Note the two contacts, and the receiving point in the circuit board those would go into. You can also see the LED mounted on the circuit board, and the big hole in the switch which goes over that LED. The big circle in the middle of the switch is there to help hodl the switch in place, and you can see the corresponding hole in the circuit board where that goes.

Switches removed with one upside down

A look at the keyboard with all the switches removed. You might notice that the LEDs for some key locations are different than others. That’s because the LEDs are different colors. The letters and the right-side keys all have blue backlighting. The modifier and function keys all have white backgrounds, while the number keys have green backgrounds. The stabilizers, the white plastic pieces on either side of the large key locations (Backspace, Return and Shift) are not a type of stabilizer that I had ever seen before, but luckily they worked just fine with the other set of keycaps I wanted to use.

Team Wolf keyboard with switches removed

Before putting in new switches, I wanted to see what was on the back of the circuit board. I removed all the screws and removed the top plate and circuit board, and then flipped it over. You can clearly see the black units that receive the switch contacts:

Bottom of Team Wolf circuit board showing switch receivers

Here you can see the side of the circuit board that sits underneath the right side of the keyboard, where everything that makes the keyboard tick is placed:

Bottom of Team Wolf circuit board showing resistors

Once I took a look I put everything back together, and put all the screws back. The next step was preparing the switches. I didn’t have the special SMD LED switches, only plain Gateron brown switches. The switches I had were actually made for use directly on a PCB, so they had two extra small posts coming out of the bottom of the switch that would normally fit into matching holes in the PCB. Since I was plate-mounting these switches, and the PCB didn’t have matching holes, I had to do a little switch circumcision and snip the two posts off each switch:

Switch circumcision

The next step was to deal withy the fact that these switches were not designed to be used with SMD LEDs. The goal of those switches is to allow more light through the switch, both by having a larger hole above the LED and by having transparent switch tops. Standard Gateron switches like the ones I had are slightly translucent white plastic, but not fully transparent. Luckily I had a bag of transparent switch tops, and just needed to swap out the tops of each switch. For that purpose I have a 3D-printed switch opener that does the trick nicely:

Switch opener

It’s a little hard to tell from the picture, but basically you lower the switch on to the black plastic opener, and small wedges in the opener pry open four connection points on the switch and allow the top to be pulled up from the switch. After swapping the switch cover you can see the difference in the switch appearance:

Switch cover comparison

I also considered making a larger hole in the bottom of the switch to try to match somewhat with the switches that came with the keyboard, but I figured it didn’t matter too much since the Gateron bottoms were somewhat translucent, and the light would shine through the whole switch.

Here’s a look at the bottoms of the two switches. On the left is the Gaote switch that came with the keyboard. Note the opaque white plastic, and the large hole for the LED. It’s a little hard to see but the hole sits above a small gap that allows more room for the LED. The Gateron on the right, however, is made of translucent plastic, and has very small holes for the LED (because for these switches the LED would normally be on top, and the two contacts from the LED would pass through those tiny holes).

Bottom of Gaote and Gateron switches

One other minor modification was for the switch to be used for the space bar. It’s normal for the space bar to have a stronger spring than the other keys. I started out with a clear Gateron switch, and removed the cover, spring, and plunger from the switch. I then inserted the gold spring shown with a much higher resistance, and reinserted the plunger and added a transparent cover. I knew the space bar I was going to use didn’t have any opening for light, so putting the transparent cover on it was sort of a waste, but I figured I might as well keep it consistent.

Replacing the switch spring

This is what the switches looked like in place:

Team Wolf keyboard with brown Gateron switches close-up

They look pretty good, it’s almost a shame to cover them up with keycaps. Note that I had no trouble inserting these switches into the keyboard, event though the switches were not designed to work with SMD LEDs. It’s possible I’ll run into problems at some point because the switches are resting directly on the LEDs, although LEDs don’t generate a lot of heat, so it really should be too much of a problem.

I tested out the backlights before adding the keycaps, just to make sure they were all working:

Testing the backlights

Now that I knew all the switches were working I needed to add the keycaps. Before I could do that, however, I needed to get the stabilizers installed. Stabilizers are used by keys that are at least twice the width of a standard key. At that point the key can have problems without a stabilizer to keep the pressing of the key consistent. You don’t want there to be a problem when pressing the side of the key where the key just bends instead of pressing down the plunger on the switch. As I mentioned, I had never seen these kinds of stabilizers before, but they seemed fairly simple.

You start by removing the little plastic inserts from the old keys. Most keys have two stabilizers. Note the metal wire on either side of the stabilizer in the keyboard. You lift up the wire which is actually one U shaped wire, and position the plastic inserts onto those wires. The inserts fall into the stabilizer spaces, and when you push the keycap down all three plus-shaped pieces get pushed into the keycap (the two stabilizers and the switch itself in the middle):

Team Wolf keyboard stabs

After getting all the stabilized keys installed, started adding all the other keycaps:

Team Wolf keyboard half keycaps

These keycaps are Vortex Double-Shot PBT/POM keycaps. The black material is PBT, a higher-quality plastic than the standard ABS plastic used in most keycaps. The legends are injection-molded separately (the double-shot) out of POM, which is translucent.

Team Wolf keycaps with PBT keycaps

You can see that the legends are not the most readable. Here’s what they look like when the keyboard is plugged in:

Backlight test corner

Backlight test middle

Since these keycaps were not designed for this keyboard, the backlighting isn’t perfect. The biggest problem is that for numbers, the backlight is lighting up the shift value for each key instead of the primary value. Note how the !, @, #, etc. are all green while the numbers are not lit up at all. Here’s the full view:

Final keyboard Team Wolf

While not perfect, I’m definitely enjoying the Gateron brown switches, and I like the appearance of the Vortex PBT keycaps over the keycaps that came with the keyboard. The lack of backlight under the numbers is a bit distracting, however. It’s the same with any keycap that has two symbols on it, like the comma and period keys. You can understand now why the keycaps that came with the keyboard made the unusual design decision to put multiple symbols next to each other at the top, instead of the more standard one on top of the other. While I worked hard to maintain the backlighting, in the end it’s possible I’ll switch to regular keycaps that don’t support backlighting, to get a more consistent look for the keyboard. Maybe I’ll just switch the alphanumeric keys to standard keycaps, and leave everything else backlit. I’ll have to see if I can find keycaps that match the appearance of these Vortex keycaps, which may not be easy since these are PBT and any other keycaps I have, and most made, are ABS. One thing that bother me about the keyboard is the placement of the cable right in the middle of the case. I would have preferred to have it off to one side since I mostly work with a laptop and the cable gets in the way. A nice feature would have been to offer more than one exit point for the cable, and let the user decide which one to use.

I’m kind of amazed how much interest was generated for this keyboard by a single post in a forum. I hope Team Wolf is at least sending redditsavedmyagain some swag.

more
PRISM E-mail Data Collection
Standard

E-mail security stinks, and that makes hackers (and the NSA) happy

The Better Mousetrap

Making the perfect e-mail client seems like the build-a-better-mousetrap challenge of our day. Every year or so it seems there’s another amazing e-mail client released by a startup, that says it has ‘reimagined’ or ‘reinvented’ e-mail and how to use it. Some examples include Sparrow (launched in 2011, bought by Google and discontinued in 2012) and Mailbox (launched in 2013 and bought a month later by Dropbox, and announcement of its imminent retirement just this month). This is kind of ironic considering the move away from e-mail to other messaging services, particularly real-time services, such as Slack and Whatsapp.

Recently, perhaps due in part to the imminent shut down of Mailbox, another e-mail app called Polymail has been receiving a lot of hype. It is already the fourth most up-voted product on Product Hunt, and it hasn’t even launched yet. Seeing the latest e-mail-mousetrap launch reminds me about one of the inherent security problems all of these applications encourage.

A Question of Protocol

All of these apps rely primarily on the IMAP e-mail protocol (short for Internet Message Access Protocol). That makes a lot of sense as it keeps most of the e-mail management on the server, and allows app developers to release both desktop and mobile clients that can both share the same e-mail, including read status and folder structure. Many of the largest e-mail providers like Gmail, Yahoo, iCloud, and Outlook.com (the service formerly known as Hotmail) support IMAP, so these e-mail accounts are generally supported by these new e-mail clients.

In the old days, most e-mail was served up using a different protocol, POP, short for Post-Office Protocol (technically it is POP3, and IMAP is actually IMAP4). The truth is that both POP and IMAP date back to the 1980s. POP is only a couple of years older than IMAP, although IMAP received more ongoing attention in the 1990s. There are a lot of differences between POP and IMAP, but the main difference is that when you use POP, all of your messages are downloaded to your e-mail client, and then deleted from the server, while IMAP downloads a local copy, but leaves all the e-mail on the server.

Keeping e-mail on the server has many advantages, such as having a backup of your e-mail on a remote server, and allowing your phone, tablet and desktop to all access your e-mail. There are some minor problems with keeping your e-mail on the server, such as running out of server space (depends on your e-mail provider). One problem that is usually overlooked, however, is that if your e-mail is stored on the server, your e-mail is accessible at all times by hackers and the government. Let’s take a look at these two scenarios.

Scenario One: Hackers

In the old days e-mail was never encrypted. Nowadays more and more companies are trying to insure it is encrypted when in-transit between servers. Google offers an interesting view of their attempt to encrypt e-mail in transit to different providers, showing which companies they receive and send e-mail to that are fully encrypted, and which are not. This in-transit encryption prevents, or at least greatly lowers, the ability of third parties (criminal or government) to intercept your e-mails while they are traveling between servers, or from a server to your client device. That’s great, but there’s one problem they don’t usually talk about, which is that the e-mails are stored unencrypted on the server itself. Apple actually points this out in their iCloud security and privacy overview:

apple-icloud-security-mail

Now I’m sure most major e-mail providers have amazing security, but nothing is a guarantee. How many times have you received spam from a friend whose account on a major e-mail provider or social network had been hacked? I still remember the first time I received the ‘I’m stranded in X and need you to wire me money’ scam. If your e-mail is online, it’s available to those who can access the server. That could be high-level hacks that compromise the entire server, or simple hacks like guessing your password. Check out HaveIBeenPwned.com to search a database of over 250 million username/password credentials that have been hacked and leaked online and you may find your e-mail address there. Do you use the same password on multiple sites? how about the same password for your e-mail and for online sites? That’s a big no no, but when the most common password on the Internet is ‘password’ security isn’t a major concern for many.

Even if you use strong passwords and use different passwords on different sites, however, there are more intricate methods for gaining access to e-mail without having to hack the server directly. Take for example the teenager that gained access to the personal e-mail account of John Brennan, the director of CIA. He did a reverse-lookup of Brennan’s phone number, determined its provider (Verizon), and called Verizon pretending to be a Verizon technician. This is called social engineering, and it’s basically hacking without a computer. The teenager managed to get enough information from Verizon to then call AOL and reset the password on the e-mail account. This was the director of the CIA.

Scenario Two: The Government

Sure, everyone knows the NSA is listening. Edward Snowden’s revelations about the NSA have been news fodder for years. One of the most troubling images released by Snowden via The Guardian was this slide from a presentation on NSA’s PRISM electronic surveillance program:

PRISM E-mail Data Collection

The slide seems to suggest at which point each of these services were compromised by the NSA. Whether these services were hacked by the NSA or were given access by the providers isn’t shown. That distinctions is really irrelevant, it would seem. Does this mean that the NSA can read all of your Gmail, Yahoo and iCloud e-mails? That’s not clear, but it doesn’t seem that is what they mean. It is possible that this slide merely means that the NSA is capable of intercepting all e-mails being sent and received by these servers. For example, they connect to the data pipes in between the hosting location and the Internet provider they use. The NSA can just listen in to everything coming and going, and doesn’t need to access the servers at all. That might have been the impetus for Google’s increased focus on in-transit encryption as mentioned above.

Now you might say that a lot of these programs were shut down and are not active. That’s also irrelevant. You know why? Because you don’t need to be the NSA to access e-mails stored on servers. You don’t even need a warrant. You’re probably thinking that’s crazy, and of course law enforcement agencies would need a warrant to access your e-mail on the server. NOT. TRUE. The Electronic Communications Privacy Act of 1986 (ECPA) defines e-mail on a server that is more than 180 days old as abandoned. This dates back to a time when everyone used POP or a proprietary protocol to download their e-mails, and storage was so expensive that keeping everyone’s e-mails on the server seemed absurd. Back then the assumption was you could download your e-mail and then the server would delete it to make room. The problem is that this antiquated definition is still the law of the land, and a law enforcement agency can ask for all e-mails older than 180 days and doesn’t need a warrant to do so. That’s not to say e-mail providers haven’t fought against this definition, but the law is on the government’s side until it gets changed. Meanwhile, if the government wants to take a look at the e-mails you’ve downloaded to your computer, they need a warrant. So if you store your e-mails remotely (using IMAP), the government can simply ask for them with little justification. If you download all your e-mails (using POP) then the government needs to go to a judge and get a warrant to search your computer, which they obviously need to get from you physically. If an e-mail provider hands over all your e-mails to a law enforcement agency, how would you know it even happened?

The interesting thing then is that using the older POP protocol, you are in many ways more secure than if you use IMAP. If you’re using in-transit encryption, which both IMAP and POP support, then the only e-mails accessible to government agencies when they approach an e-mail provider are what are sitting there in between downloads to your client. It’s usually a pretty good bet that those are less than 180 old, which means the government cannot get access to any of your e-mails if you use POP, without a warrant.

Sure all of this is theoretical. I don’t assume anyone reading this is being pursued by law enforcement. That said, any loophole is exploitable. Just ask John Brennan.

Then What?

The obvious answer to e-mail security is to encrypt all e-mails all the time. That, however, is harder than it seems. First, you can’t force other people to send you e-mails that are always encrypted. Second, even setting up encryption for all of your outgoing e-mails is incredibly difficult. It doesn’t feel like so long ago that Phil Zimmerman had to publish the code to his PGP encryption software in a hard-bound book and put it up for sale, in order to allow it to be exported outside the US under the First Amendment. The problem at the time was that strong encryption was considered a munition under US law, and exporting it to many countries was illegal. Anyone with a copy of the book could rip off the cover, separate the pages, and then scan the pages and generate the source code. A project to do just that outside the US was set up to stay up to date with new versions, called the PGPi scanning project. Nowadays, those laws are more relaxed, and no scanning in foreign countries is required. It’s not a secret sauce anymore. Getting strong encryption code out into the wild was only part of the problem, however. The bigger problem turns out to be a question of how easy encryption is to use.

Many people have tried to make encryption easier to use so more people would use it, but no one has really succeeded. Phil Zimmerman himself advised Hushmail, and co-founded Silent Circle, both of which could be described as attempts to make encryption more accessible. More recently two other efforts are perhaps more interesting.

Will Ackerly, who used to work at the NSA, launched Virtru, a company that piggybacks on existing e-mail services like Gmail and adds strong encryption. Some of the things Virtru allows beyond encryption are the ability to allow or disallow an e-mail from being forwarded, and the ability to revoke an e-mail (i.e. delete it from the recipient’s computer) at will, or automatically after a set period of time. Additionally, recipients of encrypted e-mails don’t need to install special software to read messages sent via Virtru. Virtu currently offers Chrome and Firefox plug-ins for web-access to services like Gmail, and offers a plug-in for Outlook on the Windows desktop. They also offer iOS and Android apps. Virtru tries to be a simple end-to-end solution for secure e-mail, and it does seem to do things very well.

Another startup, Keybase, was founded by the former founders of online dating site OKCupid. Founding a dating site might not sound like the right pre-requisite for bringing encryption to the masses, but besides building OKCupid based on complex mathematical matching algorithms, they also managed to sell their company to Match.com for $50 million in cash. As proven entrepreneurs, they managed to convince the right people, and raised $10.8 million from major silicon investors just to get started on the problem. The idea behind keybase is to link your cryptographic key with your various social media profiles, making it much easier for people to locate your public key and communicate with you. For example, you might link your Facebook, Twitter, Instagram, and Reddit usernames to your public key, which you store on the Keybase server. The important part is not just finding the key, but finding the right key. Normally using PGP you need to establish trust based on who signs each key. The problem is that if you’re e-mailing someone new, you won’t necessarily know if the people signing the key are fake. If you can link the key to established accounts of the user and cross-reference them with other accounts, then you have a fairly safe and easy want to confirm the owner of a key. The encryption scheme started with PGP, but is now evolving to include NaCl. The idea addresses a significant problem with public-key encryption, but doesn’t fully remove the ease-of-use problem most people have with encryption. Hopefully those are also being addressed.

All of these efforts are great, but they’re not solutions most people will use – yet. In the mean time, the question is how accessible are your e-mails to snooping. While the latest whiz-bang e-mail applications support IMAP and storing e-mails on the server, most have left POP behind. It is possible to download all your e-mails locally using IMAP, and then delete them all from your server, but it’s not the default. Next time another web site is hacked (don’t forget to check your e-mail address on HaveIBeenPwned.com) or another revelation about government snooping is revealed, you might wonder if storing everything locally, like POP does by default, might not be the better way to go.

more
Standard

Another font evolves in the digital realm

Recently, I’ve been reading about T.E. Lawrence (also known as John Hume Ross, T.E. Shaw, and thanks to Hollywood – Lawrence of Arabia). In my research I came across a story about how Lawrence came to write a translation of Homer’s The Odyssey. Most people aren’t aware that Lawrence was trained as a historian and archaeologist, not a military strategist. Leading up to WWI, it was his knowledge of the region from his work as an archeologist that convinced the British army to arrange an archeological survey of the Negev desert as a ruse for actually mapping the region for the military. That experience led him to join British Intelligence in Cairo, where he eventually would be sent to help organize the Arab rebellion against the Ottoman Empire that made him famous (some would say infamous).

While Lawrence’s exploits during WWI made him famous, his life after WWI isn’t very well known. Shunning the spotlight, he actually managed to re-enter the military under false names – first the Royal Air Force (RAF), then the Royal Tank Corps, then back to the RAF. It was while working as a clerk in the RAF that he was contacted by a friend who had met the famous book designer Bruce Rodgers. Rodgers had told his friend that he had been commissioned to create a new translation of Homer’s The Odyssey, and then design the new book. His friend had discussed T.E. Lawrence with him, and suggested he do the translation. Prior to that time, Lawrence had only published his memoir, The Seven Pillars of Wisdom (and an abridged version called Revolt in the Desert) and a translation of a French novel, although he had learned classic Greek in school. In the ensuing back-and-forth about the translation, Bruce Rodgers mentioned in passing that The Monotype Company was ‘cutting’ his Centaur typeface. Cutting in this sense was literally cutting the typeface out of metal so it could be used in a printing press.

Advertisement for Centaur typeface from 1948
Advertisement for Centaur typeface from 1948

I wrote back in February about another font, now called The Doves Type, which interestingly enough was also based on the work of of the same 15th century book printer/designer Nicolaus Jenson. There was perhaps more intrigue in the story of the The Dove Type, which you can read about in my post From bibles to web sites, the century-long trek of one font. What’s interesting is that when I started writing this post about another font, I didn’t know that it was also based on the work of Jenson.

If you go to Monotype’s web site today, the only mention of Centaur on their site is that they own the trademark for it, although you can find it for sale from Linotype (a Monotype subsidiary), fonts.com (also owned by Monotype), and other related sites. Adobe used to also sell a version of Centaur, but from what I can tell no longer do so. Adobe does, however, sell Adobe Jenson Pro, based on the same font that Centaur was originally modeled on, and thus is similar. Perhaps Adobe licensed Centaur from Monotype before digital type was as widespread, and created an early digital version of it, I’m not sure.

Linotype has a good description of Centaur on their site:

Centaur is probably the best known re-creation of the roman type cut by Nicolas Jenson in the fifteenth century. The great American typographer and book designer, Bruce Rogers, was commissioned to design an exclusive type for the Metropolitan Museum of Art (New York) in 1914. Rogers, who wanted to emphasize the written quality of the letter shapes, enlarged photos of Jenson’s type and drew over the letters with a flat pen. He then selected the best letters and touched them up with a brush and white paint, and the new type was cut from these patterns by Robert Wiebking. It was named Centaur after the title of the first book designed by Rogers using the type: The Centaur” by Maurice de Guérin, published in 1915. Lanston Monotype of London cut the commercial version of Centaur and released it in 1929. Rogers convinced Frederic Warde to design the italic, which was given its own separate name of Arrighi. Because Jenson did not cut a companion italic, Warde used as his models the types cut by Ludovico degli Arrighi in 1524-27. He inclined the caps and shortened the ascenders so it would go better with the height of Centaur’s ascenders. The lowercase italic g is a notable character because it has no ear. The current digital version of Centaur has both roman and italic, and includes bold weights, small caps, alternates and swashes. The difference between Centaur Italic and Centaur Italic (Arrighi) is in the lowercase z. Use the Centaur family for book composition, headlines, and elegant advertising pieces.

Typefaces are a funny thing, since early typeface designs (such as those of Jenson, who lived over five hundred years ago) are obviously not protected by any kind of copyright or trademark. Sometimes many later type designers used these early typefaces as inspiration or copied them outright. Those copies were then copied, etc. As further illustration of this point, the fonts Cambridge Serial (by Softmaker), LTC Metropolitan (by Lanston Type Company) and Venetian 301 (by Bitstream) are all basically versions of Centaur, which of course is a version of Jenson’s original Roman font from over 500 years ago, that inspired Adobe’s Jenson Pro and Linotype’s Jenson Classico.

There is another digital version of Centaur that is under development, and the interesting thing about this version is that it is free. The font is called Coelacanth, and it’s made freely available through the Open Font Library. I suppose the name is related to the fact that the Coelacanth is a fish that is believed to have evolved into its current state hundreds of millions of years ago, and stayed the same since, and Jenson’s original designs are over 500 years old and still being used. The font is a work-in-progress by Ben Whitmore, who writes about the project, as well as more specifically his efforts to create italic and bold variations. One of the goals of Coelacanth is to create a font with a wide range of optical sizes, so even in the smallest sizes the font would look good, something that was true of the metal-cut Centaur font, and which Ben Whitmore wants to reproduce with his digital version. Here’s a demo sheet of Coelacanth:

Coelacanth Demo Sheet
Coelacanth Demo Sheet

It’s amazing to think how one man’s work over five hundred years ago has influenced so many designers, and so many book designs, and that it continues to inspire people to this day. If you’re still wondering about T.E. Lawrence and how a story that started with Lawrence ended up about a digital font, all I can say is that Lawrence did indeed translate The Odyssey, and it was published by Bruce Rodgers in 1932. You can pick up a copy on Amazon if you want, although I’m not sure the paperback version on offer there utilizes Rodger’s original layout and his Centaur typeface. If you’re interested in the creation of Centaur itself, it seems there is a forthcoming book on the topic called The Noblest Roman (Amazon).

more
Standard

Hand-wiring a keyboard

As part of an effort to teach myself hardware design, I’ve wanted to hand-build a keyboard. I ordered a top and bottom plate from Ortholinear Keyboards a couple of months ago (their 60% Atomic Semi-Standard design), but didn’t have the switches I needed to put it together. Recently I received a set of Gateron switches through a group buy, and started work on the keyboard.

One of the reasons I chose the Atomic kit was frankly that it was one of the least expensive options available to get started. The kit includes the top plate (a steel plate with holes cut to place the key switches), and a bottom plate that has matching screw holes to the top plate. A bag of screws and brass spacers allows one to attach the two plates. It is a very simple design. There is no circuit board to attach the switches to like most other keyboard kits. The Atomic needs to be hand-wired. That appealed to me as well, because I felt hand-wiring the keyboard internals would give me a much better understanding of its inner workings.

To start one simply pushes the switches into the holes in the top plate. The switches are designed to fit a plate, and snap into place. I used Gateron (Black variety) switches. Gateron switches are a clone of Cherry switches, the mechanical key switch standard, whose patents expired in the past few years. Gateron, Greetech and Kailh are some of the companies making clone switches, and Gateron are some of the best reviewed switches. The color (in this case Black) refers to the variety of switch – a combination of actuation force (how strong the internal spring is), and whether Linear, Tactile or Clicky. Cherry MX Blacks, and their Gateron clones, are linear switches with a 60n actuation force.

Once the switches are inserted, the hard part starts – soldering the connectors on the back side of the switches. Switches have two contacts on their bottom side. One contact is connected to the other switches in the same row, and one contact is connected to the switches in the same column. This design is called a matrix, and allows the micro controller inside the keyboard to determine which key has been pressed, using less wire connections than would be necessary if you tried to connect every key directly. It depends on your micro controller and the number of keys on your keyboard, but when building a keyboard you will almost always need to use a matrix design. In this keyboard’s case, there are 66 keys and only 24 places to connect wires. By using a matrix, I can instead connect the 5 rows and 15 columns, and use only 20 connections, thus staying below the limit of connections on the Teensy 2.0 micro controller I’m using.

As an example, a simple 4×4 matrix would look like this:

4x4 Keyboard Matrix
4×4 Keyboard Matrix

The red lines make up to row connections and the blue lines make up the column connections. The bumps in the column connections indicate that the wires don’t connect even though they overlap. In this case, there are 4 columns and 4 rows, and thus the micro controller would need 8 connections to read the key usage on the keyboard (8 connections for 16 switches).

Rows

In order to prevent ghosting in the keyboard (where the keyboard makes a mistake recognizing multiple key presses) diodes are added to each key switch. One thing I realized when looking at what other people had done when hand-wiring their keyboards, was that is was common to use the diodes themselves to connect switches in the rows. A diode lead is soldered directly to one of the switch contacts, and then the second lead is soldered to the second lead of the next diode. That might sound confusing, but it’s important. The connections between the diodes must be made such that the connections take place only between the second leads, creating a kind of rail that connects the leads, and creates a connection that cannot send electricity back up to the switches due to the diodes (which only allow electricity to flow in one direction). So one lead on the contact, and one on the next switches’ second lead. You continue in that pattern until you get to the end of the row.

The leads are only long enough to make the connection between regular size keys. If a larger key is used (like normally used for modifier keys like Shift, Tab, Backspace, etc. and the Spacebar) then the space is too long for the lead to reach across, and another solution is needed. In the case of the 2u modifiers (there are three in the Atomic layout) I simply soldered piece of diode leads that I had cut off previously (the part of the lead that attaches to the switch contact needs to be trimmed after it is soldered) to bridge the gap. For the spacebar, since it is significantly longer, I soldered a piece of wire to either side.

Here’s what the keyboard looks like with just the rows wired up (using the diodes):

atomic-rowswired
Rows wired

There’s a difference between the rows and columns that is not clear from the diagram above. The columns are simply connected directly from contact to contact, since there are no diodes in the columns. This also means that there is no difference where you connect to the columns. The column is turned on, so to speak, by applying electricity to the whole column, so it that can be done anywhere. While the diagram shows the outgoing connections at the bottom of the diagram (similar to the row connections at the right of the diagram), the columns in reality end at the last switch in that column, and the connection can be made to one of the internal switches in the column (if that’s easier to fit the wiring), whereas the rows must be connected to at the end (after the last diode).

Columns

To wire the columns, I probably would have used solid-core wiring if I had had it, but I didn’t, so I used the bundle of wiring that Ortholinear sent with the plates, which is stranded wire. Since I wired the rows using the diode leads which are not insulated, the column wires must be insulated since they overlap the rows and would short if they were not insulated. After looking around at how other people had approached wiring up columns I came up with a technique that worked for me. What I did was strip the end of a segment of wire, which would be connected later to the bottom switch in the column. I then measured the distance to the next switch and made a cut in the insulation so I could pull the insulation up the wire a bit, creating a small gap in the insulation. It was important to measure to a couple of millimeters before the switch contact, and then pull the insulation so it created a gap a couple of millimeters past the contact, giving me enough space to solder the contact to the gap in the wire. After creating the gap, I would then measure to the next switch and repeat.

The reason I couldn’t measure all the distances at once was that I was pulling the insulation up the wire each time I created a gap, so any measurement marks I made earlier further up the wire would be moved. It was a bit time-consuming, but worked well. Once I had the wire for the column set up I pulled it under the row wires and positioned it next to each contact. I then soldered the bottom contact to the end of the wire and worked my way up the column until all the gaps were soldered to their proper contacts. The wire I had was color-coded, so I alternated colors across the columns, and made sure the colors followed the same order as the roll of wire, which came in handy later when connecting everything up (as you’ll see below). Here’s the keyboard with the columns wired:

Columns wired
Columns wired

You’ll note that the columns are not perfectly straight, because some keys span more than one column. When you have a wide key, you need to just pick one column to connect to that switch. To figure out which column would be assigned to which switch, I just decided on a rule that when there was a question I would connect to the left-most column the key spanned. On the bottom right of the keyboard above (actually the bottom left when the keyboard will be finished and flipped, but for this picture, it’s the bottom right) I just connected the bottom switches to the column they were closest to (they are off-center because they use larger keycaps). To guide me, I created a diagram like the above matrix diagram, but specific to this keyboard:

Atomic Semi-Standard Matrix
Atomic Semi-Standard Matrix

The reason it’s a good idea to make a diagram isn’t actually for wiring it, where a set of consistent rules should work well. The reason you need a diagram is that when you’re done and you want to program the controller, you’ll need to know how everything is hooked up. Having a diagram to look at can be simpler then referring to the actual hardware.

One thing to keep in mind. Technically the diagram above is backwards. We’re looking at the diagram the same way we’re looking at the back of the keyboard. The problem is that the software we’re going to load in the keyboard looks at the keyboard from the front. It also numbers the columns and rows starting from 0, so a more accurate diagram might be:

Atomic Semi-Standard Matrix (Corrected)
Atomic Semi-Standard Matrix (Corrected)

The firmware code actually uses hex numbering so there is no 10, 11, 12, 13 and 14, rather they are A, B, C, D, E and F. Since I’m using C and R to indicate Column and Row, however, I think it’s easier to label the switches using numbers.

Connecting the Rows and Columns to the Microcontroller

The next step is to connect everything we’ve done so far to the microcontroller, in this case a Teensy 2.0. Each column (15 of them) and each row (5 of them) need to be connected to the Teensy. Luckily, the Teensy has over 20 connections. The simplest thing to do is connect 10 wires to each side of the Teensy. In order to keep things organized, I decided to take the roll of wire I had, which was a strip 10 wires wide, consisting of insulation that came in ten sequential colors, and solder the wires to the rows and columns without disconnecting the wires completely. This allows me to end up with two strip of ten wires still connected at the ends, ready to connect to the Teensy. To pull this off, it required a bit of advanced planning. One thing I wanted to do, was re-use the same colors I had used for the columns, in the same order, so for each column, I was continuing the same color on its way to the Teensy. This would allow me to identify the wiring quickly when looking at the connections. For example, the first column is brown, and that will end up being the first connection on the Teensy. I’ll be able to visually see the connection of the brown wire to the first Teensy connection, and know for each connection exactly where it goes. There are 15 columns, but only 10 colors, but that’s okay because the next 5 columns will be connected on the other side of the Teensy with the rows. I was careful to run the wires underneath the existing rows and columns, and tried to keep the wires within the space between the keys whenever possible. This is what the wiring looked like when I finished:

atomic-connection-wires-added
Connection wires added

All the wires now run to the gap underneath the spacebar. That seems like the logical spot to place the microcontroller, as it’s the only spot without a switch in it. The right side of the spacebar switch is bigger than the left side (since the switch is not centered) so I put the wires there. In retrospect, it might have been easier to do the above if I had left the bottom row of switches disconnected from the columns, to make it easier to run the wires in the space between the switches. It wasn’t too bad, but it did require some delicate pulling of wires under the column wires which could have easily snapped in some cases.

Making the Teensy removable

I decided the project wasn’t difficult enough, so I’d make it harder (that’s a joke). I wanted to be able to remove the Teensy from the keyboard at a later date without having to desolder it. Normally one would just solder the wires to the holes along the Teensy and be done with it. Making it removable required figuring out something clever to connect the wires to the Teensy without solder. What I came up with was to use dupont micro connectors. I ordered connectors that were 10 units wide. When I ordered them I wasn’t even sure they would line up properly with the holes on the Teensy, but luckily they did. The male side of the connector has pins on both the bottom and the top. I soldered the bottom pins into the Teensy, with one on either side of the Teensy.

Teensy 2.0 with 10-unit connectors soldered on
Teensy 2.0 with 10-unit connectors soldered on

I then separate the ends of each wire coming from the rows and columns, and stripped the ends. The trick here is that the stripped section of wire has to be really short. One’s inclination is to give it a little extra space as you might do when soldering, but if you leave extra space here, the wire won’t fit properly in the dupont connector. Once I stripped all the wires, and practiced crimping the dupont connectors on extra wire I had, and then practiced inserting those connectors into the plastic female housing that held the ten connectors. This took a lot of practice, and I messed up a lot of connectors before getting a good feel for how it works. Even with all the practice, I ended up having to re-do two out of the twenty crimps that I did, but that’s not too bad.

Crimping the dupont connectors to the wires, in progress
Crimping the dupont connectors to the wires, in progress

Once I crimped all the connectors onto the wires, I inserted them into their housings and inserted the housing into their male counterparts on the Teensy. Along the way, I tried testing the connections using a multi-meter, just to make sure everything was working. This is what it looks like completed:

Dupont connectors inserted
Dupont connectors inserted

From a wiring point of view the keyboard is complete. There are three things left to do.

Close the case

First, we can close up the bottom. This keyboard came with a bottom plate with matching screw holes to the top plate. If you look at the photos above, there are brass spacers spread around the top plate in between the switches, six in total. I have black tubing around the brass spacers to prevent any wires from touching the metal. Those spacers have screw holes, so all I need to do is place the plate on top of those spacers and insert and tighten the screws.

Add keycaps

The second is to add keycaps to the switches (on the top of the keyboard):

Keycaps added
Keycaps added

You’ll notice that a few switches don’t have keycaps. That’s because I was missing a stabilizer bar for the spacebar when I added the keycaps, and I didn’t have the right keys for the 2u keys which will be the right-shift and enter keys. As I’m writing this I’m expecting both the stabilizer bar for the spacebar, and some blank 2u keycaps to arrive in a couple of days.

Program the keyboard

The third thing that is needed is to program the firmware. Keyboard have their own software that tells the micro-controller (the Teensy) how to interpret keystrokes. Ortholinear recommends TMK firmware, and they’ve made their own branch of the code with some of the settings for their keyboard kits – in addition to the Atomic (matrix 60%), there is the Planck (matrix 40%), Neutrino (staggered 65%) and Quark (staggered 40%).

One can do a lot with the software in a keyboard, but there are a few basics that need to be done. First, you need to map the connections on the micro controller to specific columns and rows. If the firmware doesn’t know what each connection is connected to, it can’t determine which key was pressed. In addition, you need to tell the firmware which switch should trigger which keystroke. You also need to tell the firmware how many columns and rows are in the keyboard. Advanced firmwares like TMK support layering, which means you can add multiple ‘layers’ of keys, so one layer might be what you think is normal for a keyboard with numbers and letters, while a second layer might have function keys and number pad (for keyboards like this one that don’t have function keys or a number pad), and a third layer might have special application-specific macros for applications like Photoshop, or for specific games. To start out I used the layout that was set up as the default for the Atomic.

Basically, I followed the roadmap in matt3o’s guide How to build your very own keyboard firmware on deskthority, with a few changes since Ortholinear’s branch of TMK is already customized for their keyboards. At first, when I tried to compile I ran into a string of error messages, but after asking Jack Humbert (aka Ortholinear) his thoughts on what was going on, he pointed out a single missing # in my code was causing it to fail. Adding in the # and everything worked.

Well, sort of. When I originally complied the firmware and got the keyboard working, the keymap seemed not to be exactly what I thought it would be. I don’t need to go into all the gritty details here, but let’s just point out that programming a keyboard from scratch is not something most people would ever want to do. Not only do you need to check the code, but you need to check the hardware to make sure your problems are not due to a soldering mistake. It’s not fun.

Finishing the Keyboard

In order to finish the keyboard, I needed two things. First, I needed to install the missing keycaps. All three missing keycaps used stabilizers, as all keycaps at least 2 units wide (i.e. twice the width of a standard key) need stabilizers in order to allow the key to press evenly across the entire key. After I received a 6.25u stabilizer bar for the spacebar, I installed that and the spacebar. After receiving 2u keycaps, I installed those on the stabilizers as well. Now all the keycaps were installed.

Second, I needed to make the USB port on the Teensy accessible. This is where some advanced planning would have helped a bit, but truthfully I started building the keyboard without the part I needed, so it wouldn’t have helped unless I had decided not to build the keyboard. The part I needed was a short USB extension cord so I could connect it to the USB port on the Teensy and run it in between the key switches and out the top of the keyboard. The advanced planning part would have been to run the extension cord in between the switches before all the soldering, so it would fit underneath the connections and stay in place. The problem I had after the fact was that I could not fit the extension cord underneath the connections without stripping the wire almost completely. That meant the plastic insulation was gone, and I would need to insulate the wire after getting it into place. I still haven’t found a great solution to this problem, although for the time being the USB extension cord is wrapped in electrical tape.

more
Infinity ErgoDox
Standard

The evolution and commercialization of the ErgoDox keyboard

I mentioned the ErgoDox keyboard in my article A few interesting keyboards nearly in existence…. Strictly speaking, the ErgoDox was already in existence at the time (almost exactly a year ago), but as I pointed out, it wasn’t a commercial product. The ErgoDox keyboard was originally designed by Geekhack.org user Dox (aka Dominic Beauchamp), and developed in a thread started on October 10, 2011 titled ErgoDox – Custom split ergo keyboard with input from the Geekhack community. The design was based in part on the earlier Key64 concept, which itself derives its ideas from a variety of earlier keyboards, and partly from the layout of the Kinesis Advantage keyboard (in particular the thumb cluster).

The Original ErgoDox Design
The Original ErgoDox Design

What’s amazing, considering that hundreds (maybe thousands) of ErgoDox keyboards have been sold, is that Dox was originally hoping to get 5-10 people to commit to buying it to bring down his costs. When the design was completed, and the PCB finished (the PCB design was done by geekhack user bpiphany – aka Fredrik Atmer), the design was made available for free online.

 

MassDrop “Group Buys”

MassDrop ErgoDox
MassDrop ErgoDox

A kit containing all the parts needed to assemble the keyboard was made available first via MassDrop, a site that allows users to join “Group Buys” for various products, usually hard-to-get and/or very expensive electronics, that brings down the price based on how many people join the group buy. MassDrop has had several group buys of the ErgoDox in the past couple of years, offering the circuit boards (one for each hand), components (diodes, resistors, etc.), controller board (a Teensy 2.0), key switches, key caps, cables (USB for the computer, TRRS to connect the two sides), etc. The kit also contained a case made out of layered sheets of acrylic, based on a design by geekhack user Litster (the original 3D-printed case design by Dox was too expensive on a small scale).

Even though the kit components were sourced by MassDrop, and things like setting up custom keyboard layouts were made easier (by using an online configuration tool provided by Massdrop), it was still complicated to build, requiring the soldering of 76 key switches with 76 corresponding diodes, as well as many other components (resistors, LEDs, the controller board, the USB connection, the TRRS sockets, an I/O Expander chip, etc.). Additionally, the group buys didn’t provide a custom set of key caps for the ErgoDox, only optional blank keycaps. This could be explained by the infinite configurability of the keyboard layout not lending itself to a single set up for labels on their keycaps, but that is a cop-out of sorts. If the need to solder wasn’t enough of an obstacle, the lack of available keycaps was also an obstacle to wider adoption of the keyboard. Lastly, since you need to put the keyboard together yourself, there was no warranty on the keyboard available.

 

Mechanical Keyboards and Falbatech

Falbatech gold-plated ErgoDox PCB
Falbatech gold-plated ErgoDox PCB

In addition to the occasional group buy via MassDrop, ErgoDox components were also available from various sources. PCBs could be bought at Mechanical Keyboards in the US and Falbatech in Poland. Both companies also offered various case options, although many people built their own cases, either from the original Dox 3D-printed case design, Litster’s cut acrylic design, or various other custom designs. Falbatech sells a component kit with all the bits and pieces one needs to solder to the PCBs as well, although most of the parts could also be sourced from other providers such as Digikey (although not as a kit). These alternate providers made it possible for people to assemble ErgoDox keyboards whenever they wanted (and no have to wait for a new group buy on MassDrop) and also allowed users more flexibility in how they assembled the keyboards.

As people built their own ErgoDox keyboards, many modified the design to suit their own needs. Some broke out the thumb cluster and repositioned them. Some designed custom cases, even from wood. Other worked to upgrade the PCB to support LEDs on each switch. Many variations of the keyboard can be found online in groups like Geekhack, Deskthority, and r/MechanicalKeyboards.

 

The ErgoDox EZ

ErgoDox EZ
ErgoDox EZ

Last year I pointed out that it would be nice if the keyboard was manufactured in a factory and if the company that manufactured it offered support (i.e. a warranty). For many users, this is necessary. Apparently I wasn’t the only person who noticed this problem, as a couple of Israelis, Erez Zukerman and Yaara Lancet, put together a company to manufacture and support ErgoDox keyboards (dubbed the ErgoDox EZ). The EZ version of the ErgoDox is mass-produced in a factory in China, uses an injection-molded plastic case that brings down the cost, but otherwise is exactly the same as the standard ErgoDox. The PCBs are exactly the same, and the Teensy 2.0 is still used as the controller board. That last part was surprising to me because if I was going to mass-produce a keyboard, I’d want to embed the controller into the PCB for two reasons. I’d want to remove a third-party product from the final version to reduce costs (why include their markup into my base price?), and it would reduce the risk of problems caused by their manufacturing process. If someone is buying a mass-produced product, they probably don’t expect a removable controller board from another company. Of course, keeping the Teensy 2.0 board in the final product does have one major advantage – it means the company wouldn’t need to deal with any custom programming to adapt the ErgoDox software to a new controller configuration.

Keeping things simple (the only major change being the creation of a case that can be injection molded) might also explain why nothing in the key layout was changed either. Many people complained about the ErgoDox thumb cluster, for example, as not being ideally located. A whole thread on just this topic (fixing the ergodox thumb section) has generated hundreds of messages and thousands of views.

One other curious thing done by the EZ team was not including printed keycaps. Like MassDrop, the keycaps available are all blank. My opinion is that if they are looking to expand the market for the ErgoDox beyond those who can solder it together themselves, and those who want warranties, then chances are many of those people also want printed keycaps (see my article How many keys are there on a keyboard? for a discussion of the use of blank keycaps).

The ErgoDox EZ team did a pre-sale on its web site, offering the keyboard for $180 without keycaps or $190 with blank keycaps, in the run up to its IndieGoGo campaign, where the price was raised to $215 without and $235 with keycaps (plus $30 shipping). There was some promotion on the Deskthority keyboard forum (Assembled ErgoDox with warranty available for pre-order). Before promoting their IndieGoGo campaign, they offered the $180/$190 pricing on their IndieGoGo page for those who signed up earlier, then hid those levels once they launched officially. This got them about half way through the $50,000 they need to finish their campaign, which as of today (four days later) has 26 days to go.

 

The Infinity ErgoDox

Infinity ErgoDox
Infinity ErgoDox by MassDrop

Today, just days after the ErgoDox EZ launched on IndieGoGo, MassDrop dropped a bomb of sorts – a newly redesigned ErgoDox keyboard, they’ve dubbed the Infinity ErgoDox. MassDrop previously released a keyboard called the Infinity, which was created with input from the community and the professional direction of Jacob Alexander (aka HaaTa). MassDrop has an interesting article about the creation of the Infinity for those interested in the process. MassDrop took some of the lessons learned in the creation of the Infinity, much of the feedback from the community on the original ErgoDox, and created something new.

The new model outwardly looks fairly similar to the original ErgoDox (no thumb cluster change), but when looking closer, there are some significant changes. The Teensy 2.0 is gone, replaced with a built-in controller that is closer to a Teensy 3.1 in design. Each side can actually be used independently from each other, but when combined with a USB3 cable, merges into a single device. The unit connects to the computer using a simpler USB2 cable. The new design includes one obvious change, which is the addition of a small LCD screen on both sides of the keyboard. The screen is intended to be used to show different modes of the keyboard, which layout layer is activated, etc. although the software can be modified, so the screens could be used for lots of functions.

The case is still built from layered acrylic, although the plate that holds the key switches has apparently been switched to a metal plate.

Another big change which is not actually described in the group buy description, but fleshed out in the comments, is that the keyboard supports individual per-key LEDs. The original ErgoDox only supported 3 LEDs, and all on one side of the keyboard. The new Infinity ErgoDox has room in the PCB for individual LEDs for each key, and the PCB has a built-in LED controller chip to support them. The LEDs can be individually addressed and the brighten controlled. The group buy doesn’t actually include the LEDs, which is probably why they’re not mentioned in the description, but according to the responses in the comments, the hardware support is there already. It’s possible the software support for the LEDs is not ready yet, which might also explain why that was left out of the description.

Perhaps the most important change is that all of the main components are added to the PCB during manufacturing, leaving only the switches which need to be soldered. That makes the assembly of the new Infinity ErgoDox much simpler than the original ErgoDox. If you add LEDs those will also need to be soldered, but they are not necessary to the keyboard’s operation.

 

What’s next?

I’m sure the ErgoDox EZ folk were not happy to see the Infinity ErgoDox launch four days into their campaign. It’s true that the ErgoDox EZ is the only version of the ErgoDox that so far will be available with a warranty. The Infinity ErgoDox does not include a warranty. Being only half-way through their fundraising goal (with 165 contributors, compared to the 280 the Infinity ErgoDox racked up today so far) they must be sweating a bit. They have a choice – they can continue and hope to get everyone who do not want to solder their keyboard switches, and those that want a warranty – or they scrap their current design and wait for MassDrop to release the new versions of their PCB design. MassDrop has announced that the designs for the Infinity ErgoDox will be released to the public after the product ships. The estimated shipping date is June 29, 2015 – three months from now. They could wait until the after it is shipped, get the new designs, and relaunch with the new design.

A third option, and probably the best option, would be for them to add stretch goals to their existing campaign that include many of the improvements in the Infinity ErgoDox, perhaps even other improvements, and commit to include those improvements in the final product (whose ship date is currently estimated to be December 2015). They could even simply add a stretch goal to use the Infinity ErgoDox design, and then they don’t need to make any new hardware designs, they only need to create a different case (which they still haven’t made, so requires very little additional work).

In any case, it’s fascinating to see what started out as a personal design intended for a handful of people, being the basis for products manufactured by many companies (besides the 4 companies mentioned here, there are many others that have made accessories such as wrist guards and custom keycaps for the ErgoDox). I don’t know if the ErgoDox EZ will make it to production and offer the first ErgoDox with a warranty, but if it does it will be a pretty big breakthrough for community-developed keyboard designs. The improvements implemented by MassDrop are also a breakthrough of sorts, taking community designs, improving them, and releasing the changes to the public. This is the open source software world merging into the world of hardware. About time.

more
Standard

How many keys are there on a keyboard?

Longtime readers of this blog might have noticed my interest in computer keyboards. Most people today just use the keyboard that comes on their laptop, or the virtual one on their tablet. The basic layout of the keyboard dates back over a hundred years to early typewriters, but the more modern layout of the keyboard dates back to 1986 and the emergence of the IBM Enhanced Keyboard for the Personal Computer, which debuted the 101-key layout which has become the standard full-size keyboard layout to this day. Microsoft bumped the layout to 104 keys with the addition of Windows keys and a Menu key a bit later, but the layout is essentially the same. This is a rule-of-thumb, as no two keyboards are exactly the same. The number of keys on a full size keyboard varies, some having media keys, etc. The layout, more or less, is the following:

Full-Size Keyboard Layout
Full-Size 104-Key Keyboard Layout

It’s worth pointing out that the 101/104 layout is the standard layout in the US, called ANSI (American National Standards Institute), while in Europe there is slightly different 102/105 key layout called ISO (International Organization for Standardization). The ISO layout has an extra key (to the right of the left-side Shift key), but also changes some of the layout, using an L-shaped Enter key instead of the  straight ANSI Enter key (as above), as well as changing the function of the right-side Alt key (called Alt Graph) to allow for simpler access to more characters (i.e. Left-Alt and a key will produce one character, while Right-Alt and the same key will produce another character). This simplifies the generation of accented characters that are not generally used in the US.

Key Blocks

In the above diagram I’ve broken down the layout into four blocks – Basic, Function Key, Navigation and Number Pad. When all four blocks are present, you have a standard full-size keyboard. Remove the Number Pad block on the right side, and you have an 87/88 key layout (87 in ANSI, 88 in ISO). Keyboard enthusiasts refer to this as Tenkeyless (TKL). Why Tenkeyless? I have no idea. There are actually 17 keys in a standard number pad. I suppose there are ten number keys in a number pad. In any case, most physical keyboards conform to either the 87/88 or 104/105 layout. Laptops of course, throw out most of these standards in an effort to fit the keys they need into a much more constricted space. Usually a laptop will include the Basic Block, the Function Block (although with smaller keys), and jam the 4 arrow keys of the Navigation Block somewhere into the keyboard (for example, by shrinking the spacebar, removing a control key from the right, and sticking small arrow keys in the bottom right corner). We’ll get back to that in a minute.

Gaming Keyboards

While most keyboards not bundled by computer manufacturers are still probably produced by big companies like Microsoft and Logitech, there are many keyboard companies that try to reach smaller niche markets. One very large niche market is the gaming market, where keyboards that allow gamers to more easily press many buttons at once, allow programming the keyboard to optimize it for specific games, and where they can pimp out their keyboard with backlighting and special keys to look cool when competing. The largest company to target this particular market niche is California-based Razer, which was valued at $1 Billion in a recent investment round led by Intel. Razor has expanded from its original pointer devices and keyboards to produce gaming laptops, wearables, and other consumer electronics devices.

Big companies like Logitech manufacture keyboards targeting gamers, but there are also many smaller companies that sell primary to the gamer market. Besides Razer, other companies include Cooler MasterCorsairRoccatSteelSeries, and Tt eSports.

Programmer Keyboards

The next large keyboard niche is computer programmers. Programmers, by dint of the amount of time they spend in front of a keyboard, have more requirements in general than the average user, and are also more willing to use more technical solutions to keyboard problems. These technical solutions can include keyboard layers, where the user can switch the entire layout of the keyboard on the fly, chording, where users use combinations of key presses to output what they want instead of using single key presses, and programmable keys and macros. The first keyboard I’m aware of that targeted programmers was the Happy Hacking Keyboard (HHKB), which was introduced by a division of Fujitsu in 1996. The HHKB reduced the key count to just 60 keys, leaving just the Base Block from the above diagram, and overlaying the Function Block and the Navigation Block onto existing keys, using a special function key to access those keys (and printing the function-enabled key labels on the front of the keycap in addition to its standard label on the top – see below).

Happy Hacking Keyboard Professional2 Type-S
Happy Hacking Keyboard (HHKB) Professional2

Another milestone keyboard targeting programmers was the Das Keyboard, introduced by open source software company Metadot Corporation in 2005. The original Das Keyboard introduced, or at least popularized, keyboards with blank keys. The idea for the keyboard was conceived by the CEO of Metadot, who realized that looking at the keyboard when typing was a crutch, and slowed down one’s typing. The idea is that by using blank keys, one could force themselves to touch-type and increase your typing speed dramatically. Other keyboards that target programmers include the CODE Keyboard, the Humble Hacker Keyboard, and the upcoming Ultimate Hacking Keyboard.

The Overlap

While gamers and programmers have different needs, there is a lot of overlap between the specs for gaming and programming keyboards. For example, programmability is very common for both types of keyboards, although for slightly different reasons. Gamers need to optimize the keys for specific games and create macros for common key-combos. Programmers optimize for the languages they use, and for their particular coding style. Gamers tend toward larger keyboards with lots of buttons that insure they can control all aspects of the game they are playing, while many programmers actually use smaller keyboards to keep their range of movement to a minimum. Both groups of keyboards tend towards using mechanical switches such as Cherry MX switches (and their many clones such as Gaote, Greetech and Kaihl), and in some cases there is overlap where keyboards are used both for programming and for gaming. On the other hand, it’s unlikely you’ll find a gamer using a small keyboard with blank keys. What is a ‘small’ keyboard?

75% Keyboards

As mentioned, there are keyboards referred to as Full-Size (101/102/104/105 keys) and there are keyboards called Tenkeyless (87/88) where the number pad is dropped. What if you drop the navigation block as well (sometimes arrow keys are kept)? Then you get just the Base Block and the Function Key Block. This is a configuration frequently used in laptop keyboards. Here’s an example of the keyboard layout on an Apple MacBook Pro:

MacBook Pro Keyboard Layout
MacBook Pro Keyboard Layout

Note that the function keys are smaller than the other keys, and that the arrow keys have been squeezed into the bottom right corner (by removing some of the right-side modifier keys and keeping the arrow keys small. This is a 75% Layout, where there are roughly 75% of the keys found on a full-size keyboard. This kind of layout is unusual for a separate keyboard, but it does exist. Some examples of non-laptop 75% keyboards are the Matias Mini TactilePro, the Keycool 84, the KBC Race II which was developed by the KBtalking keyboard community in Taiwan and manufactured by Vortex, and the BL82 keyboard manufactured by TG3 Electronics.

60% Keyboards

If we keep going, what happens if we drop the Function Key Block as well, so it’s just the Base Block? We have roughly 60% of the keys of a Full-Size layout, and thus a 60% Layout (which usually has somewhere between 60-66 keys). Some keyboards that use a 60% Layout also figure out ways to cram in arrow keys. Some versions of the Happy Hacking Keyboard (HHKB) for example, squeeze in arrow keys in the bottom right corner, even while dropping the whole top row of function keys. What happens if you need the function keys you ask? or even the arrow keys if they’re not there? Most of the keys that are removed in the 60% keyboard are mapped to other keys, and accessible by holding down a modifier key. Thus, F1 through F12 are usually mapped to the number row (F1 to 1, F2 to 2, etc.). 60% Keyboards are popular in keyboard enthusiast groups, as a kind of minimalist keyboard. They are also popular with some programmers who prefer the minimal design which reduces the distance they hands must move to reach the entire keyboard, and the distance to reach an external pointing device such as a mouse (on a full-size keyboard, for example, reaching over the navigation block and the number pad block to get to a mouse is far).

Below is the Happy Hacking Keyboard Lite 2 layout (a variation on the original layout shown above in the photo, which adds four arrow keys). It shows which characters are accessed via a function key in red:

Happy Hacker Keyboard Lite 2 Key Layout
Happy Hacker Keyboard Lite 2 Key Layout

You can buy 60% keyboards such as the Ducky Mini, the Filco Minila, the Happy Hacking Keyboard, and the Leopold FC660M. There are also community-designed company-manfactured 60% keyboards, such as the Vortex (the company) KBC (the community) Pok3r II (soon to be the Pok3r III) and the KB Paradise V60 Mini. In addition, there are several 60% keyboards available in kit form for those who are willing to assemble them by themselves. Some of these kits are community-designed, such as the GH60 and the Massdrop Infiniti, and some are individually designed, such as the Atomic and the Lepton.

40% Keyboards

While many consider the 60% to be minimalist in design, there are some people designing even smaller keyboards that drop the entire number row and other keys, forcing the use of a modifier key to access numbers and other keys that are dropped from the keyboard. There are no commercially produced 40% keyboards that I’m aware of, although there are some community and individual-designed keyboards available. Some kits are available, such as the Planck (the 40% sibling of the 60% Atomic above), the Terminus Mini, the Atreus, and the SmallFry (aka the JD40).

At first glance, you might think it’s crazy to get rid of the numbers and require one to hold down a modifier key to type a number. However, if you think about it, we already use a modified – the Shift Key – to reach all the characters currently mapped to the number keys, which are !, @, #, $, %, ^, &, *, ( and ). Why is that different to use a second modifier key to reach the numbers from existing letter keys? One problem that emerges is the keycaps. If you’re using blank keycaps, I guess you’re fine. Otherwise, how are you going to get keycaps that show you the modifier-layout that you require to access the keys you lost? Those Shift-modified characters (above) also need a place on the keyboard, either on the same keys you move the numbers to (add the Shift) or somewhere else, but either way, you need to know where they are. Are you going to put three characters on a single keycap (i.e. Q, 1 and !)? Besides being difficult to source such keycaps, they would most likely be expensive. In all the builds I’ve seen of these keyboards, they either use blank keycaps, or they just use the letters and leave out the numbers. The numbers are of course easy enough to guess (there are 10 letters across the top), so I guess that works in a way, but if you rely on printed keycaps, figuring out the location of other characters can’t be easy. This is something that a commercial 40% keyboard might be able to fix, although for the moment, these seem to be strictly hobbyist-made.

Can there be a 20%?

If you follow the above trend, you might wonder if there could be a 20% keyboard. Strictly speaking, sure. You’d need to do a lot of chording (pressing multiple keys at once to get the correct character). In general, if a keyboard has 20% of the keys of a full-size keyboard, you’re talking about a one-handed keyboard. They exist, to be sure, but they are niche products. One one-handed keyboard I always liked was the FrogPad, created by Linda Marroquin, based on the design of a Japanese translator who wanted to be able to hold a page in one hand and type using the other hand. If you take a close look at the layout of the FrogPad, it has 20 keys and they have up to seven different characters or functions related to them.

Right-Handed FrogPad
Right-Handed FrogPad

Take a look at the top right key. If you press it by itself, it’s P (top side, upper left in white). If you hold down the Space (which has a green square on it) it’s J (top side, bottom left in green). If you hold down the Shift key, it’s a semi-colon (top side, upper right in white). If you hold down the Space and the Shift, it’s a number sign (top side, lower right in green). It can also be Page Up (front left in orange), minus (front right in white), and Number Lock (left side in yellow) depending on what other keys you press.

A later iteration of the keyboard added another 11 keys, which included function keys and others, although I’m not sure that ever made it to market. It seems there are lawsuits involved as Marroquin had licensed the design to a third-party company, and that third party took money for pre-orders that were never delivered. Marroquin now seems to be trying to rejuvenate the product.

One enthusiast-developed 20% keyboard is called the OneHand, designed by Deskauthority forum user PJE. It has just 18 keys, and similar uses chording to achieve the full number of characters and functions needed.

One other thing about the FrogPad which is worth pointing out is that the layout is not staggered. In keyboard design it’s called ortho-linear, or matrix layout. In other words, the keys are in a grid, not staggered like most keyboards. It’s not unique to the FrogPad. Indeed the Maltron and Kinesis Advantage ergonomic keyboard have been using matrix layouts for years (see all three in my earlier article Why haven’t there been any keyboard innovations in decades?), as well as the ErgoDox, Keyboardio, and King’s Assembly keyboards (all mentioned in my earlier article A few interesting keyboards, nearly in existence…).

Conclusion

I suspect most people don’t think much about any of the above when buying a keyboard. In fact, most people don’t buy keyboards at all anymore. That said, for those interested in a higher quality keyboard than what is available on their notebook or tablet, want a specialized keyboard for gaming or other niche pursuits, or need a more ergonomic keyboard, these issues are important. Perhaps next time you look at a keyboard, you’ll understand what keys it has, and what was left out – and why.

more