By John Gruber
Manage GRC Faster with Drata’s Agentic Trust Management Platform
Here’s a video from last year, with three guys from Google talking about how to properly design apps for Android. Starting around the 6:00 mark, their specific example is about sharing icons. They recommend against using the iOS arrow-coming-out-of-a-box sharing icon when designing for Android, and instead using Android’s standard sideways-V icon. So far so good, right? “Follow the idioms and standards of the platform you’re writing for” is good sound advice.
But Google is doing just the opposite with nearly all of their iOS apps. They’re not adhering to iOS design idioms — they’re adhering to their own Material Design style. Look no further than the “sharing” button in the iOS YouTube app — it’s Android’s.
Ron Amadeo, writing for Ars Technica:
We’ve seen widespread complaints about the new “premium” pricing strategy for the new Nexus devices, and to make matters worse, the Nexus 9 didn’t really live up to the “premium” price. With a price cut this deep just a day after launch, we have to wonder if the Nexus 9 is really worth $400. On Google Play, the device is still going for $400, but this is definitely an eyebrow-raising move by HTC.
J2ObjC is a “Java to iOS Objective-C translation tool and runtime”. Google uses it to maintain a cross-platform shared codebase for its mobile apps; internal logic is written once (in Java) and ported to Objective-C using this tool. But it’s only for non-UI code. Here’s why, from creator Tom Ball:
It’s regularly asked why J2ObjC purposely avoids translating UI code; after all, wouldn’t it be wonderful if a tool existed where a developer can drop in Android source and out pops an iOS app? Our usual response is that world-class apps need user interfaces that are tightly integrated with each platform, and that common-denominator attempts to span platforms provide degrades user experiences. As I found when working on Swing many years ago, customers notice the smallest deviations from a platform’s UI standards and generally find them off-putting. But non-compromising UIs are just one of the reasons we focus on translating shared logic.
I wasn’t aware of this; my thanks to Google’s Ray Cromwell for bringing it to my attention. What I find interesting is that Google is (wisely, in my opinion) hand-crafting their iOS UI code for performance reasons and to avoid all the well-known pitfalls of cross-platform UI code, but they’re using their cross-platform “Material Design” visual style. That is, they’re writing native iOS code to create Google-styled apps.
Photographer/filmmaker Doug Menuez is excerpting some fantastic work from his new book, Fearless Genius, on Storehouse this week. Stories and photographs from Silicon Valley in the ’80s and ’90s. Right at the top, a fantastic photo of Steve Jobs. (Via Om Malik.)
Update: A whole page of Steve Jobs photos from the early days at NeXT.
Dan Cederholm:
At small sizes, few will even notice the change, but it feels good having a more refined version in place now, knowing that’ll it hold up to whatever it needs to going forward. Also, the nice thing about refining as opposed to redesigning is that the old and new can easily coexist (temporarily of course).
So subtle, so nice. (Via Brand New.)