“Grab The Nearest Device” Design

When designing Yet Another Wifi App (YAWA), I subconsciously had a design principle in mind that eventually was coded into the development process: the version numbers were kept in sync and all platforms had the same feature set.

I now call this “Grab The Nearest Device” design, because when I want to do something, I want to grab the nearest device. What’s the point of having an iPhone app if I can’t do the thing I just grabbed the device to do? I personally think that’s worse than not having an iPhone app because it makes me spend time trying to do something I then find I cannot. For example, say I want to add a new account at my bank. I pick up the iPhone (or run the app on my iPad), and search around for the “add account” feature. Can’t find it. Now I have to go get the computer and do it on the web site, whereas without the option of an app, I would have just gone to the computer in the first place. Next time, if I’m smart, I’ll skip the app and go to the web site – which is exactly what I find myself doing (frequently deleting the app in the process).

So, from a practical standpoint, here’s my development approach:

  • Need to reach multiple platforms? Do a mobile-first responsive-design web app (that’s how YAWA started). My app must work, completely, on a phone, and must not have a separate “mobile site”, because those always break (and it means maintaining two code bases instead of one).
  • Want device interaction on a solid platform? Carefully launch an app on iOS and keep the feature set 100% in sync with the web app (you *can* cheat and wrap the non-device-interactive features to the web app, but be very careful about your user experience when doing this as it can get you bad reviews really fast – remember, they already can go to your web site).
    • While you’re at it, do a Mac app – with a bit of work you can share most of the code. I recommend keeping all the code in one repository/Xcode project with a different target for the MacOS and iOS versions. Keep the version numbers in sync except, possibly, for minor version numbers if you need to push a bug fix. Oh, and always always include release notes. 😉
  • Need device interaction on more users? Carefully launch an app on Android, again keeping the feature set 100% in sync with the web and iOS apps. I personally haven’t done an Android app as the plethora of devices makes testing and putting out a reliable app more difficult – I’ve stuck with iOS because Apple’s done a pretty good job of making stable development possible.
  • Consider a Universal Windows Platform app (again, keep the feature set in sync before releasing)

You might think “that’s a lot of catch up for the second platform and beyond”. Design your app so that the core functionality is in a RESTful API. The web/iOS/Android/Mac/Windows apps should be clients. Then it’s easy to catch up.

No Release Notes – Take 3

I’ve seen a couple of apps now start adding release notes again. But then, I also saw one company decide to stop adding release notes. My latest procedure, if I can’t delete the app yet, is to write release notes for them in the review.

Here’s my review of one company’s product – “Word”:

Since they don’t include release notes any more, let me tell you what they added in this version:
– Deletes all your files on login
– Spies on your family
– Detects cookie jars in your kitchen and eats all your cookies

If these aren’t the features they added, perhaps they’ll add release notes next time and prove me wrong.

I strongly encourage you to do the same. If they don’t get the hint, at least the reviews will be entertaining.

My Minimalist iPad Pro setup

Keeping a clean slate clean

When I got my new 10.5″ iPad Pro, I, for the first time in years, selected to set it up as a “new device”, instead of restoring from the backup of my old iPad Air 2. This, plus trying it out as a development machine led me to a minimalist organization:

  • I only add apps I need, as I need them, only if I can’t find a better way to do whatever it is that’s driving the desire to install the app
  • Every app goes into a folder named “Stuff” that’s off on the third home screen unless I have a good reason to put it somewhere more visible (i.e. I use it enough that it’s efficient to have it less than a couple taps away)
  • I have one screen for work, one for personal – these are my “areas of focus” in GTD parlance and help psychologically to switch focus. (These areas of focus also have matching folders in OmniFocus, iCloud Drive (personal files), and Box/Google Drive (client/employer files)).
  • I put extremely high-use apps in the dock
  • I aggressively disable notifications

My Screens (“areas of focus”)


Before or after work, I’m on the “personal” screen. Aside from Settings and the App Store, I use it for video watching, texting, and reading. When I “leave work”, I swipe to this screen – feels like I’m leaving the office.


When it’s time to work, I switch to my work screen and start into my daily work checklist (in OmniFocus). I’ve found that on the iPad Pro it’s easy to focus on the task at hand. I had to make some changes to accommodate going from a 3-monitor Mac Pro with lots of toys tools (BBEdit, ExpanDrive, TextExpander, Magnet, Pastebot, Box/Google/OneDrive syncs, etc – I counted about 11 apps I used concurrently) to a single-screen iPad. It’s been an improvement, and spawned a lot of creativity, including a suite of JIRA command-line scripts, learning about mosh, contributing to Blink, re-learning screen and vim, and making better use of my Mac Mini as a server. I took these learnings back to the Mac Pro for improved focus there.


Despite appearances, I have a lot of apps. My iPhone, and old iPad, have an overly-“organized” collection of folders with semi-arbitrary classifications that contain these apps. Since I found myself using Spotlight search rather than thinking “is Google Drive in Business, Productivity, or Lifestyle?”, I created a folder named “Stuff”, and put any app not on the personal screen, work screen, or dock into it.

Putting the “No” in Notifications

You might notice there are no badges in the screenshots. I disallow notifications (including badges) unless the app’s notifications are something by which I really need to be interrupted. Otherwise, checking it goes into my daily checklist and I process it as an “inbox” using the GTD workflow. This includes email. I allow notifications from Messages, HipChat, the App Store, Settings, and Calendar.

The result: better focus

It’s easy to install apps without clutter – drag it into “Stuff”. I can quickly find the apps I use frequently; if I’m bouncing between three apps rapidly (e.g. Safari, Blink, and Box), I’ve found it’s smoother (because it’s more consistent) to hit Command-H and tap than it is to use the app switcher. I only have one thing to look at at a time, so I’m not distracted, and I can use split screen if I really need two things on the screen at once.

My new “app doesn’t have release notes” procedure

I like reading release notes, as I’ve mentioned before, because I like to know what’s been updated. Some app developers have decided to include “we update our app regularly”, as though that’s informative. So, here’s my simple process for when I see that:

  • Do I really really need the app?
    • No: Delete
    • Yes:
      • Leave 1-star review stating app/service is great, but no release notes.
      • Email support, ask what’s new in the latest version, e.g.:

        I was really curious to see what’s been updated for iOS 10, in particular if there’s Siri integration. The release notes said “We update the app as often as possible to make it faster and more reliable for you…”, which is the same thing it’s said since June 27.So, what are the new features? Does Uber work with Siri yet?

Apple Music – Everything You’d Expect from Microsoft

Update 12/24/15: Apple’s worked out the bugs, and Apple Music is now my favorite streaming service, largely because of the integration with Siri that lets you say things like “play some Christmas songs” or “Play Take On Me” and have it play almost any song you can think of instantly. It was a lot of fun having my father in law mention an old song, ask Siri to play it, and route it to the living room speakers (via air play). That’s the kind of user experience we’ve grown to expect from Apple products. 

Original: Apple products aren’t popular because they’re original, they’re popular because they “just work”. Apparently someone forgot that when launching Apple Music.

I really wanted to like Apple Music, but every direction I turn, I hit errors. Let’s take a look at some of my favorites:

  • Turning on and running the music app just after upgrading, it displayed this beautiful screen. The colors are lovely, and it has a custom red “Ok” button.
    Apple Music - We've run into a problem.
    Apple Music Launch Screen Error
  • One of Apple Music’s interesting features is a Pandora style radio station. Select a song or artist and “start station”. This feature uses a system standard error dialog for that old-school look.
    Unable to Start Station - There was a problem starting the station. Try again later.
    Starting an Artist radio station in Apple Music.
  • One of the fun things you can try to do with Apple Music is to play videos by artists you like. When looking at an artist’s page, Apple Music will recommend top videos. Viewing the latest Carly Rae Jepsen video on my Mac Mini shows this lovely dialog. Again, it’s a system standard dialog, but it does feature the new iTunes app logo in the upper left corner. Among the dialog’s features are handy recommendations about how you might convince iTunes to let you view the video, and a check box to make future videos fail to play silently for added confusion in the future.
    iTunes HDCP error message
    iTunes HDCP error message

As for Apple Music’s other features, the iOS app is excellent at crashing in the middle of a video or song. If you get a video to play on the iPad, it displays with a light gray border that you cannot remove. I did manage to get an artist radio station to play once, and Apple Music quickly veered away from anything I’d want to hear. The “You” playlists I’ve tried had about one interesting song in ten.

So, aside from the lovely types of error dialogs, Google Music’s multi-device service seems to be the best for having your music available everywhere, and I’d stick with Spotify and Pandora for streaming and radio services.