Archive for September 12, 2015

Saturday, September 12, 2015

tvOS and the New Apple TV

Daniel Jalkut:

As announced in the special event yesterday, the SDK is based on iOS and will be very familiar to most Apple platform developers. There are, however, some differences: functionality from iOS frameworks that is not available on tvOS, as well as a handful of new frameworks specifically suited to the needs of “TV apps.”

[…]

The results [for __TVOS_PROHIBITED] are a doozy! But many of the marked items simply wouldn’t make sense on Apple TV, like mucking with the UIStatusBar, are marked as prohibited. There are other tags too, such as __TVOS_UNAVAILABLE, which presumably denotes that technologies that Apple would like to provide but hasn’t yet, and __TVOS_DEPRECATED, which blessedly does not yet match any API provided in the tvOS SDK.

Daniel Pasco:

Webviews are the duct tape of the mobile world. I’d estimate that 50% to 80% of the major apps out there use webviews somewhere within their apps. Apple’s Mail app uses webviews for for your email messages, because webviews can style and render the content very efficiently.

[…]

For a lot of companies, the absence of webview support on tvOS is going to be painful. It’s going to require custom rewrites of those those web-based widgets and views in either native code or TVML, just to support the AppleTV.

Daniel Jalkut:

This is a big deal, and many people see it as a wise choice on Apple’s part: by forbidding the use of web technology, they will encourage app developers to design natively for Apple TV. On iOS, by comparison, a large number of “native apps” that are downloaded from the App Store are in fact only thin wrappers around the same interactive web content that a user would see if they navigated to the company’s site in a browser. Forbidding web views on Apple TV all but guarantees that companies will provide a more tailored experience, designed in the spirit of Apple’s guidelines.

But forbidding web content outright will also be an unnecessary impediment to many developers whose apps are either tastefully implemented with the help of web technology, or whose core functionality is to deliver content — not web sites, mind you — that happens to be formatted with HTML.

Michael Bachand and Adam Michela (via Blake Seely):

The tvOS interaction paradigm presents a unique challenge to developers and designers alike. The new Apple TV pairs a trackpad-like remote with a UI lacking a traditional cursor. As a result, “focus” is the only means by which an app can provide visual feedback to its user(s) as they navigate.

[…]

The focus engine will automatically initiate focus updates at appropriate times like app launch or when the currently focused view is removed from the view hierarchy. Developers can also request focus updates, but any requests must be issued through the focus engine. Since only the focus engine can update focus, it’s here that the focus engine most literally takes on the role of bridgekeeper.

[…]

When an update cycle begins, the focus engine queries the initiating focus environment for its preferredFocusedView. If this view is non-nil and focusable, the focus engine will attempt to give that view focus by issuing the aforementioned notification events through the focus responder chain.

Update (2015-09-12): Daniel Jalkut:

Granted, this is a far cry from a fully-functional web view. I’m sure it won’t serve the needs of all developers who currently rely upon UIWebView or WKWebView, but I expect that in some cases it will be a valuable workaround to the otherwise total omission of support for rendering HTML on Apple TV.

Update (2015-10-04): Benjamin Mayo:

The Apple TV is launching later in October but many of the details about the device remain under wraps. At the announcement, Apple announced that the Apple TV Siri universal search feature will include data from iTunes, Netflix, Hulu, Showtime and HBO. Many had hoped that Apple would be more open with this feature, allowing Siri to incorporate data from third-party services without requiring a special Apple partnership. In a move that will please many, Tim Cook has announced that Apple will offer an API for universal search, after all, via an interview with Buzzfeed.

Now Allowed to Launch Apps From Today Widgets

Steven Sande (in 2011):

Although the Launch Center app works identically to Quickpick, David Barnard of App Cubby just notified me that the app was turned down. The note he received: “We noticed that your app included inappropriate use of Notification Center, which does not comply with the iOS Human Interface Guidelines.”

David Barnard:

I’m thrilled to announce @LaunchCenterPro 2.5 will be released Tuesday with a widget and support for over 100k apps!

After first being rejected for using Notification Center to launch apps in 2011, it’s hard to express how happy this release makes me.

Update (2015-09-16): Juli Clover:

With the new Notification Center widget, it’s possible to add twelve of your favorite Launch Center Pro actions for quick and easy access. You can do things like call a specific person, add an event to a favorite calendar app, get directions home, scan a QR code, send a group text, and more directly from the Notification Center.

Your App Is Collection of Tiny Details

Jeff Atwood (quoting Wil Shipley, via Ole Begemann):

These are, to be sure, a bunch of dumb, nitpicky details. Did the old version feed our cats reliably? Yes, it did. But it was also a pain to clean and maintain, a sort of pain that I endured weekly, for reasons that made no sense to me other than arbitrarily poor design choices. But when I bought the new version of the automated feeder, I was shocked to discover that nearly every single problem I had with the previous generation was addressed. I felt as if the Petmate Corporation™ was actually listening to all the feedback from the people who used their product, and actively refined the product to address our complaints and suggestions.

[…]

Getting the details right is the difference between something that delights, and something customers tolerate.

AirPlay Overhaul for iOS 9

Jordan Kahn:

While the changes won’t affect app developers simply using AirPlay APIs for offering users the ability to stream from within an app to an AirPlay device like an Apple TV, it will break many screen mirroring apps that tap into the AirPlay protocol for screen sharing like Reflector. The apps that are often used in education, enterprise, and within the tech world for things like screen recording and display mirroring to devices not supported by Apple.

Though developers of screen mirroring and streaming apps piggybacking on the protocol will have to implement workarounds to avoid issues with the changes in iOS 9, the overall changes appear to be a move by Apple to vastly improve device pairing and in the process improve the overall AirPlay experience across devices.