Streaming is available in most browsers,
and in the WWDC app.
Design for Group Activities
Learn how you can design your app to support SharePlay experiences. We'll show you how you can bring people together in your app using the Group Activities framework, and adapt your design to focus on group-first content sharing. And we'll explore ideas and iteration around apps and functions you can create for people using SharePlay on a FaceTime call.
- Have a question? Ask with tag wwdc21-10184
- Search the forums for tag wwdc21-10184
Welcome to “Design for Group Activities.” I’m Ian Baird, manager of the FaceTime team at Apple. In this session, we are going to talk about designing a great experience using Group Activities, but before we get started, let’s recap what Group Activities are and how it relates to SharePlay. Group Activities is the framework which plugs your app into SharePlay. It also provides the capability for messaging and synchronizing media playback. But before we get started, I’d like to share the promise of Group Activities with you. Imagine you had access to a framework backed by a world-class low-latency networking infrastructure, allowing you to privately and securely reach anyone in the world using an Apple device.
That’s the powerful system behind FaceTime, which is now open to you with Group Activities. With the power of Group Activities, you can watch a movie with a distant relative, shoot the perfect three-pointer, share photos of your amazing vacation with friends and family, or learn a new language, like Swift using Swift Playgrounds and screen sharing. My friend just found a new house in Nashville and wants me to take a look. Using the power of screen sharing, I’m transported directly to the experience, and I can tell her exactly what I think of the house she's interested in while we’re on a FaceTime call.
The key here is that these activities are all things people love to do together. Before SharePlay, you’ve probably designed and built your app around a single person.
All these examples are things people love to do together. You should look for activities in your app to bring people together, encourage conversation, collaboration, or just enjoyment.
As we noted, first you’ll want to discover the activities in your app best suited to sharing on a FaceTime call.
Once you identify these experiences, next you want to enhance them for sharing, add context to make the experience meaningful to the participants in the call, and automate the experience by adopting Group Activities API. This will make it easy for people to get into your experiences. Let’s talk about how to enhance your app for sharing.
There are three tools in Group Activity you can use to bring people together. First is screen sharing, second is shared media playback, and finally, we’ll talk about some custom UI techniques which can make your experience fit well in Group Activities. While on a FaceTime call, people can share their screen, and they can share your app automatically. This is a great way for people to discover what to do together.
When your app UI is shared, it’s important to consider which parts of your app are relevant for sharing.
By default, everything is shared except for secure entry fields.
You can use UIKit API to further restrict the visibility of this information on iOS during screen sharing sessions.
Your audio is also shared automatically with those on the call, but protected content like music and movies will not be shared over screen sharing. This is where you need to implement Group Activities to support coordinated media playback. This starts media on everyone’s device at the same time and keeps them in sync with rate changes and seeks. To be clear, this does not stream media from device to device but synchronizes playback on multiple devices.
You get smart volume control and the synchronization for free, but it is up to you to decide what to do with seeking, rate changing, playback controls, et cetera. For more information, check out the related session below.
IOS 15 supports seamless upgrades from screen sharing to media playback. Beginning SharePlay automatically upgrades the experience to rich media content. What if your app doesn’t fall into a media bucket? No, problem. The Messenger protocol allows you to broadcast data to all the other apps on the call in near real time. It’s private and end-to-end encrypted just like the FaceTime call. This makes it great for driving apps with Custom UI. Custom UI is a great way to get people together in your app. You can us this to draw custom views, like the one that Adam has drawn “Hello World” into.
For more information on this, check out the related session below. Now that you have evaluated your app, its activities, and thought about ways it can be enhanced for sharing, you might come up with new ideas on activities which didn’t make sense with a single person in mind.
We are especially excited about the opportunities here where Group Activities inspires a whole new kind of app that brings people together. Here are some examples of how SharePlay is used by Apple.
The TV app can be used with screen sharing for people to discover their next favorite TV show to binge watch together. The Music app has been enhanced to share your favorite new songs and artists with your friends on a FaceTime call. Now that we have defined our activities and looked at some of the cool new shared experiences Apple has defined, we can come up with great experiences to bring people together.
The next concept I want to talk about is how to make Group Activities contextual.
Relating your app and its content to the conversation is a super helpful way to make sure your app is SharePlay ready. When someone first launches your app while on a FaceTime call, they’re shown if it supports SharePlay right within the context of your app.
And if your app contains video content, then you have an opportunity to communicate to them that they can share that content with the people who are on the FaceTime call.
Once they find the content they want to watch, they will simply tap the SharePlay button, and everyone’s show will start.
Once an app or content is shared, activity preview tells everyone else about what you’re suggesting they watch.
Activity previews are an opportunity to give everyone context about what they are about to watch, so it’s important that you use this as best as possible. Use it like a rich link, with a title, subtitle, and thumbnail to describe the experience everyone is enjoying on the FaceTime call. Imagine receiving a message like this with very little context. It’s important to make sure that these titles and subtitles correspond to the action in the call.
As you can see in this example, it’s important to make these titles and subtitles meaningful. This is a great example of how to make a meaningful activity preview. Remember that whenever someone is interacting with their phone during SharePlay, they are essentially multitasking, so we need to make sure the interaction is as easy as possible. So automate as much as you can and minimize unneeded upfront interaction before getting into the activity. One way you can make SharePlay super easy is to have your app auto launch from the background on everyone’s device automatically. The way you do this is by supporting Picture in Picture within your app.
For more information on this, check out related sessions below.
Sometimes your app might need some interaction, like to sign up or subscribe for more content.
If that’s the case, simply call the Group Activities API and tell us that your app needs foreground presentation. The user will tap the banner, and your app will be brought to the foreground, allowing the user to interact before joining the experience. However, it’s important to use this feature with care. If someone doesn’t have your app installed, when the activity begins or they join the call, they’ll be taken to the App Store to install it when they tap the notice. As you can see, we’ve made it easy for people to get into your app.
You should streamline the path into the activity.
It’s important to remember that any user interaction is happening on a FaceTime call, so things like account sign up, purchases, et cetera, all need to be done while also chatting to your friends. Your friends are going to be waiting for you to complete this interaction. The last thing your want to do is make all of your friends wait while you fill out a lengthy form. So question every interaction and see if it’s really necessary to get to the content and, if possible, delay or automate those interactions.
Group Activities are a great way for people to experience your app.
We are really excited to see the types of activities you will enhance for SharePlay.
And make sure you’re adopting all the APIs to make the experience effortless and seamless.
For more information on this, check out the related sessions below. And thanks for watching. Enjoy the rest of WWDC21.
Looking for something specific? Enter a topic above and jump straight to the good stuff.
An error occurred when submitting your query. Please check your Internet connection and try again.