Video hosted by Apple at devstreaming-cdn.apple.com

Configure player

Close

WWDC Index does not host video files

If you have access to video files, you can configure a URL pattern to be used in a video player.

URL pattern

preview

Use any of these variables in your URL pattern, the pattern is stored in your browsers' local storage.

$id
ID of session: tech-talks-2013-11
$eventId
ID of event: tech-talks
$eventContentId
ID of session without event part: 2013-11
$eventShortId
Shortened ID of event: tech-talks
$year
Year of session: 2013
$extension
Extension of original filename: mov
$filenameAlmostEvery
Filename from "(Almost) Every..." gist: [2013] [Tech Talk 11] App Develo...

iOS 7 Tech Talks #11

App Developer Day Kickoff

2013 • 1:01:15

Start the day with valuable recommendations for your iOS 7 development. Get inspired by the powerful new capabilities of iPhone 5s and gain key insights into creating next-generation apps on iOS 7.

Speaker: John Geleynse

Unlisted on Apple Developer site

Transcript

This transcript was generated using Whisper, it may have transcription errors.

My name is John Galunzi. I'm the Senior Director of Technology Evangelism. We're the guys putting on the Tech Talks. We've done this for years. We've been to Berlin before, and it's always been a really great experience to be here. So we're pretty excited to be back. I want to welcome you this morning. We've got a great day planned. A lot of really technical content. So, you know, take out your laptops and get ready to take notes. And we've got a real busy schedule as well, so we'll get into the details of what the schedule looks like throughout this morning, but we're really happy to be here. So we've got, as I said, a great day planned, a lot of deep technical content about programming for iOS 7, designing for iOS 7, taking advantage of the tools for developing on iOS 7. and the day is really about helping you understand how to get the most out of the hardware and software that is available today on iOS. And we also have a lab behind that wall in the next room over, and I'll explain more about how the lab is gonna work a little bit later on in this kickoff presentation.

So before I get into sort of the main content of this kickoff, I wanted to start with a couple of significant milestones of things that we've done over the last year that address and respond to the feedback that we've heard from so many of you. So we recently announced that we've shipped over 700 million iOS devices, which is a lot of devices for your apps, and it's an enormous audience for you as a developer. And that includes the 9 million new iPhones that shipped in the record-breaking 9 million devices that were shipped in the first three days when these went on sale. So some pretty incredible sales numbers there. And obviously, all these devices shipped with iOS 7, but since iOS 7 updating is so easy, more than 200 million of these 700 million devices were updated to iOS 7 in the first weekend in which iOS 7 was available. So that was a huge start, a real fast start for us. We were really excited with it, and it's the fastest software upgrade in the history of iOS, and it shows that iOS 7 is the most popular iOS update so far. And it's so popular, in fact, that as of just the other day, we've got stats that show that we have 74% of the installed base is running iOS 7. That's pretty much two-thirds of all iOS devices are running iOS 7. And so clearly, this is a huge ramp-up to the new operating system, and clearly customers love having the latest, greatest software running on the latest, greatest hardware. And so you definitely want to be there with your apps on iOS 7. Now, if you need to run on iOS 6 as well, then you can obviously consider supporting, adding legacy support for those customers. But today is all about iOS 7, and we wanna teach you how to take advantage of everything that is on this release, because that's where so many of our customers are.

Now, we've listened to your feedback over the last year, and we've done a bunch of things for you. And I wanted to talk about a few of these. First is we announced App Transfer. And this lets you move your app from one team to another. For example, if you sell your app or your company gets acquired, this is a big request from the developer community. And this is now available for you. And recently, over-the-air download limits were raised from 50 megabytes to 100 megabytes. And this makes it even easier for people to get your apps, even if they're not connected to Wi-Fi. So as you move to universal binary, as you add support for retina display, as you add all kinds of new capabilities to your apps, they've gotten bigger and bigger over time. And so this is pretty big deal.

we did same-day WWDC videos. For people who weren't able to attend WWDC, and that's true for many of you, we released the session videos the same day. So pretty much at the end of the day, we made the videos available. And what we saw was that this allowed people around the world to follow along and participate in the conference. And it sort of mitigated a huge amount of demand that we saw for the conference because there were so many people that couldn't come to the show. And one of the most interesting things we saw was that because the videos were available at the end of the day for that whole day's collection of sessions, many people who had someone at the conference would watch the videos back home with their team, and then they would contact their one colleague who was at the show and get them to, you know, send them a whole pile of questions that they had, and that colleague or person would go to the labs and get answers from either presenters or from the labs, and so there was this really great feedback loop, and it made a lot of people much more engaged with the content at WDC, and it made it feel like they were part of the event. So we had heard a lot of feedback for this, and we worked hard to make that happen. Hosted in-app purchases. You know, in-app purchase is a great way to generate revenue by selling products and services from your apps, and many of you know that, but at WDC this year, we announced that Apple can host non-consumable content that you sell in your app using an app purchase. And this means there's no additional cost for this, and it can really help to reduce storage and bandwidth issues. So if you didn't know that, this is now available for you, and it was a huge request from the developer community.

And we expanded the volume purchase program. This enables more opportunities to expand your target market by selling your app in bulk to businesses and schools. And so for many developers in the U.S. and around the world, this was a big deal because they're developing apps for schools or large institutions who need to be able to do volume purchase program. And we added some great new ways of viewing sales and trends data in iTunes Connect. and making it easier for you to stay up to date on what's going on with your sales and to know how your app is selling. And we're going to talk a lot more about these reports and how to take advantage of what's in iTunes Connect in the lunchtime session.

So I want to encourage you to make a note to attend that session and learn more about this capability. And finally, among several of the other things that we have on this list, we added the kids category. And this is a big deal for developers who make apps for children because it makes it easier for parents to find age-appropriate apps, and that increases the chances of those customers finding your apps if you participate in that category of application. So kids category, big request, and we worked hard to make that happen. So we're listening, and those are just a few of the things, you know, that are listed here that we've done in the past year based on your feedback. But we're not done. Every year we take feedback from developers and we look to implement as much of it as we can. Sometimes it's hard to do it as quickly as you'd like us to do it, but we really solicit your feedback, and it's important for us to continue to hear from you. So we want to encourage you to keep filing enhancement requests, filing bugs, to keep emailing us. You're gonna see email addresses at the end of the presentations today from all of the evangelists who are presenting. Get email addresses from other people who are in the lab, and keep talking to us today. We want to hear from you today about things that are still missing in the iOS Developer Program or that still could be improved for you as a developer on this platform.

So that's what we've done in the past, but now I'd like to shift our attention to the present. You know, 2013 was a busy year for us, and we got a lot of stuff done, and it was a really important year for several reasons. We saw primarily a fundamental evolution in the iOS platform in 2013, and it started with the introduction of iOS 7 at WWDC.

iOS 7, as you know, is the next generation of iOS, and it's the most significant update to iOS since 2007. You know, we're 2013 right now, and it's hard to believe that iOS 7 is, you know, six or seven years old, eight years old. I mean, it seems like time has just flown. I mean, I've been at Apple for 14 years, and I remember the day that iOS, you know, came out, that the iPhone was introduced, and since then we've had, you know, six major releases of iOS. Now we've got the seventh, and it is the most significant release we've had. And as I mentioned before, we've got hundreds of millions of customers on board with iOS 7 running on their devices already.

And as you know, iOS 7 has got this great new user experience that focuses on people's content and brings a new level of physical realism to the overall user experience. And we're going to get into this in a lot more detail in a session following this one for user interface design. But iOS 7 brings, you know, motion effects that give a sense of depth. It brings text that's far more legible and dynamic. and there's a lot more-- there's new gestures and new capabilities. So the overall user experience of iOS 7 has changed pretty dramatically from what was there before. And we're seeing a lot of apps already that have been redesigned to take advantage of the new user interface of iOS 7 and to fit into this new environment. And I want to show you a couple of examples.

Here's an exciting version of-- here's a new app called Sky Guide from 5th Star Labs. And this is a stargazing app. And they introduced-- they worked on the UI for iOS 7 and introduced translucency, parallax, and dynamic type. So these are some initial things that they've done. But the effect already on the app has been pretty profound.

Zite, one of my favorite apps. It's an intelligent magazine helping you to discover interesting things, articles that are out on the net based on your interests. And they completely revamped the UI and looked to clean up their design, improve the legibility of their content. They enlarged photos and went edge to edge. They added some subtle motion effects as you're scrolling through the content. And they added support for iOS 7 gestures. So again, some preliminary steps for this but the result is a pretty dramatic change to the app as compared to the iOS 6 version.

Here's another app called Just.me. It's a sharing app that offers the best of texting, email, and networking all in one app. And they worked hard to remove all of the extra adornments that they had on screen and to give space to the content that really mattered, which was the content the users are producing in the app. They focused on bigger text, edge-to-edge photos, and minimal distractions. And the result is something that's pretty gorgeous.

Here's Evernote. It won an Apple Design Award this past year at WWDC. And on the left is the iOS 6 version that won an Apple Design Award along with their Mac app and their Safari extension and all the stuff they were doing on the various Apple platforms. And on the right side, you've got the current shipping iOS 7 version. And Evernote chose to reinvent the app around iOS 7. So they stopped, they looked at iOS 7, and they decided to just redo the entire experience as if it was their first version. And that meant that they could throw out some old ideas, some old ways of thinking about things, and restructure the content, lay it out differently, and really optimize for the things that mattered for their customers. And so as part of the redesign, they added translucency and depth with UIKit. They added multitasking background sync. They did AirDrop for sharing of notes, and they did TextKit support for better text management and layout. And pretty dramatic change from where they were before.

Here's American Airlines with a completely redesigned app for iOS 7. On the left is their previous iOS 6 version, and on the right is their new iOS 7 version. And the goal that they had was to improve legibility and introduce a much stronger design aesthetic. And the design that they did for iOS 7 brings in translucency and depth. It's a much cleaner design. It focuses on the content that you really care about, And so there's greater legibility for the things that matter most to you. And the result is pretty dramatic.

And so these are five examples of apps that have been completely redesigned for iOS 7, but there are so many more. These are a bunch of apps that have done a ton of work to revamp for iOS 7. You've got Reader 2, Fantastical 2, Tweetbot 3, favorites of many of you, I'm sure, Perfect Weather, PCalc, GoBank, it was a great app on iOS 6, and they just tuned it, cleaned it up, widened things out, increased legibility. Again, many of these developers did many of the similar things-- similar things that their peers have done, and the results are dramatic. Argus, a new app for fitness. DJ2, new to iOS 7, a new app that's taking advantage of things on iOS 7. HomeSnap Real Estate, great app, completely redesigned for iOS 7. Vimeo.

Albumatic, NBC, Snap Guide, Open Table, and then the Ted app. These are all fantastic apps in and of themselves. And every one of these developers took the time to make a huge effort and to clean up, to change, to improve legibility, and to optimize their UI to fit in with iOS 7. So a real terrific job from all of these developers.

And so these are just, you know, a small set of the hundreds of thousands of apps that are being updated for iOS 7 every day and that have transitioned to the new UI for iOS 7. And as I said, we'll have a session following this one where we're going to go into great detail about how you can transition your UI to iOS 7. We're going to talk about icon design, line thickness, going edge to edge, improving legibility of text, all kinds of things that you need to know about that you may have read about but didn't necessarily know how to approach. And so we'll go into that detail. Now, in addition to the new UI with iOS 7, there's a whole lot of new technology for you to use in the iOS 7 SDK. With every one of the releases of iOS over the years, we've come out with an SDK that has new technology for you to use. And this technology comes in the form of new frameworks or major enhancements to existing frameworks. And none of this is new news to you. So many of you are experienced developers. Pretty much everybody in the room has got an app on the App Store, and so you know this. But I just want to stay high level for a moment in this kickoff session and just remind you that it's in the SDK that you have the building blocks that you're going to use to build your app, obviously. But it's with these building blocks that you can choose-- it's how you choose to assemble these building blocks that makes the difference between an average app and an app that really shines.

And on top of the new UI and the new technology in the SDK, there's a whole new generation of hardware that's just come out. And most recently, we introduced the iPad Air and the iPad Mini, both of them with Retina display. And so now every single one of our iOS devices, I believe, is Retina enabled. And these new devices are incredibly powerful. And they're built around the new A7 chip with 64-bit architecture. and they've got the M7 motion coprocessor.

And on top of that, we introduced the iPhone 5S, which preceded the iPad Air and the iPad mini Retina. But it's another powerful iOS device. And it's built on the same A7 chip, obviously. And it features the Touch ID fingerprint sensor, which adds a whole new level of convenience while also being more secure at the same time.

And all of these things combine, all of these powerful new devices and the release of iOS 7 combine to create and form a new foundation for next generation apps. And helping you get the most out of this new foundation is what today is all about. We wanna help you understand what a next generation app is and how to build one.

So let's talk about what a next generation app is. First and foremost, next generation apps, of course, have to be great. And I talk about great apps all the time. If you've ever been to a Tech Talk where I've kicked off the session before or kicked off before, I've talked about great apps. And yet, over and over, as I meet with developers, people still don't have a good handle on what the definition of great is. So what makes a great app?

Well, it's not just the technology that you adopt. It's not just the APIs that you integrate. in and of themselves, right? Instead, what people care about is how your app makes them feel. What people care about is what your app lets them do. People care about the solution, not so much the collection of technologies or the features per se. And so great apps offer a fantastic solution. In other words, developing a great app is really all about making something that's intuitive, engaging, beautiful, and very, very useful.

Now, there are a lot of characteristics and traits that make an app great, and I've talked about these before. There's a video on the developer website that's somewhat dated now, but where I go into depth on many of these terms. And we've worked with developers for years now on iOS talking about these traits, and they never get old.

In fact, these traits are evergreen. They apply equally to iOS as they do to apps on OS X. And it's important to know that building apps with these traits is essential if you want to build something that's the best. And I thought it would be good to talk for a moment and highlight a few of these so that you understand them a little bit more in more detail.

So first is that great apps are inviting. This means that they leave a great first impression. They have an attractive design that draws people in. And making a great first impression begins on the App Store. It's a function of your icon, which is kind of your business card. It's your calling card. Leaving a great first impression is a function of the App Store description, how you talk about your app. It's a function of which screenshots you've chosen to feature in the App Store. And then the first impression of your app is carried on and reinforced or broken down across every subsequent launch of the app. So if your app gets people into the app and gets them up and running, doing something interesting quickly, looking at interesting content, and doing what they really want, you're going to constantly reinforce that great first impression that they had from the moment they started using it.

But if the app doesn't do those things, and is slow to start, and doesn't get people into what they want to get into, puts barriers in their way, you're going to erode that great first impression. So one way or another, people are going to make an impression, and you will have a lasting impression with people that's either positive or negative, based on how your app behaves. But great apps are inviting. They draw you in and leave a great first impression.

Great apps are also state of the art. And this means that they take advantage of the latest hardware and software. They make efficient use of the CPU and the GPU to get every last ounce of performance out of the system. And they take advantage of the latest hardware enhancements. I mean, we're always featuring our new devices. We're always putting the spotlight on the newest iPhone or the newest iPad and what it can do in its performance. Or over the years, we introduced things like the gyroscope or accelerometer, or now we've done the M7. We've got these new things we put into the hardware.

And apps that take advantage of those hardware capabilities are apps that get the spotlight on them as well. And by integrating with the latest APIs, state-of-the-art apps can also add really cool new capabilities and features based on what those technologies can do. And great apps are well-designed. And well-designed apps have high quality visual design and show a lot of attention to detail.

Well-designed apps are easy to use and familiar by the people that they were intended for. So if you're designing for, say, a radiologist versus a commercial airline pilot versus a football coach, you're going to have apps that are designed for very different audiences and for very different uses. And well-designed apps are easy to use for the audience they were intended for. They're familiar to the audience that they were intended for. They're well-organized. They're uncluttered. They're simple. They're efficient. They're intuitive.

They're stable. I mean, these are high bars, right? But great apps can do these things. And great apps are well designed. And frankly, well designed apps just feel right. They're perfectly balanced. They're just like that one tool that's made specifically for a certain use case. And lastly, great apps stand out. They get noticed for all of the right reasons. You know, there's really nothing like them.

I mean, it's hard to get discovered on the App Store, and it's hard to stand out. You know, it's a challenge to differentiate yourself on the App Store from the hundreds and thousands of other apps that are there. But the way to rise above everybody else is to really create an app that shines and that stands head and shoulders above all of its competitors.

I mean, at the end of the day, your first competitor is for customers' attention. They may have been interested and drawn in by your app. they're given a great first impression, but if they then delete it off the iPhone or their iPad off their device, you've lost the battle. Your first competition is to build an app that is state-of-the-art, well-designed, and all of these other attributes so that you stay on the device, right? Your first competition is for customers' attention. Your next competition is for all of the other apps that maybe are in your category as well that you want to beat out on.

And so I want to show you a couple of examples that demonstrate a few of these traits. The first is WWF Together by World Wildlife Fund. This app is built exclusively for iPad. It's an Apple Design Award winner this past year at WWC, and it lets you learn about endangered species around the world.

It's got exquisite visual design, some really great intuitive interactions, supports multi-touch gestures, has high-resolution photography, great sound design and musical score, engaging writing and typography. and it uses device motion and core location and is built around OpenGL ES. And the result is an app that is designed, valuable, standout, memorable, and state of the art.

And here's Procreate, another Apple Design Award-winning app. This is an amazingly deep and powerful drawing tool that can be used by artists and illustrators to do real work. I mean, this is a powerhouse of iOS technologies. It uses modern concurrent programming technologies that leverage the hardware. It's optimized for graphics around OpenGL ES, and it delivers state-of-the-art performance and unbelievable responsiveness. It renders canvas sizes up to 4K by 4K, and it uses core Bluetooth to connect to accessories like pressure-sensitive styluses. And on top of that, it's got advanced layer management and compositing. And the list goes on. This is an incredible app.

And there are so many great apps. These are just 14 of the most recent Apple Design Award winners over the last two years. I mean, you've got DM1, Paper by 53, Where's My Water, National Parks, Ridiculous Fishing, right? WWF Federation, Evernote, Badland, Yahoo, Letterpress, Procreate, Sky Gamblers, right? All of these apps are state-of-the-art. They're inviting. They're well-designed. They're connected.

They're all of the attributes that I spoke of around great apps. And so these are some of the basic traits that you need to incorporate into your app in order to make it really great. And this is really just the starting point for a next generation app, which is what we're really talking about now. So in addition to being great, there are five notable additional attributes or characteristics of next generation apps. The first is that they're optimized for performance on the A7. The A7 has been re-architected for 64-bit, making our newest products the world's first 64-bit mobile devices, delivering desktop class performance in your hand.

I mean, think about this for a moment. What does desktop class performance really mean? Go back a few years to some of the incredible apps that, say, won an Apple Design Award on Mac OS X or these amazing apps in science and technology that have come out over the years on OS X. That's desktop class performance running on a Mac Pro. And so think of some of the apps that are on these kinds of, you know, some of these kinds of apps running on really powerful hardware like a Mac Pro, and you've got the standard for desktop class computing. Now imagine that functionality and those kinds of apps redesigned for the multi-touch experience of iOS and deployed onto an iPad Air with Retina Display running A7. I mean, nobody has done anything like this than a 64-bit computing platform, mobile computing platform. And the A7 is a brand-new CPU and GPU which provide tons of computational power for demanding apps and games. And we'll go into depth about this more today, but I want to take a moment just to explain what 64-bit architecture in the A7 really means. First of all, it means that we've got twice as many integer and floating-point registers as earlier processors. And this lets the LLVM compiler use these extra registers to optimize low-level assembly and Objective-C runtime-- the Objective-C runtime. So there's all kinds of optimizations that the compiler can do just because we have more registers.

And 64-bit also means that we offer faster performance for both 64-bit and 32-bit apps because the entire operating system itself, iOS, is optimized for 64-bit. It actually runs 32-bit apps faster. And if you're worried that this will be a big change, i.e. moving to 64-bit for you and for your app, don't worry. You can easily maintain a single code base and target both 32-bit and 64-bit devices. And we've got a session all about this later on today. I believe it's right after lunch.

And so the key point here is that the 64-bit architecture of the A7 is the future of the iOS platform. And so it's not OK to just delay the move to 64-bit. Now is the time to move. This is the future. It's here now. And you've got to move your apps to 64-bit.

Now, the new A7 chip improves CPU performance by up to 2X when compared to the A6, which was the processor that was in the iPhone 5, for example. And a great example of an app that benefits from this new architecture is DJ2 by Algorithm, based here in Germany. It's a great company.

They've done some fantastic apps that have won Apple Design Awards over the years. And DJ2 on A7 is now able to do things it couldn't do before. And an example of this is their new harmonic match feature that can analyze the musical key of a song in real time and then transpose the key to ensure the two songs match up musically as they transition from one to the next. And on previous iPhone hardware, say, running on an A6, on an earlier version of iOS, this wasn't possible because there was limited horsepower and it could take anywhere from 10 to 15 seconds. is.

And now on A7, with 64-bit, DJ can get these effects to occur in real time and still have processing cycles for a smoother user experience and better visual effects. And if there are folks from Algorithm here today, make sure you introduce yourself to people so that others can learn from you and your expertise. Now, another example of an app that benefits from the A7 is Sketchbook Mobile from Autodesk. This is an app that is incredibly CPU-bound. And the A7 allowed Autodesk to increase the maximum size of brushes and other parts of the app to twice their previous size while maintaining their target frame rate, even on the much larger canvas sizes. And the A7 also allowed them to create completely new canvas sizes, increasing canvas sizes up to 33% larger than before. And now they can support drawing on a full resolution 8-megapixel image without any performance degradation.

So with very little effort, simply moving to A7 and going to 64-bit, the Autodesk has been able to make some pretty significant strides forward. And in addition to CPU performance improvements, the A7 gives you two times faster GPU performance than the A6 chip. Now, as many of you know, having a super-fast GPU provides a lot of benefits. Benefits such as increased graphics fidelity within your app, decreased wait times, and increased drawing performance, smoother animations, crisper lighting, more realistic visual effects, and basically an entirely new class of apps, frankly. The GPU on the A7 is so capable that we are already seeing a completely new class of apps and unbelievable performance. In other words, you have a lot of horsepower to take advantage of with the A7. And pretty much you're unlimited now in terms of what you can do. And you don't need to limit yourself anymore. You don't need to constrain your code and hold things back, because the hardware can't handle it. It can handle it. You can do, show, and compute more than ever before.

Now, a great app that shows off both of these CPU and GPU improvements is Infinity Blade 3. We recently demoed this app at the launch of the iPhone 5S. And the app implements super high fidelity graphics with four times the texture detail and four times the polygon count of any console work that these guys have ever done. I mean, they kept turning up the dial on detail. and the CPU and the GPUs to keep up with it without dropping frame rates.

And here is a video capture from an iPhone 5S running a special build of Infinity Blade 3 that was made for the launch event. And what's important to note is these cut scenes aren't movies in the app. These are actually rendered live in this special build of the app. So other than the gameplay, what you're seeing here is the actual real app running and it's just the gameplay has been stripped out. And each of these scenes is a different world being loaded in real time on the device. And in terms of decreased wait times, which a fast CPU enables, Infinity Blade 3 can load these scenes, these worlds so quickly, they can be done in almost real time. This wasn't possible before. It is pretty amazing considering the fact that each of these worlds is as big individually as the entire Infinity Blade 1 app was. And now they're loading these worlds in real time on 64-bit devices. And the performance is just amazing. So that's a brief overview of the benefits of the new 64-bit A7 that's in the current next generation iOS hardware. And optimizing your app to take advantage of this horsepower is the first thing you need to do to build a next generation app.

Now the next trait or attribute of a next gen app being motion aware. And alongside the A7 chip is the new coprocessor called M7. And the M7 is designed to efficiently measure motion data from the accelerometer, gyroscope, and compass, hardware components that you would have accessed directly with code in some of your apps. And if you had accessed these hardware components previously in your code, you would have been leveraging the CPU to do some of the work with the results you got back from these pieces of the system. But with the M7, it will analyze this data and can determine when people are walking, running, or even driving. It does this stuff on its own. It's constantly sampling these parts of the hardware, and it's keeping track of motion. And it can make the difference. It can determine whether people are walking, running, or driving.

And so it's continually measuring motion 24 hours a day, and it's keeping a cache of this information. And next generation apps can use this analysis to do some really interesting things. For example, what iOS does is it adjusts its behavior based on your motion. So it knows when you're driving, for example, and it won't pop up the do you want to join this Wi-Fi network alert while you're passing a new Wi-Fi hotspot. Because it knows that you're driving, and so it modifies its behavior as a result. And that's really a great example of how your app can modify its behavior based on the motion that the M7 tells you that users are doing.

So there are some, you know, it requires the core motion framework, and there are some developers that are doing some really interesting things with this that are worth talking about for a moment. This is a Zoomio by a company called Argus out in San Francisco, and this is a fitness app that tracks your activity throughout the day. It tracks your diet and other things as well, things that you're eating. But by optimizing for M7, instead of doing things themselves with the accelerometer and gyroscope and stuff, they saw a huge reduction in battery drain. And they saw an improved step count accuracy. See, on iOS 6 and on earlier iPhone versions, they did this stuff all by themselves in the background. They calculated. They would take samples off the accelerometer.

They would do calculations themselves. on the CPU, and this would take power from the system. And they would use that information to calculate distance and the number of steps. All of this was done manually. But with M7, the app doesn't need to be running in order for this stuff to be, in order for these calculations to be done, since the M7 processor is doing this all the time on its own. And you can simply query it for the information. So what this app does as a result is they got rid of all of the manual calculations, and instead offer a much better first-time startup experience for their app. So when you launch the app for the very first time, if you've had an iPhone 5S, for example, for, say, a week, two weeks, the M7 has actually cached all of your motion activity. The app launches, queries the M7, loads in your step count on a per-day basis, gives you, you know, fills in this honeycomb timeline that's within the app, and then you can tap into a specific day and get your step count across the times of that day. And none of that was done with your own code other than to query the M7 and get it and then render it on the UI. But the user experience is far, far more appealing because many fitness apps start up empty. And you have to start doing stuff and then entering all of your information. With M7 now, this stuff can be pre-populated as a result.

Now, fitness apps are obviously a great example of where M7 can make a big difference. But I think what's even more exciting is the endless possibilities for other apps that aren't currently measuring motion data but could. I mean, think about it. How much better of an experience could you offer if your app changed its behavior based on where people are, what direction they're facing, and how active they are?

I mean, there's some very interesting possibilities here. And I think we're going to start to see a lot of these things benefit more apps over time. So we'll talk more about M7 later on today. And so being motion aware lets your app use the M7 to know how a device is moving around and how you can customize the experience in your app. And that's the second attribute of being a next-gen app. Now, the third attribute of a next-generation app, in addition to being optimized for 64-bit, being great, to be location aware. And in particular, with iBeacon, which we announced at WWC a few months ago. I mean, think of iBeacon as a tiny radio that you can put almost anywhere. It's a signal that can be picked up by an iPhone. That iPhone can then determine where the iBeacon is with a high degree of accuracy.

Now, what's interesting and what many developers forget is that there are millions of iOS devices today that are iBeacons. I mean, there are hundreds of millions of devices that have already moved to iOS 7, and those devices can enable the iBeacon functionality within iOS 7 and become iBeacons themselves. And what this means is that you can start to build iBeacon-based solutions, and you can, if nothing else, you can use iOS devices to begin experimenting with iBeacon and figuring out what support you want to have in your app today since you can turn on this functionality and test your ideas with existing iOS devices that you already have.

Now, what iBeacon does is it allows you to, you know, solve for these various scenarios. For example, you could be a retail store or some customer-facing situation, like a coffee shop or an ice cream shop, and you could have an iPad, which is an iOS device, one of them, on a checkout. And as customers come up with their iPhones, their iOS devices, they could sense the iBeacon signal coming from the iPad, and either using your app, a custom-made app that you wrote, which sends the iBeacon and does something with it, or a pass in Passbook, you could do different things based on which iBeacon ID you're seeing. You could put up a coupon or something else interesting for the customer. And, you know, a simple example is that we did this here today at the Tech Talks for registration. We emailed all of you a pass for Passbook, and we had the iBeacon ID specified for this event, and we had an iPod Touch at the registration table, And so as soon as you walked up, if it worked properly, you would have seen the pass pop up saying, welcome to the event. You would have tapped it. We would have scanned you. And boom, you were in. So it's really interesting how just using an iOS device that's available today, you can do these kinds of cool solutions.

And another example might be in a museum with its own app that first simply notifies people that they're nearby and then, you know, lets them check in. So this app would be aware of the fact that it's near the museum, and once they're checked in, the app can become an indoor location app that knows which gallery people are in based on proximity of this iOS device to other iOS devices throughout the museum, let's say. For example, you could have iPads at various points throughout the museum. And each of those iPads is running the app for the museum. It's pushing out an iBeacon, a unique ID. And it could provide information as a result to the museum app that is running on someone's iPhone as they walk through the museum, or as they walk through the store, or as they walk through whatever situation you've got. Or even better, what if the museum's docent was carrying an iPhone, running an app that was causing that iPhone to push out a beacon. You could find assistance from those people. iBeacons can run on iOS devices today. The opportunities are endless. And so that's location, brief touching on location and iBeacons. And we think iBeacons are going to fundamentally change the way location works for apps, especially when indoors.

Now, iOS already provides great API and MapKit and Core Location. And when combined with iBeacon and the M7, you can now add a whole new level of location awareness in your app. Not only can you know where your app is in the world, but you can know how close it is to another iOS device or iBeacon.

And you can know what direction people are facing and how active they are. So when you start to combine all of these things together, you can come up with some very interesting opportunities and potentially some really cool solutions. But the book hasn't been written on some of this stuff. And so it's really up to you, the developer community, to start getting creative and combining these things together and coming up with some really groundbreaking, innovative, new solutions.

Now let's talk about another attribute of next generation apps, which is multitasking and the fact that every app should support multitasking. In iOS 7, we added multitasking for all apps in a way that maintains battery life. And using these multitasking API means that your app is always ready for when people want to use it. And this is key. We're all familiar with this, where iOS 7 is a great app and people can see a snapshot of your app even when it's not the frontmost app, right? We double-tap the home button, we get in there, we can move around. And what's important here is that you want to make sure that the snapshot of your app is up to date so that when someone taps on your app, the snapshot matches what will happen when the app comes to life again. And most importantly, you want to be up to date when they get into your app. You don't want to have, and many of you saw this, probably the very first time you ran your app on iOS 7, you don't want to have just your snapshot to be a white screen with nothing on it. Customers don't know then what's going on in the app, and it's not a great experience. So being ready, using the multitasking API correctly, is really important for being up to date for customers within your app.

And iOS 7 does a lot of things around multitasking that are beneficial to you as a developer, right? We do intelligent scheduling and notice when your app is typically used, and we will give it background cycles based on that usage pattern. We take advantage of times when the device is powered up and let your app do opportunistic updates. And iOS 7 responds to push notifications, so as a trigger to give your app time to go and fetch data that's needed based on that push notification. And so there's no more waiting for screens to reload, or at least there shouldn't be any more waiting for screens to reload if you're taking advantage of multitasking on iOS 7 correctly. And-- The way to do this is to take advantage of the three API that exist. There's background fetch, where we will run your app periodically so that you can pull new data down and update your UI accordingly.

There's remote notifications, where we'll run your app in response to a push notification so that you can update your content on demand versus having to poll for information, which is very inefficient. And lastly, there are background transfers, where iOS will upload or download data in the background on behalf of your app, even if it isn't running. So those three API are very important for giving a great experience, and we will talk more about these API in greater depth today in one of our sessions this afternoon.

And since you've got new opportunities, though, on iOS 7 for your app to be running, it's even more important than ever that you are power smart when you do your background updates. So let's just talk about power smart for a moment. So first, using the network requires powering the antennas, regardless of whether you're using Wi-Fi, cellular, or Bluetooth. If we turn on a radio, it takes power from the battery. So be sure to optimize your networking. Not only be transmitting the least amount of data as necessary.

but also by doing it in as short a time period as possible, and then stopping the transmission. Because when you stop sending data on the network, we can power the antennas down, and we can save power in the battery as a result. Secondly, when you want to know the type of activity that the user is engaged in, use the M7 processor and the core motion APIs rather than doing things manually on the CPU, as we talked about before.

If you are showing information in real time, you can get a constant feed, but only capture the data from the M7 when you need it. And lastly, you can always query the M7 later by date range, so that you don't have to constantly be updating information using the CPU. So there's just new ways of doing things with M7 and new ways of querying the system that really prevent having to wake up the system radios and wake up the hardware in ways that you used to.

And thirdly, as far as being power smart is concerned, you need to be power smart when using location services. The core location framework relies on radios to determine the user's location. Obviously, right? We're turning on the radios to determine Wi-Fi location, to find cell towers, all of these kinds of things. So only use these services when needed. This will allow us to turn off the radios in order to save power when you're not tracking the user's location. and be sure to use the right service for the experience that you need. For example, if you only need to know what city a person is in, you can do that without requiring the finest level of accuracy, which would use more power. So if you just need to know the city, then don't track down to the meter, which is just far more burdensome on the system and requires the radios to be far more active using more power. So that's multitasking in iOS 7, which allows your app to always be ready for when people need it, and some tips on being power smart relative to running in the background and doing some of the things that are capable and possible there. And last, but certainly not least, a next-generation app needs to be secure.

More and more users are setting a passcode on their devices, and on iPhone 5S, Touch ID does away with the need for the passcode most of the time for many users. And since all of our current devices support hardware encryption, when the passcode is set, data protection is enabled.

And if you're not aware of how data protection works or what it means to your app, today is the day to learn about how this all works. I mean, data protection will encrypt data on disk using keys based on the user's passcode. And when an iOS device locks, we throw away these keys and may no longer be able to decrypt the data. By default, that would include keychain items and files in some cases. And with the new multitasking APIs in iOS 7, your app may be allowed to run not only in the background, but also when the device is locked. And this can be a problem for you, for example, if you want to update your app in the background.

You may need to access credentials in order to log into your server. But if the device is locked, you might not be able to get to those credentials. So it's really important to understand how you should approach this situation. And while data protection is important for securing data on the device, it's equally important that you use the latest best practices when you transmit data over the network. Be sure that you're using secure protocols and verifying certificates. Whenever possible, hash sensitive data and always respect your user's privacy. There are lots of apps which are not doing these things.

And for many of these apps that aren't doing these things, Security is really, not something they made a priority for. You cannot--you know, to make your app secure, you cannot treat these things as an afterthought. Plan for these things in advance and ensure a secure user experience. And we've got a session later this afternoon that goes into detail about these really important points, and you definitely do not want to miss out on this session. So these are the five characteristics of next generation iOS apps. They're optimized for 64-bit on the A7 chip.

They are motion aware with the M7 ship. They're location aware. They're always ready when people need them. And they are secure as possible. And remember, these five things are on top of the fact that your app needs to be great. So a next generation app is these five things, and it's great.

And so iOS 7 and our latest devices make it possible for you to build apps impossible to imagine just a few years ago. I mean, really, think about it for a moment. How long have we had apps around? How long has the apps ecosystem in iOS been here? Seven years, right, roughly? And we are seeing apps today that were completely, you know, that weren't even imagined three, four, five years ago. And we, as an evangelism team, we at Apple, are working with some of you already on your next apps and the next revisions that are coming for this new hardware and for iOS 7, and some of this stuff is just unbelievable. And so it's just an exciting time to be here, and we're seeing apps that just weren't possible years ago. And, you know, this hardware and this new operating system open up completely new opportunities. And today is the day to start learning how to develop for this new OS and for this new hardware. And we've got a full day of content focused specifically on helping you move to iOS 7 with your app.

We have eight very technical sessions that are loaded with information. So get ready to take lots of notes. We are going to make videos of these sessions, but you're going to want to take notes anyway. Now, after this session, we begin with the user interface design session, which is up next. After that, we've got architecting modern apps. And in that session, we will talk about some of the newest UI kit enhancements available to your apps in iOS 7.

Following that, we will have a break for lunch. And then at 12:30, so half an hour after lunch begins being served, the App Store marketing team will talk about distributing and marketing your apps on the App Store. So you can either quickly grab some food and eat outside and then come into the room for that session, or if the lines are too long, feel free to grab food and bring it into this room. That's why we've got tables, to make it easy to take notes, make it easy to eat food and drink. And either way, come back into the room, you do not want to miss this session. It's the only non-technical session of the day.

And then after lunch, we'll start back up with details on moving to 64-bit and how to maintain both iOS 6 and iOS 7 versions of your app. And following that, we'll go into detail on the new multitasking capabilities of iOS 7 that I referred to briefly a few moments ago. And then we'll dive into how you can make your app more secure. And finally, we'll wrap up our sessions with some really valuable and interesting tips and tricks to get the most out of your iOS 7 development. And this is a very cool session filled with stuff that many of you, you've probably seen some of the buttons, you've probably heard about some of these things, but never dove into, and you're going to really love some of these tips and tricks. And once our sessions are complete, you're invited to stay and have some food and drink out in the lobby out these doors. And this reception time at the end of the day is a really fun time and a valuable time to meet other developers from, you know, that are here in the room today, and to meet us from Apple and connect with us even more than you have throughout the day. So please make a point of staying for the reception and meeting your peers and meeting the rest of the folks from Apple. In addition to all these sessions, we have an all-day lab running in the next room, and there's going to be a lot going on in there, so I want to take a moment just to explain how this is going to work.

So first of all, I want to ask all of the Apple employees to come forward. We have brought, flown a lot of folks in from Cupertino to meet with you today. We have Apple engineers from the iOS engineering team. We've got UI designers, six of them actually available for UI reviews today. And lots of other experts from various teams throughout Apple that you work with directly. For example, AppReview and iTunes Connect and the App Store team. So we've got a ton of resources for you here. and it would be a crying shame if you did not leverage the knowledge and experience that is standing in front of you right now. Now the first thing about the lab I want to make clear is that you should feel absolutely free to go in and out of this room back and forth to the lab throughout the day.

If you just sit here all day and do not take advantage of the lab you're going to miss out on an enormous resource for you. Unfortunately you know there's only one of you in some cases and it's hard to be in multiple places at one time. But please, please, please, if you've got a question about something, go out to the lab. If you think it's not busy, go out to the lab, come back in. Don't be shy.

Next, we have many topics that are covered in the labs. So the first is that we have design labs, where you can schedule a 30-minute time slot to sit down with an Apple interface designer-- we've got six of them, as I said-- or an evangelist, and get feedback and advice on your app's design, the visual design, the interaction design. And these UI design audits are intended to review your app's UI, so you have to be sure to have an app for us to look at. Don't sign up for one if you don't have an app for us to look at.

Now, there are a limited number of time slots. Even though we've got six designers, there are more people here, there are more of you than we can meet with in half hour slots. So you're going to want to boot it out of this room, if you're interested in this, right after this session, and sign up for these right at the main table. And just go around the corner to the lab concierge table and sign up, and we'll give you a time slot.

Now, in addition to UI design sessions, we've got a lot of these folks here are iOS engineers. And they're going to be available to cover programming and development topics. And they can answer questions about most of our frameworks, about app services, developer tools, graphics technologies, and pretty much any technology that you're using inside of your apps. Don't be shy. We can look at code. We can help you understand the best way to use a framework.

We can help you architect your code differently. And we can help you improve the performance or integration of your app. And if you have any technical question, any question at all, come and see us. Let us know. We will do our best to get an answer. If we have to, we'll call back home to California to talk to some of our colleagues and get the answer. We've got people on standby.

And if you don't have a question, come by the lab anyway and show us your app. And just say, hey, take a look at my app. What do you think? And we'll tell you. And we'll look at things like the performance and all these things, and we will point you to somebody else in the room that you should meet with to get things done. So come by the lab, please. And lastly, we have members from the App Review team, the iTunes Connect team, and the App Store Marketing team who can talk with you about getting your app through the review process and getting published on the App Store. Again, don't be shy. If you have an idea for a future app, come and talk to them about it. If you have a revision of your current app stuck in review, go talk to somebody about it. If you want to know how to work the App Store a little bit better and do better marketing, come talk to those guys about it. Don't be shy. Come by the lab. We're there, and we're in here presenting. So we hope that you have a great day. We're really looking forward to talking to you all, to meeting with you all. We know many of you, actually I do personally, and we'll take a very short break right now and get back going as soon as possible, right at about 10:05 with a session on designing for iOS 7 apps. So thanks for spending the day with us, and have a great day.