Kello, a portable watch timing machine I built for Apple’s iOS, has been featured in an article in the July issue of International Watch Magazine. For those who can’t get their hands on a physical copy of the magazine or who would like to know more than what was revealed in the article, the following excerpts are from a series of emails in which I answered questions posed by the article’s author, Sheldon Smith.
On the Name
Kello is the Finnish word for clock. Kari Voutilainen, who is a fabulous, independent watchmaker from Finland, was incredibly helpful and supportive in answering a lot of my questions about some of the finer aspects of watchmaking (Grossman curves, tourbillons, anglage, etc.) during my years spent training as a watchmaker, before his career really started to take off. I have great respect for him and am a big fan of his work, particularly his Masterpiece Number 7 and Observatoire watches. I named the app Kello in honour of Kari and the master clocks that watchmakers of old timed their watches by before the advent of modern timing machines.
[I should also mention that I like the way the word sounds. I lived in Finland through 2002 & 2003 and - with the exception of a few -45°C mornings - absolutely loved the time I spent there, the people, and the language. I have never experienced anything else quite like a good savusauna, followed by a dip in the lake and a fire roasted HK Sininen. The balance between high technology and rustic, natural living there is incredible, and the country also happens to be home to one of the best watchmaking schools in the world.]
It’s hard to say exactly where the inspiration for the app came from. I have a strong distaste for poor user interface design. I use Witschi’s products daily and I find their devices to be very utilitarian. The touchscreen interfaces on their newer products are clunky and reminiscent of Windows 3. They do the job, but I don’t particularly enjoy using them. Witschis are also prohibitively expensive. With the early iPhones and iPod Touches, I had – for the very first time – an affordable touch interface that was essentially a blank canvas. So I took a shot at seeing whether I could program a timing machine for iOS. Kello is the early result of that effort. The feature set is fairly barebones at this point, though. As the hardware evolves and I am able to implement more of the features I’d like to into Kello, it is my ambition to evolve it into more of the kind of tool that I wish the Witschis were.
To get the best results with Kello, a mic with a consistent frequency response up to 20kHz is ideal. A lot of inexpensive microphones have a frequency response that caps out at 4kHz. You can read more on frequency response here.
Most professional grade timing machines use a piezo-electric pickup as the “mic” for their timing machines, which translates mechanical/kinetic energy very effectively into an electrical signal. If you ever have the chance to interact with a Witschi, I encourage you to see what happens if you hold a watch a fraction of a millimeter away from the metal half of the sensor clamp during measurement. In short, the measurement will stop. The machine won’t pick the ticking of the watch up. These units do not use a mic in the traditional sense most of us think of. The watch has to physically be in contact with that piece of metal, which in turn is connected to a very sensitive, piezo-electric strip. To prove the physicality of this sensor even further, I encourage you to see what happens if you gently draw your finger or a feather across the metal half of the clamp. The signal that the timing machine picks up will go off the charts. It’s quite ingenious. When left untouched, the sensor is incredibly sensitive to the motions of the escapement, while remaining more or less oblivious to any extraneous noise pollution. Unfortunately, there aren’t any readily available, turn-key solutions to bring this level of sensitivity to iOS devices (yet). [Since the time that this interview occurred, one of our readers here on the blog introduced me to a website that offers
handmade contact microphonesfor the iPhone, which are a step in the right direction. Update: The seller of these contact mics has not been following through with delivery of placed orders.]
On my Programming Background
My background as a programmer is pretty basic. I started with Turing back in high school and did a bit of object oriented programming in university.
On Noise Cancellation
The noise cancellation they are referring to is built into the iPhone 4. That is what the small hole beside the headphone jack on the top of the phone is for. Yes, it does help clean up the signal, but not considerably enough to make a significant difference for this type of application. The noise cancellation mic was introduced in the iPhone primarily to prevent feedback loops when using the speaker phone or applications like FaceTime or Skype. Loud noises can still effect results.
On Developing for Android
I have tinkered with Android but am not satisfied yet. The hardware is too fragmented. Even with the iPhones and iPod Touches, which are more homogenous, I’ve had to code in discrepancies to deal with differences in the way that various models handle and sample audio. With Android, the differences at this point are overwhelming.
As the hardware evolves and gets faster, the smaller intricacies of analyzing audio become less of an issue as the sheer speed allows you to process far more information with a more brute force approach. When this happens, developing on Android will be much more simplified and handsets from both sides of the equation will be better poised to take on professional grade timing machines.
I know there is a small team working on an Android based timing app. The last I heard, they were having some difficulties with it as well. If I hear anything further, I’ll definitely let you know.
On the Future
There are still limitations to how far you can push the boundaries of current mobile devices. With the debut of the A5 processor in Apple’s latest iPad, those boundaries are starting to fade, but we’re still not quite at the point yet where Kello can compete with professional grade timing machines. I am continually tweaking, testing, or trying entirely new algorithms to yield better results, but I haven’t hit on anything that I am totally satisfied with yet. [I hadn't fully developed the algorithms running under the hood in the 2.32 release of Kello yet at this point.]
Apple is one of the world’s biggest driving forces of MEMS development, as their mobile devices use such a wide variety of MEMS-based sensors and they sell tens of millions of these devices each fiscal quarter. The MEMS space is currently one of the most rapidly developing areas of new, precise timing solutions. Over the past two years SiTime has made incredible headway into usurping quartz oscillators as the de facto cheap/precise/mobile timing solution. The PPM error of SiTime’s silicon based oscillators now rival and are beginning to surpass that of quartz. Not only that but MEMS oscillators from SiTime and other manufacturers consume far less power than quartz – which is something that Apple is paying close attention to in every detail of their portable computing line-up. I wouldn’t be surprised at all if we see thermally stable, 100,000+ Hz MEMS oscillators with an error of less than 1 PPM in the next decade. Even if silicon oscillators were out of the picture, engineers at Yale recently announced new breakthroughs in low-power, nanoscale oscillators made from Liquidmetal – a technology that Apple is heavily vested in. All considered, the present rate of progress in all aspects of Apple’s hardware roadmap, not to mention all of the other smart phone makers out there as well, definitely holds the potential to eventually surpass the current precision of professional grade timing machines.
I am pleased to see another timing machine on the app store. Competition is healthy. If any one of us can hit that higher level of performance we’re all striving for, perhaps some of the bigger firms will finally take note and start delivering more competitively priced solutions.