I hate Dynamic Type

For those out there who are unfamiliar with Dynamic Type, its a new feature that Apple introduced with iOS7 that allows apps to set a system wide font size. This means that every app text size will be the same, and you will be allowed to change it via the accessibility section in the Settings app.

For the individual out there who decided that Dynamic Type was a cool and pleasing feature for a mobile device, I hope you bump your little toe with a wooden table.. Everyday for the rest of your life.

Reasons why this is a bad idea:

1. I don't want all my apps with the same font size. I love small fonts for my contacts (to fit more in a same screen), but love to have a big font size for Twitter. Why my notes have the same text size than the books I'm reading?

2. Its a clever feature in a Mac/PC but not in mobile. Why? Because the screen distance when using a PC/Mac rarely changes. Instead, in a mobile device, its always different. When I'm at my bed (use Twitter, Facebook), I hold my phone as close to my face as I can. When I'm walking, my phone its at a considerably further distance (Contacts, maybe iMessage). When I ride public transport my Phone is really away from my face (Mail, Reading List). Why on earth should I want/need the same font size in every scenario/app?

3. Extremely poor developer implementation: when I said "all the apps text size will be the same" at the beginning of this post I sort of lied. What Dynamic Type really does is create some predefined font style constants such as UIFontTextStyleHeadline (font used for headings), or UIFontTextStyleBody (font used for body text). There are 6 predefined constants. The way this works is the following:

3.1. Developer picks constant for desired text.

3.2. iOS calculates the font size for the text using the preference set by the user in the accessibility section in settings.

So for example, if the text constant is UIFontTextStyleBody, and the font size slider is set to 0, the font will be 11pt. If the constant is UIFontTextStyleCaption1 the font size will be 10pt (and so on).

Some developers (like WhatsApp) aren't that smart. They use other style constant than the one iMessgae uses. So I end up having two different font sizes for a same kind of application... That I can't change individually. I think that the iMessages font is perfect, but WhatsApp font is somewhat small. If I make the font bigger for the latter, it will also increase in iMessage (and in contacts, iBooks, event notes). Why Apple. WHY?

4. Ease of change. As I stated before, you use your phone at different distances. And you might what to even have a different font size depending on the moment of the day for the same app. For example: if I'm in bed and I want to read my Reading List, an average font size (11pt-12pt) will suffice. If I'm riding a bus, I love to use a big font. In iOS6 changing this was as easy as touching the little "A"s in the top right corner and the font would change. 0 steps. Now, you have to close your app, find Settings, open Settings, General, Text Size, drag the slider. Return to your app, find out that the text is still small. Change your text size again. Read the 2 paragraph article you wanted. Go back to Settings to change the font to a default size because if not your contacts list will be 60 miles long. About 10~13 steps.

These are the reasons why I think that Dynamic Type is the WORST thing that happened to iOS since its inception. Dynamic Type is unhelpful, terribly thought, poorly implemented, and it harms the user in every way I can think of bringing zero benefit. Dynamic Type is SO BAD that even Apple iBooks doesn't use it. So please Apple, stop telling the developers that Dynamic Type is some sort of magic because it isn't. It creates a bad user experience. So bad that you even opt it out of your apps.