Posted on Leave a comment

The music of WWDC

It wouldn’t be WWDC without a little music. Bring Khalid and The Killers into your living room and create your very own musical conference experience with the WWDC20 playlist collection, now available on Apple Music. The opening WWDC20 playlist features great artists like Glass Animals and Alicia Keys, and includes Aurora from this year’s opening video.

In addition, Apple Music is celebrating the powerful connection the development community has to music with a new “Music to Code to” series, which features several multi-hour playlists featuring different musical styles and genres.

Developers have long found connection and inspiration from music. Sam Rosenthal, creator of The Game Band’s Where Cards Fall on Apple Arcade, told us that his company name pays homage to the groups he listened to growing up. “A lot of the bands that I really loved… They didn’t stick with one sound,” he said. Rosenthal has carried that philosophy into his work: “Every time we make something, it should be different from the last. It should surprise people.”

Others, like writer and Shortcuts developer Federico Viticci, have built entire projects around a love of music. In 2019, the Italian native designed and built a shortcut, MusicBot, that helps people listen to more of their library and speed up common Music app interactions.

“When developing MusicBot, I needed to test it with data that was easy to find in my music library,” he told us. Viticci’s choice: His “all-time favorite band,” Oasis, whose myriad albums provided plenty of testing material.

Several of the Swift Student Challenge winners also shared their appreciation for a little musical motivation. “While I was creating [my] Playground, I used the WWDC19 playlist,” Gloria Cretella told us. A two-time scholarship winner, Cretella attended the conference for the first time in 2019, and used the playlist to remind herself of the experience. “I was a bit nostalgic,” she said. “Programming with the songs that were in the background at the conference brought me back.”

Everyone has their favorite tune or perfect mix. Brazillian Student Challenge winner Henrique Conte finds joy in French music while he codes, especially from his favorite Belgian singer Angèle. “Learning new languages is one of my passions because it allows us to connect with the world and understand cultures,” he told us. With this playlist, he said, he gets to improve his linguistic skills all while Angèle’s music focuses him on the task at hand.

Others, like StaffPad developer and composer David William Hearn, prefer to find time in the quieter moments between projects. “I’m actually reconnecting at the moment with some of the classics,” he told us, which include works by 20th century composer Erich Wolfgang Korngold. Though some of those compositions are short by classical standards, Hearn is quick to highlight the years of artistry and care behind them. “It’s someone’s life, you know?” he said. “I find that phenomenal.”

Discover the perfect soundtrack for your next programming project on Apple Music or wherever you like to listen, and know that you’re enjoying something uniquely human. “Music transcends our differences and has the power to unite us,” Viticci said. “To make us feel connected no matter what’s going on in the world.”


You can tune in to the full WWDC20 playlist collection on Apple Music.

WWDC20 on Apple Music

Posted on Leave a comment

WWDC20 Daily Digest

Welcome back to day two of WWDC. (We hope you got some sleep after the excitement of those announcements!) Our first sessions are now available. Learn what’s happened so far and discover some of the great stuff in store for you.

Welcome to day two

We hope you’re rested and ready to learn about more of the latest Apple technologies and frameworks, because we’ve got a lot to share with you.

Tuesday

Catch up on the Keynote

Missed out on the Keynote and Platforms State of the Union on Monday? No FOMO necessary: We’ll take you through all the good stuff in under two minutes.

Monday@WWDC

It’s been a jam-packed first day at WWDC, full of exciting news from the Keynote and Platforms State of the Union. We’ll zoom through the highlights — and give you a sneak peek of what’s coming tomorrow.

Got a few hours? You can also watch the Keynote and Platforms State of the Union for more details on widgets, app clips, SwiftUI, and more — right in the Developer app.

Keynote

The Apple Worldwide Developers Conference kicks off with exciting reveals, inspiration, and new opportunities to continue creating the most innovative apps in the world. Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.

Platforms State of the Union

Join the worldwide developer community for an in-depth look at the future of Apple platforms, directly from Apple Park.

Swan’s Quest

Tuesday kicks off “Swan’s Quest,” an interactive Swift Playgrounds adventure in four chapters for all ages. Use your programming prowess to aid our Hero in navigating through mystery, decoding scrolls, and writing music.

In our first chapter, our Hero must navigate a dark cave — and the only way to light the torches is to make them accessible. Learn about VoiceOver and write interesting audio descriptions. You just might help our Hero find their way out… and get a clue for the next challenge.

Swan’s Quest was created for Swift Playgrounds on iPad and Mac, integrating aspects of our Sonic Create, Sensor Create, and AR Create playgrounds to design an entirely new educational experience. Check it out, and don’t forget to stop by the Developer Forums and let us know what you think!

Swan’s Quest, Chapter 1: Voices in the dark

Swift Playgrounds presents “Swan’s Quest,” an interactive adventure in four chapters for all ages. In this chapter, our Hero must navigate a dark cave — and the only way to light the torches is to make them accessible. Learn about VoiceOver and write interesting audio descriptions. You…

Download Swift Playgrounds for iOS

Download Swift Playgrounds for macOS

Learn more about Swift Playgrounds

WWDC coding and design starter kit

Whether you’re learning to code early on or coming to it later in life, we want to help you start developing for Apple platforms. We’ve created a collection of sessions that provide a great introduction to our latest technologies and frameworks. We’ll be releasing new sessions in the collection every day — stay tuned!

WWDC20 coding and design starter kit

Explore developer documentation

There’s lots of new Developer Documentation and sample code to discover during WWDC20.

You can copy code directly from individual sessions using the Copy Code feature in the Developer app, download sample code projects on the Apple Developer website, and check out the new Technologies index, where you can quickly find information and API changes around existing frameworks.

Find the right documentation

WWDC20 Sample Code

Developer Documentation

Developer Documentation Technologies

Meet the developers

This week, the App Store is sharing stories of developers across the world as they adapt their businesses and help their communities. Here’s an excerpt from HomeCourt co-founder Philip Lam’s journey to support athletes and basketball players stuck at home:

A few weeks after the pandemic started, NEX Team cofounder Philip Lam noticed something unusual about HomeCourt, his company’s basketball-training app: Users were hacking it.

Unable to get to gyms and courts, athletes figured out how to adapt the app’s groundbreaking artificial intelligence—designed to track basketball shots, dribbles, and passes with an iPhone or iPad camera—for soccer, in-line skating, hockey, and other sports. “There’s no way for us to determine if you’re using a basketball,” says Lam. “People started noticing that it just worked.”

Read more on the App Store

Conversations at WWDC

Tune in for two special events later this week.

On Wednesday, Lisa hosts a discussion with former US Attorney General Eric Holder on the fight for equal justice, how technology can empower people to change the world for the better, and ways to help in this moment.

A conversation with Lisa Jackson and former Attorney General Eric Holder

Eric Holder was the 82nd Attorney General of the United States, having served from 2009 to 2015. The first Black American to hold the position, Holder’s six-year tenure also makes him one of the longest-serving occupants of the office. Currently a partner in Covington & Burling, he’s served in…

And on Thursday, the cast and creators of the Apple TV+ hit show Mythic Quest: Raven’s Banquet will answer questions from the Apple developer community. Join Rob McElhenney (executive producer/co-creator and Ian Grimm), Charlotte Nicdao (Poppy), Imani Hakim (Dana), Danny Pudi (Brad), and Megan Ganz (executive producer/co-creator) as they review one of their favorite scenes and answer submitted questions.


Enjoy day two of WWDC! Sessions are available on the WWDC tab in the Apple Developer app as well as on Apple.com. And if you have questions about a session or want to chat with the community, don’t forget to check out the Developer Forums.


Posted on Leave a comment

See what’s new with Mac Catalyst.

Create even more powerful Mac versions of your iPad apps. Apps built with Mac Catalyst now take on the new look of macOS Big Sur and help you better define the look and behavior of your apps. Provide full control of your app using just the keyboard, take advantage of the updated Photos picker, access more iOS frameworks, and more. There’s never been a better time to turn your iPad app into a powerful Mac app.

Learn more about Mac Catalyst >

Posted on Leave a comment

Optimize for Apple Silicon with performance and efficiency cores

Recent Apple Silicon like A13 Bionic has both high-performance cores (P cores) and high-efficiency cores (E cores). These different core types allow you to deliver apps that have both great performance and great battery life. To take full advantage of their performance and efficiency, you can provide the operating system (OS) with information about how to execute your app in the most optimal way. From there, the OS uses semantic information to make better scheduling and performance control decisions.

Let’s explore some best practices to help you get the most out of Apple Silicon and create faster, more efficient apps. Discover how to adapt your code for asymmetric multiprocessing, adopt Quality of Service classes, and find out more about Grand Central Dispatch APIs.

Adapt your code for asymmetric multiprocessing

Unlike traditional symmetric multiprocessing (SMP) systems which use many identical cores, asymmetric multiprocessing (AMP) systems have cores that are not all equal.

Apple Silicon Macs are AMP systems, having both performance cores (P cores) and efficiency cores (E cores). Even though E cores are optimized for high efficiency, they offer significant compute resources for apps to take advantage of.

An app may execute threads on both P and E cores over a period of time. The OS places threads on P or E cores based on the following criteria:

  • Information your app provides
  • Observation of the app’s workload
  • Observation of the system as whole

On Apple Silicon Macs, the system observes applications and daemons separately from each other. This allows the system to execute them with individual efficiency and performance characteristics. As an example, an app running in the background may have its threads placed on E cores to optimize battery life while the foreground app is taking advantage of P cores.

Use Quality of Service classes to categorize work

Quality of Service (QoS) classes are the primary way for you to categorize work performed by your app and provide the OS with semantic information on the nature of that work and how it affects someone using your app.

On AMP systems, the operating system uses the energy-efficiency information conveyed by QoS classes to influence placement of threads on P or E cores. You can use the following QoS classes on Apple platforms:

For instance, you can use the QoS class Background to categorize all of your app’s background processes in order to maximize battery life.

For more details on Quality of Service, watch “Building Responsive and Efficient Apps with GCD” from WWDC15 and explore the energy efficiency guide.

Building Responsive and Efficient Apps with GCD

watchOS and iOS Multitasking place increased demands on your application’s efficiency and responsiveness. With expert guidance from the GCD team, learn about threads, queues, runloops and best practices for their use in a modern app. Take a deep dive into QoS, its propagation and advanced…

Energy efficiency guide

Manage parallel workloads

Your app can take advantage of both P and E cores to execute parallel worker threads and get tasks done faster and more efficiently.

Statically pre-assigning pieces of a parallel workload to worker threads will leave threads idle before the end of the execution. This is because not all cores are equal and so worker threads will not make identical progress. Instead, subdivide parallel problems into a large number of pieces and use a work-stealing algorithm to balance these pieces across threads to keep all workers busy.

GCD is the recommended API for expressing concurrent and parallel workloads in your application. Parallel workloads should use the concurrentPerform / dispatch_apply API to execute parallel instances of a block on multiple cores simultaneously. Set the number of iterations to at least three times the total number of cores on the system. This enables the work-stealing algorithm inside GCD to appropriately balance iterations.

If you have an existing codebase that cannot adopt GCD and uses a custom pthread worker pool, you may benefit from implementing a work-stealing algorithm to achieve optimal performance. For more information, see “Tuning Your Code’s Performance for Apple Silicon.”

Dispatch

Tuning your code’s performance for Apple Silicon

Further AMP exploration

When you adopt GCD and QoS in your application, you can unlock greater processing power and ensure that your application performs well across all Apple platforms. If you need more information on testing your adoption, we’ve also provided resources to help you there.

Working on something we haven’t mentioned above? Check out the Developer website for more information on other situations like daemons and agents working on behalf of applications and realtime audio applications and plugins.

Porting your audio code to Apple Silicon

Resources

Building Responsive and Efficient Apps with GCD

watchOS and iOS Multitasking place increased demands on your application’s efficiency and responsiveness. With expert guidance from the GCD team, learn about threads, queues, runloops and best practices for their use in a modern app. Take a deep dive into QoS, its propagation and advanced…

System Trace in Depth

Join engineers from the Instruments team for another focused look at the System Trace Instruments profiling template and how to get the most out of it. Discover how threads, virtual memory, and locking interact to affect performance. Dive deep for a practical look at how you can improve your app’s…

Modernizing Grand Central Dispatch Usage

macOS 10.13 and iOS 11 have reinvented how Grand Central Dispatch and the Darwin kernel collaborate, enabling your applications to run concurrent workloads more efficiently. Learn how to modernize your code to take advantage of these improvements and make optimal use of hardware resources.

Learn more about Apple Silicon

Prioritize work at the task level

Posted on Leave a comment

Build great app clips

Meet the app clip: a small part of an app that’s focused on a specific task, and discoverable the moment you need it. Learn how to use familiar technologies and processes to create a best-in-class app clip experience for your own app or businesses, brands, or services that appear within it.

Explore app clips

Help people experience the right parts of your app at the exact moment they need them. We’ll explain how to design and build an app clip — a small part of your app that focuses on a specific task — and make it easily discoverable. Learn how to focus your app clip on short and fast…

Configure and link your app clips

App clips are small parts of an app that offer a streamlined, direct experience and help people get what they need at the right time. Learn how you can invoke an app clip through real-world experiences like app clip codes, NFC, and QR codes, or have them appear digitally through apps like Maps or…

Create app clips for other businesses

Create app clips for table reservations, food ordering, and more on behalf of brands, businesses, or services that appear within your app. We’ll show you how you can deliver customized experiences for each business, offering them a unique look, invocation card, and icon — all within a single…

Streamline your app clip

App clips are best when they provide an “in the moment” experience for people using them, like ordering your favorite refreshing beverage or paying for parking. We’ll share guidelines and best practices for building focused and consistent app clips, show you how to streamline transaction…

Posted on Leave a comment

Design@WWDC

Learn techniques and strategies from Apple designers to create great apps, widgets, app clips, and experiences. Discover how to design for iPad and Mac Catalyst and make more advanced and adaptive layouts for your app, and take advantage of versatile interaction opportunities through the pointer, keyboard, and Apple Pencil. Find out more about the latest updates to SF Symbols. Explore design techniques for creating widgets, app clips, and great experiences on Apple Watch. And we’ll explain how you can design an app with privacy in mind by sharing how the designers of the Maps app approached redesigning interface elements to ensure privacy for the people using it.

Design for iPad

Discover the building blocks for designing a great iPad app: Learn how to minimize use of modal interfaces and leverage the new sidebar to increase efficiency by streamlining navigation and facilitating powerful drag and drop interactions. See how to take advantage of iPad’s versatile interaction…

Design great app clips

App clips offer fast, convenient ways for people to perform everyday tasks without needing to download or navigate your full app. We’ll show you how to identify key elements from your iOS app that make up a great app clip, design a smooth flow, work with notifications, and provide messaging…

What’s new in watchOS design

Great watchOS apps are simple and direct. Actions should be discoverable, predictable and relevant. This session covers effective strategies for displaying actions in your watchOS app, whether they are primary buttons that begin core tasks, or contextual actions that might be less commonly used but…

Design great widgets

Widgets elevate timely information from your app to primary locations on iPhone, iPad and Mac. Discover the keys to designing glanceable widgets, developing a strong widget idea, and clearly communicating with content, color, sizing, layout, and typography. If you’d like to learn more about the…

Design for location privacy

When someone uses iPhone or iPad, they have control over how their location is shared with the apps they use — including sharing an approximate location rather than precise coordinates. This creates a more private experience across their device, and it impacts all apps that rely on location data…

SF Symbols 2

SF Symbols make it easy to adopt high-quality, Apple-designed symbols created to look great with San Francisco, the system font for all Apple platforms. Discover how you can use SF Symbols in AppKit, UIKit, and SwiftUI. Learn how to work with SF Symbols in common design tools and how to use them in…

Design for the iPadOS pointer

Bring the power of the pointer to your iPad app: We’ll show you how Apple’s design team approached designing the iPadOS pointer to complement touch input, and how you can customize and refine pointer interactions in your app to make workflows more efficient and gratifying. Discover how the…

The details of UI typography

Learn how to achieve exceptional typography in your app’s user interface that enhances legibility, accessibility, and consistency across Apple platforms. Get up to speed on the latest advancements to the San Francisco font family including the move to variable fonts for accommodating optical…

Design with iOS pickers, menus and actions

Create iPhone and iPad apps that look great and help people move quickly and directly to the information they need. Discover how you can integrate menus into your app for quick access to actions and settings, and learn where and when you should use them in your app. We’ll also walk you through…