Archive for April 20, 2018

Friday, April 20, 2018

Apple Open Sources FoundationDB

FoundationDB (Hacker News):

FoundationDB is a distributed datastore, designed from the ground up to be deployed on clusters of commodity hardware. These clusters scale well as you add machines, automatically heal from hardware failures, and have a simple API. The key-value store supports fully global, cross-row ACID transactions. That's the highest level of data consistency possible. What does this mean for you? Strong consistency makes your application code simpler, your data models more efficient, and your failure modes less surprising.


The vision of FoundationDB is to start with a simple, powerful core and extend it through the addition of “layers”. The key-value store, which is open sourced today, is the core, focused on incorporating only features that aren’t possible to write in layers. Layers extend that core by adding features to model specific types of data and handle their access patterns.

Examples of Dark Design Patterns

Flavio Lamenza (via Mark Frauenfelder):

This add in a mobile app makes you think there is a dust particle on your screen, making you tap on it.


This ad in Snapchat makes you think there is a strand of hair on your screen, making you tap on it.


Tetris wants to give you high quality advertising…

Josh Constine:

But the fact that the button to reject the new Terms of Service isn’t even a button, it’s a tiny “see your options” hyperlink, shows how badly Facebook wants to avoid you closing your account.


I requested Facebook actually show us what was on the other side of that tiny “see your options” link and this is what we got. First, Facebook doesn’t mention its temporary deactivation option, just the scary permanent delete option. Facebook recommends downloading your data before deleting your account, which you should. But the fact that you’ll have to wait (often a few hours) before you can download your data could push users to delay deletion and perhaps never resume. And only if you keep scrolling do you get to another tiny “I’m ready to delete my account” hyperlink instead of a real button.

Via John Gruber:

Not only is it a tiny hyperlink instead of a button, the link is just a few pixels above the big “I ACCEPT” button.

Tim Cook Says Users Don’t Want iOS to Merge With macOS

Peter Wells (MacRumors):

Despite rumours that a merger is in the works, Apple chief executive Tim Cook believes mobile devices and desktop computers should remain in separate worlds with their own bespoke operating systems.


“I generally use a Mac at work, and I use an iPad at home,” Cook tells me, “And I always use the iPad when I’m travelling. But I use everything and I love everything.”

If you’re wondering why the Internet is treating it as news that the CEO of Apple uses a Mac at work, Nick Heer reminds us:

In 2014, Cook told the Wall Street Journal that he did about 80% of his work on his iPad; this is a subtle change in how he’s communicating what he uses to get work done. I’m not sure how much you should read into his comment — Apple kremlinology is often a waste of time — but it’s an interesting shift, I think.

We’ve long known that Cook has an iMac on his desk at Apple. I continue to believe that he does not have a deep understanding or appreciation for the Mac. I doubt that he would consider iPad and Mac apps using the same Marzipan API as a merger. I doubt he would miss anything if every Mac app felt like an iOS app. The news here is simply that he has decided to change his messaging. So I interpret these comments as evidence that Apple is doing more merging, just that it isn’t getting rid of the Mac. I don’t believe the way to make the Mac better is to make it even more like iOS. Rather, Apple should focus on making it better at doing the things iOS can’t do.

Previously: Apple Rumored to Combine iPhone, iPad, and Mac Apps to Create One User Experience, The Menu Bar.

Update (2018-04-20): See also: Zac Cichy.

Update (2018-04-22): Jack Welborn:

People like to point out Windows 10’s support for both touch and mouse input, but I’d argue that Windows is still primarily a pointer drive interface with support for touch carefully tacked on. That said and while I still believe that touch in Windows leads to a disjointed user experience, I am also beginning to wonder if excluding touch input entirely from Mac laptops might end up being a hill not worth dying on. Take this tweet from John Siracusa that shows a photo of a monitor with the sticker “NOT A TOUCH SCREEN” and poses the question “How long until MacBooks need a similar sticker?”

Update (2018-04-28): See also: The Talk Show, Upgrade.

The Menu Bar

Jack Wellborn:

The menu bar has been, and in my opinion remains, the best mechanism for providing familiarity, discoverability, and progressive disclosure in user interfaces on any platform. Even beyond the Mac, anyone who has clicked on a File menu in one platform has a pretty good shot at guessing where a Save command might be when provided a File menu somewhere else. Likewise and also regardless of operating system, someone presented with an entirely new application can safely open and explore menus to try and locate features they might need. Never pivoted data before, but need to for the first time? Hey look, there’s a menu in the bar called Data!


So then why are menu bars fading out of more modern UX conventions?

On mobile, the answer is obviously two-fold — screen real estate and touch. From before the iPhone to today’s relatively large screen smartphones, screen real estate remains a precious commodity. Even the most common functionality like notifications require various gestural incantations so they can accessed without onscreen controls, and because of touch, anything that does require onscreen controls does so at over double the cost of real estate to accommodate for larger and less precise fingers.

Via John Gruber:

The menu bar, in my opinion, is the single biggest reason why Mac apps can grow to a greater manageable complexity than iOS apps. I’m not saying iOS should get a menu bar — I’m saying this is why it makes sense for Apple to maintain its dual platform strategy.

When PNGs Suddenly Become JPEGs

Howard Oakley:

I wasted half an hour trying to get one screenshot yesterday, a good illustration of how workflows involving Pro-branded products with iCloud Drive may not deliver pro results.

But later last night, in discussion with those marvellous folk at @AppleSupport, they found me a workaround, and pinpointed where the problem must lie. When I take a screenshot, then view it in Photos, tap the Share icon there, and despatch it to iCloud Drive, that image is shown as a JPEG throughout, with the .JPG extension. When I take a screenshot and immediately tap its transient thumbnail at the bottom left, before it vanishes, and despatch it from there to my iCloud Drive, that remains a PNG with the extension .png (also note the lower case).


One important lesson for me is the value of the new Apple Support app available free from the iTunes App Store: I have installed this on my iPhone and iPad now, as it makes support calls so much easier. It’s a shame that Apple hasn’t yet produced a version for macOS.

Lessons Learned From the App Store

Former App Store head Phillip Shoemaker:

A discussion about why App Stores have guidelines, how apps are reviewed, what reviewers are looking for, and what the common mistakes are. In this talk, I will give you tips and tricks necessary to avoid problems on the App Store and Google Play.

It boggles the mind that he was a developer who had submitted his own apps to the store.

See also: Peter Steinberger.

GCD Tips

Thomas Clement:

Are you using the libdispatch? Here’s a thread for you, what I learned about the libdispatch in the last ~6 months.