Posted on Leave a comment

Challenge: Sense the world around you in Swift Playgrounds

Hammer symbol and paint brush symbol

Just like our senses, our devices constantly gather data from their environment, and can use that information to do interesting and important things. In this challenge, you’ll harness your iPad’s sensor data to create a visualization or experience of your choosing.

Begin the challenge

To get started, download and open Swift Playgrounds on your iPad, then select See All from the lower right corner to launch the Swift Playgrounds content screen. From here, you can find the Sensor Create book under “Starting Points” and download a copy to your device.

Swift playgrounds content on iPad

In this challenge, you’ll use the Sensor Create playground book to gather some data from the world around you. You can use audio data (frequency, volume) from the microphone, light data (color, brightness) from the camera, and also gyroscope data (movement in X, Y, Z coordinates) from the motion sensor of the device. The book has some great reference material to help you get started: Check out “Using Device Motion,” “Using Light to Play Sound,” “Clappy Fish,” and “Synesthesia.”

Think about the types of things you could decipher about your environment based upon this sensor data. Given this, how can you write some code that visualizes this information in interesting ways? For example, you could create an alarm that goes off when the volume around you is too high, or create a notification that displays when you quickly accelerate or decelerate, asking if you or your device has fallen. These are just examples: Use your imagination and come up with an idea you love!

Resources

Download Swift Playgrounds for iOS

Learn more about Swift Playgrounds

Read the WWDC21 Challenges Terms and Conditions

Posted on Leave a comment

Challenge: Design a quiz in Swift Playgrounds

Hammer symbol and paint brush symbol

Do the people in your life know your favorite animal noise? How about the book that changed your life? Your least favorite pizza topping? Design a “How well do you know me?” quiz to see who knows the most about your quirks and interests.

Begin the challenge

This challenge invites you to create a quiz using the Answers book in Swift Playgrounds. Your “How do you know me” quiz should ask a series of questions and ultimately return a score (and possibly a colorful description!) based upon how many questions were answered correctly.

To get started, download and open Swift Playgrounds on your iPad or Mac, then select See All from the lower right corner to launch the Swift Playgrounds content screen. From here, you can find the Answers book under “Starting Points” and download a copy to your device.

Use the Swift Playgrounds app to download the Answers book for this challenge.

Use the Swift Playgrounds app to download the Answers book for this challenge.

The Answers starting point contains a page called “API Overview,” which dives into the API for this playground. You can use the show call to display text or images, and use several different ask calls to request feedback from the player and store their response as variables. You can use the combination of these API calls to build up your own custom quiz questions and check responses against your own answer key.

You can use Answers to build all sorts of different text-based trees and quizzes, and if you feel strongly about making a different type of quiz, please do! We highly encourage you to explore different ways of using this starting point to make something that you’re excited about. And if you’d like to share what you’ve built with the community, post a video of your quiz in action or share a link in the Developer Forums.

Visit the Apple Developer Forums

Resources

Download Swift Playgrounds for macOS

Learn more about Swift Playgrounds

Read the WWDC21 Challenges Terms and Conditions

Posted on Leave a comment

Challenge: Achievement Unlocked – Fabulous Fails

Achievement symbol with an achievement icon that looks like a x-mark in a circle.

When you create achievements that truly surprise and delight your players as they make their way through a game, you can help elicit a feeling of accomplishment, or even make the player laugh. Most of us have experienced playing games where we have unlocked some kind of achievement or trophy that stirs some of these emotions. This is exactly what we want you to consider when you create Game Center achievements for your apps or games — and now, we’re challenging you to show the developer community your best, funniest, strangest, and most delightful achievements.

Begin the challenge

For this challenge, we’re inviting you to share or create an achievement that rewards people for not coming out out top. Perhaps they’ve failed in a spectacularly short period of time or ended up going out in a hilariously fun way. Maybe they were a bit too curious about tapping that button. Sometimes failing can be just as fun as winning — and however they’ve failed, it’s time to show off how you reward them for it.

We welcome all achievements, new, old, existing, or imaginary: Show off an existing “failure” achievement from your app or game, or put your wordsmithery to work and create an entirely new one. You can share your best “failure” achievement with the developer community on the Developer Forums.

Best of all, we’ve made it easy for you to participate and dream up awesome achievements even if you haven’t yet implemented Game Center or you want to try something entirely new: Just download the attached Game Center achievement template.

Visit the Apple Developer Forums

Best practices for great achievements

It’s a lot of fun to create unique and engaging achievements to connect people with your app or game. Below are a few of our recommendations when thinking about writing and designing achievements.

Be creative with an achievement’s title, but straightforward with its description
Although most people appreciate entertaining titles, they expect an achievement’s description to specify how to earn it. If you were to create a WWDC21 achievement, for instance, you might write the following:

Title: Code Completionist
Description: Watched every WWDC21 Code-Along session.

Be succinct
The Game Center achievement card limits your title and description to two lines each before truncating the text — brevity is key to a great achievement.

Think inclusively
Follow the Human Interface Guidelines around inclusivity when creating achievements. The best jokes, puns, and wordplay are those that are intuitive and friendly to everyone who might interact with your app or game, and make players feel recognized and rewarded.

Add unique, high-quality images
People appreciate earning unique achievements that remind them of each accomplishment. When you create custom artwork, you can help that achievement stand out from the others in your app or game and make it more recognizable to people who interact with it.

You can learn more about how to design great achievements in Apple’s Human Interface Guidelines, and in the WWDC20 session “Design for Game Center.”

Design for Game Center

Get your game’s interface ready for Game Center. We’ll show you how to deliver personalized touches to the GameKit interface that provide a rich experience for players, with features like achievements, leaderboards, and multiplayer gaming. Learn how to customize your game’s access point, design…

Download the Achievement Unlocked Challenge material

Learn more about designing achievements

Read the WWDC21 Challenges Terms and Conditions

Posted on Leave a comment

Challenge: Throwback with SwiftUI

Pencil drawing a MacOS window

Whether you’ve been coding for 40 years, you’re new to the SwiftUI scene, or you’re a designer — everyone loves a good throwback. Give in to the nostalgia and imagine what your app might look like if designed for the Mac or iPhone interfaces of yesteryear. Are you a fan of the refreshing feel of 2000s-era Aqua? Perhaps you prefer the iconic grayscale of System 6. Or maybe you’ve been hoping for a return to the early days of iPhoneOS skeumorphism. Now’s your chance: Travel back in time with us and design a SwiftUI view that embraces that retro styling.

Begin the challenge

Before you travel through time, it’s important to choose your digital companion: are you designing a view for an existing app, or bringing an entirely new view idea along for the ride? Once you’ve decided, it’s time to fire up Xcode. Use your favorite random number generator to choose a year between 1984 and 2013 — or if you like, open up a Swift Playground to take you back in time:

let myCoolRetroYear = Int.random(in: 1984..<2013)
print("Reimagine your app's interface like it's from the year \(myCoolRetroYear)!")

Once you’ve settled on a year, begin imagining your interface with the Apple Design Languages prominent during that time! For designers and those newer to the world of code, explore how much UI you can create with the help of Xcode Previews. And when it’s time to start adding code, see how simple and fun SwiftUI makes it. For seasoned code warriors, further your SwiftUI knowledge and explore the new features of SwiftUI that will take your recreated artifact to the next level.

Want to share your work-in-progress or collaborate with other developers? You can show off your finished design in the Developer Forums.

Visit the Apple Developer Forums

Resources

Introduction to SwiftUI

Explore the world of declarative-style programming: Discover how to build a fully-functioning SwiftUI app from scratch as we explain the benefits of writing declarative code and how SwiftUI and Xcode can combine forces to help you build great apps, faster.

Read the WWDC21 Challenges Terms and Conditions

Posted on Leave a comment

Challenge: Speech Synthesizer Simulator

AVSpeechSynthesizer is the engine that helps generate synthetic speech on iOS. Screen readers like VoiceOver rely on speech synthesis to help communicate information about items on the screen. It’s a foundational aspect for assistive technology, and a valuable tool for creating accessible apps and augmenting existing experiences for people and those who uses assistive technology.

We’re inviting you to take AVSpeechSynthesizer for a spin out into the world. Using our ARKit-powered sample app, design a conversation between two animated birds, powered entirely by speech synthesis. You pick the scene, and the script.

Begin the challenge

To join this challenge, download the sample project and add the app to your iPhone. Choose where you want to film your conversation, as well as the tone and style. And don’t forget a set of dynamic and entertaining dialogue.

WWDC21 Challenge: Speech Synthesizer Simulator

Your scene could be an exchange between friends, a romantic comedy, or even an award-winning drama. While AVSpeechSynthesizer can read any string, keep your scenes respectful and inclusive. There’s no limit to what you can make, and we’re looking forward to learning what brilliant and funny scenes you create. And, for a bit of extra fun, try exploring some of the synthesizer properties to achieve different tones and inflections!

Once you’ve staged and directed your scene, do a screen recording and share your creation with the developer community. You can also share your progress on the Developer Forums.

Visit the Apple Developer Forums

Resources

AVSpeechSynthesizer: Making iOS Talk

Speech can enhance the audio experience of your app, whether you are generating spoken feedback for accessibility, or providing critical information beyond simple alerts or notifications. AVSpeechSynthesizer produces synthesized speech from text and allows you to control and monitor the progress of…

Create a seamless speech experience in your apps

Augment your app’s accessibility experience with speech synthesis: Discover the best times and places to add speech APIs so that everyone who uses your app can benefit. Learn how to use AVSpeechSynthesizer to complement assistive technologies like VoiceOver, and when to implement alternative…

Read the WWDC21 Challenges Terms and Conditions

Posted on Leave a comment

Challenge: Large Text

Text adjustments over blue bg

Dynamic Type allows people to choose the size of textual content displayed on the screen. You can use this feature to help people who prefer larger text to enhance their readability experience. Additionally, you can do something similar for those who prefer smaller text, allowing more information to be presented on screen. When designing apps to support Dynamic Type, it’s important to keep the adaptability of your interface in mind: This allows people to have a great experience with your app, no matter their preferred text size.

Begin the challenge

We’ve prepared a sample app for you in which some UI Elements are defying our layout and wreaking havoc with text throughout the app. These elements are causing text to become truncated, go off screen, and sometimes even forcing other text elements to be hidden. With the help of an astounding magic tap, however, you can modify the elements on the screen. UI Elements react to your Magic Tap by asking how they should change their behavior, and will update based on your choices. Explore various scenarios, helping to get the UI Elements in line and make your text readable once more.

WWDC21 Challenge: Large Text Challenge

As you go through these exercises, here are a few good questions to ask:

  • Should this text be truncated or should it wrap at the boundary?
  • Are there images that are growing too large in size?
  • Are we able to scroll to view all text that’s being presented?

These sorts of questions are also great starting points when considering how Dynamic Type may behave in your own app. Once you’ve completed the challenge, we encourage you to explore this project in Xcode and view how we support Dynamic Type in each scenario. We then encourage you to look at your own app — can you apply these concepts to your own project?

Resources

Scaling Fonts Automatically

Read the WWDC21 Challenges Terms and Conditions

Posted on Leave a comment

WWDC21 Daily Digest: Day 3

A Memoji looking at an open MacBook Pro.

Welcome to day 3 of WWDC! Hope you’re staying fresh and focused — we’ve got a lot to show you today. Here’s a look at what the day has in store. (And make sure you don’t miss a thing this week by signing up for WWDC notifications in the Developer app — available for iPhone, iPad, and Mac.)

Travel back in time

But only to yesterday: Here’s the official recap of WWDC21, Day 2.

Tuesday@WWDC21

Symbols, signals, and sessions

Check out more than 60 new sessions: Demystify SwiftUI. Strike a pose (a hand pose, that is). And explore a series of concurrency sessions (which happen one at a time, we promise) in Swift.

Demystify SwiftUI

Explore SF Symbols 3

Discoverable design

Review code and collaborate in Xcode

Discover geometry-aware audio with the Physical Audio Spatialization Engine (PHASE)

Detect people, faces, and poses using Vision

Explore advanced rendering with RealityKit 2

Enhance your app with Metal ray tracing

AR Quick Look, meet Object Capture

Meet TextKit 2

Adopt Quick Note

Secure login with iCloud Keychain verification codes

Triage TestFlight crashes in Xcode Organizer

Symbolication: Beyond the basics

Swift concurrency: Update a sample app

Is that a challenge?

Discover fun, interactive ways to learn about the latest technologies and frameworks. Challenge yourself to explore something new this WWDC — and share your creations with others through the Developer Forums (WWDC21-challenges), select Digital Lounges, and social media (#WWDC21Challenges).

Challenge: Animated artistry in SwiftUI

Challenge: Large Text

Challenge: Throwback with SwiftUI

Challenge: Design multi-step Shortcuts

Challenge: Achievement Unlocked – Title Teasers

Challenge: Create a musical instrument in Swift Playgrounds

Challenge: Design for declarative device management in your MDM solution

A trivial night in the lounges

Tonight is Trivia Night in the Developer Tools Digital Lounge, where you’ll face rapid-fire multiple choice questions on tools and frameworks starting at 7 p.m. PDT. And at midday, we host engineers Josh Shaffer and Jacob Xiao for a live Q&A starting at 3 p.m. PT.

Register for the Digital Lounges

Visit the Developer Tools Digital Lounge (Requires registration)

Explore an accessible world

At 11 a.m. PDT, engineers and designers behind the Apple Watch share stories about Apple’s approach to accessible design, constant iteration, and community engagement.

Accessibility by design: An Apple Watch for everyone

Speaking of music…

We explored the power of music and audio with the sonic wizards behind five of our favorite apps: the kids’ sandbox Pok Pok Playroom, the interactive bedtime story Loona, the incredible AI-powered NaadSadhana, the inclusive and inventive If Found…, and the extremely summery Poolsuite FM. Find out how they make their apps sound note-perfect right here.

Music makers

Mindful Cooldowns for Coding… powered by Fitness+

Close out Wednesday at WWDC at 3 p.m. PDT with a 10-minute Mindful Cooldown for Coding with Fitness+ trainer Jessica Skye.

That’s it! See you tomorrow!

Posted on Leave a comment

Challenge: Design for declarative device management in your MDM solution

Calling all MDM developers and enterprise administrators! Explore designing new declarative device management solutions that move management policies from the MDM server to the device. By sending declarations to the device and utilizing the status channel, that device becomes more autonomous and proactive. And your MDM solution will manage many facets of the device experience using the MDM protocol.

Begin the challenge

Start to identify important areas of the solution that would most benefit from adopting a declarative management approach. What one or more areas would that be? What challenges, if any, would there be to adopt this new approach into your solution?

If you are a developer of an MDM solution, you can consider how this integrates into your existing product. If you don’t have an existing MDM solution but are considering building a new one for general or specific use, how can declarative device management accelerate your development?

If you’re a device administrator at an organization, consider how you would want your MDM solution to adapt to the new paradigm. And consider those who use managed devices. How might this improve their experience?

Resources

  • WWDC21

Meet declarative device management

The future of device management is here: Learn how you can support mobile device management while allowing individual devices to be autonomous and proactive, bringing both increased performance and scalability. We’ll show you how you can incorporate this declarative model in your MDM solution.

Read the WWDC21 Challenges Terms and Conditions

Posted on Leave a comment

Challenge: Design multi-step Shortcuts

Shortcuts icon on a silver background

The best shortcuts help us get things done, faster: Show us your best multi-step shortcuts for designer and developer productivity.

A multi-step shortcut is composed of multiple actions, often from different apps. The best multi-step shortcuts can be used across platforms, helping people to quickly get things done, often without even needing to open an app. These sorts of shortcuts are a perfect fit for macOS, and now that the Shortcuts app is on the Mac, we want to know how you plan to use your shortcuts to simplify tasks, remove complexity, or just make things in your life easier.

Begin the challenge

We’re challenging you to share your favorite multi-step shortcuts for designer and developer productivity. Ideally, these shortcuts should meet one or more of the following criteria:

  • Does it employ multiple steps in a novel or interesting way?
  • Does it have a great experience both when used with a tap or click and when used with Siri?
  • Is it uniquely useful on the Mac?
  • Extra credit if the shortcut is fun or enjoyable!

You can create an entirely new shortcut for this challenge, or nominate one you’ve already created. Share your shortcut with the developer community on the Developer Forums.

Visit the Apple Developer Forums

Resources

Design great actions for Shortcuts, Siri, and Suggestions

Actions are the building blocks of shortcuts. They allow people to take advantage of your app’s functionality even when they’re not looking at your app’s interface. We’ll show you how to design actions that are useful, easy-to-use, and can be incorporated into powerful multi-step shortcuts….

Meet Shortcuts for macOS

Shortcuts is coming to macOS, and your apps are a key part of that process. Discover how you can elevate the capabilities of your app by exposing those features as Shortcuts actions. We’ll show you how to build actions for your macOS apps built with Catalyst or AppKit, deploy actions across…

Read the WWDC21 Challenges Terms and Conditions

Posted on Leave a comment

Challenge: Create a musical instrument in Swift Playgrounds

Hammer and paintbrush symbols

The first part to composing a musical masterpiece? Making your own instrument from scratch! In this challenge, you’ll use graphical tools to create a musical instrument in Swift Playgrounds and give a performance that will leave your audience floored (and waiting for an encore)!

Begin the challenge

The Swift Playgrounds app includes several Playgrounds books with starting points to help you explore different coding concepts and ideas. For this challenge, we’re asking you to use the Sonic Create book in the Swift Playgrounds app to build a musical instrument of your own creation. Now, this musical instrument doesn’t have to look or sound like an ordinary instrument — it could be a bunch of crystal pianos laid out like piano keys, or a beat-maker board that plays notes on a constant loop. Sonic Create comes with an entire set of sounds and instruments, as well as great graphics for building the look and feel of your instrument.

Before you make your own creation, you can use the Sonic Workshop book to learn how to use graphics to play sounds and loops.

Before you make your own creation, you can use the Sonic Workshop book to learn how to use graphics to play sounds and loops.

If you’d like to get in a little musical practice before venturing into the virtual instrument-making world, we recommend first downloading the Sonic Workshop challenge book from Swift Playgrounds, where you can explore using graphics to play sounds and loops. Once you’re familiar with some of the API, you can start creating graphic instances to respond to touch or drag events. You can also check out some of the musical examples provided in the Sensor Create book (iPad only), including “Using Light to Play Sound,” “Synesthesia,” and “Beat Maker.”

Ready to build your own instrument? Think about how you might want to make music with only these objects to guide you, and the kinds of sounds you want to create. Consider how the code you write influences the objects — their placement, their resonance, and the kinds of music you can make. How can you design your instrument to be intuitive, and also to invite people to explore and play? As a developer, the tools you make for yourself or others can completely change how other people use those tools and experience the world. (Pretty cool when you think about it!)

Once you’ve created something you like, share it with community on the Developer Forums.

Visit the Apple Developer Forums

Resources

Download Swift Playgrounds for macOS

Download Swift Playgrounds for iOS

Learn more about Swift Playgrounds

Read the WWDC21 Challenges Terms and Conditions