Great great episode, even though a lot of time is devoted to Marco arguing against the removal of the headphone jack. He's got a lot of great reasoning backing up his position, but it doesn't matter. The iPhone headphone jack is going away very soon, and in a couple of years we won't miss it at all.
Requiem for a Headphone Jack →
But here’s the thing about that notion: it’s said every single time Apple does something like this. The removal of the floppy drive on the Mac. The lack of a physical keyboard on the iPhone. The removal of the optical drive on MacBooks. The end of the mouse. The removal of USB ports. Etc. Etc. Etc.
The outrage is as palpable as it is comical. Then everyone calms down. The news cycle moves on. People buy the new Apple device anyway. Life continues. All competitors copy Apple’s once-controversial move. And technology ends up in a better place as a result.
Because, ultimately, this isn’t about “Apple knows best,” it’s about progress. You cannot move forward if you don’t sever the ties to the past at some point. As Gruber points out, Apple seems to be particularly astute with its timing in this regard, but I’d argue these changes would ultimately happen regardless. They’d just happen a lot more slowly.
Exactly. I don't even understand how people can be upset about Apple removing old technologies from their devices anymore.
How Snapchat's Filters Work →
Such incredible technology enabling such ridiculously fun and pointless features. I love it.
SFSpeechRecognizer for iOS →
There's a lot of good stuff in this What's New in iOS 10 document. One thing of note, though, is there is now an API to easily initiate a speech to text session programmatically:
iOS 10 introduces a new API that supports continuous speech recognition and helps you build apps that can recognize speech and transcribe it into text.
Relevant sample code:
let recognizer = SFSpeechRecognizer()
let request = SFSpeechURLRecognitionRequest(url: audioFileURL)
recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in
print (result?.bestTranscription.formattedString)
})
Not as amazing as the SiriKit API offered up to certain categories of app, but could be really nice while we wait for that list of supported categories to grow.
Last Week Tonight with John Oliver: Retirement Plans
Great financial advice, as well as some excellent tips on things to google.
SiriKit →
As hoped (expected?), Apple (finally) released a way for developers to integrate with Siri:
SiriKit enables your iOS 10 apps to work with Siri, so users can get things done with your content and services using just their voice.
Unfortunately, only specific app domains are supported: Messaging, VoIP Calling, Payments, Ride Booking, Photo Search, and Workouts. Seems like a pretty big oversight to not have a todo/list domain, which means that I'm not going to be able to add a Siri integration for Kitchen Sync just yet.
Binge v1.2
Version 1.2 of Binge is out today. Here's what's new!
New & On Deck
Previous versions of Binge had a section at the top of the user's Movies and TV Shows called "Recent" that would attempt to float content they were most likely to want to watch to the top of their list. However, users have been confused about how things were determined to be "Recent" and sad that Binge didn't include Plex's "On Deck" functionality.
With v1.2, "Recent" is now "New & On Deck". The new title should be a lot more clear to users, and behind the scenes I'm relying a lot more on Plex's On Deck algorithms. If a Movie or TV Show has been added or viewed in the past month, it's considered "New & On Deck". Of course, only unwatched content shows up in this section.
Section Index Updates
On iOS, if you have a tableview of content, you can choose to display a letter index down the right side of the screen to let the user jump to an area of content quickly. As far as I can tell, this functionality has not yet been extended to Apple TV. So I had to write it myself.
With v1.2 of Binge, there's now a ★ icon at the top of the section index, so that users can quickly get back to the New & On Deck section of the app if they've scrolled to the bottom of a list.
Additionally, with previous versions of Binge, the first letter to be focused in the section list would always be the letter directly to the right of whatever had been previously focused by the user. Now it smartly focuses the letter that corresponds to the previously focused movie or TV show. So if the user has "Captain America: The Winter Soldier" focused, then moves to the Section Index, the letter "C" will be focused for them.
Daniel Steinberg: A Time Lapse look at Swift →
Dan Steinberg is a living legend.
Spotify Brings Back the Tab Bar on iOS →
The good news today is that the classic tab bar is back in style at Spotify. Starting today, the company is rolling out a redesigned navigation experience on the iPhone (pictured above) with five tabs across the bottom – Home, Browse, Radio, Library, and Search in the middle.
This is a huge UI upgrade. I'm not as anti-hamburger as some folks, and I think that there are situations where it is the right high level navigation choice. But Spotify absolutely needs a tab bar.
In Praise of Swift →
Glad to see that Brent Simmons is getting on the Swift bandwagon:
I’m at the point where I get bugged if I have to write Objective-C code.
...
Writing Swift code feels like driving a hot rod. Sometimes it feels like driving a hot rod into a brick wall. But still: it’s a goddamn hot rod.
Objective-C was (is) great. Swift is greatER. I write both languages almost every day, and I greatly prefer Swift. As Brent points out, sometimes it feels like you get the rugged pulled out from under you, but on the whole writing in Swift feels fantastic and efficient.
