Category Archives: Apple TV

Living Room Engagement

I am home from Apple’s New York “Apple TV Tech Talks.” These events are always a joy to attend, because they combine some of the high quality preparation and delivery that we’ve come to expect from WWDC, with the refreshing brevity and focus of a one day event. Oh, and they’re totally free, apart from the transportation and lodging you might need to pay for.

I went to the event with some uncertainty, because I am skeptical about my prospects developing for the Apple TV. The platform inherits many of the pricing and marketing challenges of iOS, with the added constraints of working with a shared-user ownership model, limited user input, and a bias towards entertainment software suitable to somebody reclining on a couch.

Although I didn’t come away from the tech talks with a clear inspiration for a “killer app,” I did think a bit about the high-level classes of app that are likely to be successful on Apple TV. This is somewhat off the cuff, so I might be missing something big, but I think Apple TV apps will fall into these main categories:

  1. Passive entertainment. This is the obvious, classic use case for television. To succeed with this model, you will probably need to have access to your own library of streaming media. Past and present episodes from a network television company are a canonical example for this kind of app. Indie app developers are unlikely to succeed in this realm, except as consulting engineers for media companies.
  2. Games. When the earliest video game consoles came out over 40 years ago, they introduced interactivity to the previously passive experience of using a television. It seems appropriate then that on the Apple TV, interactive entertainment in the form of games will remain a top-tier use case for the device. This is great news for indie developers who happen to be interested in game development, but for those of us who have tended to focus on productivity or creative software, there is little to lure us here, either.
  3. Interactive entertainment. In addition to the passive video programming that we associate most closely with television, there is an opportunity to engage users with the level of interactivity found in games, but with an aim to educate or entertain in a non-goal-oriented sense. For example, an app that makes it easy to kick back on the couch and subject oneself to a never-ending supply of dictionary definitions, or Wikipedia articles, would fit in here. Indie developers may have opportunities here because or the large amount of open sourced or government owned data that could be leveraged to build apps that present this data in novel and engaging ways.
  4. Interactive construction. The default input device for the Apple TV, the Siri remote, is pretty limiting for tasks like text input and other productivity-oriented tasks that we take for granted on a computer or iOS device. But what it lacks in precision it makes up for in crude expressiveness. Imagine apps that leverage the expressiveness of the remote’s touchscreen, or its ability to reckon its ever-shifting position in 3D space. Imagine a family gathered around the dining table, with a large blank piece of butcher paper and a variety of creative tools on hand. What does the family do to the paper? Anything you can imagine that empowers a family to be collaboratively creative on the screen, as they would otherwise be on that paper, is a potential hit for the Apple TV.

What am I missing? I know there must be huge categories of Apple TV app ideas that are going to be obvious in retrospect. Two years from now, we’ll look back at a hopefully robust catalog of Apple TV software and find many examples of classic “if only I had thought of that!” ideas. I’m still fairly skeptical that I’ll be one of the developers who stumbles on groundbreaking ideas for the platform, but I credit the Apple Tech Talk with at least getting my thinking moving in the right direction.

Everything But The Web

Since Apple announced the new Apple TV on Wednesday, we developers have been poring over the details of what the SDK will, and what it won’t allow us to achieve on the platform.

One of the most surprising, and most impactful limitations to the SDK is that it provides no facility for presenting web content in an app. Not only is there no built-in “browser” on the Apple TV, third party apps are unlikely to be able to offer any web browsing functionality.

This is a big deal, but many people see it as a wise choice on Apple’s part: by forbidding the use of web technologies, 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 web content. These offer the same interactive experience that a user would have if they navigated to the company’s site in a browser. Forbidding web views on Apple TV all but guarantees that developers 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 technologies, or whose core functionality is to deliver content — not web sites, mind you — that happens to be formatted with HTML. Daniel Pasco of Black Pixel points out that his company’s NetNewsWire, an RSS news reader, falls squarely into this category. On that point, although I have a hard time imagining the utility of a blog editor on Apple TV, my own MarsEdit would also be “unfairly” restricted by this policy.

As Pasco acknowledges, we don’t know Apple’s real motivation for omitting web views from Apple TV. There may be technical challenges or performance shortcomings that contributed to the decision. But let’s assume for the sake of reasoning that it is purely political, that they want to discourage “web wrappers” and to promote a more native look and feel in TV apps. I propose that Apple could strike a compromise that would serve those ambitions while also supporting the tasteful handling of web content in apps. How? By forbidding network access to web content. Apps themselves could still access the network, but not from within their web views.

Blocking network access from web content would immediately knock out the “web wrapper” type of native app. Any such app that connects to a site meant to also serve regular web browsers will be rendered useless if the referenced resources from the site are not allowed to load. Images would be blank, stylesheets omitted, etc. A clever developer might try to overcome these limitations by taking all network loading into their own hands, but I expect this would be a complicated mess and quickly encourage such a developer to seek a less cumbersome solution.

On the other hand, all apps that use web content tastefully would be liberated to continue doing so. Whether an app simply uses a small web view here or there to support the native UI with styled text and images, or if it is a full-fledged news reader like NetNewsWire, the ability to capitalize on WebKit’s core functionality to convert web content into a visual format should be no more controversial or politically limited than the ability to process TIFFs, JPEGs, and PNGs and turn them into attractive, or not so attractive, visuals in an app’s interface.

I’m not sure where JavaScript support should stand in this “compromise.” It would be somewhat ironic to omit it, seeing as the Apple TV supports a whole framework for creating apps that is based in JavaScript, but I can also see an argument that supporting JavaScript in web views is too much of a lure away from using native iOS technologies. Personally, I think they should include it and let developers decide whether there are suitable use cases for it, but I imagine the vast majority of current iOS developers would be extremely satisfied to be granted the mere ability to render static HTML content in their Apple TV apps.

I’m excited about the Apple TV even if, like many developers, I haven’t quite wrapped my head around what I could or should develop for the platform. These major announcements from Apple always come with a healthy mix of tantalizing allure for the possible, and sobering reminders that Apple defines the constraints in which we must operate. The lack of web views on Apple TV was not a constraint I imagine most developers were anticipating. I hope that it does achieve the laudable goal of encouraging more developers to embrace native designs, but I also hope that Apple loosens up and finds a way to allow responsible developers to use a powerful set of technologies that we’ve grown accustomed to relying upon.