Archive for July 8, 2020

Wednesday, July 8, 2020

Making a Best in Class iOS App

Jordan Morgan (tweet):

What things can I quantify that help make an app great?

I believe I’ve created such a list that helps answer that question. Yours might look different, but this one is mine. It attempts to takes all of the emotion and (mostly) opinions out of it. I want to capture what Apple says is great, not what other people may define it as.

He has a long checklist for accessibility.


Is WebKit Sabotaging the Future of the Open Web?


WebKit’s first line of defense against fingerprinting is to not implement web features which increase fingerprintability and offer no safe way to protect the user. Here are some examples of features we have decided to not implement in part due to fingerprinting concerns[…]

Mike Zornek:

With this collective blocking of access (along with the lack of side loading options on iOS and the ban of non-WebKit rendering in App Store apps) Apple has positioned their own native and financial interests over the favor of an open web.

Why can’t the WebKit developer energy be spent on building these great new APIs and connect them with user empowering privacy tools. A great example of what I mean is website location tracking. If a website wants access you your location (for say driving directions) you can grant it access. I don’t understand why a similar approach could not be applied for things like Web Bluetooth access or Proximity sensor access.

See also: Highlights from our conversation with the Safari team.


Update (2020-07-09): Marcos Cáceres:

Mozilla also won’t implement these either, for same reason as WebKit. Privacy and security of our users is paramount, and that means making difficult compromises.

Their longer explanation is here.

See also the replies to this post via Twitter. I see lots of criticism of Google’s motives and attacks on sites/apps. I’m not seeing answers to Zornek’s question or arguments for how these features are different from the ones Safari has already implemented in privacy-empowering ways. People don’t like the way the Web is today, but I don’t see how ceding the future of Web APIs to Chrome/Edge and their dominant engine is going to put the genie back in the bottle. As a Safari user, I don’t see how forcing me to use Chrome for certain sites does anything to help my privacy. As an iOS user, my devices are less valuable if certain kinds of apps cannot be delivered through the Web, and therefore have a higher barrier to being developed and may be blocked by Apple’s political or business concerns.

Apple Silicon and Virtualization

bmalehorn (via Hacker News, Reddit):

Why can’t you update the Docker image to also support ARM? You theoretically could switch your backend to run ARM Linux. However, this would take months - renting out ARM instances, re-building all repositories, and a tense switch over. What if your hosting provider doesn’t offer ARM instances with the same system requirements as x86_64? What if you complete this migration and find it runs at half the speed?

Worse, it might be impossible if your images include files downloaded off the internet, as those are often only compiled for x86_64.


Boot Camp will definitely not be available on ARM Macs. It might be added later with the ability to run ARM Windows, though Microsoft would have to approve.

Gerald (via Hacker News):

With the Mac having the same hardware as the target devices, there’s consistency and no hidden surprises. Whenever the development cycle is shortened and opaque differences removed, it’s a good thing.


What about the downside of Docker becoming 2 to 5x slower without hypervisor? While that is indeed a downside, I’d argue that for local Docker instances, they are better used for functional testing and not part of the core development cycle.


Update (2020-07-30): Shac Ron:

Apple didn’t demo Windows on ARM Macs because Windows does not support 16KB pages. Until Microsoft changes this, don’t expect Windows on Apple Silicon.

Update (2020-08-05): Shac Ron (via Ashley Bischoff)::

Recent info indicates that upcoming Mac chips will support 4K pages (a change from iOS-oriented chips), so this will be a non-issue.