Archive for May 13, 2016

Friday, May 13, 2016

Gboard

Rajan Patel:

iPhone users—this one’s for you. Meet Gboard, a new app for your iPhone that lets you search and send information, GIFs, emojis and more, right from your keyboard.

[…]

With Gboard, you can search and send all kinds of things—restaurant info, flight times, news articles—right from your keyboard. Anything you’d search on Google, you can search with Gboard. Results appear as cards with the key information front and center, such as the phone number, ratings and hours. With one tap, you can send it to your friend and you keep the conversation going.

John Gruber:

This privacy policy could change in the future, of course. Deals can be altered, and Google’s history of deliberately circumventing iOS privacy features is well-documented. But right now, it looks like Gboard is actually private. In fact, so far as I can tell, not only are you not required to sign into a Google account to use it — there is no way to sign in to a Google account even if you wanted to. Queries sent through Gboard don’t show up in my Google search history, even when I’m signed into my Google account in other Google iOS apps. Only what you type in Gboard’s search input field gets sent to Google, and even that is always sent anonymously.

With iOS multitasking and clipboard actions being relatively awkward, this could be really convenient. I was pleasantly surprised by how well swipe-typing worked—much better than with other iOS keyboards I had tried. However, there are two major flaws: it doesn’t support 3D Touch cursor movement, and it doesn’t support the system typing suggestions. These are probably due to OS limitations.

Update (2016-05-13): Edward Marczak:

GBoard apparently supports cursor moment via sliding right and left on the spacebar. Great for us non-3D Touch people.

This is interesting because it seems faster and more reliable than 3D Touch, but it does not support moving vertically.

Update (2016-05-14): Gboard has a nice feature where the Delete key deletes the entire previous word if the cursor is at the end. I also noticed that TextExpander expansions in OmniFocus don’t work when using Gboard.

Honza Dvorsky:

Google knows very well who you are, since shared containers of all apps from one company share data.

David Pogue:

Plenty of little companies make those free software keyboards, of course. But how weird is it that two behemoths—Microsoft and Google—both turn out to have been working on iOS keyboards in parallel?

[…]

If you tap it, you insert only a link to a Google search for that information—not the information itself […] You’re forcing your recipients to open their browsers and, of course, do a Google search, rather than just showing the information you’re seeing in the results.

[…]

Before you rush off to download Gboard, here’s a sobering bit of news: You lose the ability to dictate text.

Update (2016-05-16): John Gruber:

They could use shared containers to share login data, but they don’t in Gboard, at least now.

Packing Bytes in Swift

Russ Bishop:

I want to do this purely in Swift and mostly analogous to what you’d do in C because it’s relatively quick, doesn’t introduce any dependencies, and the decoder is really simple and could be implemented on any platform.

[…]

We can calculate the appropriate location in the buffer by performing arithmetic on the UnsafeMutablePointer itself. The key is that unsafe pointers in Swift know the size of the type they are working with and all adjustments are made in terms of the size of that type, not in bytes! (A Void pointer does work in terms of bytes since it knows nothing about the size of the type).

[…]

Why pass in a deallocator function? Technically you might be able to get away with NSData(bytesNoCopy:length:freeWhenDone:) but that would just be an accident of implementation. If the Swift runtime did (or does) use a different allocator than the default system malloc/free then You’re Gonna Have a Bad Time.

He doesn’t show them, but Swift numbers actually do have built-in methods for endian conversion.

The Natural History of Palatino

Jennifer Kennard (via Nick Heer):

The Book Club of California has announced the release of a definitive account of Herman Zapf’s enduring typeface Palatino, written and designed by Canadian poet, historian, linguist, typographer, and book designer, Robert Bringhurst. Published nearly a year after Zapf’s death at age 96, Palatino, The Natural History of a Typeface, explores the evolution of his most ambitious design project; from his original sketches in 1948, to the first trial cutting of Palatino roman at the Stempel Foundry in 1949, and to the last authentic digitally drawn members of the family which Zapf himself carefully supervised just ten years ago. The story of Zapf and his notorious typeface which he originally named Medici, also bridges one of the most transitional periods in all of the history of typography and printing; spanning the age of metal type, photo lettering and then digital.

Previously: Hermann Zapf, RIP.

Apple Shortening App Review Times

Alex Webb (Hacker News, MacRumors):

Apple Inc. has cut the approval time for new submissions to its App Store from more than a week to less than two days, part of a broader push to increase revenue from services including mobile applications.

The accelerated pace allows app developers to fix bugs faster, try out new features more regularly and better react to market changes, while building developer loyalty to Apple’s iOS mobile operating system. The mean approval time has fallen from 8.8 days a year ago to 1.95 days in the past two weeks, according to AppReviewTimes.com, which analyzes user-submitted data. In December, the average was more than five days.

John Gruber:

Wonder how Apple is achieving this. More reviewers? Lower standards?

Federico Viticci:

The Mac App Store, which is smaller in volume than the iOS App Store, is currently seeing app review times of 24 hours.

In addition to AppReviewTimes’ crowdsourced data, anecdotal experience from my own conversations with developers indicate that, particularly over the past two weeks, approval times of 2-3 days have become quite common for iPhone and iPad apps.

I have been hearing good reports from developers, too. Hopefully, it continues.

A lot of people have been questioning the explanation that the impetus was to increase Apple’s revenue from services. I wouldn’t read too much into that or worry about which bucket costs and revenues will be counted in. First, Apple has been trying to create a services narrative because of the decline in hardware sales. So it would be strange not to mention a services angle. Second, if you presume that Apple always knows how to maximize its long-term profit, a change like this will never make sense because either they were leaving money on the table before or they’re doing so now. The proper way to think about this is that Apple is always trying to do what’s best (for Apple) but that its idea of how to do this can change. Developers have long believed that improving the experience for them would ultimately benefit Apple. Better software would make the platform stronger, Apple would sell more devices, and it would collect App Store fees on increased sales. Perhaps Apple is starting to believe this as well.