Mi Fit2

Xiǎomǐ Mi Fit2

Mi Fit2

I have been playing with wearables for some time, I bought my first pedometer in Japan (which I promptly lost). I’m no fan of big watches but I like having a bracelet that shows me the time and the important notifications.

In the past year, I went over multiple variants of the Fitbit charge, I broke the first by stepping on it, the second, the HR version, died because of some firmware update, I got a replacement – the next had the bracelet getting unglued, which I also got replaced, but that replacement also ended up with the bracelet unglued. The charging cables also started to work unreliably.

I did not feel trying getting another replacement, and I got really tired of the Fitbit software: no HealthKit support (I had to get a special app to do that), more annoyingly, even though the device captures the heart-rate the whole time, the data is not accessible, having a device that records data which you cannot get is worse than useless.

So I decided to go with Xiǎomǐ’s Mi’s Fit2. The review said the device was cheap and simple, with a very good battery life. I have been wearing it for more than a week and I must say the review were correct, the battery is still 42% full. Superficially, the device is similar to the Fitbit HR: a plastic bracelet with a display, with a heart rate sensor and single button.

A closer look shows a much smarter design, the device itself is a pill that can be pulled out of the bracelet, so you can swap bracelets and expose the charging connector. This means a broken bracelet is not a big problem, and that the charging connectors do not get dirty (a problem with the charge HR), as the charging connector grasp the whole pill, the connection is also more reliable when they are dangling off a wall charger.

I had a similar feeling with the software. The Fitbit software was always an over-designed mess, with some distinctive and confusing UI, that tried to do everything: you could track exercise, set goals, record meals, calories, water intake. There was desktop client (the device came with a special USB-bluetooth dongle), a web client. The device could notify for phone calls and SMS messages, but nothing else. Firmware updates just brought absurd features like the ability to set the text of the message displayed when the device was charged. Integration with other services was bad, integration with host operating system was horrible, no HealthKit integration, notification support.

The Mi software took the opposite route: the software does way less, but does it better. Localisation is there from the start, and imperial units are not not the default, neither are Chinese units (the device supports measuring the weight in 市斤 (jīn)< (rp>, which is 500 grams), the device can dispatch phone and SMS notification, but it also supports most of the chat applications installed on my phone: WhatsApp, Viber, Facebook Messenger, Skype. Calendar and e-Mail notifications are also supported. The notifications simply display the App’s icon. Having more information would be cool, but complicated with the vertical screen. English translation of the UI is a bit weird (notifications are in the play menu, but nothing serious.

The vertical screen makes a lot of sense for a bracelet, in particular when you target the Chinese market – writing Chinese vertically is much more natural than it is for latin text. The lack of desktop support also makes sense, it these markets, the computer is the rare exception.

I feel the Mi Fit2 is way less ambitious than the Fitbit HR, it tries less to be a fitness band and more to be an everyday device, with its cheap price, good software support, long battery, and exchangeable bracelets, I think it is a better device. Of course things could be improved, but at least the basics are there.

Flattr this!

Strava iOS Screen Capture with a map of Zürich and statistics for a ride


Strava iOS Screen Capture with a map of Zürich and statistics for a ride

When I was a kid, I remember my father buying some distance measuring counters to mount on our bikes. A pin fixed to one of the spoke would increment a mechanical counter. Of course these did not survive long. Keeping track of my biking has always been a goal for me, but I was always frustrated by the complexity: I had a bike mount for my old Garmin GPS, but getting the data to the computer was horribly complex, I needed a serial port to USB adapter and the software for OS X was non-existent.

Things improved with the advent of smartphones and I started using Runkeeper. The program was always plagued by issues, power consumption and crashes. Things go worse recently, when crashed became systematic, and at the same time the level of nagging for premium access became obnoxious, it was time to look for another app.

A colleague had spoken about Strava so I gave it a go and I have used the iOS app for a few weeks now. I found the interface much more polished and intuitive for the basic stuff (starting and stopping a ride) and it crashes and nags way less than Runkeeper, so this is definitely an improvement.

Generally Strava seems to be more focused on biking and running: you can specify which bike you used, and rides are cut into segments which seem to be algorithmically constructed. You can see on the web interface how you compare with other bikers (there is another Matthias W. going twice my speed on some) and more importantly relative to past rides. I find this feature nice, but just wish there was an easy way to fix their name (one of them has a localization bug / typo).

My main issue with Strava is the Healthkit integration, while it exists, it is extremely buggy: the data for each ride keeps disappearing and only re-appears when I look at the given ride in the iPhone app. I also wish there would be an easy way to automatically match give rides (typically my commute to work and the aikidō dōjō) with certain routes and name and tag them accordingly.

I really hope that the Healthkit bug gets fixed because except for it, this is really a great app.

Flattr this!

Fitbit Charge

Timezone changes may result in data when the clock is rolled back, or gaps in data when the clock rolls forward. Automatic timezone changes only take effect after tracker sync.

While big smart watches are the thing those days, I was more looking for a small bracelet that would do few things well: give me the time, display information about phone calls, and maybe do some light activity tracking. I finally bought a Fitbit Charge, which provides all of the above, but also tracks steps, floors you climb and you sleep patterns. I also like the fact that you can use it as a silent alarm clock.

The device itself is a rugged looking plastic bracelet which closes with sturdy looking metal clasps. The display is quite small, but luminous, there is a single button that shows the various data: clock, steps, distance, calories, floors. The device charges with a USB cable that plugs into a connector on the back of the watch.

Setup is quite contrived, besides charging, you need to connect a special dongle to your computer, which is kind of strange given the fact the watch communicates via bluetooth. The software lets you configure the watch, which you can then pair with your phone. All the subsequent data exchange I did with the phone. I’m not completely sure if the computer step was actually needed or not.

日本, right?

While the hardware looked pretty OK, the software is basically all over the place. Of course you need an account and the iOS app cannot sync with the bracelet without internet access, while the software is not as bad as the one for Withings scale, it is not good – it is no so much software to connect the bracelet to the phone as yet another health platform with support for the bracelet. As you can expect from a Silicon Valley startup, the support for localization is completely broken: you cannot choose a language, just a country and they try to guess it wrongly from my date format.

What’s worse is that the app does not support Healthkit, so you either have all you data with Fitbit (no), or you need another App to do data mediation Sync Solver. At least Fitbit has an API to retrieve the data. Be careful, for measurements like weight, Sync Solver will get bogus measurements in the past, polluting your database, so make sure to only enable syncing for measurements you actually have on the Fitbit device.

Given the fact this is a young market, it is not really surprising to see various players elbowing each other to be the central repository for health data. The truth is I don’t trust a single of these companies, and wish they would all support Healthkit directly, and let me store my data only on the device, not the cloud and instead of trying (and failing) to develop health frameworks, they concentrate on building good hardware with good basic support for watch features, like for instance supporting travelling between time-zones…

Flattr this!



Yesterday I used Apple’s continuity feature, it was not something I intended, I just received a phone call while using my laptop, and my phone was somewhere else in the flat: the Mac offered me to answer the call. Using a feature, not because you intend to, but because it is the natural thing to do is the sign of a good design. While the sound quality was not perfect (I was asked if I was on the move), it was enough for a call.

I really hope that more applications adopt this model, an applications that triggers notifications on many devices, regardless of the device you are using is very annoying. Skype is pretty bad in this respect: an incoming call will make all devices ring, even after I picked up with one of them. There is a certain irony of having a call disturbed by the noise of the ringing of said call.

It is interesting to see that routing a classical phone call through my local area network is a new feature in 2014. While IP telephony is widely used, it is mostly deployed in corporate network, with a separate network infrastructure to support it, reliability and integration are still pain points. Most chat and video conference system run on proprietary protocols. In that respect, Apple’s approach of building improved services on top of the telephony network instead of trying to replace is interesting: you can see it as a political move to not anger operators, or a way to use a reliable infrastructure for voice.

Flattr this!


Tanita scale

After more than eight years of service, my old Tanita scale, which I bought in Japan, stopped working properly. I used to use various applications to track my weight, so having the scale send the data to my mobile phone was a tempting idea, so I bought a Withings WS-50 body analyser.

The hardware specifications are pretty impressive: the scale supports Bluetooth and Wifi, can measure weight, body fat, heart-rate, but also the room temperature and the oxygen level (again in the room). I don’t really see the point of the two later measurements, but I suppose the sensors were cheap, so why not.


The official Withings app support Apple’s new Healthkit API, so everything should be fine. The app has some graphical concept with a butterfly, where each wing is one aspect of your health, clearly Withing’s programmers are artists: their app is useless.

Despite the fact that the scale has wifi access and sends data to the cloud each time I weight myself, any synchronisation between the iOS app and the device requires to flip the scale, push a button, reopen the Bluetooth connection. Can the scale pair with multiple phones? It’s a mystery.

Withings App – Profile view

The app’s structure was clearly selected under the influence of drugs: there is a timeline view, with more irrelevant data than a Facebook feed when all your friends are playing stupid games, there is a dashboard, where 30% of my screen estate is used to display the stupid butterfly and my name (for when I forget, I suppose). There is a leaderboard, for when I want to challenge my friends (which I don’t) and with which I can’t seem to be able to share the scale. Then, there is the profile view, which contains the largest screen estate waste I have seen in an App, with around 10% of screen showing useful data. Of course the App asks for a lot of information when it is set up, including the weight, which is pretty stupid for an App that comes with a scale, it also means I ended up with a wrong measurement with the default weight.

view of the Withings Web application, with language problems

Of course, there is also a web interface, which is somehow convinced that I want Japanese as my primary language, I think it inferred this because my mobile phone app is set to display dates in Japanese format, or something. So to use the interface in English, I needed to select another language and then switch back to English. I suspect I’ll need to do this each time I log in. Of course the web interface does not use the butterfly metaphor and has a completely different structure, consistency was clearly not a priority, if you need more confusion don’t worry, there are two web interfaces the new and the old, and you sometimes get switched to the old one. The old one got stuck in the generating curve for the whole time it took me to write this blog entry. There is also a menu entry advertising their new web interface, which is just a gallery of screenshots (tilted for better effect).

Clearly a few Withings product managers need to be taken out and shot, twice. Thankfully, the App exports the data to Healthkit, so you can just ignore all the Withings applications and use Apple’s interface, which is much more reasonable.

Flattr this!

Screen capture of a web view of a proposal for an apocalypse shopping value label

Touch interfaces and fever

Screen capture of a web view of a proposal for an apocalypse shopping value label

People often talk about accessibility in interface design, but it remains an afterthought, something for the next version, version one is for normal people. I was sick these days, which meant using user interfaces while having fever. While the experience itself was not pleasant, it was interesting to see what worked, and what did not.

The first observation is that my precision went down the drain, when using a mouse I could just go slower, but for touch interfaces this was really a problem, I missed these tiny links and targets, multiple times. Text-selection was really hard in both iOS and Android, although iOS seemed to a have a better clue on what I was trying to do. As usual, having controls for opposing actions close to each other is a problem.

The second observation is that my attention span was greatly reduced, so I would get confused by application that did not acknowledge my action in some way, the worst are Android applications that are stuck in garbage collection and do not react for three seconds. This also meant I had trouble keeping track of state, I found app that embed a web-view pretty confusing, you expect Facebook, but you have some random news page, with a slightly different web-frame indicating that you are, in fact, not in the web-browser – try to guess in which application the screen-capture picture here is. The notion of back navigation is pretty fuzzy when your brain cannot hold the state, yielding random results and frustration.

Some icons are really not intuitive, I ended up staring at some for ages, with no clue whatsoever on what they could do. Finally, some special effects are painful to watch, in particular the RGB beam out of sync effect of Android being turned off.

Flattr this!

Base under construction


Base under construction

Porting various applications and games to mobiles phones is something of a holy-grail: the screen is smaller, controls different so the simple answer is, you cannot simply port the application, you need to strip it down, to rethink it completely.

is a real-time strategy / building game where you expand your space station by building corridors and rooms, breeding minions, discover monoliths while defending against raiders. The main twist: rooms are shaped like Tetris blocks and dispensed randomly. The game supports rotation of the view and zoom, unit-allocation.


Music: Niklas Ström
Android version
iOS version
other plateforms

Despite this richness, the game is very playable as the game UI has been stripped down to the minimum: rooms are coloured squares and units are white rectangles, whose height diminishes when they are inactive or hurt. I took me a few seconds to understand how pieces are rotated, but the tutorial is very helpful and non intrusive. The music and the sound effects are well adapted to the overall look of the game.

The game itself is very easy and gets harder and harder, it is also designed to terminate, survive to wave 28, and the game ends. The main challenge seems to reach wave 28 in 45 minutes (I managed in 70). While the game relies heavily on colours, it has a colour blind mode, it supports game center, does not pop-up any ads, in short it behaves like an upstanding app.

Rymdkapsel is the demonstration you can do interesting games on mobile phones that are cross-platform (the game is available on Android, iOS, Playstation Vita, OS X, Linux and Windows). I highly recommend it.

Flattr this!

Icon of the Barcode Kingdom Game

Barcode Kingdom

Icon of the Barcode Kingdom Game

Regular readers of this blog would probably have noticed that I’m quite interested into barcodes and the underlying standards. So when I say the gamed called Barcode Kingdom, I was curious. The game itself is a pretty standard simple RPG like game, you control a group of heroes that can be sent to various places, usually to beat up monsters – but letters are to be delivered once in a while – the heroes can be equipped with special weapons and armour, get experience, etc.

Bardcode Kingdom
Publisher: Magic Cube
Operating System: iOS

Tip: if you are difficult to clear the missions, upgrade the items

The only twist is that characters and equipment is acquired using barcodes. Some of them are common, other are rare, the barcode determines this. Now I don’t think this is related to the frequency of the underlying product code, more probably a hash. I order to scan a barcode and get some new stuff, you need some action points, which are basically time dependant.

The game has the typical toony look that is so common on mobile games. While the game is somewhat fun, it feels a bit simplistic and non-intuitive for a 2014 game, it hung multiple times and the english can at best be describe as approximative. The game is not free, it still has the usual in game purchases and many parts of the game are made artificially slower so that people can pay to make it go at a normal speed.

All in all the usage of barcodes feels more like a gimmick than something that was though out properly, in particular the monetisation. There are thousands of pay to un-slow games out there, so adding barcode scanning to this model is not going to rock the boat. Having a fun app that incentivises people to scan barcodes is a powerful way of getting usage and distribution information, so I think making the game free, letting people scan as many codes as they want, and monetising this information would have been more interesting and more fun.

Flattr this!

Threema Logo

New Messengers in town…


I just received an e-mail that Yahoo Japan was terminating its messenger system. Whereas network protocols seem to last for a long time, chat programs and their attached protocols tend to die out fast. Except for IRC, who is not much used outside of technical circles, all protocols from 10 years ago have died out. Who remembers ICQ? Even the kind of the hill MSN eventually got turned down.

Maybe because of the acquisition of Whatsapp by Facebook, I have seen people around me migrate to newer chat systems, the more popular ones are Telegram and Threema. What is interesting is that both have a strong emphasis on security, although they take pretty different approaches to it.

Telegram uses an open source protocol, and supports end-to-end encryption, although this feature is optional. I could not find the public key exchange system in neither the iOS app nor the Mac OS X program. The programs are free, and so is the service.

Threema takes the reverse approach: all the messages are encrypted end-to-end all the time, the first action that you do when setting up your account is build the secret key, and the program uses QR-codes to transmit and check public key hashes. The code is proprietary and the servers hosted in Switzerland. The programs (iOS or Android) are paid for.

Which one you prefer probably boils down to your beliefs. Threema is in my opinion more polished, the key building exchange protocol is really smooth, and as a result, I have not sent a single un-encrypted byte with it. I have yet to do a secret chat with Telegram. Being closed source is certainly a drawback, but so is having a system which can fall back to only client-server encryption, in particular when your monetisation plan is a bit nebulous.

While the key validation system in Threema requires physical contact, if you have set up a secure communication channel, say with PGP e-mails, then you can send a signed screen capture from your mobile device to your contact, he can then check the signature and then capture the code with his mobile phone. I did this with a friend in Japan, it worked smoothly.

Flattr this!


ios7 screen capture – notification center

The new version of the operating system for Apple’s iDevices came out while I was traveling in Ireland. I was in no hurry to install, I don’t like changing my system while away from home, and in my many cases it is wiser to wait for version x.x.1, which fixes the usual bugs that plague the first massively deployed version of software, in the present case, screen lock security issues.

Still in installed iOS7 on my iPhone 5. The most striking difference is certainly the new look of the UI, closer to what Android and Windows 8 look like: flat surfaces, thinner fonts, more geometric and abstract look. There were a lot of discussion about skeuomorphism and Jonathan Ive’s style, for me this is just the logical step for devices with high-screen resolution: try to use those pixels as efficiently and clearly as possible. This is probably a general trend in design those days.

I found this change refreshing, it gave me the impression that the screen had been replaced with a cleaner one. Under the skin, there were not so many changes, mostly incremental changes, which is fine for me. I appreciated the new control center, which follows Android’s lead but add some common used tools: calculator, torchlight and timer. I use the timer a lot for cooking or the laundry. The new notification center is also a nice improvement, less a fighting place for rowdy apps, more a synthesis of what is going to happen during the day. I like the fact that the information from the alarm clock are merged, so I know that I’m going to be woken up at 8:00 with a first meeting at 10:00. Nothing ground-breaking but nice, at this stage I don’t really want the way I use my phone to be change, but small improvements in my daily routine task are always welcome.

Siri voice dictation also seems to work much better for me, the various speech recognition softwares always seemed to have trouble with my weird accent, I was able for the first time to dictate an e-mail in english an send it using voice commands. More than ten years after I had my first fixed phone that claimed to be able to recognise my contact’s name and dial the correct number, this technology is finally becoming mature.

Under the hood, it seems most of the improvement in iOS are related to games: game controllers, spriting API, etc. Not immediately useful for me, but we will see how games use these, I certainly use my phone more often for gaming than my PS3, and I certainly will not buy a PS4, so I’m curious to see in what direction Apple will push gaming.

Flattr this!