Menu

Colin Devroe

Reverse Engineer. Blogger.

Follow: @c2dev2, RSS, JSON, Micro.blog.

'

Snapthread is now free to try

Becky Hansmeyer:

You can use all of the app’s features for free with only two limitations: a watermark in the lower left corner and a 30-second limit for video exports.

I’ve mentioned Snapthread in the past. I’m not on iOS anymore, but if I were, I’d use and buy Snapthread in an instant. Looks great. And the new icon is very fun.

Matt Haughey on the mobile WordPress app

Matt Haughey vents his frustrations with WordPress:

Over the past week I’ve written a bunch of posts while out and about using the iOS WordPress app, often with photos of things I was seeing. But unless I was on WiFi or had 5 bars of LTE connectivity, I would get a Posting Failed, Retry? message. The wild thing is even after hitting retry a bunch, it would still fail. And then if I flicked over to my draft posts folder, the post wasn’t there. If I didn’t keep retrying and instead clicked anywhere in the app, the post would disappear completely.

Like Haughey, I too am frustrated with the WordPress mobile app (I’m on Android, and I have the same issues). I’ve actually removed WordPress from my phone because I can’t use it. It simply doesn’t work well at all. If I even try do post my photo posts with it crashes over and over and over and over. Which is why you’ve seen a lot less photos from me.

A review of the Google Pixel 2 XL and Android 8.1 by a longtime iPhone user

After 10 years of using iOS as my primary mobile platform I’ve decided to give Android more than just a casual try. This post is my review both of the Google Pixel 2 XL and Android 8.1 as well as a few comparisons I’ve drawn between iOS and Android ecosystems. I’ve been an Apple fan for decades. But I’ve tried to be as unbiased as possible and truly allow my feelings of day-to-day use dictate my review. I’ve owned the Pixel 2 XL for over a month so I’m hoping that my first reactions have subsided.

The Google Pixel 2 XL

I love this phone.

I’d been thinking about trying out an Android-powered phone for a few months but I think what pushed me over the edge was how many YouTubers rated the Pixel 2 so highly. Many tech reviewers have the privilege of getting their hands on dozens of phones. Which phone comes out on top (or very close) of most of their lists? The Pixel 2 XL.

I switched to the Pixel 2 XL from an iPhone 7 Plus. The iPhone 7 Plus was a great phone — easily my favorite camera system in an iPhone — but not as comfortable in the hand as the iPhone SE. For a sense of how much I liked the iPhone SE you can read what I wrote here.

By going from an iPhone 7 Plus to a Pixel 2 XL I upgraded the camera system in a number of ways. Front-facing portrait mode is far more important and useful in daily use than I could have imagined. I think Apple has missed an opportunity on the front-facing camera for years. It is likely used more often by younger people and yet the hardware and software driving the forward-facing camera is always superior on iPhones. With the Pixel 2 XL both cameras are fantastic and both offer the same software features.

Photo: A rather terrible photo of the Pixel 2 XL’s ambient display. Notice the icons.

The Pixel 2 XL has a few features that are not available on next-generation iPhones, namely; a lightning fast fingerprint sensor, squeezable sides, screen that wakes with a gentle double-tap, an ambient display with clock and gentle notifications, and “what’s playing” feature (showing you what music is currently playing) that is always on.

My phone is my primary camera. On hikes, walking downtown between meetings, or traveling – I like to be quick so I don’t miss any moments. With the iPhone 7 Plus I was like Bruce Lee with nunchucks. If I spotted a fleet-footed while on a hike I could likely capture it. After a few weeks with the Pixel 2 XL I’m beginning to feel my muscles learning the new gestures and maneuvers to get my groove back. One feature that makes this even better than iPhone 7 Plus is being able to double-tap the power button to invoke the camera app of my choice on the phone.

The Google Assistant is a primary feature of this phone. I’ve always wanted to try a different assistant than Siri but Apple simply does not allow you to do so on iOS. You can download the Google Assistant app but it is a neutered experience. iOS does not give third-party apps the control they need to be useful and there is no way to invoke the assistant easily.

On the Pixel 2 XL I have several ways to invoke the Google Assistant. I can squeeze the sides and nearly instantly I can begin making my request. I can say “OK Google” at any time and, again instantly make my request. And I do mean instant, unlike Siri, there is no pause needed between “OK Google” and my request. With Siri I need to wait for the “ding” sound. And lastly, I can long-press the home button to invoke the assistant.

The Google Assistant’s  results are much better than Siri. It gets my query correct the majority of the time. I don’t know what my success rate with Siri is but I would say it is less than 50%. I got so fed up with Siri that I only used it to ask for the weather each morning. With the Pixel 2 XL I’m using the Google Assistant multiple times per day. And, I use it for things that aren’t even possible on iOS like turning down my screen brightness, turning on or off my flashlight, taking a picture, etc.

I charge the Pixel 2 XL at night while I sleep and I routinely plug it in with greater than 50% battery life. I have changed no settings on the phone to extend the battery life. In fact, I’ve turned on the ambient display and “what’s playing” features which warn you that it will use more power. In my use, even with the “always on” features turned on, I have no issue at all with battery life. I also appreciate that it charges with USB-C. I can plug it directly into my MacBook Pro, no dongle.

To sum up, the Pixel 2 XL hardware is as good as the iPhone 7 Plus (and likely the 8) and has a better front-facing camera system, more options, and the squeeze feature.

Android 8.1

I bought the Pixel 2 XL within days of Android 8.1 shipping. Coming from 10 years of iOS, and the very limited number of user preferences it affords, using Android has been really fun. If I was a new user I could leave all the defaults as they are and be happy. However, I’ve enjoyed the number of options Android has.

One of the complaints about Apple I’ve heard the most is that they make too many choices for the user. My rebuttal to that has always been “Yes, but they make good choices”. However, two things have changed in recent years.

First, Apple is making worse choices. I know this is subjective but more and more I’m convinced that Apple’s choices are becoming more anti-competitive than they are user-focused. I can understand limiting some of the user preferences in iOS for the first few years to allow the platform to become rock solid, then slowly add more features and settings. But iOS is over 10 years old and there are a few options that Apple has, in my opinion, criminally omitted from iOS like being able to set default browser, email client, maps app, and assistant.

Second, the resources of these mobile devices are beginning to compete with the speed and storage of slim laptops. The devices beg to be used heavily, for work, and for play. I would say for many people their primary “computer” is their phone. So we are entering an era where it becomes a work horse for people. Steve Jobs thought we’d always have pickup trucks (desktops or laptops) while also owning cars (mobile devices). Well, I believe these mobile devices are beginning to become very pickup truck-like for many. And, let’s face it, a huge number of pick-up truck owners don’t even need them. They just like the look. This mean that the mobile OSes must also become work horses. And that means more options, better compatibility, and power user features.

This is a very long winded way of saying that I wanted to take back more control of my OS and Android allows me to do that. I can tweak Android in far more ways than I expected – even down to choosing a different launcher. Microsoft has one, there is another popular one called Lawnchair (cute name), and dozens of others. These change the device in both subtle and dramatic ways to become whatever the user needs. It makes so much sense. Imagine a launcher built specifically for young students?

To sum up, Android gives users far more control over their devices than iOS.

How Android is better than iOS

Photo: Notice how app folders appear directly below your tap, not in the center of the screen.

  • Powerful notifications – On the ambient display there is a subtle icon letting me know there is a notification for an app. In the status bar that icon is on the left-hand side. Pulling down gives me actionable, and “snoozable” items to deal with. You really need to play with it to understand. iOS’s notifications are clay tablets in comparison.
  • Do not disturb – I’ve found Android’s do not disturb preferences to be far more sane than iOS. Apps do not continue to beg me to turn on notifications. DND turns on when I go to bed, and turns off when I wake up. It turns on while I’m driving (something Android has had long before iOS). It can also be turned on by turning my volume down one click more than just “off”. It is a brilliant feature that is useful for theaters. Also, DND watches your calendar, if you’re “Busy” it turns on DND. At first I thought this would be overbearing, but in fact, it is incredibly thoughtful and sane.
  • An always available back button – iOS 7 brought a “back” button to the top left of the OS. But this is a terrible place for it. Android has an always available back button on the bottom left (bottom right on Samsung I think). It doesn’t just bring you back to the previous app but back in every context. It remembers exactly where you were last and takes you there. When I pick up my iPad I’m always reaching for this back button now.
  • App size – Android apps, and certainly updates, appear to be tiny when compared to their behemoth iOS siblings. Some daily use apps are less than 5Mb on Android. I’d love to take the time to do a true 1-to-1 comparison. My gut says the differences are substantial.
  • Device compatibility – I can plug my phone into my MacBook or Windows 10 PC and see the files on it. It almost seems absurd that Apple never created a similar sandbox approach like this to be able to store files or access files created on the device. This comes in very handy.
  • Home screen reachability – icons on your home screen can be placed anywhere you prefer. Naturally they are on the bottom of the screen because that is where your thumb rests. A feature that I’d bet will be in iOS 13 but that Apple stubbornly hasn’t brought to iOS yet.
  • Widgets – widgets aren’t for everyone. Some of them are poorly designed. But there are a few that are unobtrusive and simply make sense. In the screenshot of my home screen above you can see two in use – one for calendar and one for weather. But many apps ship with widgets that you can place on any home screen panel. I’ve seen others that have note taking apps on their own panel. They just swipe and start typing. It is pretty nice.
  • New app icons – When a new app is installed you can choose to have the icon be placed on your home screen or not. I’ve chosen for all apps to go into the app drawer and keep my home screen tidy. I love this option.
  • Folders open under your tap – This is a subtle thing. When I tap on a folder on my home screen it expands directly in place where the tap happened. It doesn’t open in the center of the screen. And, the app folder is only as big as it needs to be depending on the number of apps in it.
  • Split-screen apps – I’ve used this more than I thought I would. I’ve used it for note taking in certain circumstances but also for phone conferences. I can have my email open and my phone app open to type in the 8 digit pin that I received.

How iOS is better than Android

There are a few things that iOS clearly beats Android on and I’d be remiss if I didn’t point them out. Here are a few that I’ve found that I notice in day-to-day use.

  • Smooth scrolling – iOS really does scroll like butter. I don’t know what Apple does that Android engineers can’t (or don’t, or won’t) but the scrolling on Android isn’t nearly as buttery smooth as iOS. The gap has closed considerably in recent updates but there is still a long way to go.
  • Cursor movement and text selection – I wouldn’t say that iOS great at this, but it is better than Android for me so far. I also feel like this might be a muscle memory issue. I’d like to see Google bring some of iOS’s keyboard dragging features to Android. I’m getting better every day though.
  • Scroll to top – On any list in iOS (say, your contacts list) you can scroll to the top with a single tap on the status bar. Unless I’m missing something, and I’ve asked a few Android users, this simply doesn’t exist on Android. So if you scroll way, way down on your contacts list and you want to get back to the top you have to flick a million times like an animal. Please, if I’m missing something write in.
  • Safari’s Reading List feature – Even with Unmark (which I use daily) I still used Safari’s Reading List every day. Google has, inexplicably, added a “reading list” to Chrome for iOS but on no other platforms. Perhaps they did this to compete with Safari on mobile platforms but why not have it sync with desktop Chrome? Anyway, Google can quickly get on this please because I neeeeeed it.
  • Dictionary lookup – On iOS you can long press any word and get its definition. Because my vocabulary is as deep as a kiddy pool I use this feature a lot. I’ve installed a third-party app that does this on Android but it should be built-in.

So far I’m very happy with my choice to give Android a try. I’ll be using the Pixel 2 XL and Android for the rest of 2018  and plan to reassess where both platforms are at that point.

Snapthread 1.5 Beta

Becky Hansmeyer:

I’m going to do something I’ve never done before: ask people to beta test my app! If you’re interested in being a part of my very first beta test, please either send an email to feedback@beckyhansmeyer.com or DM me on Twitter (@bhansmeyer). All I need to know is what email address you’d like me to send a TestFlight invite to.

If I were still on iOS I’d want to test this app.

Repost: Becky Hansmeyer re: app icons

👉 Becky Hansmeyer:

Xcode should, by default, generate app icons for all sizes from a single artwork file. That would eliminate such an obvious pain point for app developers and designers.

Universal Apple apps

Mark Gurman, for Bloomberg:

Starting as early as next year, software developers will be able to design a single application that works with a touchscreen or mouse and trackpad depending on whether it’s running on the iPhone and iPad operating system or on Mac hardware, according to people familiar with the matter.

Remember the many times I’ve written that I wish Apple would combine iOS and macOS into a single operating system that simply adjusts based on the device it is running on? That isn’t what this is, but it is still a great step in the right direction.

Me, a little over a year ago, regarding the Surface Book with Performance Base:

I’ve long written on this blog that I believe Microsoft’s vision of one operating system for both contexts is better than Apple’s two-OS approach. John disagrees with me on this. And I don’t know that there is a right or wrong answer but there certainly is a preference. My preference is to keep my “power user” stuff at my fingertips for when I need them but to hide them when I don’t. The Surface Book does this.

When I was testing a Surface Book for a time I had what I felt is the best of both worlds. I came into my office, docked on a large monitor, and got to work. When I wanted to be mobile and work out of a coffee shop, I could be and everything came with me. Then, when I wanted to read on the couch I could undock the screen and use it like a Surface. Windows 10 would adjust to whichever context I was in. It was either optimized for keyboard / mouse input or for touch.

I still believe this is the correct approach. And we’re starting to see more of it. Look also at Samsung’s DeX that allows a phone to plug into a display and give you a slightly different interface, drag-and-drop, etc. for getting your work done. There are countless number of professionals where this type of setup would not only work well – but it would be ideal and less expensive or confusing than having disparate devices.

This proposed strategy for Apple, that Gurman says he has insider information on, isn’t the same path that Microsoft is taking. It isn’t one device and it isn’t one operating system either. Gurman isn’t saying that Apple is going to release a single OS for all devices but rather that the app binaries will run on multiple devices and operating systems. It is more akin to Microsoft’s Universal Windows Platform. Many Windows UWP apps and games can run on Surface tablets, PCs, and Xboxes. This is amazing. I’m sure Microsoft users love it. Wouldn’t it be cool if Apple allowed the same app to run on Macs, iPhones, and Apple TVs? Wouldn’t that also allow many great iOS apps to suddenly be useful on macOS? I can think of many iOS-only apps I’d love to have on my Mac.

I welcome this if it happens.

I feel like these approaches are just stops along the road to a unified device that runs a single operating system and can work in many contexts. In some ways, it is the largest advantage that Augmented Reality will bring to the professional workplace. Put on your glasses and work however you’d like. Small window. Huge window. On a 3D object. Or on Mustafar with Tie-fighters flying overhead.

Until then, I’d love an iPhone 7 Plus-sized device that ran a single operating system that “worked like” iOS while on-the-go, and that I could plug into a large monitor and give me full macOS experience. That, for me, would be ideal. Until AR is ready.

Apollo for reddit

Apollo:

Apollo is built by a former Apple employee with feedback from thousands of Redditors to sculpt the best client possible. It features a beautiful, native iOS design, smooth, customizable gestures, fast loading pages, a supercharged Media Viewer experience, a powerful, full Markdown editor, a Jump Bar for lightning-fast navigation, and so much more. You have to see it to believe it.

This is easily one of the best iOS apps I’ve ever used. Even if you don’t use reddit often it is worth having for wasting time on reddit.

iOS shelf apps

Des Paroz:

One of the great things about iOS 11 is the multitasking capability, and with it the emergence of so-called ‘shelf’ apps.

I had never heard of the term “shelf apps” until I read Des’ post.

Creating Summit: The current summit view

This post is the first in a series of posts about my experience building and designing Summit. This post focuses on just one view within the application; the current summit view.

The idea for Summit came nearly 4 years ago as far as I can tell. I’ve hunted around for scraps of paper, digital notes, code snippets to see if I can come up with an exact date but I’ve been unable to. And it has been fits and starts for several years.

When Kyle Ruane and I started on the idea we first thought the UI would be a bit more game-like. I envisioned a 3D model of the current mountain you were hiking that would progress the person up the summit in first-person towards each goal. This was altogether too much work, and far too difficult given my unfamiliarity with the platform. Kyle’s suggestion – again, many years ago – was to use a low poly look. He would craft a low poly representation of the summit and we could allow the user to move around in it, perhaps even spin it around, zoom in-and-out, etc.

I pulled that thread for a very short time before giving up. Remember, we started toying with the idea of Summit before Swift was released. So I was trying to draw this UI with Obj-C. Something I’m even more terrible at than Swift.

Here is what one attempt at drawing progress lines using Obj-C looked like back 4 years ago or so. I took this screenshot in June 2014 and was already labeling it “historical junk” in my files.

The red triangles were goals to meet, the blue line was your path, and the white line was your progress so far. My goal was to overlay this on top of the low poly art that Kyle drew. This was inspired by maps like this. (copied here for archival purposes)

This worked but was not that easy to pull of, introduced more complexity than we needed, and so we quickly shelved the idea until we got more familiar with the platform.

In tandem I began constructing a simple web UI to start cataloging steps from a phone. This was purely to get used to writing code that would track user’s steps, show stats, work on our step algorithm (the code that determines how far up Mount Everest a single step walking in a downtown city parking lot gets you), etc.

It went this way for a few years. I would open up a code editor and begin working on the pieces of Summit; the progress UI, the algorithm, the code to read from a user’s step count or HealthKit or Apple Watch.

In June 2017, when I picked up this project on my own to take on since Kyle had moved away, I decided I needed a simpler approach to the UI. In part because Kyle is the design genius but also in part because I wanted to get as quickly to shipping an app as I possibly could. I prefer to iterate on ideas with user feedback than to work on something in a silo for years. I wanted a way to show the summit, or some visual from the summit, but yet also show one’s progress. And I also still needed multiple goals per summit.

Here are a few drawings from this summer.

See, I’m not an artist. Admittedly, though, this wasn’t an attempt to draw anything beautiful but rather to get a general idea for all of the views I needed to pull off the layout. I needed some labels, some buttons, navigation, etc.

The long goal buttons was really “a punt” on my part. I gave up trying to get Xcode’s Storyboard feature to properly align a changing number of goal buttons (since each summit has a different number of goals) in a way that worked with each device size. It was very frustrating. So I began to go down this path of having them just be full-width, flat buttons.

But then I ran into Brian Voong on YouTube. In most of his video tutorials he suggests forgoing the Storyboard feature and using code to create the UI. Though I didn’t want to lose the progress I had made, I’m so glad that I took his advice. Writing UI directly in Swift is far, far easier (for me)  and seemingly more powerful than using Storyboards.

This revelation allowed me to go back to a drawing I did a month earlier. This one:

On the left, the elements needed, on the right, a rough sketch of a much more minimal and airy design of the current summit view. The goal buttons have varying distances between them relative to how far apart they are in real life (I’m still working on getting this right in the app).

Using Swift I was able to make this happen much easier than Storyboards.

The above is one of the very first swings at this view. It had all of the elements I wanted. And I’ve been iterating on this specific design ever since. I wish I had the hundreds of iterations saved but I don’t.

Here is what the most recent iteration looks like with goal buttons that are easier to determine your progress and other tweaks to make the UI more consistent.

This is the design for this view I’ve settled with for now. I have plans to iterate on this current design for some time before, perhaps, taking a whole new swing at it. Perhaps my skills will grow to the point that I feel confident going back to Kyle’s low poly idea. But, I’m pleased with how it has come along so far.