What
 · Technology
 · · Android

Pixel 4 ➔ 7 · I just replaced my poor tired battered old Pixel 4 with a garish “Lemongrass” Pixel 7. I just don’t care that much about mobile technology any more — what was the last time a new phone changed your life? — but jumping four years and three generations ought to be newsworthy, no? ...
[8 comments]  
Galaxy Tab S7+ · I impulse-bought this big Samsung slab which I guess represents the state of the art in Android tabletry and is trying to occupy an iPad-like spot in the ecosystem. It’s got issues but I’m keeping it. I’m writing this based on my perception that not many people have a tablet that’s not an iPad, so the territory is only lightly explored ...
[5 comments]  
Why Google Did Android · What happened was, in the late stages of my career at Sun Microsystems, as we were sliding into Oracle’s loathsome embrace, I had discovered Android. The programming language was Java, and not a dorky “ME” subset. My employer was saying nice things about it, and I’d long craved something I could both carry in my pocket and program. I discovered it was pretty easy to program and eventually published the Android Diary series in this space, which got pretty lively readership ...
[10 comments]  
Dueling Camera Apps · I got a Pixel 2, largely because it’s said to have a really great camera, with software-driven magic — machine learning at work. Here are two shot comparisons between the Google and Lightroom Android camera apps to see what that means in practice ...
[5 comments]  
Android Auto · I just had my first experience with Android Auto and I suppose there are lots of other people who haven’t been there yet, so a few words might be useful. Short form: Rough around the edges, but super-helpful ...
[3 comments]  
How to Give Away an Android · You take your nice modern Android, you factory-reset it, and you give (or sell) it to a relative (or friend, or stranger). (In my case, “give” and “son”.) But when they turn it on they see a screen labeled “Verify your account” with text reading “This device was reset. To continue, sign in with a Google Account that was previously synced on this device.” Here’s one way to fix the problem ...
[5 comments]  
Pixel Notes · I pre-ordered the basic Pixel (5", 32G, Silver) because the 5X was getting on my nerves (more below); here are early-days notes. Tl;dr: Ugly, solid, fast, cool camera ...
[3 comments]  
On the Nexus 5X · Well, the OnePlus One was a lot of phone for the money but, only a year old, is dying; the GPS has checked out and the pictures it takes look bad. I didn’t feel like phone-shopping but when I did, the 5X was an easy choice. It’s just fine, but only three features matter. With winter beach pix ...
[5 comments]  
One + Four Months · Which is to say, I’ve been carrying the OnePlus One since early January; a third of a year, outside the event horizon of most mobile-device reviewers. I stand by the conclusion in my January write-up: It’s a lot, really a lot, of device for the money. Herewith the history, which surprisingly stretches back to 2011; also how the O+1 has changed my mobile habits ...
[3 comments]  
Keybase Client · I got interested in Keybase.io the day I left Google in March, and I’ve been evangelizing it, but even more the idea behind it: Using authenticated posts here and there to prove public-key ownership. Also I’ve contributed Keybase-client code to OpenKeychain (let’s just say “OKC”), a pretty good Android crypto app. I’m more or less done now ...
[6 comments]  
Mac + Android = Screencast · If you want to show off your Android goodies and you have a Mac, it’s absurdly easy to make a decent-quality screencast; the tooling will cost you $29.99 ...
[2 comments]  
ART and Dalvik · The Android avalanche today at IO included an announcement that Android L will use a new default runtime called ART. This is really a pretty big deal, that is if you’re an application-runtime geek ...
[2 comments]  
LifeSaver Works on KitKat · The 4.4 release of Android broke my LifeSaver 2 app, which migrates phone-call and SMS logs from your old phone to a new one. It was my fault not Android’s, because the API for the SMS database was undocumented and thus unofficial. With KitKat, now it’s official. And slightly different ...
[2 comments]  
Retina Screen Tab Sweep · When you’re running your 15" Retina Mac in high-rez mode and you still don’t have room for all your tabs, you probably have a lifestyle problem. One solution is to publish the links, so if your don’t-kill-this-tab instinct turned out to be right, you have Internet Memory on your side ...
[1 comment]  
What Are Handsets For? · I got a Nexus 5 from Google for Christmas; it replaces an old Nexus S used as a dumbphone. But in some ways I was happier with the S, even though the 5 is way more capable. I’m thinking (once again) that Size Matters ...
[10 comments]  
Tab Sweep: Hallowe’en · Well into Q3 and autumn, and my SAD is already stirring in the back corner of my brain. But any season is Harvest season on the Web ...
[2 comments]  
2013 Nexus 7 with LTE · I bought the top-of-the-line model from the Play store for $349; I was still liking last year’s model but this is sleeker and prettier and goes faster. The differences are less dramatic than I’d expected, but they’re good things ...
[6 comments]  
New Mobile Rhythm · You know that Android Versions dashboard? It matters less and less for developers. And it’s been irritating me for months now that the mobile-device commentariat apparently hasn’t noticed. I’m hoping today’s news will help make my point ...
[10 comments]  
Maximum N7 · Way back in August of last year, I tweeted “Would totally pay ~$300 for a Nexus 7 with telephony & cellular data.” So I did; with my own money I mean. You will be unsurprised to learn that it’s my favorite Android device ever ...
[5 comments]  
Client + Server - Passwords · This has been live on our servers for a while, but is now announced and open for general use. Here’s the short version: If you have an Android app and a web-server back-end, you can authenticate the person using the app to your back-end securely, efficiently, and with no prompts or passwords ...
[11 comments]  
Two Million Saved · Back in April of last year, I noted that my LifeSaver 2 app had saved a million call records and SMS texts into the cloud. Now it’s two million, and by a much more useful measure. But there’s more work to do and it’s going to be fun ...
[1 comment]  
Play services · There’s a new release of Google Play services, which brings some love to the long-unrevised Maps API, and introduces Photo Sphere APIs. The world hasn’t figured out how big a deal Play services is; one of the highest-impact changes in Android’s history ...
[1 comment]  
Android OAuth via Google Play services · It started launching this morning, to every compatible Android device in the world running Froyo or higher. That’s a lot of devices, and even at Google scale it’ll take some time to roll out. This is a subtle but significant change in the ecosystem ...
[4 comments]  
Finding the Ways · I just read The Old Ways: A Journey on Foot by Robert Macfarlane. It isn’t a perfect book; but it’s a good one, which I enjoyed immensely because I found a new way of reading ...
[3 comments]  
Seven · The other reviews of the Nexus Seven out there are probably unbiased, but they’re awfully rushed (VergeGadget get ’em on the air in less than 24 hours, which is impressive, but still). Mine are presumably biased, but the fruit of much longer exposure. Mine are absolutely biased by my powerful conviction that the 7-inch form factor is the right one for most personal uses of a tablet. (10-inch wins for sharing across the desk or along the sofa) ...
[8 comments]  
Now on Identity · As of July 1, I’m moving from Google’s Android team to our Identity group, to work on OAuth, OpenID, and that sort of stuff. Back to being a full-time Web guy, for a while anyhow ...
[24 comments]  
Android at IO 2012 · I was co-lead for the Android sessions at Google IO this year, so I’ve seen basically every session, most of them twice, some even more. Here’s a highly personal guide to the ten I’d go to if I had to pick just ten ...
[2 comments]  
Sensplore · I’ve been working on some ideas for clean-screen apps; instead of controlling them with the touch screen, you wave your device around or tap it or shake it. To do this, I’ve been learning about the output of the sensors you find on Android devices. I’ve found that the documentation, while complete, contains some scary-looking math and assumes you know more about quaternions and rotation vectors than the average developer. Well, more than I do ...
 
Sensor Kinetics Pictures · Recently I’ve become interested in the sensors that live inside Android devices, and how to use them. It turns out that interacting with them is a little on the non-obvious side, as is interpreting the read-outs. So I drew some graphs. [Update: The graphs were wrong. So I deleted them. But I’m about to post a better version.]
[3 comments]  
A Million Lives Saved · Well, not really. But my LifeSaver 2 app has now uploaded over a million calls and messages for a temporary stay in the cloud and (in theory) transfer to other devices. This is not as impressive as it sounds since the number of unique users is still just a few hundred; but it pleases me nonetheless. I observe that the number of downloads is quite a bit smaller; it seems that people upload, and then it takes them longer than they thought to get their new device brought up and LifeSaver installed; long enough for the cloud scrubber to have erased their upload, so they have to do it again ...
[4 comments]  
Undocumented Territory · What happened was, there was an irritating little bug in my LifeSaver app. Which turned into a real problem, since I was using an undocumented API. The story of the bug’s death might be useful in giving a feeling for the 21st-century open-source world ...
[1 comment]  
LifeSaver 2.0 · Way last fall, I took my old LifeSaver app and re-wrote it to store histories in Google App Engine back-end as opposed to the SD card, mostly because lots of modern phones don’t have SD cards. Then I had an attack of fear about deploying it, then I went on a world tour and got sick and took vacation and got distracted. I just published LifeSaver 2.0 ...
[7 comments]  
Safe Unlocking · There are a bunch of ways to unlock your Android device. More or less all devices support swipe, pattern, PIN, and password. Which should you use? ...
[16 comments]  
Mobile 2011 · What a year. I’ve been doing technology for way more than half my life and some other times have been as intense but nothing I remember combines speed and scale like the last twelve months. How about a year-end survey? ...
[7 comments]  
Bar Android & Twicca · On Monday nights, this funky little teeny second-floor bar in Shibuya becomes Bar Android, a gathering place for Android geeks. This last Monday, which was Hallowe’en, I went; what a blast, and I got a new Twitter client ...
[10 comments]  
Up and Back · There’s been a mini-flurry of debate on the Android Back button, with Christoffer Du Rietz arguing that it’s harmful and broken, and a small chorus of the usual Android-hater suspects chiming in. Steven Van Bael pushes back. There are interesting subtleties here ...
[11 comments]  
ICS and the New Nexus · I’ve been carrying the Galaxy Nexus (let’s say “GN” for short) around for weeks, watching Android 4/Ice Cream Sandwich (let’s say “ICS”) come together. It’s a pretty nice phone. Size matters. But software matters more ...
[15 comments]  
Android App Engine Client · Recently I wrote a scary App-Engine back end for an Android app. I wanted it to be secure, which should be easy because Androids have Google accounts and App Engine knows about those. I got it to work, but the process irritated me enough that I decided to package it up as a public service. So now there’s a little open-source library called App Engine REST Client. It offers GET and POST methods, includes an Authenticator class, and tries to be as simple as possible to use ...
[4 comments]  
Cloud Lifesaving and Fear · Last year I built (and of course blogged) this nifty little Android app called LifeSaver, which would copy your telephone-call and SMS logs onto an SD card, so you could move the SD card to another phone, run LifeSaver again, and get ’em all back. Calls and texts aren’t migrated by the excellent Android backup system ...
[26 comments]  
Use the Source! · I’m working on an Android app and the documentation didn’t stop me making a stupid mistake. If it weren’t open-source, that might have been a problem ...
[14 comments]  
Current Dessert Snapshot · It would have been better with a blue sky, but still a cheery sight ...
 
Xoom With Honeycomb · I’ve been dogfooding one since December, through ever-so-many builds of Android 3.0. I’m way too close to this story to write what any sane person would call a “review”, but I can share some impressions ...
[8 comments]  
Android Constructors · At the Honeycomb event today, I was immensely pleased to hear both Andy Rubin and Chris Yerga shout-out to the engineers; Andy followed up on Twitter. I just wanted to say that I’ve been in this business coming up on three decades, and had the pleasure of working with many software legends. The Android platform team is the most accomplished I’ve ever been close to. Not just by a little bit, either.
[3 comments]  
Nexus S with Gingerbread · I’ve been carrying the new thing around for a few weeks now, and had fun taking pictures of it ...
[7 comments]  
What Android Is · Being an illustrated run through the basics ...
[22 comments]  
Tab In My Pocket · Friday afternoon, September 9th, Fedex brought me my Samsung Galaxy Tab, and from here on in let’s just say “Tab”, which I predict everyone will too, and may represent mad product-naming skillz from Samsung. Since then it’s been in my pocket and living room ...
[28 comments]  
Nexus One PUK Unlock · Unless you found this article using a search engine, which means you’re probably having the same problem I did, you’re very unlikely to be interested in its solution, so you can stop reading now and get on with your life ...
[3 comments]  
Galaxy Tab · So, there’s a new kind of Android device in the world. The world still isn’t sure just where it is that tablets are the right tool for the job. That granted, this is a nifty product. And I’m developing my own theory of what tablets are for ...
[21 comments]  
Tethering · I travel quite a bit, and I have found that the “tethering & portable hotspot” facility in Android 2.2 is just absolutely wonderful. It has saved me considerable money and got me reasonably-good connectivity in places I wouldn’t otherwise have had it; I’m looking at you, big-name US hotel chains ...
[19 comments]  
Late Summer Tech Tab Sweep · Some of these puppies have been keeping a browser tab open since April. No theme; ranging on the geekiness scale from extreme to mostly-sociology ...
[2 comments]  
Small Airport Victories · Two of them in the last couple of days, both courtesy of having the Internet in my pocket ...
[1 comment]  
Other Android Languages · I’ve been having this same conversation with a variety of programmers in recent days, and so I ought to share it with the world. I think it would be nice if you could build Android apps in other languages. The leading candidates seem to be Ruby and Python. People are working on it. This is my take on the state of play ...
[32 comments]  
Indie Android Interview · I was doing “Office Hours” at Google I/O, and this guy walked up with a question and we got to talking. His name is Derek James of Polyclef Software; he comes from a different planet from the one this Web guy has been living in, one where Psychology Ph.D. candidates build actual real businesses, starting part-time, via single-handed mobile-device programming. I did an email interview with him ...
[9 comments]  
Windy · Canada has long been a telephone oligopoly: Rogers, Telus, and Bell Canada; Canadians generally feel that prices are high and service only so-so. Now we’ve got a new mobile player, Wind Mobile. I signed up as soon as they got to Vancouver, at least in part for reasons of ideology; competition is a good thing. So far, Wind looks like a good thing too ...
[4 comments]  
Compatibility and Fragmentation · Over on the Android Developers’ Blog, we just published On Android Compatibility by Dan Morrill, who manages both the Open-Source and Compatibility work here ...
[3 comments]  
Practical Open Source · Android is an open-source project, which has a bunch of cultural and economic consequences. I’m going to ignore those today, and describe how I use the source code to get work done ...
[23 comments]  
Private APIs · I wrote a post in the Android-Developer blog today cautioning about the use of Content Providers that aren’t part of the published Android API. John Gruber pounced, deducing that, contrary to our stated policy, this constituted evidence of “private APIs”. Let me explain exactly what’s going on here ...
[31 comments]  
Blogging at Google · First of all, I should announce my editorship (starting today) of another blog, the Android Developers Blog. But at Google there are stories behind the stories ...
[8 comments]  
LifeSaver Lessons · I can’t possibly do this job unless I get my hands dirty with Android technology, and then keep them that way. To start this process I just wrote a little utility app called LifeSaver (source here), which scratches one of my own personal Android itches. It’s in the Android Market and maybe someone else will find it useful. I think the lessons I learned in the process are more interesting and useful than the app itself ...
[19 comments]  
That Iterator Again · Last week I wrote Content Provider Iterator, which simplifies the task of dealing with Android’s Content Providers. Reto Meier, the author of what is currently the best Android developer book, got all nervous about my approach. He’s got a point, but so do I ...
[12 comments]  
A.D. XV: Content Provider Iterator · Being a small morsel of Android-specific geek entertainment involving an example of the kind of thinking that being a Rubyist provokes which however may be grievously wrong.
[This is part of the Android Diary.]
 ...
[11 comments]  
Essential Advice · The fact that this isn’t posted on developer.android.com is a bug, I’d say. If you’re going to be doing any Android programming, you really need to get Reto Meier’s Professional Android 2 Application Development. Yeah, he works for Google (same group as me) so I’m prejudiced. Whatever. For the moment, Reto’s book is the Bible.
[3 comments]  
An Android Side Project · I want to be able to write apps for my phone in in something other than the Java language; for example Ruby or Python. This isn’t one of the things my group at Google has asked me to look at, but I think it’s worth doing and worth some of my time. I’m writing this today because I’m amused by the contrast with the current hubbub over Apple having tightened the developer thumbscrews ...
[53 comments]  
Nexus One on Android 2.1 · That’s what I’ve been carrying around for a month and a bit. It’s awfully good; which doesn’t mean I don’t want more ...
[18 comments]  
Being Kind to the Cat · What happened was, a few days ago I wanted to try out some fancy language technology on Android. A cat got in the way but the WiFi saved the day ...
[7 comments]  
author · Dad
colophon · rights
Random image, linked to its containing fragment

By .

The opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.

I’m on Mastodon!