Binge v1.5

This update has been a long time coming.

According to my git commits, I started working on the meat of this update in back on October 3rd 2016. That means I've been working on this update in my free time for almost 6 months. Needless to say, I'm really excited to get it out the door.

Let's take a look at what's new, shall we?

UI Updates

I've subtly update a lot of the UI in Binge with this update. TV and Movie sections no longer have titles at the top, font sizes are slightly smaller, table rows are slightly shorter, and poster art is now pushed up to the upper left corner of the screen. Space is now used a lot more efficiently, which makes things cleaner and allows more to be shown on the screen at once.

I've also updated the alphabet list down the side of the screen to indicate which section the user currently has focused.

New App Icon

Binge was originally released under the name "Prime" - a name that lasted only a single point release, but the app icon (inspired by the mathematical symbol for prime) never got updated. Even though it didn't make sense anymore, I still though it looked cool so wasn't in too much of a hurry to update it.

Maybe if I knew that I would be taking 6 months between releases, I would have updated it earlier.

Caching

This is the definitely the change that made this update take so long to develop.

With previous version of Binge, all data was fetched as needed, then discarded almost immediately. So if the user switched back and forth between focusing two movies over and over, their background and poster art would get re-fetched each time the focus changed. Or ever time the app started up, the full list of movies and tv shows would need to be fetched from the server, causing

This non-caching structure was fairly easy to implement, but was not only inefficient and slow, but it would also lead to several situations where focus would jump around in the app when the user didn't expect it to.

Version 1.5 uses Realm.io for data storage, and I think the results are quite impressive. Everything is much more responsive and fluid. Focus doesn't jump around. Images load immediately when possible. And on every app launch after the first one, the user's movies are TV shows lists are able to be displayed immediately.

Even though this change basically involved me rewriting every single feature of the app, I definitely think it was worth it.

Best Picture Nominees of the Last 10 Years

Hard to believe that Cindy and I have been watching all the Academy Awards Best Picture Nominees for 10 years already. There's 82 films on this list, but here's the top 10 broken out if all you care about is the best of the best:

  1. There Will Be Blood
  2. La La Land
  3. Inglourious Basterds
  4. Inception
  5. Whiplash
  6. Mad Max: Fury Road
  7. The Revenant
  8. Django Unchained
  9. Birdman
  10. The Grand Budapest Hotel

Apple AirPods: First Impressions

Having no wires at all is as amazing as I thought it would be.

The sound they make when connecting is really satisfying.

I changed the double tap gesture from activating Siri to "play/pause" and don’t think I’ll ever go back.

So far I don't miss not having volume controls.

People say they look like earrings (which I assume they mean as a pejorative?), but I think they look really stylish.

Switching between different devices playing through the AirPods is a breeze. I was going between 2 laptops and an iPhone all day with no issue.

The range is excellent. I’ve been able to walk 20 feet away from my computer/phone before the signal dropped. 

Initial pairing to devices wasn't super obvious. I spent a while opening the Tic Tac container and holding it up to my laptop before I figured out I had to use the Bluetooth menu.

They haven't fallen out of my ears once.

I have no plans to take them running. I have some $20 over ear wireless headphones for that.

Quality and latency fall off a cliff when using them for for video conferencing. Which makes sense, I suppose, but is still disappointing.

Cloaked

The first iOS 10 keyboard app I got to try out is my one favorite by a mile. It's called Cloaked and was written by my good friend Adam Johnson. Cloaked lets you send encrypted images and text between parties. Once an image or message is cloaked, either the sender and receiver need to authenticate with Touch ID or a passcode in order to view the content.

 
 
 
 
IMG_3801.PNG
 

Cloaked is an essential app if you're the type of person who likes sharing, um, "sensitive" images and messages. But even if that's not your thing, Cloaked is a really fun way of exchanging even the most mundane of messages.

Cloaked is free on the Messages App Store for a limited time.

Techdown #72: An Idealized Ear Canal

Apple announcements are always the great. But this one's particularly satisfying because everyone's been losing their shit ever since. Plus it felt good to start taking about the removal of the iPhone's 7 headphone jack with some certainty.

Aaron and I have the 411.

Jackstification

Those of us who follow this sort of thing learned early on that the iPhone 7 would not have a headphone jack. Which began the season of speculation about what Apple's justification would be for the making change. Jason Snell was especially vocal about this:

To me, that’s the single most interesting bit of stagecraft and script that I’m expecting Wednesday. Not the removal of the headphone jack itself, but how Apple spins the benefit to users who will have to deal with adapters and short-term incompatibilities if they buy a new iPhone. We can endlessly argue about why Apple should keep or remove the headphone jack; what I’m interested in is which argument Apple chooses to make.

As was Marco Arment:

There are clear benefits to Apple — minor savings in parts and internal complexity, some profit from adapters and Lightning licensing, and driving a big Beats upgrade cycle — but nobody has come up with any compelling benefits for customers that require removing the headphone jack and can’t already be done in today’s iPhones.

Now that we are living post-headphone-removal-Apple-Event, discussions have turned to whether or not Apple has successfully justified their decision. Some have been satisfied with Apple's given reasons, others have not. (And others are  just feigning outrage at Phil Schiller's "Courage" comment.)

But I offer that there is another way to look at this: Apple doesn't have to come up with any reason to justify removing the headphone jack at all.

They have to justify keeping the headphone jack.

iPhones fit in your pocket, are getting more powerful and gaining more functionality every year, and are getting thinner every couple of years. Every last feature of that device device needs a very good reason for being there, otherwise it should be gone. 

And between being able to play audio through the lightning connector, Apple's goal to make the iPhone more water-resistant, and their belief that wireless headphones like AirPods provide a superior experience, the reasons for keeping the jack around just weren't there any more.

Kitchen Sync v1.1

An update to Kitchen Sync! Get it while the getting's good.

Version 1.0 of Kitchen Sync had this pull to clear feature that I was actually pretty proud of. It allowed users to use the app entirely with one hand, which is helpful when you're in a grocery store pulling items off of shelves and pushing a cart around.

 
 

But by the most common feedback that I got from users was that they hated the pull to clear. Not only were they accidentally clearing their grocery lists, but it also wasn't immediately obvious that their list was up to date.

Version 1.1 fixes both these issues by adding pull to refresh, and moving the clear button to the upper right corner of the app. Done and done.

 
 

What can I say. I tried something new and it didn't work out.

Binge v1.4

Binge v1.4 is now live! Get it while it's hot.

This is probably the most significant update that I've made while developing Binge. There's a bunch of bug fixes and usability tweaks, but the feature that people are going to care about the most is support for shared libraries.

Combined, Shared Library Support

Now you can see movies and TV shows that other Plex users have shared with you. But unlike other Plex apps where you can only view one library at a time, Binge lets you see your friends' content right mixed in with your own.

Selecting the libraries that you'd like to see is easy to toggle, and can be found in the sort panel (now located by swiping to the left side of the screen).

Movies that are from a shared library have an icon next to their name in the list, making it clear that they're from a library other than your own.

I haven't seen combined shared library support done in this way in ANY other Plex app, and I'm really excited about it.

Understanding Tesla Autopilot

Marco Arment has written up a very good overview of the autonomous features implemented by current Tesla cars.

While I like using Autosteer on long highway trips, frankly, I’m amazed that it’s legal. I don’t think it’s a big enough advance over adaptive cruise control to be worth the risks in its current implementation. I’m scared for what will happen to Tesla and the progress of autonomous driving as more people use Autosteer in situations it’s not good at, or as a complete replacement for paying attention.

Plans

Plans are nothing; planning is everything.
— Dwight D. Eisenhower