In Ken Kocienda’s excellent Creative Selection, he talks about designing and developing the iPhone’s first software keyboard. Essentially a handful of designers and engineers at Apple were tasked with dreaming up and building their own prototype software keyboards. Scott Forstall would periodically gather everyone in together and demo the prototypes. Eventually Ken’s prototype won out and it’s unmistakably the same keyboard that ships in the iPhone today1.
It’s a great story and anyone interested in product development would benefit from reading it. But I want to focus on a less intuitive takeaway from this story that’s one of my guiding principles of innovation: The best ideas usually win early.
In 2014, iOS 8 shipped allowing third-party developers to create iOS keyboards for the first time. The only one of these to gain any traction, Swype2, had been in other devices long before iOS 8 (as early as 2002 according to Wikipedia)3. So opening up a new keyboard market to millions of new developers made essentially no impact to software keyboard innovation.
It’s possible that Ken and Swype are just better product designers than everyone else, but, while I don’t want to diminish their accomplishments, a more likely explanation is simply that if you put a group of smart people in a room together with the right skills that they’ll come up with the best solution to a problem.
If all it takes is a few smart people in a room, then why don’t we see innovation everyday? The answer is that innovation is fueled by continuous improvements to lower-level technology. In computing most of this comes back to Moore’s law steadily making computers smaller and more powerful. Low-level technology improvements continuously make new surface area for innovation, which is then scooped up by a few smart people in a room.
It’s a full QWERTY keyboard that relies heavily on aggressive autocorrect, and the tap area for each key is actually significantly larger than the key itself. ↩︎
Development of Swype halted in 2018 as its style of input is now built-in to Android. ↩︎