Buckle Up Apple Advanced Typography Fans, It’s Going To Be A Bumpy Ride

Yes TextKit Does Not Do Real Vertical Text
Yep, TextKit marquee features do not include Vertical Text

One thing has remained constant in Apple’s long strange text layout architecture odyssey from QuickDraw GX to ATSUI to Core Text: with any big change advanced typography is the first casualty. Priorities change, this is natural, but what often happens is a reset back to the basics with advanced typography features restored over time according to new priorities.

Apple Advanced Typography Odyssey Chart
Apple Advanced Typography has had a long strange journey

This is especially true for the higher level text frameworks built on the underlying text architecture as Apple constantly rejiggles priorities of what advanced typography features belong at the high level vs. what stays in the deep dark scary Core Text. Developers stick with what they know instead of adding new text features, so the typography experience of most apps, regardless of platform, remains blah and ‘western centric’.

This is about to get worse as Apple figures out what bits of UIKit (TextKit calling) are going to join macOS and screw hold hands with AppKit.

UIKit and AppKit
When things collide advanced typography is the first casualty, the lowest common denominator wins

Take vertical layout for example. Japan is the last major market that requires it as China, Korea and other Asian countries sold out their rich typography culture and history for western created digital typography technologies that always treated non-western typography as an outliner, never a true equal. Japanese developers had to fight to get basic vertical text support in EPUB v2 and it still sucks getting vertical text EPUB to display or print in WebKit or any web based thing for that matter. Yes, after all this time the World Wide Web is still the Roman Wide Web.

QuickDraw GX, the vision part not the API, was the only major text layout architecture in a major OS I know of that treated all typography from anywhere as one single thing available to all applications. The Steve Jobsian ‘it just works’ for the entire world’s advanced typography. Since then Apple has broken typography features into different bits assigning them to different frameworks: bidirectional layout goes up in the high level, real vertical layout remains down there in Core Text.

AppKit has some high level vertical layout features but nobody uses them, Apple included (ahem Pages), because UIKit and WebKit don’t offer the same. One veteran Japanese font engineer explained the challenges: “UIKit doesn’t support real vertical text layout, the Japanese punctuation and glyph spacing is all wrong. The easier thing for an app developer to do is bundle a display only Japanese vertical font just for displaying vertical text in the app. Go ask the programmers at Monokakido, I’m sure that’s what they have to do with their iOS Japanese dictionary apps.” And so it goes.

It’s not just text layout either. How do OpenType Variable Fonts fit into this picture? How will developers deploy them and users interact with them? The crusty old macOS advanced typography font feature palette model is so passé it’s painful to look at, let alone use. So nobody uses it, I doubt they ever did.

The GX advanced typography vision thing, or any vision thing for that matter, would be a welcome guide map. Apple had it once, let’s hope they find it again. Otherwise it will be a bumpy ride. Again.


iOS 12 Does Not Fix The iPhone X Suica Problem

iOS 12 does not fix iPhone X Suica problem

Well this is depressing, after all those dashed iOS 11 update hopes iOS 12 beta 1 does not fix the long running iPhone X Suica Problem aka the iPhone X Dirty Little Secret.

It is not surprising that Apple engineers have not found a workaround for the ‘Day 1’ iPhone X NFC hardware flaw, and yes it is a flaw that also affects NFC A China Express Transit Beijing and Shanghai cards.

It is time Apple: put on your man pants and offer a iPhone X replacement program for all iPhone X users who have been affected by the iPhone X Suica Problem.

Contactless Passes and NFC Certificates for iOS 12 and watchOS 5

iOS 12 Apple Pay Wallet and PassKit NFC Certificates

Apple revealed details of NFC improvements coming to iOS 12 and watchOS 5. Contactless Passes for Wallet were announced at the WWDC18 Keynote on June 4. Apple clearly wants to promote Contactless Passes in Wallet over clunky QR Codes and showed a demo of Contactless Passes in action on Apple Watch at the Wembley Stadium contactless ticket gate.

It’s also clear that Apple wants to promote contactless passes on Apple Watch over iPhone: contactless passes were unveiled during the watchOS segment and are gorgeously displayed exclusively on the watchOS 5 page. Student IDs use the new Contactless Passes feature with Assa Abloy and Blackboard working with Apple to make those happen. You might remember Assa Abloy from The Information rumor piece about door locks and ID Passes coming to Wallet.

The most interesting aspect of implementing Contactless Passes in Wallet is the “NFC Certificate” requirement that are issued by Apple to the developer and strictly controlled for security purposes. I have not seen details, but PassKit NFC Certificates were previously covered by NDA and extremely limited. If door locks and ID passes are involved NDA will still be part of the application process, but if Apple is opening up access to more developers NFC Certificates should be the ticket for developers to gain NFC access that was not possible up to now. At least for mere mortals.

It will be fascinating to see what developers do with wider NFC Certificate distribution and what contactless passes/reward cards, and hopefully much more, that come out of it with iOS 12 and watchOS 5.

iPhone X Suica Problem a Design Flaw?

I know, I know, John Gruber says question marks in titles are bullshit but Japanese iPhone X Suica users are asking: is the iPhone X Suica problem an Apple design flaw? Is this the iPhone X dirty little secret?

Since covering the issue since December 2017 only one thing is clear: there is nothing clear about the iPhone X Suica Problem. It looks like a software problem but also shows signs of being a hardware flaw. The one consistent aspect is that iPhone X NFC performance is unreliable compared to the rock solid NFC performance of iPhone 8/8 Plus and Apple Watch Series 3. It’s a problem in Japan because transit cards like Suica require much higher performance than low performance EMV contactless credit cards. Transit gates are not cash registers. EMV was developed for slow pokey credit card payments at your local supermarket, not whizzing through a transit gate at Tokyo rush crush hour. This is why EMV sucks at transit.

iPhone X Suica Problem Solved
yuya-310 is a happy iPhone X Suica user.

I did not give serious thought to the ‘iPhone X Suica Problem is due to an Apple design flaw’ theory until yuya-310 reported that exchanging iPhone X fixed his Suica problem and that Apple Pay Suica performance is suddenly and consistently as fast and responsive as iPhone 8 Apple Pay Suica performance.

In that post I wrote:

A few things to consider:

  • iPhone 8/8 Plus do not have the Suica problem
  • iPhone 8/8 Plus/iPhone X all use the same NXP NFC chip
  • The iPhone X OLED screen and battery are considerably different from iPhone 8/iPhone 8 Plus
  • There are separate iOS 11 builds, one for iPhone 8/iPhone 8 Plus and one for iPhone X

Because they all use the same NXP chip and because iPhone 8/8 Plus do not have the Suica problem, we can eliminate the NXP Chip, Mobile FeliCa stack and Suica stack from the iPhone X Suica problem matrix. This leaves us with the different screen, the different battery and the unique iOS 11 build of iPhone X. The screen or battery or something else might use slightly modified parts and revised drivers that are different from early iPhone X production units.

I asked an NFC expert for an opinion, his answer was very interesting:

I don’t have an iPhone X to test, but since it seems to affect Type A (China Express Transit Beijing and Shanghai) cards as well it sounds like an antenna specification problem, an interaction with other components in the device, or an RF routing issue on the phone’s motherboard, which is considerably more complex than the iPhone 8 models.

Another New Theory
Based on yuya-310’s exchanged iPhone X Suica experience and the above motherboard information, my new theory is that the iPhone X Suica problem is a motherboard design problem that is already fixed with a small but important revision tweak to the iPhone X motherboard. A ‘Revision B’ kind of thing that finally brings iPhone X NFC performance in line with iPhone 8.

I believe that Apple’s inability to fix the iPhone X Suica problem despite multiple iOS 11 updates is proof of a iPhone X NFC related hardware problem: if it was just software it would be fixed by now. I think events will play out in the following ways, in order of possibility:

  1. Short term scenario: Apple will not admit there is a iPhone X NFC hardware issue but will quietly swap out problem ‘Day 1’ iPhone X devices under warranty with a ‘Revision B’ iPhone X.
  2. Best long term scenario for Apple: iOS 12 has a workaround fix for pre Revision B ‘Day 1’ iPhone X devices. After iOS 12 ships the iPhone X Suica error problem is finally fixed for everybody. NFC performance on ‘Day 1’ iPhone X devices remains sluggish and less robust than Revision B iPhone X but is ‘good enough’.
  3. Worst long term scenario for Apple: iOS 12 does not fix the iPhone X Suica problem Apple admits the iPhone X NFC flaw and issues a replacement program. Every Day 1 iPhone X user gets a Revision B iPhone X replacement.
  4. Least likely scenario: iOS 12 or a iOS 11.4.x update fixes the iPhone X Suica problem, everything works great across the board on Day 1 iPhone X and Revision B iPhone X. I don’t see this happening.

When iOS 12 ships the new iPhone models will have been announced and everybody will have moved on from iPhone X. Whatever the outcome, Apple’s complete silence and non-action regarding the iPhone X Suica problem has left iPhone X Japanese customers saddled with an inferior product that does not work with Apple Pay in Japan.

Apple has yet to do right by Japanese iPhone X customers. This is sad, and inexcusable.

Finally! Face ID for Face Masks

Japanese iPhone X users on the daily commuter grind with face masks look like they have finally gotten relief: iOS 12 Face ID supports Alternate Appearances. Hay fever sufferers, high school students and many more people who would never consider using an iPhone X because Face ID doesn’t work with face masks will have the option to do so.

Apple Insider says you can use it to add a second person to Face ID too.

I was stupid and posted without actually testing it. Reddit user kazuma_san pointed out that I was wrong and that Face ID/Alternate Appearance simply does not work with face masks. I finally got hold of some masks (not easy when traveling) and tested it. kazuma_san is right and I own him thanks for the correction: Alternate Appearance does not work with face masks. If you try to register with a face mask on Face ID tells you to “Remove the Obstruction.”

Lots of people use masks in Japan, when commuting, at school, for hay fever or flu. Since getting an iPhone X I use face masks much less now and feel a little naked on the daily commute in Tokyo. Until the Face ID camera develops the ability to see through scarfs and masks, there will be plenty of demand for Touch ID iPhones in Japan.