Archive for April 12, 2017

Wednesday, April 12, 2017

Apple Icons and Hardware Avoid Tangency

Mark Stanton:

If you haven’t been immersed in iOS interface design, you might look at Apple’s icons and think that they’re just a rounded square or a ‘roundrect’. If you’ve been designing icons, you know that they’re something different and may have heard the word squircle used (mathematical intermediate of a square and a circle). And if you’re an Industrial Designer, you recognize this as a core signature of their hardware products.

[…]

A ‘secret’ of Apple’s physical products is that they avoid tangency (where a radius meets a line at a single point) and craft their surfaces with what’s called curvature continuity.

[…]

On the right you see what curvature continuity looks like. The curvature comb transition is a curve itself, starting from zero curvature. There’s no sudden break in curvature and, as a result, the highlight is smoother. This difference in curvature is harder to spot in an icon, but the important thing is that now the icons and the hardware are part of the same design language.

Automatic Memory Leak Detection on iOS

Facebook:

Automating this process would allow us to find memory leaks faster without much developer involvement. To address that issue, we have built a suite of tools that allow us to automate the process and fix a number of problems in our own codebase. Today, we are excited to announce that we are releasing these tools: FBRetainCycleDetector, FBAllocationTracker, and FBMemoryProfiler.

[…]

Fortunately, Objective-C offers a powerful, introspective, runtime library that can give us enough data to dig into the graph.

[…]

If we know that the reference we are dealing with is a block, we can cast it on a fake structure that imitates a block. After casting the block to a C-struct we know where objects retained by the block are kept. We don’t know, unfortunately, if those references are strong or weak.

To do that we are using a blackbox technique. We create an object that pretends to be a block we want to investigate. Because we know the block’s interface, we know where to look for references this block holds. In place of those references our fake object will have “release detectors.” Release detectors are small objects that are observing release messages sent to them.

Analysis of the Facebook iOS App Bundle

Alexandre Colucci:

The version 87.0 is now available: 253 MB on the same iPad Air 2 with only 64-bit code. In just 6 months, the Facebook.app size grew by 88 MB!

[…]

One of the reason the app size grew is due to multiple copies of the same resources inside the app.

[…]

When analyzing the version 66.0 I completely missed some amusing Objective-C interfaces, protocols and methods:

@protocol FBDeprecatedAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@protocol FBLoginFacilitatingAppModule <fbdeprecatedappmodule_do_not_use_or_you_will_be_fired>
@interface FBTimelineModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBNotificationsModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBProductionLockoutModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
@interface FBSearchModule : FBNativeAppModule_DO_NOT_USE_OR_YOU_WILL_BE_FIRED

John Gruber:

It’s the most popular third-party app in the world, and it’s structured like a pile of garbage.

Previously: The Facebook App’s 18,000 Classes.

Update (2017-04-15): Lawrence Velázquez:

Happened across an old Facebook .ipa on a SuperDuper clone. The years have not been kind.

Update (2017-04-16): Alexandre Colucci:

The version 88.0 of the Facebook.app has now been released[…] As you can see from the smaller download size, the duplicated resources have been removed.

Verizon to Drop E-mail Service

Verizon:

We have decided to close down our email business. We will let you know when it’s time to choose how to handle your email account going forward via email. In addition, you’ll see a message from us when you log into your email from webmail.verizon.com indicating “Email service notice”. Click on “Keep verizon.net email address” or “Use any other email provider” to complete the setup.

[…]

For customers choosing to keep their verizon.net email address, we are teaming up with AOL to provide our customers with AOL Mail, an enhanced email experience.

Via Josh Centers:

Verizon purchased AOL in 2015 in what was thought to be strictly a content play, but now it looks as though Verizon had some other ideas in mind as well (see “Verizon to Buy AOL,” 12 May 2015). The upside if this approach is that Verizon will transfer your email messages, contacts, and calendars automatically.

[…]

I recommend transferring your existing verizon.net email address to AOL Mail, even if you don’t plan to use it. That way, even if you switch providers, you can still have AOL Mail forward any stray messages to your new address.

Scott Hoenig:

It seems like if you use the Mac Mail program for your mail client, or any other mail client, the SMTP/POP settings will continue to work. You have to tell them you want to keep your Verizon.net address, but that’s it. The only change would be if you want web mail access. So Verizon is keeping its mail servers--they’re just dropping support for their web mail application.

Google’s Search Quality Crisis

Danny Sullivan:

What’s happened to Google search is on par with the Apple Maps fiasco or Samsung’s exploding Galaxy Note7 phones.

[…]

Google’s results might be as good as ever. They might even be better than ever. But if the public perception is that Google has a search quality problem, that wins, because we don’t have any hard figures about relevancy.

[…]

If you want to go further with me examining the issues in this particular search, see some of my commentary in this Twitter moment. But the facts don’t matter, in terms of Google’s search quality reputation. The Google outrage machine is stoked.

[…]

We should continue to hold Google and search engines to a high standard and highlight where things clearly go wrong. But we should also understand that perfection isn’t going to be possible. That with imperfect search engines, we need to employ more human critical thinking skills alongside the searches we do — and that we teach those to generations to come.

Nick Heer:

I agree; I think users should have always been viewing search results with much more scrutiny than they do. But many people are lulled into believing that Google’s representation of the truth is the correct one. Their rich snippet answer box made this already-pervasive belief far worse by highlighting a single piece of a webpage as, seemingly, The Answer, even for questions where The Answer doesn’t exist.

Previously: Google’s Algorithm Is Lying to You About Onions and Blaming Me for It.