Wow. Thank you and welcome to the Apple TV Tech Talks.
I'd like to welcome all of you here today.
My name is Allan Schaffer.
I'm the Game Technologies Evangelist here at Apple.
Welcome to the Apple Campus and to our event today.
And thanks for taking time out of your guys schedules
to talk with us today.
Yeah, we have a great day of content planned for all of you.
And I know that you guys love detail.
We're going to be going into a lot of detail through the day
on designing and developing apps for tvOS,
a lot of the best practices and a lot of the technologies
that are involved there.
But also we want to get -- help you to understand the mindset
and the philosophy of this platform because it's different
than developing for iOS.
And so we'll be spending some time in this session
and other sessions throughout the day
to help you to understand that.
Where I want to start today is just with the reminder of,
essentially, what drew us all here today.
I think all of you would agree
that television plays a major part in people's lives
and people really understand television, you know,
and how that is part of their home and part
of their everyday experience.
And, you know, back in September, we were --
when we introduced the Apple TV, we talked then
about how the pace of innovation
for television has not really kept
up with what we have all seen and what all of you
and us have been a part of with iPhone and iPad
and with the App Store,
where that's been an absolute transformation
over just a few years.
And what we think is that it's going to be possible for us
to enable that sort of rate of innovation and for --
that all of us together can bring that about for television.
And so that's why we've said now that the future of TV is apps.
And to be clear, these are your apps, right,
apps that you choose, apps that provide you with the content,
I mean, with the experiences that you want to have
on your television, right?
And I'm talking also about, to a developer audience here,
so these are apps that many of you either have had
or will have a hand in building.
So let me tell you a few that I'm thinking about here.
Of course, first, this is a great media platform.
So it has great media apps like HBO NOW, and Netflix, Hulu,
SHOWTIME, and et cetera.
And those are there to deliver a really great entertainment value
so that people can follow their favorite shows, watch movies,
and, you know, catch a movie, and so on, and all of them
with an experience that is really optimized
for the new Apple TV.
But the point is actually not just that they're all there,
but that you choose the apps based --
and you personalize your television experience based
on your interests, right?
So maybe you're into fitness, and so in that case you might
like apps from, you know, a great workout app
like this one from Zova.
Or if you wanted to do shopping, well, here's a great app
from Gilt that you can use to do shopping on your television.
And then also, you know, there are some incredible games
that are going to be there as well like Beat Sports.
You've seen this one before.
You know, this is something that really kind of gets you moving
with music and rhythm and the physicality
of the Apple TV remote.
Then a new generation of games also becomes possible here.
You know, games like Disney Infinity
that are previously only been available on consoles.
And just to be clear, this isn't just all
about big brands and big studios.
Apple TV is an opportunity
and can be an opportunity for all developers.
And really it's for people with ideas that are fresh and new,
apps that are really, really clever.
Like this is Does Not Commute from Mediocre just, you know,
this is a two-person team out in Sweden.
They won an Apple design award for the iOS version of their --
of this game, and now they've brought it over onto tvOS.
Here's Alto's Adventure from Snowman.
This is three guys up in Canada.
And it's this really mesmerizing side scrolling,
procedurally generated endless runner, but what's so cool
about it is just sort of the atmosphere and the feeling
that you have while you're playing this game.
It's kind of hypnotic, you know,
how you're moving your character around here.
You'll see this game a lot today.
Switching back over from games now
to entertainment apps as well.
You know, if you're into comic books,
you got to check out this app.
This is Madefire, and it's this digital comic book experience
but made for television.
It's not reading the comic books to you.
It's not just playing them.
You read the comic books, but the pages really come alive
with sounds and motion and a parallax effect, and so on,
and interactivity in these pages as you're reading the books.
Last one here, Sago Mini Fairy Tales.
You know, this is another really small team
that makes children's apps.
And so, you know, here, this is for kids and they're creative,
it's fun, and it's just really,
really captivating for small children.
So -- and then there's a whole lot more, of course, right?
So -- and I think something for all of you to think about is
that you really -- we're here right
at the beginning of this, right?
This App Store has only been opened
for a little over a month now.
And, you know, of course,
it already has some amazing content here,
but there's an incredible opportunity here.
It's, really, we think it's going to help
to shape the future of television.
Now, so with that in mind, let me talk about the device here
and the new Apple TV that we introduced back in September.
You know, as we said then,
so this is based on powerful hardware.
It's running tvOS, which is a modern operating system.
It is designed specifically for the living room.
And built around a new user experience based
on the Siri Remote, right?
But what gets me sort of really excited
about this new Apple TV is developer tools and an SDK
so that we can all build apps for this device.
And, you know, I'm looking out at you
and I've met many of you before.
And many of you have said to me over the years like, "Allan,
we want to have an SDK on the Apple TV."
And so, now, here it is.
And I think, here now,
the experience here is just incredible.
And then the last part, of course, is to have an App Store
so that people can discover the apps that they want person --
and personalize their television experience.
So where I want to go today next is to start --
is to talk about some
of the fundamentals behind developing for tvOS.
And really, this is about the mindset that you need to have.
We'll be getting into a lot of the technical details
and design specifics through the course of the day today,
but this is just to lay the groundwork for the rest
of the content today, and help you to understand the things
that we see as being the fundamentals that are different
in mindset from developing for iOS.
And the most fundamental of those is --
with the new Apple TV is the interaction model
and what we call the living room experience.
So this is characterized by a new focus-based input mechanic
and a UI presentation of course, that's all built around touch,
but unlike an iPhone or an iPad,
where you are directly manipulating the content that's
on screen under the glass of the touch surface, here,
the device is being used from a distance,
and it's all controlled through indirect interactions using the
And that interaction model has really profound impact
on the way that you design your apps, right?
So, you know, people's attention is on the big screen that's
across the room from them rather than being focused on the remote
or focused on the touch screen
where they can see their fingers touching the glass.
So in your apps, people will need then extra reinforcement
to help them feel really connected with that content.
So that when an element moves into focus, it's actually seems
to come closer to you, right?
It's scaled up, a drop shadow is put behind it.
That's to help them feel connected.
And then it moves and it response to your touch.
And the surface looks like it has a bit of a shine on it
as you move that around.
All of these things are working together in concert to help you
to maintain that connection with people using your apps.
Now, another aspect to the living room experience is
that this is a platform
where people will use your apps together or with the rest
of their family or with their friends, right?
Interacting with each other as much as they're interacting
with your app and with its content.
And this is contrasted with an iO --
your iPhone, which is very personal and typically just has,
you know, just the single person using it.
You know, here, you need to think about how you will engage
with a group of people potentially in kind
of a communal environment.
And then to further that same idea, you know,
even if people aren't in the room all using it
at the same time, the television is usually shared.
It's in a central location in people's homes
and the whole family might be using it
through the course of the day.
And so tvOS apps have to consider what should happen
if different people are using the same app at different times.
And again, contrasting that with iOS,
where typically it's just one person
for the lifetime of that app.
Anyway, so that's just the start here now
of the living room experience.
And we'll talk about a lot more about how to design for it
and the design specifics in the next session.
The next fundamental that I want to talk about is
that the Apple TV is a device that is presumed
to be always connected to a high speed internet connection
in people's homes, right?
And that really impacts the way that apps
and content are delivered to the people using your apps.
So for media apps, this is obvious, right?
It's a device that is built for the purpose
of delivering great media content,
and so those apps are typically going
to be using our HTTP Live streaming technology
to bring content down to the viewer.
But now, that same streaming idea can apply to non-media apps
into games as well, and much more than on a iPhone or an iPad
where it's presumed to --
you have to have more of a presumption
about handling offline connections and so on.
Here, it's presumed to be always connected
to a high speed network, so your apps can be downloading their
content dynamically from the app story while they're running
and the system then can be managing what's being kept
cached on device.
This has a lot of implications.
You know, apps can be downloaded faster, more apps can be kept
in a fixed amount of storage
because we're managing what's really being cached there,
and so on.
So we'll get into this a lot more.
And then the third element sort of just this --
flipping the same coin here is with Cloud Storage.
Since we are always connected, we can keep people's data
in iCloud or in CloudKit or on your own servers,
and then allow -- to allow that data then to be shared
across multiple devices.
OK. The next fundamental to think of for Apple TV is just
that it -- this is actually potentially a platform
that is -- that establishes a new baseline that you can adopt
for the performance and feature set of your apps.
Now, I think that most of you here
in the room are iOS developers, am I right?
It's not -- Yup, OK.
So, you know, then you know that, for example,
iOS 9 right now and iOS 8,
they both support devices going all the way back
to the iPhone 4s, right?
And many apps out there are supporting
that entire span of devices.
And people do that in a variety of different ways.
Some apps will really tune to the latest hardware
and then provide fallbacks for the older devices,
but some apps just set a performance target and stick
with it and have that same thing go -- regardless of device.
And if that's the case for you,
where maybe you have dialed back your performance targets at all
so that you can support older devices,
then Apple TV really is creating a new threshold
or a new baseline that you can set for that app.
It's kind of a new step that you can take for your performance.
So let's think about this first from the perspective
of performance in the -- what's in the system.
So the Apple TV has the A8 chip.
This is 64-bit, dual core,
but this is potentially much more powerful
than what you have -- may had targeted previously
for your iOS apps.
Now, to be clear, if you are already up at the --
targeting the level of the iPhone 6 and the 6s, then great.
That's what the sort of thing that we love to hear.
But if you had an app that was still targeting, say,
the iPhone 4s or the iPhone 5, but now you can --
but A8 is going to give you a lot
of performance headroom compared to those older devices.
And of course, here, for tvOS, there's nothing --
there's no backwards compatibility or other devices,
older devices that you need to keep supported.
Another one, you have 2 gigabytes of RAM on this device.
So you can really take advantage of that headroom, you know,
and use higher quality assets than you may have been targeting
on your iOS version today.
And think about it, right?
So some images and textures and so on that you design
for an iPhone and, you know, a 4, you know,
4 plus inch display is not going to really hold
up on a 60-inch flat panel.
So you -- but you can bring those assets up.
You have a lot more performance
than you may have had previously.
So, also it's a very capable GPU.
So if you're a game developer, you can bump up the complexity
of your models and use more sophisticated effects.
You know, use higher resolution textures, issue more draw calls,
increase the complexity of your shaders,
or move to a more sophisticated renderer.
There's a lot of things that you can really do there
to take advantage of all of the performance resources
that are available here.
Then there's a very similar story here
on the framework side.
If your -- if it's the case that you've been holding back
on adopting some of the features that are available
in the latest iOS versions, you know, waiting for customers
to upgrade, then, again, here is another chance for the --
all of that to start fresh as well, right?
So if you have not, for example, adopted Metal
because you're still supporting older iPhone, you know,
older versions of iOS or older devices, well now,
every Apple TV with tvOS supports Metal.
Every Apple TV with tvOS supports on-demand resources
and the latest SpriteKit, SceneKit, et cetera,
all of those features.
And so you can take advantage of them here.
Now, something else that might help you with this is
that the Apple TV or -- excuse me --
the tvOS SDK is a separate SDK and tvOS apps stand alone.
And that's unlike iOS, where the same binary of course would --
can be universal across both an iPhone and an iPad.
Here on tvOS, those binaries only run on --
only run on tvOS devices.
And of course, the other thing is that tvOS is also bringing
up the baseline for our toolset as well.
So tvOS apps are all 64-bit,
that means that they only include the arm64 slice
and they don't need to be carrying around any
of the 32-bit slices along with them.
And they are all built with bitcode.
And something to note there as well is that that applies to all
of -- any third party libraries or frameworks
that you may be using as well.
All of those will have to come up to 64-bit with bitcode.
Now, one extra element here, though, is that if you wish
to do so, your tvOS app can be associated with an iOS app
through something that we call a universal purchase.
And what that means is that one single purchase will give
that user both your iOS version and your tvOS version.
And obviously, that has a number of implications, which --
and we'll be going through those in another session later today.
Now, OK. So now, with all of this in mind, of course,
you'll still be using the same development tools,
same languages as you're familiar
with from working with iOS.
So it's Xcode along with your language of choice,
be it Objective-C or Swift or C or C++,
it's familiar environment there.
And also, many of the frameworks that you are familiar
with on iOS are provided here plus a few new ones
that are specific to tvOS.
So let me look through just a couple of these.
You know, of course, there's all the things that you need --
all the basics are there for building apps.
So Foundation and UIKit for your User Interface, CoreGraphic
and Core Animation and QuartzCore for graphics
and imaging, CloudKit and iCloud for data storage,
StoreKit for in-app purchases, and so on.
But next, this is also a very media-centric device, right?
So we have a very rich stack there for audio and video apps.
So starting with audio, we have the Audio Toolbox, CoreAudio
and OpenAL for games, and then AVFoundation
and AVKit for video playback.
Then there's also a new framework, TVML --
TMVLKit, so that's a template-driven approach
to presenting and browsing media content,
Then on the game side, there's excellent support here
So technologies like Game Center, GameControllers,
GameplayKit, Model I/O for the game technologies,
and then OpenGL ES and Metal for graphics along
with our high level framework SpriteKit and SceneKit.
And then again, OpenAL and the Audio Toolbox for sound effects,
and then rounding that out on-demand resources
in Foundation, cloud storage with CloudKit,
and in-app purchase with StoreKit, and so on.
And so all that is to say --
so this is a very rich set of technologies.
Obviously, this here on screen is just a partial list
and there's a whole lot more.
And so we think that there's, you know, a lot there for you
to build your apps from.
So let me now just recap these fundamentals, these pieces
of the mindset of the platform.
And first and foremost there is the living room experience.
This is an experience that you share with others
and it's all driven by a focus-based info mechanic
and a UI presentation that's built
around touch and the Siri Remote.
Second, being always connected to a network, and leveraging
that to change the model for delivering assets and data
to applications based
on on-demand resources and cloud storage.
Third is powerful hardware which is to --
establishing now for many apps a new performance
and feature baseline.
And then important changes how --
to how apps are packaged with an option
to associate them together with universal purchase.
And then finally, a rich set of tools and technologies.
These are things that you're probably already familiar
with in most cases, right?
And you're probably already using them in the --
your current iOS apps along with a few new editions.
Looking for something specific? Enter a topic above and jump straight to the good stuff.
An error occurred when submitting your query. Please check your Internet connection and try again.