27. April 2017 · Categories: Apple

We tend to attribute to multitouch some magical properties that single handily caused the iPhone to win. But this is forgetting that there already was a pretty convincing path to success in the Palm Treo. Having a pocket computer with connectivity was already very desirable when the iPhone debuted. The power of multitouch was that it enabled a workable screen keyboard, in combination with autocorrect, which in turn doubled the available screen area. This was such a compelling advantage, together with allowing you to use your fingers pretty naturally, that everyone had to change their interaction model.1

But Apple also did base iOS on Unix, just when processors became fast enough to support it even with the tight power budgets of a phone. At the time the competition was still using 16bit processors, and had operating systems that had much less abstraction and robustness. It was this double that prevented the phone competition from responding in a timely manner, and allowed Google with a PC background to establish Android.

When we look at shipments, we see that it took until around 2010 for the old manufacturers to suffer declining sales. That was actually a three year window in which Nokia or RIM could have responded. A window in which you had to implement two huge redesigns, and also embrace and establish an app market. And that turned out to be too big a task for RIM and Nokia to undertake by the time they finally came around embracing the change.


  1. As you can see from keyboards for the iPad, to the still widely available notebooks, multitouch is not such a compelling advantage when your computer is essentially only used while on a desk. The keyboard no longer needs to compete with screen space, and you can comfortably use a mouse or touchpad on a desk, removing almost all the advantages of multitouch. In addition, the indirect keyboard / mouse model allows for a significantly denser presentation of information. 
05. February 2017 · Categories: Apple

Using them now for a while, they are the first working wireless earphones I have used. They work seamlessly when paired with 5 devices. Even without the latest Apple OS’s you can simply activate the connection on a device, and it will switch without you having to first disconnect them somewhere else.

They are mostly reliable, only sometimes, when connected to my Mac, they have some trouble getting themselves sorted out: they can stay stuck using only one side, or a low quality codec. I wonder whether these are actually issues caused by the Mac, as I sometimes need to check Airdrop to get the Bluetooth connection to work. Also the watch intermittently has trouble connecting. It always works after turning off Bluetooth on my other devices, but this is annoying.

They fit very comfortably, and can stay in my ears for hours. My worries about them falling out are unfounded; their low weight means that even when moving the pods do not generate enough force. But be careful not to touch them accidentally: pulling a cap over your ears will surely dislodge them. As they are very easy to put in, I reach for them even when only wanting to listen for a few minutes.

Mildly annoying is only the limited integration with Siri. When you have set it up to only be accessible with an unlocked device, Siri stops working when your device locks. It would be nice if Siri would stay available until you remove the pods from your ears.

Addendum: The AirPods remain pure magic, the cord was such an annoyance. Unfortunately switching between the devices can fail. Sometimes toggling airplane mode helps, sometimes it requires a reboot. Once a fortnight it remains a minor niggle, but it really should be fixed. (May 2017)

01. November 2016 · Categories: Apple

There is a lot of consternation over the new MacBook Pro, as people feel it is not powerful enough. It is best summed up when looking at the performance numbers, collected partly by @felix_schwarz:

Basically CPU is just 10% better, GPU up to 190%, and battery life 40% compared to the original 2012 Retina model. Compared to the constant improvements we have seen for iPhone and iPad, this feels utterly slow. But Intel did not stop improving because they are resting on their laurels, it is simply that frequency scaling has become very hard to do beyond 3GHz, and has caused single thread performance to stagnate. The energy efficient way to improve performance are extra cores, and more SIMD width1, and I suspect that Apple’s Ax cores will soon run into that same wall. It is no surprise that Apple is pushing Metal as GPUs are currently the best bet to get raw performance thanks to parallelism.

In addition we see the flight to quality in full swing, as Macs increasingly cede the low ground to iOS. This brings us an annoying transition to a new, higher performance connection standard (USB-C/Thunderbolt 3), and missing clarity on the 5K display cable: will it be Thunderbolt 3 or DisplayPort 1.4? While I welcome the ability to add a high quality 5K monitor, I see the risk that Thunderbolt 3 will not become the standard connector: it is more expensive than DisplayPort, and power delivery is only useful for notebooks, not desktops. And annoyingly, the LG 5K monitor only supports one computer connection. But at $1200, it is cheap enough to take a risk.

USB-C is the right move, and while the transition will cause teething troubles, and another round of adapters, in a few years we will not miss USB-A. I wonder whether Apple has left just enough room between the ports to allow you to place USB-C to -A plugs side by side, to ease the transition somewhat.


  1. Many Intel performance improvements are now tied to AVX, and help only where we can exploit parallelism 
29. October 2016 · Categories: Politics · Tags:

Mit den Stimmenverlusten der großen Koalition werden Überhangmandate im Deutschen Bundestag immer wahrscheinlicher. Ich denke, es ist daher an der Zeit, einen grundsätzlich neuen Ansatz zur Bundestagswahl einzuschlagen, um die Notwendigkeit von solchen Mandaten zu beseitigen. Das Ziel sollte es bleiben, direkt gewählte Abgeordnete mit einem Verhältniswahlrecht zu verknüpfen. Zusätzlich ist es wünschenswert, dass mehr Stimmen für eine Partei auch immer mehr Abgeordnete zur Folge haben. Ich schlage daher vor, dass wir folgendes tun:

  • Landeslisten bleiben erhalten

  • Wir verringern die Anzahl der Wahlkreise auf 199, jeder Kreis stellt einen direkten Abgeordneten und zwei über die Landeslisten

  • Für jeden direkt gewählten Abgeordneten verliert dessen Partei die entsprechende Anzahl Stimmen für die Landeslisten. Sollten dann keine Stimmen mehr übrig bleiben, wird die Partei bei den Landeslisten nicht berücksichtigt

Im Detail wäre dies dann folgendes:

Verteilung der Wahlkreise Die Wahlkreise werden auf die Bundesländer gemäß deren Einwohnerzahlen verteilt. In einem ersten Schritt berechnen wir dies rein proportional, jedes Land hat dann Anspruch auf x,y Wahlkreise, x ganze, und einen 0,y fraktionellen Anteil. Wir verteilen wir die Teilkreise dann, indem wir für jedes Land den Bruch 0,y/min(1, x,y) bilden, und den Ländern dann absteigend die verbleibenden Kreise zuordnen. Dies führt zu einer leichten Überrepräsentation kleiner Länder, was aufgrund deren geringerem politischen Gewichts unproblematisch sein sollte.

5% Hürde Die Hürde wird reformiert, indem die Grenze auf 5% der Listenstimmen in Bundesländern, welche mindestens 25% der Gesamtbevölkerung ausmachen, gesetzt wird. Dies erlaubt mehr regionale Vielfalt, und stellt sicher, dass die CSU eine eigene Partei bleiben kann. Zugleich bleibt da eine ausreichende Grenze, um eine zu große Zersplitterung der Parteien zu unterbinden.

Direktmandate Direkt werden Abgeordnete mit der Mehrheit der abgegebenen Stimmen gewählt. Da die direkten Kandidaten nur noch 1/3 der Abgeordneten stellen, ist es vertretbar, dass wir keinen Ausgleich mehr vornehmen, da dies nur bei weniger als 33% der Listenstimmen und zugleich allen Direktmandaten notwendig wäre. Bei einem derart gesplittetem Ergebnis wäre eine gewisse Bevorzugung großer Parteien im Interesse einer stabilen Regierungsbildung wünschenswert.

Listenmandate Um die Verteilung der Listenmandate festzustellen, ziehen wir den Parteien Stimmen entsprechend ihren gewonnen Direktmandaten ab. Zuerst werden die Stimmen für Parteien, welche die Hürde nicht geschafft haben, abgezogen, wodurch n Stimmen übrig bleiben. Bei k Kreisen werden dann den Parteien für jedes errungene Direktmandat n/3k Stimmen abgezogen. Danach scheiden Parteien mit einer negativen Stimmenzahl aus, und die Listenmandate werden auf dieselbe Art wie die Wahlkreise verteilt, gemäß den Brüchen 0,y/x,y. Dies bevorteilt kleine Parteien und solche mit vielen Direktmandaten. Ich denke hierdurch kommt es zu einem guten Kompromiss zwischen Meinungsvielfalt und stabilen Mehrheiten.

Alternativstimmen Um auch den Wählern, die eigentlich einen gescheiterten Kandidaten vorziehen, eine bessere Mitsprache zu erlauben, können wir die Wähler Alternativen benennen lassen, die bei einem Scheitern ihrer ersten Wahl zum Zuge kommen sollen. Bei den Listen: Eine Alternative, alle Parteien unterhalb der Hürde scheiden aus, und die Stimmen werden auf die Alternativen verteilt. Bei den Kandidaten: eine Alternative, die zwischen 1 und 4 Stimmen erhalten kann. Die Erste Wahl erhält immer 4 Stimmen. Die Kandidaten scheiden nach steigenden Erstwahlstimmen aus, worauf dann deren Alternativstimmen verteilt werden. Sollte es Kandidaten geben, die mindestens 50% Zustimmung aus Erst- und Alternativstimmen erhalten, scheiden alle anderen sofort aus.

Nun könnte man natürlich versuchen, seine Partei aufzuspalten, eine direkte und eine für die Liste, so dass die Direktkandidaten keinen Einfluß mehr auf die Listenstimmen hätten. Zum einen stünde ein solcher Weg natürlich auch der Konkurrenz offen, zum anderen könnte man das gleiche heute schon mit einer Reihe “unabhängiger” Kandidaten erreichen. Ich denke, dass die dabei auftretenden Überzeugungsprobleme schon abschreckend wirken. Wenn man dann auch noch mit einer Landesliste antreten muss, will man mehr als einen Direktkandidaten nominieren, denke ich nicht, dass sich solche Tricks durchsetzen lassen.

08. September 2016 · Categories: Apple

The AirPods are nice when you only want to carry your watch with you, and they will be replacing the remaining uses of the iPod, being able to play music and podcasts during your workouts. It is also very clever to keep the pod name alive after the iPod has withered away. We will see, with the advances in battery durability, whether AirPod batteries will age faster than cables will fray, as it will probably not be worth it to replace their batteries1, but I would be surprised if they match the 10 years I got from my earphones.

As a technology, they seem to be designed with the watch in mind. For the phone, an alternative where the wireless earpieces could be charged and paired via lightning, and you could still listen to music while charging, might be better2. But this is something Apple forbids, clearly indicating that Apple wants watch compatibility dearly.


  1. Apple does not offer battery replacement on the Pencil 
  2. Selling AirPods only in pairs might also help to mask the charging time, as you can keep one while charging the other 
29. August 2016 · Categories: Software

There are two answers you get when you ask what characterizes an outstanding programmer:

Other Programmers: Knows programming languages into the smallest details, and can do amazing things with it where you pause and say: “This is possible?”

Normal People: Solves problems using software in such a way that it is now much easier and more enjoyable to deal with them.

This is a problem when you ask other programmers what you should be learning to become great. You need a good understanding of your tools so that you know what is possible, and which approaches are cost effective. But this is only the basis which you use to solve actual problems, and you need additional skills on top of pure programming to succeed:

Software Engineering On top of programming languages, you need to know about algorithms, to basically know how much various approaches cost and to have an idea how your solution will scale when used with more data. And of course the basics to keep your projects sufficiently organized, especially version control, but also project documentation, and some skills in estimation.

Domain Knowledge You need to learn enough about the problem so that you can understand what people are trying to achieve, what parts can be automated, and how you ensure that people will enjoy using your solution.

Communication Skills Most interesting problems can no longer be solved by a single person, you will have multiple people working on it, and you need to know how you can work effectively together.

Design Skills If your solution is not infrastructure plumbing, its success depends greatly on how easy and accurately it can be used by your customers. Most of design is not making it aesthetically pleasing, but providing an information flow and model that the user can work successfully with.

24. August 2016 · Categories: Software

With Vesper now shutting down, we lose a great app. It is ostensibly a notes taking app, but the excellent tagging system and the ease with which we can reorder entries manually makes it actually a free form task and thought organizer. It is this consequent replacement of folders with tags that makes it so powerful. It recognizes that folders are overkill until you are dealing with enough material to write a book.

One would have expected this to be widely copied, but sadly not. Unfortunately, the bar for a competitive notes app gets higher and higher every year, and with it the effort actually bring any innovative new idea successfully to market. Sadly it means that the chances of getting an adequate replacement for Vesper are slim unless one of the established apps decides to adopt this interaction model.

18. June 2016 · Categories: Apple

The current experience with the Apple Watch is a good indication that watch apps can evolve into useful companions. The watch is a good device to display glancable information. Because it is so uncomfortable to hold your arm up for more than a few seconds, it works best for small interactions. It competes for your attention with the phone, which provides a much larger, and more comfortable screen. So the information presented on the watch only wins when: 1) you are using your arms for something else, and cannot easily hold a phone or 2) the information is glanced so fast that the extra 1–3 seconds to pull out your phone would be an issue. All of this means that you should be very selective in what you have on your watch, that you should concentrate on a few tasks that occupy you regularly and rigorously trim your apps down to the few you are actually using.

These are the tasks where the watch excels for me, ordered by functions:

  • Siri is brilliant for adding timers, and keeping track of fleeting thoughts, like remembering you of thinks you happen to notice. In the home, Amazon’s Alexa is actually showing what could be done.

  • Glances can be very nice to show you important information you are interested in. Unfortunately they update quite slowly, and this is a problem Apple needs to address. Especially the apps should have a way to cache the relevant information on the phone, so that the display updates very quickly. My most often used glance is the weather (to know when it rains), and I have trimmed the list now to 5 glances, all about weather, podcasts, and the calendar. 3 extra glances are there for pinging my iPhone, checking heartbeat and battery status, but remain mostly unused.

  • Apps could be great if they optimize for the up to three most used functions. But they are currently way too slow. It often takes more than 10 seconds for the app to be ready, and this is so bad that I have essentially stopped using them. The builtin apps show that great things should be possible here.

  • Notifications are probably the best feature of the watch now, allowing you to quickly decide what should be interrupting you, and to get updates while traveling. The best feature might be that they appear on a screen you are not constantly looking at: you see no interruption while you concentrate on something else, and you catch up on them while you find the time to glance at the time.

watchOS 3 looks like it will fix the issues with glances and apps, combining them into one experience with the dock, and most importantly removing most of the delays. I wonder about the decision to use a button instead of a swipe up to show the dock. Swipe up is lower friction than a button press, because your finger is then already in the right position to continue. And I cannot imagine anyone wanting to interact with control center often enough to justify giving it such prominent placing. Glances gave you very fast access to a few functions: swipe up, swipe left/right, press button on glance directly (only for built in apps, though). This is lost with the dock. While you can see up to date snapshots, they are significantly smaller than the full screen. I really would like to see the swipe up place reserved for showing an alternate watch screen.

I especially like the maps app on the watch. Because it provides directions using vibrations, I can follow them without me being distracted by having to look at a screen or others by hearing the voice prompts.

It is important to understand that the watch will always be a companion to the phone, specializing in making a few tasks better. It has a great niche in being an additional source of authentication, but otherwise every single task you do on the watch could also be done directly on the phone. It is a convenience shortcut, and for apps to thrive on the watch they must adopt this mindset.

There seem to be a lot of people calling for the watch to become a standalone communication device. I doubt that this will be the future: the watch would have to rely on voice as its input method, and it lacks a screen you can comfortably use for more than a few seconds to present you the answers.

03. May 2016 · Categories: Apple

Should you want to buy an iPad, buy the 12.9″ model together with a Pencil. The Pencil is the precision tool replacing the mouse on an iPad. It is superior for almost any task, most obviously for drawing, but the precision comes in handy for object manipulation surprisingly often.

It has allowed me to move all my diagramming to the iPad, thanks to the excellent Omnigraffle. Paper by 53 has replaced pen and paper for exploring ideas. OnShape shows that you can implement a professional CAD system on the iPad. PDF Expert delivers excellent tools to annotate documents, and Pixelmator makes it easy to combine graphics to illustrate a point.

People are underestimating the impact of the Pencil, because it requires you to use your iPad flat. You can either use your iPad with the Pencil, or with an external keyboard, but both together is awkward. People seem reluctant to use the iPad naked. But give it a try. The Pencil is a huge improvement whenever you need to work with images, an external keyboard is only a small step up from typing directly on glass. And with speech recognition getting better, we will soon reach the point where even nonnative speakers will be able to dictate faster than they could have ever hoped to type. An external keyboard offers familiarity, but it is also blinding you to see how to use an iPad most effectively.