About Christian

Christian Cantrell is a Senior Experience Development Manager on Adobe's Design team, and a science fiction author.

Solving one of smartphones’ most annoying user interface and experience problems

You know how you sometimes go to select something on your phone (or other touchscreen device for that matter), and either the application layout changes, or something like a notification appears just in time for you to tap on the wrong thing? I call that “UI Crossfire,” and I’m proposing a solution I call “Intent Buffering.” Take a look at the prototype.

How to use Project Fi on an iPhone

project_fi_iphoneThe Adobe Design team builds and prototypes software for all relevant platforms: Mac, Windows, iOS, Android, and the web. A twenty-year career in the software industry has taught me that designing and building software that feels native to its intended platform requires an intimate working knowledge of that platform. That’s why I put a tremendous amount of effort into being equally fluent in every operating system and environment we support.

Switching back and forth between Mac and Windows is challenging; having both an iPhone and an Android device not just available for testing, but fully configured, functional, and ready to go, probably qualifies as arduous. But it can be done, and the secret is Project Fi.

My Android phone is a Pixel XL — in my opinion, the best all-around Android device ever built. One of the things that makes it unique is that, in addition to being carrier unlocked, it’s also compatible with Project Fi — Google’s own MVNO network. Not only is Project Fi very competitively priced (with coverage that has never let me down), but it also allows you to order a second data SIM for LTE devices like tablets, smartwatches, or, in my case, another phone. (The SIM is free, and uses data from your existing plan without any additional costs.)

Using a Project Fi data SIM card in an iPhone doesn’t make it a fully functional phone, but it gets it very close. You won’t have voice capabilities, but if you install Hangouts, and if you enable incoming phone calls, you can make and receive calls to and from your Project Fi number though Hangouts over LTE. You can even use Apple’s Messages app at the same time to stay in touch with all your Apple-loyal friends and family (though you won’t be able to use it to send and receive SMS messages; that all happens through Hangouts).

hangouts_config

Short of moving your SIM card back and forth between phones, I’m pretty sure this is the best way to have two functional phones that use the same phone number. Additionally, it has the benefit of allowing you to send and receive texts from the desktop — on Mac, Windows, and Linux — though Hangouts in the browser.

If your job requires you to remain platform agnostic — or if you’re just naturally multi-platform-curious like I am — Project Fi is the only way to go.

(For the most comprehensive guide to sending and receiving texts from your desktop, see my post “Everything there is to know about texting from the desktop.”)

The iPhone, fixed.

Merriam-Webster defines an appliance as:

  1. A piece of equipment for adapting a tool or machine to a special purpose.
  2. An instrument or device designed for a particular use or function.

Wiktionary’s definition is similar:

An implement, an instrument or apparatus designed (or at least used) as a means to a specific end (often specified).

In terms of hardware, the iPhone is nearly perfect. But iOS makes it feel more like an Apple appliance than a flexible and versatile computer.

So I decided to fix it.

Welcome back to Windows, developers

cowsay_windows

I like Macs and iPhones as much as the next guy. With the exception of pregnant iPhone battery packs, the charging mechanisms for the Apple Pencil and second gen Magic Mouse, and, of course, all of iTunes, almost everything Apple produces is phenomenally well designed. In my opinion, no other company in the history of computing has made a better case for Alan Kay’s famous quote:

People who are really serious about software should make their own hardware.

But I have an equal amount of appreciation for the diversity one is more likely to encounter with Android and Windows platforms. I really like iPhones, Macs, and Apple Watches, but I also like mixing things up. I like my Asus monitor, Filco mechanical keyboard, Razer gaming mouse, GeForce video card, Intel RealSense webcam, and my Garmin Fenix watch. After room-scale VR commandeered four USB ports on the back of my PC, I ordered a five-port USB 3.0 expansion card for $15 which took me ten minutes to install. When I subsequently ran out of disk space downloading VR games, I ordered a new Samsung SSD from Amazon, had it delivered that day, cracked open my PC again, and doubled my storage capacity (and RAM, while I was at it). I grew up cobbling together and upgrading PCs, and it has only gotten more fun and more interesting as hardware has gotten more powerful and diverse.

Unfortunately, I haven’t been able to use Windows regularly for several years now. As a web developer, and then an Engineering and Product Manager, it was far easier for my team to standardize on Macs. Most of the command line tools, libraries, and utilities that web developers depend on are optimized for Mac and Linux, and while Windows has its version of the command prompt (and PowerShell), I have years of knowledge and experience invested in the Linux command line experience. (Cygwin was never a great alternative because most of the packages I needed were out of date.)

But with Windows Subsystem for Linux and Ubuntu on Windows, all that has changed. The combination of the two allows you to very easily run a full version of Ubuntu right alongside Windows, and even access the Windows file system.

I recently put Ubuntu on Windows to the ultimate test by trying to build and run a very complex web application my team has working on for the last couple of years. In the process, I installed Git, Node, npm, nvm, and, frankly, an embarrassing number of module dependencies (see How it feels to learn JavaScript in 2016). I also did other common Linux tasks like modifying the hosts file, creating symlinks, writing bash scrips, etc. The first time I tired was about two months ago with the Windows Anniversary Update, and I only got about halfway through before I ran into errors. But this week, I tried with the Windows Creators Update, and everything worked flawlessly.

Finally, for the first time in my nineteen-year software career, I can use the same computer for web development that I use for Microsoft Office and gaming (and more recently, VR). I can update it when I need to, fix it when I screw something up, and every few years, build an entirely new computer from scratch with exactly the components and capabilities I want.

That doesn’t mean I’m done with Apple. I still have a MacBook Pro and an iPhone sitting right here beside me, and I enjoy using them as much as I do my Windows machine and my Pixel XL. But now I can choose which platform I want to use for any given task, and when it comes to technology, choice is every bit as important to me as design.

Seeing (yourself in VR) is believing

null

I started exploring primitive augmented reality with Google Glass about four years ago. A year later, I began playing with virtual reality using Google Cardboard. And the following year, after watching the Oculus Interstellar Experience at the Air and Space museum (twice — I went back the next day), I ordered the Oculus Developer Kit 2, built a VR-optimized computer, and subsequently spent hours exploring virtual worlds.

It all felt very experimental and forward-looking back then. By the time I finally got the Oculus Rift CV1 (Consumer Version), I had already decided that VR wasn’t quite ready, and that it would be another generation or two before it would really inspire both consumers and content creators. But then something happened that completely shifted my perspective: I picked up the Rift Touch Controllers.

Bringing my hands into VR with me raised the level of immersion to an entirely new level. The experience went from passive observation and consumption to active participation and creation. Suddenly, I was simultaneously controlling time while shattering enemies, climbing breathtaking mountains, and sculpting with light under the stars. Everything about VR I’d been complaining about was easily forgotten, and I was transported. I became convinced — not gradually, but almost instantly — that VR had the potential to become a computing platform every bit a transformative as mobile, if not moreso.

As recent as a year ago, I would have said that tropes like Tony Stark manipulating holographic, virtual objects in 3D space, or the Avatar / Hunger Games / Westworld control rooms, were, at best, aspirational — vaguely feasible permutations of humanity’s non-foreseeable future. Today, I know for a fact that they’re not only achievable, but achievable on a reasonable timescale.

VR still isn’t “ready” yet in the way that mobile was ready in 2007 when Apple introduced the iPhone. VR hardware is expensive, uncomfortable (though it’s gotten much better), and the experience is inherently solitary (at least in physical space). In general, getting in and out of VR is still too big of a commitment for most people to do on a regular basis. But as I wrote in a recent piece on Medium, if we wait for VR to be ready, we will have waited too long.

Prediction: Apple will make monitors again, and the base will be a wireless iPhone charger

thunderbolt_and_iphone

If you’ve ever spent time in front of an Apple Thunderbolt display, then you probably know how tempting it is to rest your phone on the stand. And if you’re paying attention to iPhone rumors, then you know that the next iPhone will likely support wireless (inductive) charging. So why wouldn’t Apple capitalize on their customers’ habits by making a new 5K monitor with wireless charging built into the base?

I know the rumor is that Apple is out of the monitor business, but I don’t buy it. First of all, I can’t imagine Apple being content with allowing customers to spend all day every day staring at a logo that isn’t an Apple. And second, as evidenced by LG’s recent technical problems with their 5K monitors, I also can’t imagine Apple permanently handing over such an important part of the customer experience to third parties who might not execute as well as Apple.

I strongly believe that Apple’s partnership with LG is a stopgap measure — a way to cobble together a reasonable but temporary 5K solution to support the launch of the new MacBook Pro. But once the new iPhones are ready to be announced, I think we will discover that Apple has been working on both brand new 5K monitors, and brand new iMacs, in tandem.

Apple’s new 5K monitors won’t necessarily be about directly generating huge profits for the company. Rather, they will be about contributing to the Apple ecosystem — or to borrow a metaphor from Amazon, adding energy to the Apple flywheel. Just like iPhone customers can augment their overall Apple experience by wearing an Apple Watch, and just like Apple Watches can augment the Mac experience by unlocking computers, and just like Continuity augments the experience of using an iPhone and a Mac together, customers will be able to augment both their MacBook and their iPhone experiences by using a single USB Type-C cable to connect a beautiful, extremely bright, wide-color 5K monitor, and to wirelessly charge their new iPhones at the same time.

When trying to peer into Apple’s future from the outside, it’s important to note that they are in the business of inventing the future. That doesn’t mean inventing disparate devices; it means inventing constellations of devices, and connecting all those dots through seamless, wireless services. When Apple removed the headphone jack from the iPhone 7, they didn’t leave it up to third parties to provide bluetooth audio solutions. They did it themselves with both AirPods and with new Beats products to make sure it was done right (they even augmented bluetooth technology with their own W1 chip). And now that Apple has removed almost all the ports from their MacBooks, I can’t imagine they’re going to leave it entirely up to third parties to build out the USB Type-C ecosystem. When it comes to the experiences that really matter (like your Mac’s primary visual interface), Apple will take it upon themselves to do it right.

While I have your attention, I’ll make a few other bold, unsubstantiated predictions:

  • Other Apple peripherals (mouse, trackpad, keyboard, standalone Touch Bar) will eventually be wirelessly charged, as well.
  • You’ll be able to charge the Apple Watch (along with your peripherals) on your monitor stand.
  • And the big one: the next iPhone won’t be called the iPhone 8. I think Apple is going to reset the version number by calling the next new phone they release the Apple Phone.

Review of Google WiFi

google_wifi_on_desk

About 2,800 square feet over three floors. Usually around 25 devices connected at any given time. Only one wifi router which can’t be moved due to where the cable enters the house.

This is clearly a job for Google Wifi.

google_wifi_devices

In addition to eradicating humanity, Skynet must keep dozens of my devices reliably connected to the internet.

I switched from an Apple AirPort Extreme to a Google OnHub router about a year and a half ago, and while I didn’t like it very much at first, a steady cadence of software upgrades improved it to the point where I was glad I switched. When Google Wifi came out late last year, and I found out that I could use mesh networking to extend the range of my OnHub, I pre-ordered a three-pack right away.

Mesh networking is relatively simple in theory, but in practice, robust mesh networks are complex. Mesh networks obviate the need to have multiple wifi routers with hardwired connections throughout your home or office. Instead, routers create individual, overlapping zones of coverage capable of relaying network traffic through their peers back to a single hardwired connection. Devices connect to whichever node has the best signal and/or the least amount of congestion, and then traffic is routed through the mesh, to your primary wifi point (the one with the actual connection to the internet), and then back again to the device — entirely seamlessly. Not only can mesh networks dramatically extend the range of your network without requiring you to run additional cables (all they need is power), but they are also extremely durable and robust since the network can route around any problematic nodes which may be temporary unavailable due to software updates or malfunctions.

I’ve had Google Wifi set up for a couple of weeks now, and I’d say that I’m generally happy with the results — though with some qualifications. Here are my overall thoughts so far:

Setup was relatively easy, but surprisingly time-consuming. The first thing you do is install the Google WiFi app on your phone (I used a Google Pixel XL), and then you follow a set of simple instructions which generally involve connecting a Google Wifi device to power (reversible USB Type-C!), scanning a QR code on the bottom, and waiting. And then waiting some more. And then, while you’re at it, doing a little waiting.

google_wifi_animation

Setting up Google Wifi means plenty of waiting. But also plenty of cool animations to mesmerize you in the process.

If the process goes smoothly, your patience is rewarded with a fairly painlessly upgraded network. However, the process rarely went smoothly for me. There were software updates, unexplained errors, and worst of all, ambiguous results. (I was told setup didn’t complete properly, yet the device seemed to be functioning. What do I do? Leave it alone and hope for the best? Perform a factory reset and start again? No way to know.)

google_wifi_test_error

When setting up Google Wifi, be prepared for a few bumps along the path toward Wifi Utopia.

Not counting the time it took me to run out to Best Buy so I could replace a surge protector I discovered was blown, it took about an hour from the time I opened the three-pack of Google Wifi devices to the time I had every corner of my home awash in a beautiful overlapping patchwork of 2.4 and 5GHz spectrum. Not too bad.

google_wifi_test_results

A healthy mesh network, powered by Google Wifi. The primary node — in my case, an OnHub — is not pictured in this view.

If the story ended there, my review would have been as glowing as the Google Wifi’s Cylon-like LED diagnostic strip. But sadly, the tale continues.

We have very reliable power where I live, but during a recent and particularly energetic thunderstorm, it flickered a few times. Every device in my house is plugged into a high-quality surge protector and/or a UPS so nothing was damaged, but none of my Google Wifi devices came back up properly. Both my modem and my OnHub wifi router recovered just fine, but all my Google Wifi nodes were pulsating red.

To make a very long story short, using the Google Wifi app to restart them fixed two of the three, but the third — the one closest to the network drop — wouldn’t reconnect. And then, after a factory reset, I kept being told that it couldn’t connect to my network because it was out of range of my primary wifi point (it was not). Acting purely out of instinct, I factory reset all three devices, and re-added them again one-by-one (the one closest to the primary router first). After a great deal of waiting and a few more unexplained errors (mostly failed tests), all three devices were back online, and my mesh network was restored to its former glory.

google_wifi_points

Happy and healthy once again.

For a network that is supposed to be highly durable, I was pretty disappointed that I had to spend about an hour and a half trying to bring it back up after a fairly routine power flicker. And while I feel the quality of my network justifies the time I put into it, I can’t imagine how someone without early-adopter patience would have handled both the initial setup process, and then having to set everything up again a week later. (Actually, I can imagine it, and it looks a lot like several frustrating hours on the phone with support.)

In other words, Google Wifi currently meets my expectations and standards, but it does not pass the “parents” test. (If you buy this for your parents, or recommend they buy it for themselves, be prepared to provide plenty of tech support.)

If you have clear wifi-hypoxic zones in your home, and if you have the patience to deal with a system that clearly still has some bugs to work out, then I definitely recommend that you give Google Wifi a try. I consider $299 (for a three-pack) a reasonable price to pay for sophisticated networking equipment that solves a very real problem without having to run any additional cables throughout your home.

But unless you have a very clear need for something like Google Wifi, I would recommend waiting. Consumer-grade mesh networking is still relatively new, and while $299 isn’t bad ($129 for a single device), as with most new technology, the longer you wait, the cheaper it becomes — but more importantly, the less of your precious time it will demand.

Update (3/27/2017): My experience with customer support, and all connection issues finally resolved.

Continue reading

Attempting to Grow the Ghost Orchid

ghost

Now that I’ve had some success with Dracula orchids, I’ve decided to take on a new challenge. In fact, this might actually be the challenge when it comes to orchid growing: Dendrophylax lindenii, better known as the ghost orchid.

Ghosts only grow in humid, swampy forests in Florida, Cuba, and the Bahamas, and are classified as endangered. In fact, there are only about 2,000 left in all of Florida, and the locations of most of the best specimens are kept secret in an attempt to prevent poaching.

Replicating the conditions of a swamp in southern Florida isn’t easy. Ghosts typically need:

  • Very high humidity (I’m trying an average of about 80%). That’s a little lower than Dracula orchids, but still much higher than what most orchids require.
  • Warm temperatures during the day with a 10-15 degree decrease at night.
  • Very bright light (at least 3,000 foot-candles). Rather than leaves, ghosts photosynthesize through their roots, so they thrive in relatively bright environments.
  • Reduced airflow. (Swamps tend to be stagnant.)
  • A mount they can attach themselves to, and that will not decay significantly over time since it isn’t possible to transfer ghosts to new mounts once established.

What I find most challenging about ghosts is their limited palette for expression. Becoming a good grower of orchids (or any other type of plant) means observing tiny changes in behavior, sometimes over long periods of time, as expressed primarily through leaves, roots, stems, and blooms. However, ghost orchid seedlings have tiny roots, no leaves, obviously no blooms, and a dramatically reduced stem. And if that’s not challenging enough, they’re naturally very slow-glowing. That means by the time you’re able to observe a problem, it might very well be too late to correct for it.

I got my first ghost at the beginning of the year, and I’d classify it as “stable” (certainly healthy, but barely growing). I used to have two, but the second one I ordered was damaged in transit when it was delayed due to a snow storm and exposed to freezing temperatures for too long (they should be shipped with a chemical heat pack during the winter; this one was not). Now the trick will be to make small adjustments in light, humidity, temperature, fertilizer, etc. until I see it start to thrive.

Many updates to come (hopefully).

Become a master of public radio with NPR Ninja

Being both a news junkie, and a big fan of NPR, I decided to put together a little utility that I call NPR Ninja to help me track topics that interest me, and search for stories on specific topics. It’s a client-side (JavaScript) application that leverages NPR’s open APIs.

Now that there’s also an NPR One API, I might just add some hooks into it one of these days, as well.

Growing Dracula Orchids

dracula_terrarium_small

My own little high-altitude, South American cloud forest.

I’ve been casually growing orchids for a few years now, but things got more serious in October when I decided to take on Dracula orchids (often called “monkey-face orchids” because many of the blooms resemble little faces). Draculas are not “windowsill” orchids because they have very specific environmental requirements. Most grow in high-altitude, South American cloud forests which means they need:

dracula_olmosii_bloom_profile_small

My first Dracula orchid bloom.

  • Extremely high relative humidity (at least 90%).
  • Warm temperatures during the day (in the 70s or 80s), and cold temperatures at night (in the 50s).
  • “Full shade” which means a fair amount of light (1,000 – 1,5000 foot-candles), but not direct sunlight.

If those weren’t challenging enough conditions, half my collection blooms from below rather than above which means they need to be potted in baskets and suspended rather than arranged on a shelf. In other words, these are some of the most difficult orchids to grow in completely artificial, indoor conditions. (I actually have a couple of orchids that are proving even more difficult, but I’ll save those for another post).

Once I feel I have the process of growing Dracula orchids in a terrarium perfected, I’ll write a detailed article accompanied by a video. But for now, I want to report that I am having some very solid success. Not only am I seeing new growth with all my Dracula orchids, but my Dracula olmosii just bloomed. I’m particularly proud of the olmosii because it was nearly dead when I got it, having spent several months in a greenhouse that was far too hot.

I think it’s really interesting that the orchid that was in the worst condition when I got it was also the first to bloom.

dracula_olmosii_bloom_bottom_small

Peek inside the bloom of a Dracula olmosii orchid and you’ll find a little face peeking back out at you.