1 00:00:00,000 --> 00:00:02,420 [CREAK] 2 00:00:02,420 --> 00:00:03,872 [WHOOSH] 3 00:00:03,872 --> 00:00:05,808 [TAPPING] 4 00:00:12,120 --> 00:00:16,170 FILIP BABA: All right, so welcome, everyone, 5 00:00:16,170 --> 00:00:20,530 to our Bose AR Unity workshop. 6 00:00:20,530 --> 00:00:21,480 My name is Filip Baba. 7 00:00:21,480 --> 00:00:24,030 I'm a senior developer advocate at Bose. 8 00:00:24,030 --> 00:00:27,090 So what that means basically is I work with developers, 9 00:00:27,090 --> 00:00:30,450 enabling them to build experiences for our platform. 10 00:00:30,450 --> 00:00:32,159 I host workshops. 11 00:00:32,159 --> 00:00:34,590 We do game jams, hackathons, also public 12 00:00:34,590 --> 00:00:36,640 speaking on behalf of the platform. 13 00:00:36,640 --> 00:00:39,870 And if you do end up building something with Base 14 00:00:39,870 --> 00:00:41,430 AR Unity SDK specifically-- 15 00:00:41,430 --> 00:00:42,690 I'm on the Unity side-- 16 00:00:42,690 --> 00:00:44,340 you'll most likely be talking to me, 17 00:00:44,340 --> 00:00:48,390 and I'll be helping you get your idea and your product out there 18 00:00:48,390 --> 00:00:51,450 and trying to bring Bose on board 19 00:00:51,450 --> 00:00:53,800 to help you out with that as much as possible. 20 00:00:53,800 --> 00:00:58,810 So I am your voice when it comes to these things. 21 00:00:58,810 --> 00:01:00,420 So I'm just going to talk a little bit 22 00:01:00,420 --> 00:01:01,950 briefly about what is Bose AR. 23 00:01:01,950 --> 00:01:04,090 Some of you may already know or not, 24 00:01:04,090 --> 00:01:06,070 but I'm just going to get into it. 25 00:01:06,070 --> 00:01:11,520 So we have a new concept called audio augmented reality. 26 00:01:11,520 --> 00:01:13,410 Now, many of you probably already heard 27 00:01:13,410 --> 00:01:14,790 about augmented reality. 28 00:01:14,790 --> 00:01:16,290 First thing you probably think about 29 00:01:16,290 --> 00:01:22,000 is hololens or ARKit ARCore, Magic Leap, stuff like that. 30 00:01:22,000 --> 00:01:25,410 So we are actually audio first augmented reality. 31 00:01:25,410 --> 00:01:29,310 Now, what that means is, think spatial audio, 32 00:01:29,310 --> 00:01:31,800 for example, where you have sounds 33 00:01:31,800 --> 00:01:34,380 placed in space around you, and you're kind of virtually 34 00:01:34,380 --> 00:01:36,010 hearing it spatially. 35 00:01:36,010 --> 00:01:39,000 So what enables us to do audio augmented reality 36 00:01:39,000 --> 00:01:42,210 are the sensors that are located in each of these Bose AR 37 00:01:42,210 --> 00:01:42,990 wearables. 38 00:01:42,990 --> 00:01:45,000 You'll have a pair of frames, but then 39 00:01:45,000 --> 00:01:46,747 we also have our headphones as well, 40 00:01:46,747 --> 00:01:48,580 which have the same sets of sensors in them. 41 00:01:48,580 --> 00:01:51,270 And those sensors are an accelerometer, which 42 00:01:51,270 --> 00:01:54,900 allows you to get impulse and sudden movements; 43 00:01:54,900 --> 00:01:58,140 a gyroscope, which tracks rotation, so typically what 44 00:01:58,140 --> 00:02:01,920 we use the gyro for is to track the user's head orientation; 45 00:02:01,920 --> 00:02:04,320 and magnetometer, which is basically a compass, 46 00:02:04,320 --> 00:02:06,570 and we use that for our navigation apps. 47 00:02:06,570 --> 00:02:10,710 So if you know the GPS position of a user based on their phone, 48 00:02:10,710 --> 00:02:12,450 and if you use the magnetic heading 49 00:02:12,450 --> 00:02:15,480 from where their head is actually like pointing at, 50 00:02:15,480 --> 00:02:18,300 you can know what they're looking at on a map 51 00:02:18,300 --> 00:02:21,720 pretty accurately, actually. 52 00:02:21,720 --> 00:02:24,100 So we have gestures as well on our devices. 53 00:02:24,100 --> 00:02:27,060 So the frames specifically have an input gesture here 54 00:02:27,060 --> 00:02:27,810 on the right side. 55 00:02:27,810 --> 00:02:31,530 It's a double tap, so it's not a specific, touch 56 00:02:31,530 --> 00:02:32,460 sensitive sensor. 57 00:02:32,460 --> 00:02:34,560 It's actually based on the accelometer, 58 00:02:34,560 --> 00:02:37,650 so it's the little impulse tap. 59 00:02:37,650 --> 00:02:39,508 And the tap actually works from any side, 60 00:02:39,508 --> 00:02:41,550 but it's recommended to do it from the right side 61 00:02:41,550 --> 00:02:44,220 because that's where the sensor kit is. 62 00:02:44,220 --> 00:02:46,830 We also have custom gestures that we actually 63 00:02:46,830 --> 00:02:49,590 encourage our developers to explore, 64 00:02:49,590 --> 00:02:51,660 and it's a mixture of the other sensors. 65 00:02:51,660 --> 00:02:53,850 So a custom gesture would be something 66 00:02:53,850 --> 00:02:55,990 like, you're creating an experience, 67 00:02:55,990 --> 00:02:57,840 and it tells you, look up, and you look up, 68 00:02:57,840 --> 00:03:00,870 and then you track that rotation change. 69 00:03:00,870 --> 00:03:03,180 That would be a custom gesture. 70 00:03:03,180 --> 00:03:05,400 I know some of the games that have been built, 71 00:03:05,400 --> 00:03:07,420 sometimes, it tells you to duck, and there's 72 00:03:07,420 --> 00:03:09,420 a bullet flying over you or something like that. 73 00:03:09,420 --> 00:03:10,837 So that would be a custom gesture. 74 00:03:13,380 --> 00:03:18,490 So Heads Up Hands Free is one of the models that we have. 75 00:03:18,490 --> 00:03:20,415 So the idea behind it Heads Up Hands Free 76 00:03:20,415 --> 00:03:23,580 is, a lot of the applications today, whether they're 77 00:03:23,580 --> 00:03:25,890 AR or just standard mobile applications, 78 00:03:25,890 --> 00:03:27,390 you're always staring at your phone. 79 00:03:27,390 --> 00:03:28,560 You're always walking around. 80 00:03:28,560 --> 00:03:30,643 Your neck as a little craned because you're always 81 00:03:30,643 --> 00:03:31,860 looking down at your phone. 82 00:03:31,860 --> 00:03:33,780 The whole idea behind Heads Up Hands Free 83 00:03:33,780 --> 00:03:36,390 is that we want to create applications that you don't 84 00:03:36,390 --> 00:03:37,680 have to stare at your phone. 85 00:03:37,680 --> 00:03:40,437 The input is the wearable, and the output also 86 00:03:40,437 --> 00:03:41,520 goes through the wearable. 87 00:03:41,520 --> 00:03:43,560 So you don't actually have to look at a screen for most 88 00:03:43,560 --> 00:03:44,393 of these activities. 89 00:03:44,393 --> 00:03:47,410 So I'll give you an example. 90 00:03:47,410 --> 00:03:50,280 Let's say NaviGuide, for example. 91 00:03:50,280 --> 00:03:53,430 What it does is it knows your GPS location based 92 00:03:53,430 --> 00:03:55,080 on a mobile device, and it knows you're 93 00:03:55,080 --> 00:03:57,580 heading based on where you're looking with the magnetometer. 94 00:03:57,580 --> 00:03:59,490 So what it can do is then it can tell 95 00:03:59,490 --> 00:04:01,740 you're looking at this restaurant, for example, 96 00:04:01,740 --> 00:04:03,390 or this cafe. 97 00:04:03,390 --> 00:04:05,160 You double tap the input gesture, 98 00:04:05,160 --> 00:04:07,890 and it'll actually pull a Yelp review. 99 00:04:07,890 --> 00:04:10,320 Now, think about the non Heads Up Hands Free way 100 00:04:10,320 --> 00:04:12,138 of pulling up a Yelp review. 101 00:04:12,138 --> 00:04:12,930 What are you doing? 102 00:04:12,930 --> 00:04:16,260 You're most likely googling the name, 103 00:04:16,260 --> 00:04:18,450 or you're typing in the street address. 104 00:04:18,450 --> 00:04:22,290 But it requires you to pull out your phone, launch the app, 105 00:04:22,290 --> 00:04:26,280 find a name, type it in or the address or the pin on the map, 106 00:04:26,280 --> 00:04:28,650 and then you get to that Yelp review. 107 00:04:28,650 --> 00:04:31,570 It takes you out of what you're doing. 108 00:04:31,570 --> 00:04:34,202 So if you want to look up five or six restaurants walking down 109 00:04:34,202 --> 00:04:36,660 the street, you're basically probably staring at your phone 110 00:04:36,660 --> 00:04:37,740 for like 15 minutes. 111 00:04:37,740 --> 00:04:39,360 The idea behind Heads Up Hands Free 112 00:04:39,360 --> 00:04:43,170 is you just walk by a place, tap, you get the information, 113 00:04:43,170 --> 00:04:44,160 you move on-- 114 00:04:44,160 --> 00:04:48,060 no phone required, at least not looking at it. 115 00:04:48,060 --> 00:04:52,200 Now, it's a really cool concept I think, 116 00:04:52,200 --> 00:04:56,310 and a bunch of our apps use that as its guiding principle. 117 00:04:56,310 --> 00:05:00,150 It's not a must, but it's a design philosophy, 118 00:05:00,150 --> 00:05:02,520 and some of the developers have been really 119 00:05:02,520 --> 00:05:05,800 clever about implementing it. 120 00:05:05,800 --> 00:05:08,040 So the way that it works is the sensors-- 121 00:05:08,040 --> 00:05:10,380 actually, the data gets sent to the mobile app, 122 00:05:10,380 --> 00:05:15,120 so the wearable has to work with a mobile phone, iOS or Android, 123 00:05:15,120 --> 00:05:19,202 and that goes for the frames and the headphones as well. 124 00:05:19,202 --> 00:05:20,910 So some of the products that work with it 125 00:05:20,910 --> 00:05:24,540 are the frames, for example, which you all have here. 126 00:05:24,540 --> 00:05:27,000 I'm going to show just a little brief intro in frames. 127 00:05:27,000 --> 00:05:27,667 [VIDEO PLAYBACK] 128 00:05:27,667 --> 00:05:30,324 [MUSIC PLAYING] 129 00:05:37,310 --> 00:05:39,306 (SINGING) I look good. 130 00:05:39,306 --> 00:05:40,803 Good, good. 131 00:05:45,793 --> 00:05:48,787 Say, I look good. 132 00:05:48,787 --> 00:05:49,785 Good, good. 133 00:06:03,757 --> 00:06:06,751 This is sunshine dripping down my face. 134 00:06:16,447 --> 00:06:17,280 [END VIDEO PLAYBACK] 135 00:06:17,280 --> 00:06:19,210 So the frames were actually a concept 136 00:06:19,210 --> 00:06:21,440 that came out of our San Francisco office, 137 00:06:21,440 --> 00:06:24,200 so it's a very different kind of idea behind it. 138 00:06:24,200 --> 00:06:27,260 I, personally, think it's a super cool idea. 139 00:06:27,260 --> 00:06:30,382 I think frames are a really great outdoor wearable. 140 00:06:30,382 --> 00:06:32,590 It's great while you're biking, for example, when you 141 00:06:32,590 --> 00:06:34,720 don't want to be interrupted. 142 00:06:34,720 --> 00:06:36,440 If you don't want to-- 143 00:06:36,440 --> 00:06:37,600 let's say you get a call. 144 00:06:37,600 --> 00:06:39,880 You could just pick up straight through the frames. 145 00:06:39,880 --> 00:06:41,200 You don't have to pull out your phone. 146 00:06:41,200 --> 00:06:42,867 Or you could do turn-by-turn navigation. 147 00:06:42,867 --> 00:06:45,410 Again, you don't have to be mounting your phone, 148 00:06:45,410 --> 00:06:47,390 putting a waterproof case or whatever. 149 00:06:47,390 --> 00:06:48,640 You just have your frames on. 150 00:06:48,640 --> 00:06:50,320 Also, it doesn't plug up your ears. 151 00:06:50,320 --> 00:06:52,630 It's open ear audio, so you can still 152 00:06:52,630 --> 00:06:54,340 hear the sounds of the street around you. 153 00:06:54,340 --> 00:06:55,690 And it's not on the safe in that way, 154 00:06:55,690 --> 00:06:57,640 like wearing like noise canceling headphones 155 00:06:57,640 --> 00:06:59,900 while biking, for example. 156 00:06:59,900 --> 00:07:02,200 I just realized I got to do this QuickTime thing. 157 00:07:05,220 --> 00:07:06,060 Maybe click there. 158 00:07:13,530 --> 00:07:15,890 There we go. 159 00:07:15,890 --> 00:07:18,350 Next up-- oh, skip that-- 160 00:07:18,350 --> 00:07:20,060 QC35 II's. 161 00:07:20,060 --> 00:07:22,160 Now, this product you might be more familiar with. 162 00:07:22,160 --> 00:07:25,040 You've probably seen people wearing these, usually 163 00:07:25,040 --> 00:07:27,120 maybe on an airplane. 164 00:07:27,120 --> 00:07:31,640 So this is the classic noise canceling headphone which 165 00:07:31,640 --> 00:07:33,635 also has Bose AR sensors in it. 166 00:07:33,635 --> 00:07:35,510 And a lot of people actually don't know that, 167 00:07:35,510 --> 00:07:41,060 so I believe it's all the models after October of 2018 168 00:07:41,060 --> 00:07:46,250 were manufactured with the Bose AR sensors in it. 169 00:07:46,250 --> 00:07:48,630 And then the NC700's, which are these-- 170 00:07:48,630 --> 00:07:50,840 so these are the brand new noise canceling 171 00:07:50,840 --> 00:07:52,730 headphones that just came out. 172 00:07:52,730 --> 00:07:54,410 I get asked what's the difference 173 00:07:54,410 --> 00:07:56,440 between the QCs and the NCs. 174 00:07:56,440 --> 00:07:57,230 There's a few. 175 00:07:57,230 --> 00:07:58,820 Obviously, there's a redesign. 176 00:07:58,820 --> 00:07:59,990 It looks a lot more modern. 177 00:07:59,990 --> 00:08:02,540 It has a little bit more of a sleek aesthetic. 178 00:08:02,540 --> 00:08:07,310 I think that the QC35 have a very dad road trip 179 00:08:07,310 --> 00:08:09,950 look to them, especially the gray ones. 180 00:08:09,950 --> 00:08:11,780 But yeah, it's a brand new redesign, 181 00:08:11,780 --> 00:08:15,537 and one of the main upgrades, I'd say, is the microphone. 182 00:08:15,537 --> 00:08:17,120 So for conference calling, it actually 183 00:08:17,120 --> 00:08:19,400 has a noise canceling microphone because it 184 00:08:19,400 --> 00:08:21,500 has eight beamforming mics. 185 00:08:21,500 --> 00:08:23,630 So it can actually pick up your voice as opposed 186 00:08:23,630 --> 00:08:26,360 to the environment, so I found it really 187 00:08:26,360 --> 00:08:28,010 good in loud environments. 188 00:08:28,010 --> 00:08:31,770 They've actually done comparison tests in a loud environment, 189 00:08:31,770 --> 00:08:34,070 and you can barely hear anything in the background 190 00:08:34,070 --> 00:08:35,669 while you're talking with them. 191 00:08:35,669 --> 00:08:38,090 So I personally really like that because I 192 00:08:38,090 --> 00:08:42,518 do a lot of conference calls in sometimes noisy environments. 193 00:08:42,518 --> 00:08:44,810 There's a little promo video associated with that, too, 194 00:08:44,810 --> 00:08:45,602 if you want to see. 195 00:08:45,602 --> 00:08:46,370 [VIDEO PLAYBACK] 196 00:08:46,370 --> 00:08:50,540 And these are the first product that was-- 197 00:08:50,540 --> 00:08:54,230 the first Bose product that has been marketed with the Bose AR 198 00:08:54,230 --> 00:08:55,860 features in it. 199 00:08:55,860 --> 00:08:57,830 So the whole idea behind the NCs is, 200 00:08:57,830 --> 00:08:59,240 again, the Heads Up Hands Free. 201 00:09:02,228 --> 00:09:04,718 [MUSIC PLAYING] 202 00:09:40,743 --> 00:09:42,160 FILIP BABA: So I don't know if you 203 00:09:42,160 --> 00:09:44,890 saw near the end of the video, but there's a little capacitive 204 00:09:44,890 --> 00:09:46,280 touch screen here on the side. 205 00:09:46,280 --> 00:09:49,000 So it's not touch screen, it's a touch-- 206 00:09:49,000 --> 00:09:49,870 AUDIENCE: Surface. 207 00:09:49,870 --> 00:09:51,730 FILIP BABA: Surface, yeah. 208 00:09:51,730 --> 00:09:55,060 And it's, yeah, you can do volume up and down, 209 00:09:55,060 --> 00:09:57,418 skip track, or go back. 210 00:09:57,418 --> 00:09:58,960 And then there's also touch and hold, 211 00:09:58,960 --> 00:10:03,160 which you can actually get as a gesture inside Bose AR 212 00:10:03,160 --> 00:10:04,720 when you're building your app. 213 00:10:04,720 --> 00:10:07,240 So again, the whole idea is, you're not 214 00:10:07,240 --> 00:10:08,560 pulling out your phone. 215 00:10:08,560 --> 00:10:11,103 You have your wearable, your AR-enabled wearable, 216 00:10:11,103 --> 00:10:13,520 which is your headphones, which you carry around with you. 217 00:10:13,520 --> 00:10:15,160 If you're like me, I carry around my headphones 218 00:10:15,160 --> 00:10:15,700 everywhere. 219 00:10:15,700 --> 00:10:19,510 So you can talk to your Google Assistant or to Siri 220 00:10:19,510 --> 00:10:21,307 through it, receive messages. 221 00:10:21,307 --> 00:10:23,140 It'll actually read out the messages to you. 222 00:10:23,140 --> 00:10:26,770 So again, the whole idea is to have this wearable be pretty 223 00:10:26,770 --> 00:10:29,320 much your main input and output device 224 00:10:29,320 --> 00:10:32,800 for your daily mobile uses. 225 00:10:32,800 --> 00:10:34,750 So one of our projections is that we're 226 00:10:34,750 --> 00:10:37,570 going to have one million AR devices in 2019 227 00:10:37,570 --> 00:10:40,160 across all three of the products that I just showed you. 228 00:10:40,160 --> 00:10:41,710 Now, that's actually really huge, 229 00:10:41,710 --> 00:10:49,780 because most AR is single purpose AR. 230 00:10:49,780 --> 00:10:52,670 If you get a hololens, it's more enterprise. 231 00:10:52,670 --> 00:10:55,580 You're not really going to be wearing it out on the bus, 232 00:10:55,580 --> 00:10:56,080 you know. 233 00:10:56,080 --> 00:10:58,660 Or a Magic Leap, same thing, they only 234 00:10:58,660 --> 00:11:00,130 work in certain environments. 235 00:11:00,130 --> 00:11:01,690 It can't be in bright sunlight. 236 00:11:01,690 --> 00:11:05,500 And AR, typically, is a very niche thing 237 00:11:05,500 --> 00:11:08,900 that's found in specific places for specific use cases. 238 00:11:08,900 --> 00:11:11,710 But the idea behind Bose AR is that these wearables 239 00:11:11,710 --> 00:11:13,780 are actually being worn by people every day, 240 00:11:13,780 --> 00:11:16,180 already, just for their regular life, 241 00:11:16,180 --> 00:11:19,240 to listen to music, to do their conference calls. 242 00:11:19,240 --> 00:11:22,750 But now we have this AR platform built into it as well. 243 00:11:22,750 --> 00:11:24,970 And developers can actually leverage 244 00:11:24,970 --> 00:11:27,040 a very big install base. 245 00:11:27,040 --> 00:11:29,260 Because there's a lot of these devices out there. 246 00:11:29,260 --> 00:11:31,030 And they're constantly being sold 247 00:11:31,030 --> 00:11:33,460 and the user base is growing. 248 00:11:33,460 --> 00:11:36,457 And they're going to be looking for Bose AR enabled apps. 249 00:11:36,457 --> 00:11:38,290 Well, what can I run on these new headphones 250 00:11:38,290 --> 00:11:40,570 that I just bought? 251 00:11:40,570 --> 00:11:43,720 So we have an iOS and Android native SDK. 252 00:11:43,720 --> 00:11:45,917 And then we also have a Unity plug-in, 253 00:11:45,917 --> 00:11:47,750 which is what we're going to be using today, 254 00:11:47,750 --> 00:11:51,730 which actually works with both iOS and Android. 255 00:11:51,730 --> 00:11:54,190 So I'm just going to go into a few of the use 256 00:11:54,190 --> 00:11:56,328 cases, a few of the apps that are here, 257 00:11:56,328 --> 00:11:58,120 that might be a little bit inspiring so you 258 00:11:58,120 --> 00:12:00,970 can kind of get an idea of what people are doing. 259 00:12:00,970 --> 00:12:04,720 So Otocast is a really cool concept behind, like, 260 00:12:04,720 --> 00:12:05,770 how you can-- 261 00:12:05,770 --> 00:12:08,590 let's say you're at a music festival. 262 00:12:08,590 --> 00:12:11,140 They could set up a tour where you actually 263 00:12:11,140 --> 00:12:13,330 hear these audio pings. 264 00:12:13,330 --> 00:12:16,150 So if there's a point of interest as you're walking by, 265 00:12:16,150 --> 00:12:18,228 you'll just hear, like, a spatial audio pinging. 266 00:12:18,228 --> 00:12:20,770 And it's very unobtrusive, it's not like it's yelling at you. 267 00:12:20,770 --> 00:12:21,937 Hey, there's the thing here. 268 00:12:21,937 --> 00:12:23,800 It's just kind of like, it's a ping. 269 00:12:23,800 --> 00:12:25,360 And then if you look at that ping, 270 00:12:25,360 --> 00:12:27,027 you can actually double tap to enter it. 271 00:12:27,027 --> 00:12:30,280 And it'll tell you, oh, this is this stage. 272 00:12:30,280 --> 00:12:32,680 Or maybe if you're doing like a historical tour, 273 00:12:32,680 --> 00:12:34,750 it'll tell you this is this landmark, 274 00:12:34,750 --> 00:12:36,260 would you like to enter this tour? 275 00:12:36,260 --> 00:12:37,580 And then you enter it. 276 00:12:37,580 --> 00:12:39,460 And then you can go and actually explore 277 00:12:39,460 --> 00:12:43,960 and it'll kind of tell you what these environments are. 278 00:12:43,960 --> 00:12:45,970 Walc is kind of a similar concept, 279 00:12:45,970 --> 00:12:47,980 also to Otocast and Naviguide. 280 00:12:47,980 --> 00:12:49,540 And Naviguide, I explained earlier. 281 00:12:49,540 --> 00:12:52,150 It's kind of like you're using a gesture to Yelp things, 282 00:12:52,150 --> 00:12:53,120 basically. 283 00:12:53,120 --> 00:12:56,527 So it's really cool to kind of, like, not bring you out 284 00:12:56,527 --> 00:12:57,610 of your travel experience. 285 00:12:57,610 --> 00:12:59,920 You're just kind of walking, and exploring, 286 00:12:59,920 --> 00:13:02,020 and getting information you need without, again, 287 00:13:02,020 --> 00:13:03,610 staring at your phone. 288 00:13:03,610 --> 00:13:06,860 So all of these kind of use initially in the sensors 289 00:13:06,860 --> 00:13:07,360 what I said. 290 00:13:07,360 --> 00:13:10,030 So you the GPS from the mobile device. 291 00:13:10,030 --> 00:13:12,850 And then you use the magnetic heading from the wearable. 292 00:13:12,850 --> 00:13:15,550 And what's really cool about using magnetic heading 293 00:13:15,550 --> 00:13:19,000 from the frames, people always wear their sunglasses 294 00:13:19,000 --> 00:13:20,950 perpendicular. 295 00:13:20,950 --> 00:13:24,040 It's not like your phone, where the magnetometer sometimes-- 296 00:13:24,040 --> 00:13:25,840 you ever use the map and you're trying 297 00:13:25,840 --> 00:13:29,020 to look at the compass on the map, and it's opposite, 298 00:13:29,020 --> 00:13:30,970 or it's not very accurate? 299 00:13:30,970 --> 00:13:32,530 And you got to, like, do this and you 300 00:13:32,530 --> 00:13:33,820 got to recalibrate your phone. 301 00:13:33,820 --> 00:13:35,410 So with the frames, it's actually 302 00:13:35,410 --> 00:13:37,930 a lot better because you're never really putting 303 00:13:37,930 --> 00:13:40,060 that in a wrong direction. 304 00:13:40,060 --> 00:13:42,670 It's always kind of facing perpendicular. 305 00:13:42,670 --> 00:13:47,080 So it's really good to get a heading. 306 00:13:47,080 --> 00:13:49,600 Sport and wellness, so another use case 307 00:13:49,600 --> 00:13:50,780 is some of these sport apps. 308 00:13:50,780 --> 00:13:54,010 So Golfshot's actually a really great example. 309 00:13:54,010 --> 00:13:58,210 People wear frames when they're out on the golf course. 310 00:13:58,210 --> 00:14:01,060 It's sunglasses, they might be listening to music as well, 311 00:14:01,060 --> 00:14:02,390 so it's a perfect fit. 312 00:14:02,390 --> 00:14:05,380 So Golfshot's an already established app 313 00:14:05,380 --> 00:14:07,540 that golfers use to get information 314 00:14:07,540 --> 00:14:10,050 about but their shot, and their stored game details. 315 00:14:10,050 --> 00:14:11,800 I'm not much of a golfer so I don't really 316 00:14:11,800 --> 00:14:13,580 know all the details. 317 00:14:13,580 --> 00:14:17,080 But I do know that they have a Bose AR enabled feature that 318 00:14:17,080 --> 00:14:19,330 actually allow you to measure things like distance 319 00:14:19,330 --> 00:14:22,990 to the next hole, again, without having to pull out your phone 320 00:14:22,990 --> 00:14:24,640 and typing in some information. 321 00:14:24,640 --> 00:14:26,545 It uses all the data from the sensors 322 00:14:26,545 --> 00:14:27,670 and from the mobile device. 323 00:14:27,670 --> 00:14:30,220 It knows where you are, it knows what course you're on. 324 00:14:30,220 --> 00:14:33,008 And then you can have this seamless experience, again, 325 00:14:33,008 --> 00:14:34,300 without pulling out your phone. 326 00:14:34,300 --> 00:14:35,967 You're just already wearing some glasses 327 00:14:35,967 --> 00:14:39,250 because you're playing golf, and it's sunny, and you know. 328 00:14:39,250 --> 00:14:41,530 Yeah, I hope I makes sense. 329 00:14:41,530 --> 00:14:43,990 So New Balance I think is a really cool one. 330 00:14:43,990 --> 00:14:45,330 This is a demo. 331 00:14:45,330 --> 00:14:49,025 So they kind of created more of a workout app. 332 00:14:49,025 --> 00:14:51,150 It's kind of like a motivational workout app, where 333 00:14:51,150 --> 00:14:52,770 it'll count your sets and reps. 334 00:14:52,770 --> 00:14:54,270 So think, like, you're doing sit ups 335 00:14:54,270 --> 00:14:56,190 and you're actually doing that custom gesture. 336 00:14:56,190 --> 00:14:58,290 And you're counting how many sit ups you did. 337 00:14:58,290 --> 00:14:59,760 And it gives you positive feedback, 338 00:14:59,760 --> 00:15:02,890 oh, you're doing great, two more, or something like that. 339 00:15:02,890 --> 00:15:06,090 So again, if you weren't doing heads up, 340 00:15:06,090 --> 00:15:08,880 hands free, maybe you'd be checking your phone 341 00:15:08,880 --> 00:15:10,680 to see how many you've done. 342 00:15:10,680 --> 00:15:14,130 There's really no way to kind of do it seamlessly 343 00:15:14,130 --> 00:15:17,430 unless you're kind of wearing a little extra piece of sensors 344 00:15:17,430 --> 00:15:18,900 on you. 345 00:15:18,900 --> 00:15:20,490 Headspace is also a demo. 346 00:15:20,490 --> 00:15:24,150 And this is actually getting a big revamp. 347 00:15:24,150 --> 00:15:27,480 But the idea behind this, it's a meditation app. 348 00:15:27,480 --> 00:15:30,242 So it's a perfect fit for things like spatial audio. 349 00:15:30,242 --> 00:15:32,700 They even have a little bit of an exercise you kind of like 350 00:15:32,700 --> 00:15:33,840 stretch your neck. 351 00:15:33,840 --> 00:15:36,150 And then again, it's using the sensors 352 00:15:36,150 --> 00:15:38,280 in the wearable to actually be able to tell 353 00:15:38,280 --> 00:15:39,972 if you did your neck stretch. 354 00:15:39,972 --> 00:15:41,430 Then when you do your neck stretch, 355 00:15:41,430 --> 00:15:42,888 it kind of has this soothing voice. 356 00:15:42,888 --> 00:15:45,540 It's like, all right, so now, we're going to close our eyes 357 00:15:45,540 --> 00:15:47,010 and, you know. 358 00:15:47,010 --> 00:15:48,990 And it starts to play a little soundscape. 359 00:15:48,990 --> 00:15:51,450 And it helps you kind of meditate. 360 00:15:51,450 --> 00:15:55,110 Another idea I heard brought up is, you can actually 361 00:15:55,110 --> 00:15:56,410 check someone's posture. 362 00:15:56,410 --> 00:16:00,420 So if someone's falling asleep, you can kind of slightly 363 00:16:00,420 --> 00:16:04,813 ping them to wake up, so things like that. 364 00:16:04,813 --> 00:16:07,230 Like I said, developers have been really creative with it. 365 00:16:07,230 --> 00:16:10,350 And then music of course, I think 366 00:16:10,350 --> 00:16:12,390 music is one of the best use cases. 367 00:16:12,390 --> 00:16:14,220 Because I think spatial audio, which 368 00:16:14,220 --> 00:16:16,950 is what today's workshop is mainly going to be about, 369 00:16:16,950 --> 00:16:22,620 is a very unexplored area of music or sound in general. 370 00:16:22,620 --> 00:16:25,078 And Bose AR is a perfect fit for spatial audio, 371 00:16:25,078 --> 00:16:27,120 especially because of the sensors that I was just 372 00:16:27,120 --> 00:16:30,720 mentioning because you know the head orientation, 373 00:16:30,720 --> 00:16:33,060 you can actually simulate spatial audio just 374 00:16:33,060 --> 00:16:35,340 between the two stereo speakers. 375 00:16:35,340 --> 00:16:37,110 You can actually blend the sound between 376 00:16:37,110 --> 00:16:39,090 based on where your head is looking. 377 00:16:39,090 --> 00:16:41,220 So Radar is a great example of this. 378 00:16:41,220 --> 00:16:44,820 So Radar is an app built by Bose, which actually connects 379 00:16:44,820 --> 00:16:47,940 to something that's called Creator Tool that's currently 380 00:16:47,940 --> 00:16:48,690 in development. 381 00:16:48,690 --> 00:16:50,400 It's in closed beta. 382 00:16:50,400 --> 00:16:52,230 But the idea here is that Radar is 383 00:16:52,230 --> 00:16:56,790 going to be kind of almost like a marketplace slash area where 384 00:16:56,790 --> 00:17:00,270 you can browse lots of different spatial audio experiences. 385 00:17:00,270 --> 00:17:03,730 And they're going to be tied to certain areas on the map. 386 00:17:03,730 --> 00:17:06,390 So maybe if you're in a certain place, 387 00:17:06,390 --> 00:17:08,310 there's certain spatial audio experiences 388 00:17:08,310 --> 00:17:10,530 that wouldn't be in some other place. 389 00:17:10,530 --> 00:17:13,619 And it can do things like it can ping you when you 390 00:17:13,619 --> 00:17:14,970 enter, let's say, some park. 391 00:17:14,970 --> 00:17:17,520 And maybe there's a spatial audio experience 392 00:17:17,520 --> 00:17:18,390 tied to that park. 393 00:17:18,390 --> 00:17:20,790 And you'll be able to enter it if you just kind of have 394 00:17:20,790 --> 00:17:23,130 the app running in the background. 395 00:17:23,130 --> 00:17:28,079 Traverse is a cool example of a mixture between RAPI 396 00:17:28,079 --> 00:17:30,090 and existing ARAPI. 397 00:17:30,090 --> 00:17:31,950 So I think they're using ARKit. 398 00:17:31,950 --> 00:17:34,080 And what it actually allows you to do, 399 00:17:34,080 --> 00:17:37,830 it's kind of like you're in the middle of a concert. 400 00:17:37,830 --> 00:17:40,497 And you're hearing the different instruments playing around you. 401 00:17:40,497 --> 00:17:42,330 So what you can actually do is, while you're 402 00:17:42,330 --> 00:17:44,623 holding your phone up, you can actually kind of close 403 00:17:44,623 --> 00:17:46,290 your eyes you just walk around the room. 404 00:17:46,290 --> 00:17:49,010 And you're actually exploring all the different instruments 405 00:17:49,010 --> 00:17:49,510 around you. 406 00:17:49,510 --> 00:17:52,350 You can walk up to the singer, you can walk up to the piano. 407 00:17:52,350 --> 00:17:57,030 And it's using ARKit to do positional tracking and Bose AR 408 00:17:57,030 --> 00:17:59,460 for spatial audio and your head orientation. 409 00:17:59,460 --> 00:18:02,670 So it's actually using both the phone's positional 410 00:18:02,670 --> 00:18:04,740 and the head's rotational tracking. 411 00:18:04,740 --> 00:18:06,330 And it knows between the two. 412 00:18:06,330 --> 00:18:08,340 And it kind of simulates as if you're actually 413 00:18:08,340 --> 00:18:13,870 in the middle of a band or a concert that's playing. 414 00:18:13,870 --> 00:18:18,360 iHeartRadio is a cool demo app, I'd say. 415 00:18:18,360 --> 00:18:22,278 It's basically another take on how you can tune 416 00:18:22,278 --> 00:18:23,570 in to different radio channels. 417 00:18:23,570 --> 00:18:26,470 So instead of pulling out your phone and seeking, 418 00:18:26,470 --> 00:18:28,330 you're actually using your head orientation. 419 00:18:28,330 --> 00:18:30,330 And you're kind of, like, your head's the tuner. 420 00:18:30,330 --> 00:18:32,038 And then when you like something you just 421 00:18:32,038 --> 00:18:33,840 kind of double tap and you go into it. 422 00:18:33,840 --> 00:18:36,030 And then you can pull out of it at any time and tune 423 00:18:36,030 --> 00:18:36,940 into something else. 424 00:18:36,940 --> 00:18:38,940 And if you get a little preview and you like it, 425 00:18:38,940 --> 00:18:41,580 you tap into it and you're listening to it 426 00:18:41,580 --> 00:18:46,200 without having to look at oh, I'm 22.3 FM, or whatever. 427 00:18:46,200 --> 00:18:47,880 You're just kind of listening to it. 428 00:18:50,580 --> 00:18:55,860 Games is predominantly in the realm of our Unity SDK. 429 00:18:55,860 --> 00:18:58,290 So we have some cool games that have been built. 430 00:18:58,290 --> 00:19:00,750 The three that I have up here are 431 00:19:00,750 --> 00:19:02,730 what I would call representative experiences. 432 00:19:02,730 --> 00:19:05,147 So we actually have a lot more games that have been built, 433 00:19:05,147 --> 00:19:06,490 especially this year. 434 00:19:06,490 --> 00:19:08,670 And I'll show you actually some videos of the games 435 00:19:08,670 --> 00:19:09,960 to kind of get inspired. 436 00:19:09,960 --> 00:19:11,700 So all these games are actually out. 437 00:19:11,700 --> 00:19:15,540 So you can download them on the App Store 438 00:19:15,540 --> 00:19:18,420 if you have a Bose AR enabled wearable. 439 00:19:18,420 --> 00:19:22,230 And like I said, they're representative experiences. 440 00:19:22,230 --> 00:19:25,380 Meaning that I believe these developers kind of 441 00:19:25,380 --> 00:19:27,900 created some design patterns out of these. 442 00:19:27,900 --> 00:19:30,120 They were one of the first to make games for it. 443 00:19:30,120 --> 00:19:33,370 And I think these three are kind of in their own category. 444 00:19:33,370 --> 00:19:36,180 So OverHerd, it's a really funny game. 445 00:19:36,180 --> 00:19:38,100 You basically play as an Englishman 446 00:19:38,100 --> 00:19:41,680 that's taunted by Frenchmen at castles at night. 447 00:19:41,680 --> 00:19:44,730 It's very kind of, like, Monty Python-esque. 448 00:19:44,730 --> 00:19:47,460 Funny accents, the voice acting is hilarious. 449 00:19:47,460 --> 00:19:50,460 And what you do is you use your head as, like, a catapult. 450 00:19:50,460 --> 00:19:53,070 And your head orientation like this. 451 00:19:53,070 --> 00:19:54,630 And you double tap and you basically 452 00:19:54,630 --> 00:19:57,630 launch cows into these castles. 453 00:19:57,630 --> 00:19:59,640 And you kind of hear the moo. 454 00:19:59,640 --> 00:20:00,690 And it's all spatial. 455 00:20:00,690 --> 00:20:02,950 So you're kind of listening for where they're at. 456 00:20:02,950 --> 00:20:04,367 And when you're turning your head, 457 00:20:04,367 --> 00:20:05,730 you hear the castles over there. 458 00:20:05,730 --> 00:20:07,770 And then the Frenchmen are, like, taunting you. 459 00:20:07,770 --> 00:20:11,070 Like, oh, I bet you can't hit the broad side of a barn, 460 00:20:11,070 --> 00:20:11,670 or whatever. 461 00:20:11,670 --> 00:20:14,700 I'm not going to try to do the accent, but you should hear it. 462 00:20:14,700 --> 00:20:17,700 It's pretty hilarious. 463 00:20:17,700 --> 00:20:20,490 And it's a great example of, it's 464 00:20:20,490 --> 00:20:25,800 kind of using the spatial audio and using your head orientation 465 00:20:25,800 --> 00:20:28,140 as the controller, basically. 466 00:20:28,140 --> 00:20:31,470 So Komrad is a cool design pattern. 467 00:20:31,470 --> 00:20:35,190 So it's basically like a spy novel. 468 00:20:35,190 --> 00:20:39,030 And it's a choose your own adventure spy novel. 469 00:20:39,030 --> 00:20:41,920 So you can actually make decisions in the story. 470 00:20:41,920 --> 00:20:46,440 So the story goes on and there's yes and no decision trees 471 00:20:46,440 --> 00:20:47,300 that you go through. 472 00:20:47,300 --> 00:20:49,050 And at some point I think you have to duck 473 00:20:49,050 --> 00:20:51,000 and dodge a bullet. 474 00:20:51,000 --> 00:20:53,970 And it's got this whole AI theme to it. 475 00:20:53,970 --> 00:20:57,030 And the AI's talking to you and you're making decisions. 476 00:20:57,030 --> 00:20:59,380 And you kind of change the outcome of the story. 477 00:20:59,380 --> 00:21:03,480 So that's a pretty popular design pattern, and one 478 00:21:03,480 --> 00:21:04,680 that I'm a huge fan of. 479 00:21:04,680 --> 00:21:06,460 I love choose your own adventure games. 480 00:21:06,460 --> 00:21:09,330 And I think the medium is perfect for it. 481 00:21:09,330 --> 00:21:11,580 Instead of just doing yes or no on the screen, 482 00:21:11,580 --> 00:21:15,400 you can actually do yes and no by nodding and shaking 483 00:21:15,400 --> 00:21:15,900 your head. 484 00:21:15,900 --> 00:21:17,490 So it's very immersive. 485 00:21:17,490 --> 00:21:19,500 When you get asked a question you're like, yes. 486 00:21:19,500 --> 00:21:21,900 And then it kind of goes on. 487 00:21:21,900 --> 00:21:24,840 Dead Drop Desperado is a multiplayer game. 488 00:21:24,840 --> 00:21:26,355 It's a local multiplayer game. 489 00:21:26,355 --> 00:21:28,230 So what I actually really like about this one 490 00:21:28,230 --> 00:21:32,540 is it's got a little bit of a party game kind of aesthetic 491 00:21:32,540 --> 00:21:33,040 to it. 492 00:21:33,040 --> 00:21:36,240 So you play with a friend. 493 00:21:36,240 --> 00:21:40,320 And one of you holds the mobile phone and the other one 494 00:21:40,320 --> 00:21:43,710 gets handed off the wearable, so let's say the headphones. 495 00:21:43,710 --> 00:21:46,620 And what happens is he's standing in front of you. 496 00:21:46,620 --> 00:21:49,050 And you shoot bullets at your friend. 497 00:21:49,050 --> 00:21:51,360 And your friend is trying to dodge the bullets 498 00:21:51,360 --> 00:21:52,860 by listening to where they're coming 499 00:21:52,860 --> 00:21:54,450 from using the spatial audio. 500 00:21:54,450 --> 00:21:56,830 And you're kind of leaning left and right like that. 501 00:21:56,830 --> 00:21:58,890 And then it gets switched off. 502 00:21:58,890 --> 00:22:00,510 And then you're the one who's dodging, 503 00:22:00,510 --> 00:22:01,885 and he's the one that's shooting. 504 00:22:01,885 --> 00:22:04,050 And then in the end, there's kind of a score tally 505 00:22:04,050 --> 00:22:05,550 and it's got a leaderboard. 506 00:22:05,550 --> 00:22:08,280 And it kind of has a little bit of a competitive aspect to it. 507 00:22:08,280 --> 00:22:10,440 What I personally like is that you could, 508 00:22:10,440 --> 00:22:13,560 let's say, you have your headphones, 509 00:22:13,560 --> 00:22:16,350 and you want to show someone something cool on them. 510 00:22:16,350 --> 00:22:18,390 You could just kind of hand off the headphones. 511 00:22:18,390 --> 00:22:20,565 And now it's this multi-player interaction. 512 00:22:20,565 --> 00:22:22,440 So you have the headphones, I have the phone. 513 00:22:22,440 --> 00:22:23,460 And you switch it up. 514 00:22:23,460 --> 00:22:25,560 And it's also a little bit competitive 515 00:22:25,560 --> 00:22:27,000 with the leaderboard and such. 516 00:22:27,000 --> 00:22:31,938 So like I said, representative experiences. 517 00:22:31,938 --> 00:22:34,230 You're definitely not limited to these design patterns. 518 00:22:34,230 --> 00:22:37,070 We're actually excited to see what our developers come up 519 00:22:37,070 --> 00:22:37,570 with. 520 00:22:37,570 --> 00:22:41,820 And there's always cool stuff that people come up with. 521 00:22:41,820 --> 00:22:44,620 And I just wanted to show you a little bit. 522 00:22:44,620 --> 00:22:46,930 So we have this video that was produced. 523 00:22:46,930 --> 00:22:49,650 So we've posted a bunch of game jams this year. 524 00:22:49,650 --> 00:22:53,730 And this is one of the first game jams that we hosted. 525 00:22:53,730 --> 00:22:56,070 And these games that I just showed you 526 00:22:56,070 --> 00:22:57,690 were actually built at it. 527 00:22:57,690 --> 00:22:59,200 So I'll just go ahead and show you. 528 00:22:59,200 --> 00:23:01,770 So this is from our Playcrafting partnership. 529 00:23:01,770 --> 00:23:07,230 Playcrafting is a small, game developer collective. 530 00:23:07,230 --> 00:23:10,710 But plus they also host events like Play NYC. 531 00:23:10,710 --> 00:23:15,690 And they bring developers, they teach Unity classes, 532 00:23:15,690 --> 00:23:18,930 and they just have a general kind of game developer 533 00:23:18,930 --> 00:23:20,740 community across the country. 534 00:23:20,740 --> 00:23:24,300 So we've partnered with them to have some of these Bose AR game 535 00:23:24,300 --> 00:23:25,830 jams. 536 00:23:25,830 --> 00:23:27,496 And I'll show you the video. 537 00:23:27,496 --> 00:23:29,480 [MUSIC PLAYING] 538 00:23:32,112 --> 00:23:34,320 ERIC HAMEL: We're here this weekend at Bose's offices 539 00:23:34,320 --> 00:23:35,310 in Boston. 540 00:23:35,310 --> 00:23:37,700 And we're doing a game jam with their new AR technology. 541 00:23:37,700 --> 00:23:39,450 MICHAEL LUDDEN: We've given the developers 542 00:23:39,450 --> 00:23:43,080 a brand new version of the Bose AR SDK and Unity plugin. 543 00:23:43,080 --> 00:23:46,320 It allows Unity developers to use and add Bose AR integration 544 00:23:46,320 --> 00:23:47,760 to Unity based apps. 545 00:23:47,760 --> 00:23:51,660 REJON TAYLOR-FOSTER: They've built a very intuitive system 546 00:23:51,660 --> 00:23:56,520 for developers like me to be able to just pop it into Unity 547 00:23:56,520 --> 00:23:57,300 and just go. 548 00:23:57,300 --> 00:23:58,758 MICHAEL CARRIER: We give you access 549 00:23:58,758 --> 00:24:01,080 to all of the sensors that are available in the device, 550 00:24:01,080 --> 00:24:03,900 the accelerometer, the gyroscope, two 551 00:24:03,900 --> 00:24:05,580 different rotation sensors. 552 00:24:05,580 --> 00:24:09,360 They provide orientation of the user's head and world space. 553 00:24:09,360 --> 00:24:12,060 We can actually provide spatialized audio, 554 00:24:12,060 --> 00:24:14,790 which just gives you an entirely new level of context when 555 00:24:14,790 --> 00:24:16,495 you're making any sort of experience. 556 00:24:16,495 --> 00:24:18,870 ERIC CHAN: We're able to get all sorts of different types 557 00:24:18,870 --> 00:24:21,570 of information from the frames glasses, which 558 00:24:21,570 --> 00:24:25,110 we can use to help develop the new types of interactions. 559 00:24:25,110 --> 00:24:28,110 ERIC HAMEL: We were challenged to create an augmented reality 560 00:24:28,110 --> 00:24:30,480 experience that put audio first. 561 00:24:30,480 --> 00:24:31,980 ANNA SHABAYEV: It's very interesting 562 00:24:31,980 --> 00:24:34,740 to look at games from, like, a whole different angle. 563 00:24:34,740 --> 00:24:35,940 JONATHAN SHRACK: Usually people think AR and think, 564 00:24:35,940 --> 00:24:36,773 oh, it's all visual. 565 00:24:36,773 --> 00:24:38,442 And this one, it's Bose, so it's audio. 566 00:24:38,442 --> 00:24:39,900 CRAIG HERNDON: The challenge really 567 00:24:39,900 --> 00:24:41,692 made us put our heads together and be like, 568 00:24:41,692 --> 00:24:42,753 what can you really do? 569 00:24:42,753 --> 00:24:44,670 ANNA SHABAYEV: There's a whole world of sound. 570 00:24:44,670 --> 00:24:46,620 And we shouldn't just be paying attention 571 00:24:46,620 --> 00:24:49,832 to just the visual component. 572 00:24:49,832 --> 00:24:52,290 MICHAEL LUDDEN: So we've had a lot of really creative ideas 573 00:24:52,290 --> 00:24:54,165 that the developers have come up with so far. 574 00:24:54,165 --> 00:24:56,550 And I think some of the more interesting aspects 575 00:24:56,550 --> 00:24:59,250 are the different game mechanics with the user interface 576 00:24:59,250 --> 00:25:00,570 experiments that they're doing. 577 00:25:00,570 --> 00:25:01,945 MIKE LEVINE: The game we created, 578 00:25:01,945 --> 00:25:03,550 we're calling sonic samurai. 579 00:25:03,550 --> 00:25:06,000 You're the samurai and you can't see. 580 00:25:06,000 --> 00:25:08,130 But there are all these monsters around you. 581 00:25:08,130 --> 00:25:12,000 And you basically have to use the Bose headset to determine 582 00:25:12,000 --> 00:25:13,560 where the monsters are. 583 00:25:13,560 --> 00:25:15,600 And then you actually use your mobile device 584 00:25:15,600 --> 00:25:19,620 as your sword to strike at the monsters. 585 00:25:19,620 --> 00:25:21,870 REJON TAYLOR-FOSTER: It's a game where you essentially 586 00:25:21,870 --> 00:25:26,850 try to dodge bullets that are sent from one user towards you. 587 00:25:26,850 --> 00:25:29,760 Imagine the matrix, but you can't see the bullets 588 00:25:29,760 --> 00:25:30,930 that are coming at you. 589 00:25:30,930 --> 00:25:33,150 You can only hear them. 590 00:25:33,150 --> 00:25:35,820 MARC HARPIN: Our game is called OverHerd. 591 00:25:35,820 --> 00:25:38,520 ERIC HAMEL: You play a medieval catapult operator, 592 00:25:38,520 --> 00:25:41,847 catapulting poultry and cows as French castles. 593 00:25:41,847 --> 00:25:43,680 MARC HARPIN: You're doing this all at night, 594 00:25:43,680 --> 00:25:45,223 under cover of darkness. 595 00:25:45,223 --> 00:25:46,890 ERIC HAMEL: So you have to use your ears 596 00:25:46,890 --> 00:25:48,745 to hear where the castle is. 597 00:25:48,745 --> 00:25:50,370 MARC HARPIN: When you point your frames 598 00:25:50,370 --> 00:25:52,980 in the correct direction, you can hear the French defenders 599 00:25:52,980 --> 00:25:53,790 taunting you. 600 00:25:53,790 --> 00:25:56,023 ERIC HAMEL: Daring you throw things at them. 601 00:25:56,023 --> 00:25:57,690 FRENCHMAN 1: Your efforts are all wastes 602 00:25:57,690 --> 00:26:00,810 of perfectly good livestocks. 603 00:26:00,810 --> 00:26:03,480 MARC HARPIN: By turning your head and elevating it up, 604 00:26:03,480 --> 00:26:08,880 you actually modulate the angle the catapult with fire at. 605 00:26:08,880 --> 00:26:11,370 ERIC CHAN: You are being bombarded by vegetables 606 00:26:11,370 --> 00:26:13,213 in a 360 degree radius. 607 00:26:13,213 --> 00:26:15,630 You can tell what direction the vegetables are coming from 608 00:26:15,630 --> 00:26:16,710 based on spatial audio. 609 00:26:16,710 --> 00:26:20,280 And you need to find and face the correct vegetable 610 00:26:20,280 --> 00:26:21,807 and eat it. 611 00:26:21,807 --> 00:26:24,390 JONATHAN SHRACK: We're working on kind of a spy thriller game. 612 00:26:24,390 --> 00:26:26,348 CRAIG HERNDON: When you put on the Bose frames, 613 00:26:26,348 --> 00:26:29,280 you start to get radio chatter from a secret agent. 614 00:26:29,280 --> 00:26:32,670 And you start doing instructions to locate radar pings, 615 00:26:32,670 --> 00:26:33,810 diffuse bombs. 616 00:26:33,810 --> 00:26:36,600 Like James Bond and Mission Impossible in real life. 617 00:26:36,600 --> 00:26:37,350 WOMAN 1: Duck now. 618 00:26:40,510 --> 00:26:42,310 ERIC CHAN: Augmented reality is really 619 00:26:42,310 --> 00:26:44,477 one of the most important future mediums for design. 620 00:26:44,477 --> 00:26:46,602 MICHAEL CARRIER: And we're getting the tools set up 621 00:26:46,602 --> 00:26:49,150 in a way that allow people to start experimenting. 622 00:26:49,150 --> 00:26:51,460 And using something like Unity allows that iteration 623 00:26:51,460 --> 00:26:53,030 to happen very, very quickly. 624 00:26:53,030 --> 00:26:53,530 REJON TAYLOR-FOSTER: It's an honor 625 00:26:53,530 --> 00:26:55,990 to be chosen to be here to work on this technology 626 00:26:55,990 --> 00:26:56,890 for the first time. 627 00:26:56,890 --> 00:26:59,110 ANNA SHABAYEV: And also give developers a bigger idea of, 628 00:26:59,110 --> 00:27:00,790 like, what's possible with this stuff so 629 00:27:00,790 --> 00:27:06,220 that they can use our games as a stepping stone for what's next. 630 00:27:06,220 --> 00:27:08,800 DAN BUTCHKO: Here we are at PAX East 2019. 631 00:27:08,800 --> 00:27:11,680 All five of these games are debuting for the first time 632 00:27:11,680 --> 00:27:12,370 anywhere. 633 00:27:12,370 --> 00:27:14,912 ERIC HAMEL: People are having a lot of fun here this weekend. 634 00:27:14,912 --> 00:27:17,260 Lots of people dodging vegetables and throwing cows. 635 00:27:17,260 --> 00:27:18,760 MAN 1: I always enjoy, like, finding 636 00:27:18,760 --> 00:27:20,110 new games that are innovative. 637 00:27:20,110 --> 00:27:21,693 MAN 2: I've never played anything just 638 00:27:21,693 --> 00:27:22,962 based entirely on sound. 639 00:27:22,962 --> 00:27:24,670 WOMAN 2: I don't think I've seen anything 640 00:27:24,670 --> 00:27:28,850 else here that relies completely on audio and motion, no visual 641 00:27:28,850 --> 00:27:29,350 at all. 642 00:27:29,350 --> 00:27:31,360 But it felt really immersive and cool. 643 00:27:31,360 --> 00:27:33,193 IAN CUBIN: People are really getting a sense 644 00:27:33,193 --> 00:27:35,200 that the audio is read and spatial. 645 00:27:35,200 --> 00:27:37,253 WOMAN 3: You felt like you're really there. 646 00:27:37,253 --> 00:27:39,170 MAN 3: It's just a whole different experience. 647 00:27:39,170 --> 00:27:40,253 WOMAN 4: It's more social. 648 00:27:40,253 --> 00:27:42,580 It really brings us back to where games really are, 649 00:27:42,580 --> 00:27:44,050 where it's with other people. 650 00:27:44,050 --> 00:27:45,820 MAN 3: It's a fun ride, these glasses. 651 00:27:45,820 --> 00:27:47,800 DAN BUTCHKO: We're changing the landscape of AR 652 00:27:47,800 --> 00:27:49,180 and games in America. 653 00:27:49,180 --> 00:27:51,593 And this is just a taste of what's to come. 654 00:27:51,593 --> 00:27:53,260 CRAIG HERNDON: It's very exciting for us 655 00:27:53,260 --> 00:27:55,240 to have that chance to impact other people's 656 00:27:55,240 --> 00:27:56,447 lives with a new technology. 657 00:27:56,447 --> 00:27:58,030 CHUCK FREEDMAN: The things that people 658 00:27:58,030 --> 00:28:00,340 were able to do over a weekend really inspired me 659 00:28:00,340 --> 00:28:03,460 to think we're going to see some amazing stuff this year. 660 00:28:05,895 --> 00:28:08,520 FILIP BABA: And we have actually seen some pretty amazing stuff 661 00:28:08,520 --> 00:28:09,180 this year. 662 00:28:09,180 --> 00:28:12,630 I feel like the more of these experiences get built, 663 00:28:12,630 --> 00:28:16,380 and the more developers get creative with it, 664 00:28:16,380 --> 00:28:18,570 it's an early platform so there's 665 00:28:18,570 --> 00:28:21,867 plenty of room to kind of set the standard at what 666 00:28:21,867 --> 00:28:22,575 could be created. 667 00:28:25,530 --> 00:28:27,480 What else do I have here? 668 00:28:27,480 --> 00:28:31,680 So I have a few actual gameplay footage 669 00:28:31,680 --> 00:28:34,110 that I'd like to show you on some experiences 670 00:28:34,110 --> 00:28:35,760 that I personally like. 671 00:28:35,760 --> 00:28:37,700 Developers cut up these videos to kind of show 672 00:28:37,700 --> 00:28:38,700 what the games are like. 673 00:28:38,700 --> 00:28:40,170 So just going to get into these. 674 00:28:40,170 --> 00:28:42,885 And again, just some more inspiration. 675 00:28:42,885 --> 00:28:44,760 NARRATOR 1: The Worst Grim Reaper's Soulmates 676 00:28:44,760 --> 00:28:45,600 it's an AR music game. 677 00:28:45,600 --> 00:28:45,860 FILIP BABA: That's this t-shirt. 678 00:28:45,860 --> 00:28:48,360 NARRATOR 1: In which a singing grim reaper plays a song that 679 00:28:48,360 --> 00:28:50,170 responds to you and your world. 680 00:28:50,170 --> 00:28:51,930 The grim reaper Sebastian is a character 681 00:28:51,930 --> 00:28:54,230 from another one of our games. 682 00:28:54,230 --> 00:28:56,750 He's tired of his dead end job collecting souls 683 00:28:56,750 --> 00:29:00,570 and wants to pursue his dream of being a songwriter. 684 00:29:00,570 --> 00:29:02,790 Seeking inspiration, Sebastian asks 685 00:29:02,790 --> 00:29:05,269 you to let him write a song about your life. 686 00:29:05,269 --> 00:29:07,764 [MUSIC PLAYING] 687 00:29:20,738 --> 00:29:25,250 SEBASTIAN: (SINGING) You looking up, maybe lost in thought, 688 00:29:25,250 --> 00:29:29,330 kind of like me, you know I daydream a lot. 689 00:29:29,330 --> 00:29:33,810 There are things on the ceiling and in outer space. 690 00:29:33,810 --> 00:29:37,490 There's magic in almost every place. 691 00:29:40,470 --> 00:29:43,580 Hey, would you like to share you thoughts with me? 692 00:29:51,640 --> 00:29:56,170 Wanting to learn about the inside of the human skull. 693 00:29:56,170 --> 00:30:00,530 I ask what's going on in your soul. 694 00:30:00,530 --> 00:30:08,764 OK, mm, are you maybe thinking about food? 695 00:30:12,716 --> 00:30:16,790 I still have a lot to learn about human kind. 696 00:30:16,790 --> 00:30:18,920 AUDIENCE: [LAUGHTER] 697 00:30:18,920 --> 00:30:22,500 SEBASTIAN: Would be on their minds. 698 00:30:22,500 --> 00:30:25,130 OK, so if it's not spaghetti or chocolate cake. 699 00:30:25,130 --> 00:30:27,540 So maybe the fact that the sun will someday explode 700 00:30:27,540 --> 00:30:30,480 and everything we know will go up in an ocean of flames? 701 00:30:34,890 --> 00:30:39,790 The human mind is less dark than I would guessed. 702 00:30:39,790 --> 00:30:45,324 I'll try to see inside of you once more. 703 00:30:45,324 --> 00:30:48,810 Hm, oh, is it someone you like? 704 00:30:48,810 --> 00:30:50,802 As in, like like? 705 00:30:54,510 --> 00:30:56,260 NARRATOR 1: Imagine players using this app 706 00:30:56,260 --> 00:30:59,290 while commuting and exploring or just relaxing. 707 00:30:59,290 --> 00:31:01,372 Through interacting with Sebastian and his song, 708 00:31:01,372 --> 00:31:03,580 we want to show players that even the smallest things 709 00:31:03,580 --> 00:31:05,160 in life can carry meaning. 710 00:31:05,160 --> 00:31:07,330 Sometimes we just need someone to talk to. 711 00:31:10,450 --> 00:31:12,020 FILIP BABA: Cool, right? 712 00:31:12,020 --> 00:31:13,600 It actually works. 713 00:31:13,600 --> 00:31:15,560 It's actually really fun. 714 00:31:15,560 --> 00:31:20,140 So one of the things that I personally 715 00:31:20,140 --> 00:31:22,600 have learned over overdoing some of these jams 716 00:31:22,600 --> 00:31:25,270 and seeing what developers build is 717 00:31:25,270 --> 00:31:30,100 that when you're not focusing so much on the visuals, 718 00:31:30,100 --> 00:31:33,910 you have a lot of room for story and substance, 719 00:31:33,910 --> 00:31:35,530 if I could say it so myself. 720 00:31:35,530 --> 00:31:41,390 It's like this developer, was we had all teams of four. 721 00:31:41,390 --> 00:31:45,530 So three of those people were just content creators. 722 00:31:45,530 --> 00:31:47,320 So one we brought was Mitty. 723 00:31:47,320 --> 00:31:50,440 He was he was actually producing music during the jam. 724 00:31:50,440 --> 00:31:53,567 One was just doing like the singing and the voice acting. 725 00:31:53,567 --> 00:31:55,150 I forget what the third guy was doing. 726 00:31:55,150 --> 00:31:56,442 I think he was doing, like, UI. 727 00:31:56,442 --> 00:32:00,207 Even though I do recommend to have nice, polished UI. 728 00:32:00,207 --> 00:32:02,290 But it doesn't have to be crazy, that's the thing. 729 00:32:02,290 --> 00:32:04,750 Like most games are very 3D. 730 00:32:04,750 --> 00:32:07,210 And one of the things that's a problem, 731 00:32:07,210 --> 00:32:10,930 I'm a game developer myself, nowadays there's so many tools 732 00:32:10,930 --> 00:32:12,580 and so many things you can do, it's 733 00:32:12,580 --> 00:32:14,860 kind of hard to figure out what you want to do. 734 00:32:14,860 --> 00:32:16,420 Because you're like, oh my god, just 735 00:32:16,420 --> 00:32:19,520 overwhelmed with all these things 736 00:32:19,520 --> 00:32:22,240 that our modern devices can do. 737 00:32:22,240 --> 00:32:25,735 So there's a lot of room for this kind of content 738 00:32:25,735 --> 00:32:26,360 to be produced. 739 00:32:26,360 --> 00:32:30,460 So this is kind of like a little AI kind of companion game, 740 00:32:30,460 --> 00:32:31,150 you could say. 741 00:32:31,150 --> 00:32:32,337 And yeah, it responds. 742 00:32:32,337 --> 00:32:34,670 And there's other things he didn't mention in the video. 743 00:32:34,670 --> 00:32:36,700 Like, it actually changes based on the weather. 744 00:32:36,700 --> 00:32:38,117 So it actually checks the weather. 745 00:32:38,117 --> 00:32:40,030 If it's a rainy day, you start the game, 746 00:32:40,030 --> 00:32:41,770 you'll have a rainy day mood. 747 00:32:41,770 --> 00:32:44,170 If it's a sunny day, you'll have a sunny day mood. 748 00:32:44,170 --> 00:32:46,480 So it's kind of a replayable thing. 749 00:32:46,480 --> 00:32:48,910 And I don't expect people to be running this app, 750 00:32:48,910 --> 00:32:49,780 like, nonstop. 751 00:32:49,780 --> 00:32:51,700 But I could probably see people running 752 00:32:51,700 --> 00:32:54,710 this for that one hour of their commute during the day, 753 00:32:54,710 --> 00:32:56,710 or maybe like for their lunch break or something 754 00:32:56,710 --> 00:32:59,770 like that, which is actually a lot, in terms of mobile app 755 00:32:59,770 --> 00:33:01,120 usage. 756 00:33:01,120 --> 00:33:02,890 So it's fun. 757 00:33:02,890 --> 00:33:04,600 And it's music, so you're probably 758 00:33:04,600 --> 00:33:05,800 already listening to music. 759 00:33:05,800 --> 00:33:08,410 Why not have a soundtrack to your life, for example? 760 00:33:08,410 --> 00:33:11,720 That's kind of the idea behind the game. 761 00:33:11,720 --> 00:33:16,460 This one is also a really cool example. 762 00:33:16,460 --> 00:33:18,670 So I'll just let him explain it. 763 00:33:18,670 --> 00:33:20,740 NARRATOR 2: That is about bopping and grooving 764 00:33:20,740 --> 00:33:22,630 your head to the music. 765 00:33:22,630 --> 00:33:25,150 Similar to other rhythm games, you score points 766 00:33:25,150 --> 00:33:27,490 by staying on the beat. 767 00:33:27,490 --> 00:33:32,290 At the moment, we have about a dozen custom written songs. 768 00:33:32,290 --> 00:33:34,630 In the future, we want the possibility for players 769 00:33:34,630 --> 00:33:37,570 to download hundreds of songs or play with their own music 770 00:33:37,570 --> 00:33:38,170 library. 771 00:33:38,170 --> 00:33:40,560 [MUSIC PLAYING] 772 00:33:43,910 --> 00:33:46,370 We are going to play Party in the Washing Machine. 773 00:33:50,880 --> 00:33:54,550 Our foxy friend here is grooving along as well. 774 00:33:54,550 --> 00:33:59,170 You could follow it and he helps you stay on the beat. 775 00:33:59,170 --> 00:34:01,630 The line below is showing your head movements. 776 00:34:01,630 --> 00:34:06,040 It also changes colors to indicate how long you're doing. 777 00:34:06,040 --> 00:34:07,810 So we really intend this game to be 778 00:34:07,810 --> 00:34:10,580 a phone in pocket experience. 779 00:34:10,580 --> 00:34:15,889 We added both audio and tactile feedback. 780 00:34:15,889 --> 00:34:17,620 For example, the high pass filter 781 00:34:17,620 --> 00:34:21,159 turns on when you're doing bad. 782 00:34:21,159 --> 00:34:26,550 And your phone vibrates with the beat when you're doing great. 783 00:34:26,550 --> 00:34:29,010 So the idea of Hip Hop Hero came from us 784 00:34:29,010 --> 00:34:32,219 wanting to make a game that naturally played with Bose AR 785 00:34:32,219 --> 00:34:35,429 defenses, something you can play while commuting 786 00:34:35,429 --> 00:34:36,600 on the train in public. 787 00:34:40,230 --> 00:34:44,250 FILIP BABA: Yeah, it's like a play on words 788 00:34:44,250 --> 00:34:45,405 of Guitar Hero, kind of. 789 00:34:45,405 --> 00:34:47,280 You know, you're kind of staying on the beat. 790 00:34:47,280 --> 00:34:50,650 You get rated based on how well you did, how well on the beat 791 00:34:50,650 --> 00:34:51,150 you stayed. 792 00:34:51,150 --> 00:34:53,610 And you don't have to have a specific head gesture. 793 00:34:53,610 --> 00:34:57,090 It's just kind of how you would normally bob your head. 794 00:34:57,090 --> 00:34:58,800 And they have a pretty good algorithm 795 00:34:58,800 --> 00:35:01,247 for detecting that change. 796 00:35:01,247 --> 00:35:03,330 They're using both the accelerometer and the gyro, 797 00:35:03,330 --> 00:35:05,970 but I'm not I'm not 100% sure on that. 798 00:35:05,970 --> 00:35:10,090 But yeah, I thought it was great how they visualized it as well. 799 00:35:10,090 --> 00:35:13,860 So that's an actual graph based on your head movement. 800 00:35:13,860 --> 00:35:18,480 And then you get rated and, you know, it's yeah. 801 00:35:18,480 --> 00:35:20,490 I mean, you've probably seen games like this. 802 00:35:20,490 --> 00:35:22,210 And this is the last one. 803 00:35:22,210 --> 00:35:25,800 This one I like because you're kind 804 00:35:25,800 --> 00:35:28,530 of producing music in a way. 805 00:35:28,530 --> 00:35:32,430 Now, it's basically song loops that they've created. 806 00:35:32,430 --> 00:35:36,210 But the amount of song loops that are in this app, 807 00:35:36,210 --> 00:35:37,630 for example, 808 00:35:37,630 --> 00:35:39,840 I mean, someone here can probably 809 00:35:39,840 --> 00:35:43,170 do the mathematical permutations of how many combinations 810 00:35:43,170 --> 00:35:45,280 of unique songs you can get out of it. 811 00:35:45,280 --> 00:35:50,370 But it's a lot when you include, like, 10 loops, for example, 812 00:35:50,370 --> 00:35:57,820 for bass lines, as you're kind of adding complexity to a song. 813 00:35:57,820 --> 00:36:00,630 And if you have maybe, like, 10 of each samples and in the end 814 00:36:00,630 --> 00:36:02,850 you got, like, maybe 40 samples in total, 815 00:36:02,850 --> 00:36:06,007 you could be creating unique music on every play through. 816 00:36:06,007 --> 00:36:08,340 NARRATOR 3: Choose your own adventure musical experience 817 00:36:08,340 --> 00:36:10,800 of layering song loops, set in a world where 818 00:36:10,800 --> 00:36:13,080 flowers produce music. 819 00:36:13,080 --> 00:36:15,450 Players listen, explore, and nod along 820 00:36:15,450 --> 00:36:18,420 to the music, collecting song loops like pollen, 821 00:36:18,420 --> 00:36:21,700 in order to blossom a musical garden. 822 00:36:21,700 --> 00:36:24,517 The game is played by looking around to find new sounds, 823 00:36:24,517 --> 00:36:26,350 and nodding your head along to the beat when 824 00:36:26,350 --> 00:36:28,180 you find one you like. 825 00:36:28,180 --> 00:36:30,640 This process can go on indefinitely, 826 00:36:30,640 --> 00:36:33,850 allowing players to explore countless new ways of layering 827 00:36:33,850 --> 00:36:36,640 together song tracks. 828 00:36:36,640 --> 00:36:40,030 FILIP BABA: It's basically, she totally nailed the explanation, 829 00:36:40,030 --> 00:36:41,680 like, in the beginning. 830 00:36:41,680 --> 00:36:44,620 But basically, yeah, you look around. 831 00:36:44,620 --> 00:36:47,140 You hear a preview of a loop, you like it. 832 00:36:47,140 --> 00:36:47,950 You nod it. 833 00:36:47,950 --> 00:36:51,460 And then you go on, and you're just layering loops. 834 00:36:51,460 --> 00:36:53,390 And it works really well. 835 00:36:53,390 --> 00:36:56,320 I mean, the developer really figured out a way to make it. 836 00:36:56,320 --> 00:37:00,160 If you've ever tried to make music, 837 00:37:00,160 --> 00:37:02,680 sometimes you could just mess up and it just 838 00:37:02,680 --> 00:37:05,290 sounds terrible because you're mixing way too many dissonant 839 00:37:05,290 --> 00:37:06,490 sounds. 840 00:37:06,490 --> 00:37:10,660 But they managed to figure out an algorithm to layer it 841 00:37:10,660 --> 00:37:12,100 and it always sounds good. 842 00:37:12,100 --> 00:37:13,750 And I've tried to break it. 843 00:37:13,750 --> 00:37:15,760 Whenever I play any of these experiences, 844 00:37:15,760 --> 00:37:17,860 I'm pressing everywhere and nodding to everything, 845 00:37:17,860 --> 00:37:20,565 trying to make it sound bad. 846 00:37:20,565 --> 00:37:21,190 And I couldn't. 847 00:37:21,190 --> 00:37:22,300 It always sounded good. 848 00:37:22,300 --> 00:37:24,400 So super cool. 849 00:37:24,400 --> 00:37:26,020 So that's our developer portal. 850 00:37:26,020 --> 00:37:30,040 It Developer.Bose.com/BoseAR. 851 00:37:30,040 --> 00:37:31,930 That's where you'll find the SDK. 852 00:37:31,930 --> 00:37:34,370 I'm sure most of you have already gone on here 853 00:37:34,370 --> 00:37:36,940 and downloaded it. 854 00:37:36,940 --> 00:37:38,860 But I'll show you where all that is in a sec. 855 00:37:38,860 --> 00:37:44,105 And the last kind of, like, but not least important thing 856 00:37:44,105 --> 00:37:44,980 that I wanted to say. 857 00:37:44,980 --> 00:37:47,920 So we have a new program that we just launched recently, 858 00:37:47,920 --> 00:37:49,880 and that's Bose AR Certification. 859 00:37:49,880 --> 00:37:51,430 So what Bose AR Certification is, 860 00:37:51,430 --> 00:37:54,670 is say you build a Bose AR app and you submit it 861 00:37:54,670 --> 00:37:55,660 for certification. 862 00:37:55,660 --> 00:37:57,730 Our internal team will actually help 863 00:37:57,730 --> 00:38:00,790 you get across the finish line and publish the app to the App 864 00:38:00,790 --> 00:38:03,685 Store or the Android Store, making sure you have 865 00:38:03,685 --> 00:38:04,810 all the right requirements. 866 00:38:04,810 --> 00:38:06,295 And then if it does get certified, 867 00:38:06,295 --> 00:38:08,980 and it's within our brand guidelines, which again, we'll 868 00:38:08,980 --> 00:38:12,670 kind of help you get through that finish line, 869 00:38:12,670 --> 00:38:15,040 you can get a possible feature on the Bose Music 870 00:38:15,040 --> 00:38:17,740 app or the Bose Connect app. 871 00:38:17,740 --> 00:38:20,570 And you might even get featured on the Bose website. 872 00:38:20,570 --> 00:38:24,250 So it's a really great showcase and a really great way 873 00:38:24,250 --> 00:38:28,480 to get noticed, especially as an early game developer. 874 00:38:28,480 --> 00:38:31,540 It's an early platform, so obviously we're 875 00:38:31,540 --> 00:38:34,180 looking for great content to feature on our portals. 876 00:38:34,180 --> 00:38:36,670 And if the content's great, and it's, again, 877 00:38:36,670 --> 00:38:37,740 passes the certification. 878 00:38:37,740 --> 00:38:39,490 Which all these games that I've shown you, 879 00:38:39,490 --> 00:38:42,130 they're all in the process of getting certified 880 00:38:42,130 --> 00:38:44,140 and they'll all be available when 881 00:38:44,140 --> 00:38:47,500 you have your frames, for example, when you hook them up 882 00:38:47,500 --> 00:38:48,790 in the Bose connect app. 883 00:38:48,790 --> 00:38:52,672 There's actually a section there, Bose AR enabled apps. 884 00:38:52,672 --> 00:38:54,130 And then you click that and there's 885 00:38:54,130 --> 00:38:55,460 a directory there of apps. 886 00:38:55,460 --> 00:38:55,960 Yes. 887 00:38:55,960 --> 00:38:57,310 AUDIENCE: So this works with Android now? 888 00:38:57,310 --> 00:38:59,890 FILIP BABA: So it works on Android as well, yes, it does. 889 00:38:59,890 --> 00:39:00,700 AUDIENCE: OK. 890 00:39:00,700 --> 00:39:03,310 FILIP BABA: We had a little bit of a, like, 891 00:39:03,310 --> 00:39:05,980 earlier start with iOS SDK. 892 00:39:05,980 --> 00:39:07,750 So a lot of stuff was mainly iOS. 893 00:39:07,750 --> 00:39:09,708 AUDIENCE: In July it wasn't working on Android. 894 00:39:09,708 --> 00:39:12,180 FILIP BABA: Yeah, now we're rectifying that. 895 00:39:12,180 --> 00:39:14,680 There's going to be a lot of Android experiences coming out. 896 00:39:14,680 --> 00:39:17,865 Sadly, it's still, some developers just build for iOS. 897 00:39:17,865 --> 00:39:19,240 And we kind of have to prod them. 898 00:39:19,240 --> 00:39:21,407 Be like, hey, could you also build an Android build? 899 00:39:21,407 --> 00:39:23,930 And sometimes they need to be incentivized to do that. 900 00:39:23,930 --> 00:39:25,720 Other times they just do it. 901 00:39:25,720 --> 00:39:28,690 If it's Unity, then most of these experiences 902 00:39:28,690 --> 00:39:30,340 are going to be on both. 903 00:39:30,340 --> 00:39:33,970 But sadly, that's just kind of how native app development is, 904 00:39:33,970 --> 00:39:37,160 they sometimes just want to work in one and not the other. 905 00:39:37,160 --> 00:39:43,290 But we are fully Android supported now as well. 906 00:39:43,290 --> 00:39:46,090 And then we also have a Get Inspired page. 907 00:39:46,090 --> 00:39:49,420 This is a place where we have some case studies written. 908 00:39:49,420 --> 00:39:51,610 Golfshot's there, if you want to read about it. 909 00:39:51,610 --> 00:39:53,200 Dead Drop Desperado's also up there. 910 00:39:53,200 --> 00:39:54,310 I think OverHerd. 911 00:39:54,310 --> 00:39:57,160 And it's just kind of a little interview with the developers. 912 00:39:57,160 --> 00:39:59,440 They kind of talk about their process of developing. 913 00:39:59,440 --> 00:40:03,010 And it's a good place to get inspired and be like this guy, 914 00:40:03,010 --> 00:40:06,490 really happy, like, ah. 915 00:40:06,490 --> 00:40:08,820 Yeah, that's basically the intro. 916 00:40:08,820 --> 00:40:10,970 I hope that didn't take too long. 917 00:40:10,970 --> 00:40:13,030 But yeah, just wanted to kind of give you 918 00:40:13,030 --> 00:40:16,870 a little bit of an understanding of what this is. 919 00:40:16,870 --> 00:40:21,240 So does anyone have any questions or no? 920 00:40:21,240 --> 00:40:22,830 Good. 921 00:40:22,830 --> 00:40:25,200 All right, so now that we've gone 922 00:40:25,200 --> 00:40:27,700 through that, what I'm going to do here, 923 00:40:27,700 --> 00:40:29,280 I'm just going to close my Unity. 924 00:40:29,280 --> 00:40:34,230 And let's go ahead and actually fire up Unity. 925 00:40:34,230 --> 00:40:37,770 And we're going to get our a little beginner workshop 926 00:40:37,770 --> 00:40:39,150 started. 927 00:40:39,150 --> 00:40:44,280 So you should all have a copy of the Unity package, 928 00:40:44,280 --> 00:40:48,750 of the Bose AR SDK for Unity, which you can find it 929 00:40:48,750 --> 00:40:49,860 on our downloads page. 930 00:40:49,860 --> 00:40:51,750 Let me know if you have trouble finding that. 931 00:40:51,750 --> 00:40:55,035 We're going to be using this 4.0.1 beta. 932 00:40:55,035 --> 00:40:57,630 And when you download that, it's just a Unity package 933 00:40:57,630 --> 00:41:00,010 that gets downloaded. 934 00:41:00,010 --> 00:41:04,540 So I'm just going to let everyone kind of get to that. 935 00:41:04,540 --> 00:41:07,750 And the version of Unity that I'm going to be using 936 00:41:07,750 --> 00:41:09,550 is just the latest one. 937 00:41:09,550 --> 00:41:13,960 I have 2019.2.5F1. 938 00:41:13,960 --> 00:41:19,630 And I have Android and iOS build support as modules in it. 939 00:41:19,630 --> 00:41:21,550 And I recommend that if you're going 940 00:41:21,550 --> 00:41:26,350 to be building to mobile that you have your desired platform 941 00:41:26,350 --> 00:41:27,520 modules installed. 942 00:41:30,600 --> 00:41:33,762 I'm just going to let everyone go ahead and do that. 943 00:41:33,762 --> 00:41:35,238 AUDIENCE: Hey, should we tell them 944 00:41:35,238 --> 00:41:38,790 that-- is it still that iPhone is only VDM? 945 00:41:38,790 --> 00:41:40,900 FILIP BABA: It's always a thing, yeah, 946 00:41:40,900 --> 00:41:44,160 it's just Apple and iPhone. 947 00:41:44,160 --> 00:41:47,815 But again, if you don't get a chance to build, 948 00:41:47,815 --> 00:41:49,440 you'll still be able to preview the app 949 00:41:49,440 --> 00:41:52,020 and play with it directly from your laptop. 950 00:41:52,020 --> 00:41:54,510 For most of this workshop, we're actually 951 00:41:54,510 --> 00:41:56,940 going to be sticking to the creative side of things, 952 00:41:56,940 --> 00:41:59,280 and concept, and trying to build an experience. 953 00:41:59,280 --> 00:42:01,110 And then, like I said, towards the end, 954 00:42:01,110 --> 00:42:04,795 we'll try to make sure that everyone has built. 955 00:42:04,795 --> 00:42:06,420 And if you don't have the right device, 956 00:42:06,420 --> 00:42:08,650 I'm sure we have some extra devices. 957 00:42:08,650 --> 00:42:13,620 And if it comes to it, we could potentially also build or maybe 958 00:42:13,620 --> 00:42:15,760 share devices if needed. 959 00:42:15,760 --> 00:42:18,420 But once you have it set up once, then you're good to go. 960 00:42:27,730 --> 00:42:31,090 I have my iPhone here. 961 00:42:31,090 --> 00:42:32,305 I usually have to have both. 962 00:42:54,230 --> 00:42:57,190 All right, everyone got their SDK? 963 00:42:57,190 --> 00:42:58,820 And ready to go. 964 00:42:58,820 --> 00:43:00,430 So what we're going to do is we're 965 00:43:00,430 --> 00:43:03,010 going to actually make a new project in Unity. 966 00:43:03,010 --> 00:43:06,730 And I'll just make sure everyone has this before we do that. 967 00:43:20,240 --> 00:43:21,800 I'm just going to do the latest. 968 00:43:21,800 --> 00:43:26,880 And I'm just going to call this project MIT Bose AR Unity 969 00:43:26,880 --> 00:43:27,380 Workshop. 970 00:43:30,030 --> 00:43:32,775 And I'm just going to pick 3D project and create. 971 00:43:36,130 --> 00:43:36,630 Bless you. 972 00:43:36,630 --> 00:43:37,063 Hm? 973 00:43:37,063 --> 00:43:38,355 AUDIENCE: Isn't it stable core? 974 00:43:38,355 --> 00:43:40,110 FILIP BABA: Yes it is. 975 00:43:40,110 --> 00:43:42,372 I think I just missed a little bit in the beginning. 976 00:43:54,690 --> 00:43:57,640 All right, so I'm just going to switch to the default layout 977 00:43:57,640 --> 00:43:58,140 here. 978 00:44:09,010 --> 00:44:14,550 Anyone not have their new Unity project open yet? 979 00:44:14,550 --> 00:44:16,050 All right, just take your time. 980 00:44:16,050 --> 00:44:18,920 AUDIENCE: I'm downloading [INAUDIBLE].. 981 00:44:18,920 --> 00:44:21,510 FILIP BABA: Oh, well good thing the internet's fast. 982 00:44:21,510 --> 00:44:24,317 AUDIENCE: I'm using an early version Unity right now. 983 00:44:24,317 --> 00:44:25,150 FILIP BABA: How old? 984 00:44:25,150 --> 00:44:25,910 What's the version? 985 00:44:25,910 --> 00:44:26,480 AUDIENCE: 15. 986 00:44:26,480 --> 00:44:26,990 FILIP BABA: That's fine. 987 00:44:26,990 --> 00:44:27,440 AUDIENCE: OK. 988 00:44:27,440 --> 00:44:27,920 FILIP BABA: That's fine. 989 00:44:27,920 --> 00:44:29,503 AUDIENCE: I'm downloading the new one. 990 00:44:29,503 --> 00:44:32,660 FILIP BABA: Anything that's past the LTS, 991 00:44:32,660 --> 00:44:35,288 the 2017.1.4 should be fine. 992 00:44:35,288 --> 00:44:37,580 Anything with, like, an f at the end of it, it's final, 993 00:44:37,580 --> 00:44:39,380 not beta should work. 994 00:44:39,380 --> 00:44:39,933 AUDIENCE: OK. 995 00:44:39,933 --> 00:44:41,350 FILIP BABA: If for whatever reason 996 00:44:41,350 --> 00:44:44,860 it doesn't, I know sometimes there's been some edge cases. 997 00:44:44,860 --> 00:44:46,660 But it should be fine. 998 00:44:55,600 --> 00:44:57,006 [INTERPOSING VOICES] 999 00:45:31,400 --> 00:45:34,390 So when you do have this, I just want 1000 00:45:34,390 --> 00:45:37,180 you to take that Unity package that was downloaded 1001 00:45:37,180 --> 00:45:41,170 and just click it or double click it to open it. 1002 00:45:41,170 --> 00:45:43,690 And you'll get an import dialog. 1003 00:45:43,690 --> 00:45:46,600 And I just want you to import the entire thing 1004 00:45:46,600 --> 00:45:49,340 into your project. 1005 00:45:49,340 --> 00:45:50,747 Everyone imported? 1006 00:45:50,747 --> 00:45:52,830 AUDIENCE: Yeah, what do you click to import again? 1007 00:45:52,830 --> 00:45:54,540 FILIP BABA: You should just be able to double click 1008 00:45:54,540 --> 00:45:55,650 the Unity package. 1009 00:45:55,650 --> 00:45:57,390 And it should just pull up Unity. 1010 00:45:57,390 --> 00:45:59,710 If for whatever reason that doesn't work, 1011 00:45:59,710 --> 00:46:01,680 you can always right click in your project 1012 00:46:01,680 --> 00:46:04,350 here and then Import Package, Custom Package. 1013 00:46:04,350 --> 00:46:05,700 That also works as a backup. 1014 00:46:22,949 --> 00:46:25,090 AUDIENCE: Yours is a CSC file, right? 1015 00:46:25,090 --> 00:46:26,728 I have an MCS file. 1016 00:46:26,728 --> 00:46:27,640 So-- 1017 00:46:27,640 --> 00:46:28,920 FILIP BABA: For what? 1018 00:46:28,920 --> 00:46:30,170 AUDIENCE: Just for the assets. 1019 00:46:30,170 --> 00:46:31,942 FILIP BABA: Oh, yeah. 1020 00:46:31,942 --> 00:46:32,900 Don't worry about that. 1021 00:46:40,910 --> 00:46:44,972 Everyone imported, ready to go? 1022 00:46:44,972 --> 00:46:45,930 Give it another minute. 1023 00:46:57,580 --> 00:46:59,910 So yeah, when you import the Unity package, 1024 00:46:59,910 --> 00:47:02,970 you get the entirety of the SDK. 1025 00:47:02,970 --> 00:47:06,000 There's samples in here, sample scenes. 1026 00:47:06,000 --> 00:47:08,820 There's a lot of cool stuff in here that I'll get into. 1027 00:47:08,820 --> 00:47:11,670 And the setup itself is actually really 1028 00:47:11,670 --> 00:47:13,260 straightforward and simple. 1029 00:47:13,260 --> 00:47:15,990 We've tried to make this as easy as possible 1030 00:47:15,990 --> 00:47:19,440 to either put into a new project or integrate with an existing 1031 00:47:19,440 --> 00:47:20,770 project. 1032 00:47:20,770 --> 00:47:22,650 So if you're familiar with Unity, 1033 00:47:22,650 --> 00:47:24,960 or if you've worked on a Unity project before, 1034 00:47:24,960 --> 00:47:31,170 you'll find that a lot of the, I guess, 1035 00:47:31,170 --> 00:47:34,620 the user flow and the way that the SDK works 1036 00:47:34,620 --> 00:47:37,860 is typical, kind of to a Unity workflow. 1037 00:47:40,440 --> 00:47:43,440 So once you're all imported, you'll 1038 00:47:43,440 --> 00:47:45,550 see these three folders show up. 1039 00:47:45,550 --> 00:47:48,870 So the first one that I want you to look at is the Bose folder. 1040 00:47:48,870 --> 00:47:52,140 So you go inside the Bose folder, there's wearable. 1041 00:47:52,140 --> 00:47:54,930 And then inside wearable, there's modules. 1042 00:47:54,930 --> 00:47:55,980 You go to modules. 1043 00:47:55,980 --> 00:47:58,390 And the first module that we want is connection. 1044 00:47:58,390 --> 00:48:02,070 So we're going to go to connection and then prefabs. 1045 00:48:02,070 --> 00:48:08,250 So that's Bose, wearable, modules, connection, prefabs. 1046 00:48:08,250 --> 00:48:11,580 And I want you to pull in this first prefab that's available 1047 00:48:11,580 --> 00:48:12,910 here. 1048 00:48:12,910 --> 00:48:16,080 So just drag that into your scene. 1049 00:48:16,080 --> 00:48:18,620 You should see this white rectangle pop up. 1050 00:48:18,620 --> 00:48:21,410 Now, the first thing that I like to do 1051 00:48:21,410 --> 00:48:23,990 when I start a Unity project, especially if I'm developing 1052 00:48:23,990 --> 00:48:26,630 on mobile, is I like to pull my game 1053 00:48:26,630 --> 00:48:30,650 view, which is usually up here. 1054 00:48:30,650 --> 00:48:32,090 You might have a different layout. 1055 00:48:32,090 --> 00:48:33,890 And I actually like to take the game view, 1056 00:48:33,890 --> 00:48:35,140 and I like to make it visible. 1057 00:48:35,140 --> 00:48:37,880 So I actually drag that game view over here 1058 00:48:37,880 --> 00:48:40,520 to the right side of the project panel. 1059 00:48:40,520 --> 00:48:43,430 So I always kind of have a little preview window here 1060 00:48:43,430 --> 00:48:47,010 of what my preview looks like, basically. 1061 00:48:47,010 --> 00:48:50,030 So if you go ahead and do that, then you'll 1062 00:48:50,030 --> 00:48:54,050 see that the panel that we just pulled in actually 1063 00:48:54,050 --> 00:48:55,910 shows up here. 1064 00:48:55,910 --> 00:48:58,310 And I'll explain what the wearable connect panel does. 1065 00:48:58,310 --> 00:49:01,580 It's basically the entire menu that 1066 00:49:01,580 --> 00:49:05,180 shows up that you can browse all available devices. 1067 00:49:05,180 --> 00:49:08,190 You click a device, and you connect to it. 1068 00:49:08,190 --> 00:49:11,840 So this handles all of the connection for you. 1069 00:49:11,840 --> 00:49:13,460 There's some cool features on here, 1070 00:49:13,460 --> 00:49:16,890 like auto reconnect and such. 1071 00:49:16,890 --> 00:49:20,640 So for example, if during your app, 1072 00:49:20,640 --> 00:49:22,760 for example, maybe Bluetooth connection turns off, 1073 00:49:22,760 --> 00:49:25,160 or for whatever reason the battery runs out, 1074 00:49:25,160 --> 00:49:26,930 this panel will pop up again. 1075 00:49:26,930 --> 00:49:28,790 It'll say, you've been disconnected, 1076 00:49:28,790 --> 00:49:32,510 searching for device to kind of like 1077 00:49:32,510 --> 00:49:37,110 keep the user experience clean. 1078 00:49:37,110 --> 00:49:40,740 So you have the wearable connect UI panel. 1079 00:49:40,740 --> 00:49:42,900 And the next thing that we actually 1080 00:49:42,900 --> 00:49:45,570 need to make the wearable connect UI panel work 1081 00:49:45,570 --> 00:49:47,260 is we need an event system. 1082 00:49:47,260 --> 00:49:49,110 So what I want you to do is I actually 1083 00:49:49,110 --> 00:49:50,730 want you to just create an empty game 1084 00:49:50,730 --> 00:49:56,055 object somewhere in the scene, and call it event system. 1085 00:50:00,600 --> 00:50:02,760 And on that empty game object, I'm 1086 00:50:02,760 --> 00:50:05,610 going to Add Component here in the Inspector. 1087 00:50:05,610 --> 00:50:09,040 And I'm just going to start typing, event system. 1088 00:50:09,040 --> 00:50:09,860 There it is. 1089 00:50:09,860 --> 00:50:11,780 It's a built in Unity thing. 1090 00:50:11,780 --> 00:50:13,870 And once you have your event system, 1091 00:50:13,870 --> 00:50:17,380 there's a button there called add default input modules. 1092 00:50:17,380 --> 00:50:18,880 So just click that. 1093 00:50:18,880 --> 00:50:21,280 Now, I'll explain what this does. 1094 00:50:21,280 --> 00:50:23,650 This actually allows you to click 1095 00:50:23,650 --> 00:50:26,170 the UI of the connect panel. 1096 00:50:26,170 --> 00:50:27,910 Now, the reason why we do this separate 1097 00:50:27,910 --> 00:50:31,070 is, maybe you have an already existing Unity project. 1098 00:50:31,070 --> 00:50:33,070 And maybe you already have your own event system 1099 00:50:33,070 --> 00:50:35,480 that you've set up, so we don't want to mess with that. 1100 00:50:35,480 --> 00:50:38,410 But since we're starting a new project, 1101 00:50:38,410 --> 00:50:40,150 we're going to create this event system 1102 00:50:40,150 --> 00:50:42,113 and add the default input modules. 1103 00:50:42,113 --> 00:50:44,530 Like I said, that just allows you to actually click the UI 1104 00:50:44,530 --> 00:50:46,990 and select the panel. 1105 00:50:46,990 --> 00:50:48,670 So that's pretty much it. 1106 00:50:48,670 --> 00:50:52,900 The last piece that we need to actually set up, 1107 00:50:52,900 --> 00:50:56,080 like our entire Bose AR, is we actually go in. 1108 00:50:56,080 --> 00:50:59,750 And we're going to create another empty object. 1109 00:50:59,750 --> 00:51:03,635 And we're going to call this one wearable control. 1110 00:51:06,960 --> 00:51:11,520 Now, this will actually stream the sensor data back and forth 1111 00:51:11,520 --> 00:51:12,450 from our app. 1112 00:51:12,450 --> 00:51:14,370 So wearable control. 1113 00:51:14,370 --> 00:51:16,320 And I'm going to add component. 1114 00:51:16,320 --> 00:51:18,295 Now, if you clear the search here, 1115 00:51:18,295 --> 00:51:20,670 I'm just going to show you where the Bose components are. 1116 00:51:20,670 --> 00:51:22,830 So when you clear the search, there 1117 00:51:22,830 --> 00:51:24,960 is a Bose subcategory here. 1118 00:51:24,960 --> 00:51:27,180 And you can click Bose, wearable. 1119 00:51:27,180 --> 00:51:30,130 And we have some sample scripts here that you can use. 1120 00:51:30,130 --> 00:51:32,790 So the one that we want is wearable control. 1121 00:51:32,790 --> 00:51:35,700 We're just going to click that. 1122 00:51:35,700 --> 00:51:42,090 Now, one other useful thing that we added semi-recently is you 1123 00:51:42,090 --> 00:51:47,430 can actually go up into here. 1124 00:51:47,430 --> 00:51:52,510 So if you go to asset, for assets, create. 1125 00:51:52,510 --> 00:51:55,090 And then there's a Bose wearable category 1126 00:51:55,090 --> 00:51:58,250 and there's an app intent profile. 1127 00:51:58,250 --> 00:52:02,360 So I'm actually going to take that app intent profile. 1128 00:52:02,360 --> 00:52:04,460 I'm going to put that in my top directory 1129 00:52:04,460 --> 00:52:08,810 in assets, because I was in the prefabs folder here. 1130 00:52:08,810 --> 00:52:11,108 You don't have to, but it's just cleaner that way. 1131 00:52:11,108 --> 00:52:12,650 And what you'll see here on the right 1132 00:52:12,650 --> 00:52:14,780 is you'll actually see the sensors that 1133 00:52:14,780 --> 00:52:16,380 are available to us. 1134 00:52:16,380 --> 00:52:20,300 So for this first app that we're building, 1135 00:52:20,300 --> 00:52:21,860 we just need the gyroscope. 1136 00:52:21,860 --> 00:52:24,140 So I'm going to check the gyroscope on here. 1137 00:52:24,140 --> 00:52:26,900 And rotation, 6th off. 1138 00:52:26,900 --> 00:52:29,600 And then the update interval, I'm going to make it, 1139 00:52:29,600 --> 00:52:31,500 let's say, 40 milliseconds. 1140 00:52:31,500 --> 00:52:34,640 That's all we kind of need in terms of sensors. 1141 00:52:34,640 --> 00:52:39,350 And what this basically does is it just kind of syncs up 1142 00:52:39,350 --> 00:52:41,990 what the app requirements are and what 1143 00:52:41,990 --> 00:52:44,160 the app is going to be using. 1144 00:52:44,160 --> 00:52:50,260 So back to our wearable control that we created earlier. 1145 00:52:50,260 --> 00:52:55,480 You'll see there's an active app intent profile empty slot right 1146 00:52:55,480 --> 00:52:55,980 here. 1147 00:52:55,980 --> 00:52:57,780 You can actually just click that and just 1148 00:52:57,780 --> 00:53:01,860 pull in that app intent profile that we just created. 1149 00:53:01,860 --> 00:53:04,850 So again, that's App Intent Profile is in assets. 1150 00:53:04,850 --> 00:53:08,630 Create Bose wearable App Intent Profile. 1151 00:53:08,630 --> 00:53:10,400 In the App Intent Profile, you want 1152 00:53:10,400 --> 00:53:13,460 to select Gyroscope, RotationSixDof, 1153 00:53:13,460 --> 00:53:15,620 and 40 milliseconds. 1154 00:53:15,620 --> 00:53:19,570 And then in Wearable Control, just put 1155 00:53:19,570 --> 00:53:21,820 that App Intent Profile there. 1156 00:53:21,820 --> 00:53:24,550 The last step to get this to actually work 1157 00:53:24,550 --> 00:53:28,075 is, where it says Editor Default Provider, 1158 00:53:28,075 --> 00:53:30,100 it says Debug Provider. 1159 00:53:30,100 --> 00:53:33,590 We're actually going to switch that to USB Provider. 1160 00:53:33,590 --> 00:53:35,340 And what that will actually allow us to do 1161 00:53:35,340 --> 00:53:39,240 is it will actually allow us to send the data over USB bridge 1162 00:53:39,240 --> 00:53:41,790 directly to Unity, which is great for debugging 1163 00:53:41,790 --> 00:53:42,790 while you're developing. 1164 00:53:42,790 --> 00:53:45,390 So that's actually what we're going to be doing first. 1165 00:53:45,390 --> 00:53:50,290 So your Wearable Control has a USB provider. 1166 00:53:50,290 --> 00:53:52,300 And that's pretty much it. 1167 00:53:52,300 --> 00:53:56,520 So your app will actually now connect, both using USB 1168 00:53:56,520 --> 00:53:59,490 and, if you built this to Android or iOS, 1169 00:53:59,490 --> 00:54:01,740 you'll actually be able to pair it with Bluetooth. 1170 00:54:01,740 --> 00:54:05,140 The only problem is we're not getting any of the sensor data. 1171 00:54:05,140 --> 00:54:07,270 So we're not actually doing anything with it yet. 1172 00:54:07,270 --> 00:54:09,990 So the first thing that I want to do 1173 00:54:09,990 --> 00:54:13,440 is, let's say I just want to visualize the head 1174 00:54:13,440 --> 00:54:15,760 orientation on the screen. 1175 00:54:15,760 --> 00:54:18,190 So how do we do that? 1176 00:54:18,190 --> 00:54:20,200 So what we're going to do here is 1177 00:54:20,200 --> 00:54:24,250 I actually want you to go back to the Modules. 1178 00:54:24,250 --> 00:54:28,720 And in here there's another folder called Model Loader 1179 00:54:28,720 --> 00:54:29,920 and Prefabs. 1180 00:54:29,920 --> 00:54:34,300 So if you go to Bose, Wearable, Modules, Model Loader Prefabs, 1181 00:54:34,300 --> 00:54:36,130 in here you'll actually see we have 1182 00:54:36,130 --> 00:54:40,660 a 3D model of all of our Bose AR enabled wearables, 1183 00:54:40,660 --> 00:54:41,980 which is actually really cool. 1184 00:54:46,830 --> 00:54:49,650 And then there's also a default for if it 1185 00:54:49,650 --> 00:54:51,870 doesn't know or maybe for a future product 1186 00:54:51,870 --> 00:54:52,900 or something like that. 1187 00:54:52,900 --> 00:54:56,980 So the Wearable Model Loader actually pulls up 1188 00:54:56,980 --> 00:54:58,862 the appropriate model automatically, 1189 00:54:58,862 --> 00:55:00,320 so it knows which one you're doing. 1190 00:55:00,320 --> 00:55:02,398 But right now let's just do it manually. 1191 00:55:02,398 --> 00:55:04,810 So pull up the one that you have. 1192 00:55:04,810 --> 00:55:08,060 So I have Rondo's here. 1193 00:55:08,060 --> 00:55:10,480 So I'm just going to take the Rondo's prefab, 1194 00:55:10,480 --> 00:55:12,820 and I'm just going to drag it into my scene. 1195 00:55:12,820 --> 00:55:15,920 And if I double click it, you'll see it's very small. 1196 00:55:15,920 --> 00:55:18,740 So I would recommend to scale it up, 1197 00:55:18,740 --> 00:55:21,385 let's say, to something like 40 by 40 by 40. 1198 00:55:24,930 --> 00:55:29,080 So we just have our Rondo's like that in the scene. 1199 00:55:29,080 --> 00:55:31,720 And the last thing that I want to do 1200 00:55:31,720 --> 00:55:35,500 is on this prefab I actually want to Add Component. 1201 00:55:38,710 --> 00:55:42,550 And in here we're going to go to Bose, Wearable, 1202 00:55:42,550 --> 00:55:45,160 and then there's a script called Rotation Matcher. 1203 00:55:45,160 --> 00:55:47,950 So we're going to select that, and we're 1204 00:55:47,950 --> 00:55:52,900 going to make the update interval 40 milliseconds. 1205 00:55:52,900 --> 00:55:53,740 OK? 1206 00:55:53,740 --> 00:55:57,710 So what Rotation Matcher does is what the name implies. 1207 00:55:57,710 --> 00:56:00,220 It will match the rotation of the wearable, 1208 00:56:00,220 --> 00:56:03,520 so it will actually take the gyroscope data. 1209 00:56:03,520 --> 00:56:05,780 And that's actually pretty much it. 1210 00:56:05,780 --> 00:56:07,938 So this should already work. 1211 00:56:07,938 --> 00:56:09,730 So what we're going to do is we're actually 1212 00:56:09,730 --> 00:56:10,700 going to test it out. 1213 00:56:10,700 --> 00:56:14,650 So what I want you to do is I want you to take your frames. 1214 00:56:14,650 --> 00:56:17,680 Hook them up with USB to your computer. 1215 00:56:17,680 --> 00:56:20,650 If you're on Windows, you'll hear the connected sound. 1216 00:56:20,650 --> 00:56:23,690 And I'm actually just going to Maximize on Play here 1217 00:56:23,690 --> 00:56:25,005 so you can see what I'm doing. 1218 00:56:25,005 --> 00:56:26,005 I'm going to press Play. 1219 00:56:29,200 --> 00:56:30,520 The picker is there. 1220 00:56:30,520 --> 00:56:33,130 I have my frames I selected in the UI. 1221 00:56:33,130 --> 00:56:34,840 It's going to connect to it. 1222 00:56:44,630 --> 00:56:53,845 And there are my frames tracking their rotation as intended. 1223 00:56:53,845 --> 00:56:55,720 AUDIENCE: And this is all happening over USB, 1224 00:56:55,720 --> 00:56:58,150 so if the cable disconnects-- 1225 00:56:58,150 --> 00:56:59,020 FILIP BABA: Yep. 1226 00:56:59,020 --> 00:57:01,600 It'll stop, yeah. 1227 00:57:01,600 --> 00:57:05,575 So the idea is that this is for development. 1228 00:57:05,575 --> 00:57:07,450 You're obviously going to be using the cable. 1229 00:57:07,450 --> 00:57:10,240 But if you took this app and actually built it 1230 00:57:10,240 --> 00:57:12,388 to your phone, it would work over Bluetooth. 1231 00:57:12,388 --> 00:57:12,930 AUDIENCE: OK. 1232 00:57:15,570 --> 00:57:19,140 FILIP BABA: So I want everyone to just get to this point, 1233 00:57:19,140 --> 00:57:22,840 and then we'll move on to the next part. 1234 00:57:22,840 --> 00:57:24,930 And what's really cool about this is we're 1235 00:57:24,930 --> 00:57:28,260 already pretty much just a few steps away 1236 00:57:28,260 --> 00:57:30,240 from doing spatial audio. 1237 00:57:30,240 --> 00:57:34,490 Now that we have the head orientation, 1238 00:57:34,490 --> 00:57:37,715 we can actually move our point of reference for the listener. 1239 00:57:55,643 --> 00:57:57,060 AUDIENCE: So when you plug in USB, 1240 00:57:57,060 --> 00:57:59,850 does it automatically just detect it? 1241 00:57:59,850 --> 00:58:01,890 FILIP BABA: It should be plug and play, yeah. 1242 00:58:01,890 --> 00:58:03,610 Does it work for you? 1243 00:58:03,610 --> 00:58:05,490 AUDIENCE: It's not connecting. 1244 00:58:05,490 --> 00:58:11,955 FILIP BABA: So make sure you have the Wearable Control 1245 00:58:11,955 --> 00:58:12,455 script. 1246 00:58:15,280 --> 00:58:17,170 So you skipped this step. 1247 00:58:17,170 --> 00:58:21,550 So you have to have the Wearable Control script. 1248 00:58:21,550 --> 00:58:23,320 So what you want to do is you want 1249 00:58:23,320 --> 00:58:26,200 to create an Empty Game Object. 1250 00:58:26,200 --> 00:58:28,512 AUDIENCE: Oh yes, I do have it. 1251 00:58:28,512 --> 00:58:29,970 FILIP BABA: Yeah, wearable control. 1252 00:58:29,970 --> 00:58:30,470 There it is. 1253 00:58:37,540 --> 00:58:38,620 Click it. 1254 00:58:38,620 --> 00:58:40,330 Oh, so event system-- 1255 00:58:40,330 --> 00:58:42,040 AUDIENCE: Yeah. 1256 00:58:42,040 --> 00:58:42,760 FILIP BABA: Yeah. 1257 00:58:42,760 --> 00:58:43,825 So On Press Play. 1258 00:58:46,450 --> 00:58:48,130 Yeah, stop the app. 1259 00:58:48,130 --> 00:58:50,800 And then Add Default Input Modules. 1260 00:58:50,800 --> 00:58:51,460 There you go. 1261 00:58:51,460 --> 00:58:54,170 Now you can press Play. 1262 00:58:54,170 --> 00:58:56,960 And you should be able to click the UI at this time. 1263 00:59:03,070 --> 00:59:04,680 So yeah, there it is. 1264 00:59:04,680 --> 00:59:07,007 So let's then try to update. 1265 00:59:07,007 --> 00:59:08,715 AUDIENCE: I mean, it might be faster just 1266 00:59:08,715 --> 00:59:10,313 to swap it with another-- 1267 00:59:10,313 --> 00:59:11,730 FILIP BABA: I think it's something 1268 00:59:11,730 --> 00:59:15,450 that we've also been told to do, is people 1269 00:59:15,450 --> 00:59:18,150 should know how to update the firmware. 1270 00:59:18,150 --> 00:59:24,030 So if for whatever reason it's just not working, 1271 00:59:24,030 --> 00:59:27,720 chances are sometimes that you just need the latest update. 1272 00:59:27,720 --> 00:59:30,030 So where you find that is if you just 1273 00:59:30,030 --> 00:59:34,880 look up Bose Updater, if you just Google it, 1274 00:59:34,880 --> 00:59:38,478 it's btu.bose.com. 1275 00:59:38,478 --> 00:59:39,770 Just try to follow those steps. 1276 00:59:39,770 --> 00:59:42,170 It's usually pretty fast. 1277 00:59:42,170 --> 00:59:44,180 You just download the little tool, 1278 00:59:44,180 --> 00:59:45,830 and it's all through online. 1279 00:59:45,830 --> 00:59:49,050 So you just have it hooked up, and it'll pick it up. 1280 00:59:49,050 --> 00:59:53,180 So if I try it on mine here, it looks like this. 1281 00:59:53,180 --> 00:59:54,845 I'm going to connect my frames. 1282 00:59:58,580 --> 01:00:01,180 And see, it sees it. 1283 01:00:01,180 --> 01:00:03,940 There's an update ready for my product. 1284 01:00:03,940 --> 01:00:07,360 And you just click Update Now, and it'll do it in a minute. 1285 01:00:07,360 --> 01:00:10,370 If yours is working, you don't have to do that. 1286 01:00:10,370 --> 01:00:13,660 But if for whatever reason it doesn't, that's 1287 01:00:13,660 --> 01:00:14,680 usually the problem. 1288 01:00:14,680 --> 01:00:16,330 It has an old version of the firmware. 1289 01:00:19,912 --> 01:00:21,620 If you need to know how to turn them off, 1290 01:00:21,620 --> 01:00:23,548 you actually just flip them upside down 1291 01:00:23,548 --> 01:00:25,340 when you put them on the table, and they'll 1292 01:00:25,340 --> 01:00:26,548 turn off after a few seconds. 1293 01:00:29,960 --> 01:00:30,460 Bless you. 1294 01:00:45,890 --> 01:00:50,090 If you get the failed connection, usually 1295 01:00:50,090 --> 01:00:51,890 reconnecting the device works. 1296 01:00:51,890 --> 01:00:53,840 It's just a USB debugger thing. 1297 01:01:11,830 --> 01:01:16,240 So I'm actually playing the sound through my Bose frames. 1298 01:01:16,240 --> 01:01:18,970 So when you connect over USB, you 1299 01:01:18,970 --> 01:01:21,400 can actually drive the audio also through you USB. 1300 01:01:21,400 --> 01:01:25,660 Now on Mac, you'll see it pop up in your sound settings. 1301 01:01:25,660 --> 01:01:27,880 And on Windows, it's in the bottom right 1302 01:01:27,880 --> 01:01:30,800 in the sound devices. 1303 01:01:30,800 --> 01:01:34,960 You can set the Bose frames as your default audio device. 1304 01:01:34,960 --> 01:01:37,360 So it's a great way to preview it with. 1305 01:01:37,360 --> 01:01:42,010 Now, what I did here is I placed the sound on this sphere. 1306 01:01:42,010 --> 01:01:45,670 Now, this sphere is just in the middle of my field of view 1307 01:01:45,670 --> 01:01:46,210 here. 1308 01:01:46,210 --> 01:01:48,970 But in the next exercise, I'm going 1309 01:01:48,970 --> 01:01:51,310 to actually show you how to spatialize 1310 01:01:51,310 --> 01:01:54,150 that sound so you can hear it. 1311 01:01:54,150 --> 01:01:56,550 So I'm just going to wait to make sure 1312 01:01:56,550 --> 01:01:58,247 that everyone's got this far. 1313 01:01:58,247 --> 01:01:58,830 AUDIENCE: Yes. 1314 01:01:58,830 --> 01:02:02,542 FILIP BABA: All right, so what we're going to do here-- 1315 01:02:02,542 --> 01:02:04,125 there are a couple of ways to do this. 1316 01:02:12,560 --> 01:02:18,780 So typically your camera is your frame of reference for audio. 1317 01:02:18,780 --> 01:02:23,190 So as your camera turns, if you have 3D sounds in the scene, 1318 01:02:23,190 --> 01:02:25,610 it's going to take the frame of reference 1319 01:02:25,610 --> 01:02:29,840 from your camera to spatialize sound. 1320 01:02:29,840 --> 01:02:32,720 So what we want to do here is I'm just 1321 01:02:32,720 --> 01:02:35,930 going to actually take the camera that's 1322 01:02:35,930 --> 01:02:37,377 staring at the glasses. 1323 01:02:37,377 --> 01:02:38,960 Now you don't have to do it like this. 1324 01:02:38,960 --> 01:02:40,050 There's a few different ways to do it, 1325 01:02:40,050 --> 01:02:42,270 but we'll just do it for simplicity's sake. 1326 01:02:42,270 --> 01:02:44,150 We'll take the main camera, and we'll 1327 01:02:44,150 --> 01:02:45,450 pull them into our frames. 1328 01:02:45,450 --> 01:02:47,990 Now, the way I have my scene set up 1329 01:02:47,990 --> 01:02:53,450 is my frames are just at 0, 0, 0, and they're scale 40. 1330 01:02:53,450 --> 01:02:57,810 And the camera is kind of like right behind them like that. 1331 01:02:57,810 --> 01:03:01,580 So I'm just going to take the main camera and parent it 1332 01:03:01,580 --> 01:03:06,740 to the frames so it's inside the frames. 1333 01:03:06,740 --> 01:03:09,500 And if I press Play, I'll just show you what that looks like. 1334 01:03:15,550 --> 01:03:19,650 So now if you're turning, this is your frame of reference. 1335 01:03:19,650 --> 01:03:24,230 So this simulates your orientation in space, 1336 01:03:24,230 --> 01:03:25,280 basically. 1337 01:03:25,280 --> 01:03:25,820 Right? 1338 01:03:25,820 --> 01:03:27,830 So here's how this is going to work. 1339 01:03:27,830 --> 01:03:31,380 So in Unity, doing spatial audio is actually really, 1340 01:03:31,380 --> 01:03:32,610 really straightforward. 1341 01:03:32,610 --> 01:03:34,865 So what I want you to do is-- and I already did this, 1342 01:03:34,865 --> 01:03:37,557 so I'm just going to delete it so I can show you how I did it. 1343 01:03:37,557 --> 01:03:38,640 It's very straightforward. 1344 01:03:38,640 --> 01:03:41,047 So it won't let me. 1345 01:03:41,047 --> 01:03:41,880 What is it, command? 1346 01:03:41,880 --> 01:03:43,140 There we go. 1347 01:03:43,140 --> 01:03:45,710 So what we're going to do is I'm just 1348 01:03:45,710 --> 01:03:49,400 going to use a sphere to represent a sound object just 1349 01:03:49,400 --> 01:03:51,530 for visual sake. 1350 01:03:51,530 --> 01:03:54,300 So I'm actually going to create a New Game Object. 1351 01:03:54,300 --> 01:03:57,070 So 3D Object, Sphere. 1352 01:03:57,070 --> 01:03:59,318 And I'm going to place it at 0, 0, 0. 1353 01:04:02,010 --> 01:04:03,870 I'm going to Add Component to this sphere, 1354 01:04:03,870 --> 01:04:06,950 and I'm going to add an Audio Source. 1355 01:04:06,950 --> 01:04:07,640 OK? 1356 01:04:07,640 --> 01:04:09,650 So that's a built in Unity thing. 1357 01:04:09,650 --> 01:04:12,800 Now I take this sphere, and let's say 1358 01:04:12,800 --> 01:04:15,470 this one I'm going to put it in front of the glasses, 1359 01:04:15,470 --> 01:04:17,550 like here. 1360 01:04:17,550 --> 01:04:18,960 OK? 1361 01:04:18,960 --> 01:04:21,450 Maybe a little bit further. 1362 01:04:21,450 --> 01:04:26,320 And the audio source an audio clip, if you click here, 1363 01:04:26,320 --> 01:04:28,600 there are a few different sound samples 1364 01:04:28,600 --> 01:04:30,880 that we have in our SDK. 1365 01:04:30,880 --> 01:04:34,350 You could pick Chord LP or something. 1366 01:04:34,350 --> 01:04:36,100 It's up to you which one you want to pick. 1367 01:04:36,100 --> 01:04:38,740 This is just for the demo. 1368 01:04:38,740 --> 01:04:40,870 So we're going to pick a sound effect. 1369 01:04:40,870 --> 01:04:42,790 We put it in front. 1370 01:04:42,790 --> 01:04:46,600 And the only thing you've got to change is make it loop. 1371 01:04:46,600 --> 01:04:48,770 So there's a little loop check mark here. 1372 01:04:48,770 --> 01:04:52,210 So when it finishes, it'll start from the beginning again. 1373 01:04:52,210 --> 01:04:55,922 And then there's a dropdown here called 3D Sound Settings. 1374 01:04:55,922 --> 01:04:57,130 I don't know if you see that. 1375 01:04:57,130 --> 01:04:58,458 We'll get to that in a second. 1376 01:04:58,458 --> 01:05:00,500 But the only one we want to change is right here. 1377 01:05:00,500 --> 01:05:02,350 You see Spatial Blend? 1378 01:05:02,350 --> 01:05:03,100 OK. 1379 01:05:03,100 --> 01:05:06,430 So I'm actually going to drag Spatial Blend from 2D to 3D. 1380 01:05:06,430 --> 01:05:10,390 And that's all you need to do to turn an audio source into a 3D 1381 01:05:10,390 --> 01:05:11,350 audio source. 1382 01:05:11,350 --> 01:05:13,930 Now you'll notice that there are cool things here, 1383 01:05:13,930 --> 01:05:16,082 like there's actually the range of the sound 1384 01:05:16,082 --> 01:05:17,290 that you can tweak and stuff. 1385 01:05:17,290 --> 01:05:20,180 So we don't have to do any of that just yet. 1386 01:05:20,180 --> 01:05:21,610 We can just leave it as is. 1387 01:05:21,610 --> 01:05:24,940 Just make sure it's 3D and that you have a looping sound 1388 01:05:24,940 --> 01:05:25,480 effect. 1389 01:05:25,480 --> 01:05:27,310 And that's all I want you to do right now. 1390 01:05:27,310 --> 01:05:35,610 So now if you press Play and you let it connect-- 1391 01:05:35,610 --> 01:05:36,990 mine has failed connecting. 1392 01:05:36,990 --> 01:05:38,490 If that ever happens to you-- again, 1393 01:05:38,490 --> 01:05:41,340 it's just a known bug that we have with USB-- 1394 01:05:41,340 --> 01:05:43,230 just reconnect. 1395 01:05:43,230 --> 01:05:46,350 Make sure you're always saving your scene 1396 01:05:46,350 --> 01:05:48,090 so no crashing happens. 1397 01:05:48,090 --> 01:05:50,580 Unity tends to do that sometimes-- 1398 01:05:50,580 --> 01:05:53,880 rarely, but usually it doesn't. 1399 01:05:53,880 --> 01:05:55,890 So yeah, if you get the failed connecting thing, 1400 01:05:55,890 --> 01:05:59,840 just reconnect and then try again. 1401 01:05:59,840 --> 01:06:02,890 So it did it again, so I'm going to unpress play. 1402 01:06:02,890 --> 01:06:03,940 I'm going to reconnect. 1403 01:06:06,990 --> 01:06:09,330 It's something to do with that it remembers 1404 01:06:09,330 --> 01:06:13,140 the previous device, and there's a little bug with USB in that. 1405 01:06:15,710 --> 01:06:17,120 And connected. 1406 01:06:23,330 --> 01:06:31,620 So when I turn my head, I can hear that sphere 1407 01:06:31,620 --> 01:06:34,710 in front of me. 1408 01:06:34,710 --> 01:06:38,580 And when I turn this way, I hear it here. 1409 01:06:38,580 --> 01:06:41,380 Now I hear it on the left. 1410 01:06:41,380 --> 01:06:45,840 So in order to get that, make sure you're driving your audio 1411 01:06:45,840 --> 01:06:47,730 through the Bose frames. 1412 01:06:47,730 --> 01:06:50,760 On Mac, you go into the sound settings here. 1413 01:06:50,760 --> 01:06:52,890 And on Windows, I can also show you-- 1414 01:06:52,890 --> 01:06:56,520 in the bottom right where the volume mixer is. 1415 01:06:56,520 --> 01:06:59,940 If it's saying connecting to Pixel 2, 1416 01:06:59,940 --> 01:07:03,510 go into the Bose Connect app and to the settings, 1417 01:07:03,510 --> 01:07:06,750 and you can actually remove any previous device 1418 01:07:06,750 --> 01:07:10,180 that was there so it doesn't always do that auto thing. 1419 01:07:10,180 --> 01:07:13,673 So there is a little bit of a Doppler effect. 1420 01:07:13,673 --> 01:07:15,840 I don't know if you can tell when you're doing that. 1421 01:07:15,840 --> 01:07:16,410 Right? 1422 01:07:16,410 --> 01:07:19,750 So these are all things you can actually change here 1423 01:07:19,750 --> 01:07:21,400 in the 3D sound settings. 1424 01:07:21,400 --> 01:07:24,720 So I think if you just turn off the Doppler, 1425 01:07:24,720 --> 01:07:27,860 it won't do that, I think. 1426 01:07:27,860 --> 01:07:30,410 So yeah, if you just go into 3D sound settings 1427 01:07:30,410 --> 01:07:32,390 and you turn off the Doppler, you 1428 01:07:32,390 --> 01:07:37,490 won't get that warp effect when your head turns. 1429 01:07:37,490 --> 01:07:41,210 That is an interesting effect that can be played with. 1430 01:07:41,210 --> 01:07:45,718 But again, this is just the built-in Unity spatial audio. 1431 01:07:45,718 --> 01:07:47,510 We actually have a couple of different ways 1432 01:07:47,510 --> 01:07:50,150 you can do spatial audio. 1433 01:07:50,150 --> 01:07:55,820 So we've gotten to the point where you've set up 1434 01:07:55,820 --> 01:07:58,340 your device, you've gotten a little bit of an intro, 1435 01:07:58,340 --> 01:08:00,140 you've seen what the platform is about. 1436 01:08:00,140 --> 01:08:05,550 And this is basically a first example of spatializing audio. 1437 01:08:05,550 --> 01:08:06,050 Right? 1438 01:08:06,050 --> 01:08:09,920 So now as an exercise what I'd like you to do for the next 30 1439 01:08:09,920 --> 01:08:13,640 minutes or so-- or let's say 20 minutes-- 1440 01:08:13,640 --> 01:08:15,860 go online, find some sound samples, 1441 01:08:15,860 --> 01:08:20,939 set up your own little spatial soundscape around you. 1442 01:08:20,939 --> 01:08:22,982 And let's see how that goes. 1443 01:08:22,982 --> 01:08:24,149 AUDIENCE: So just loop them? 1444 01:08:24,149 --> 01:08:25,660 FILIP BABA: Yeah, make something cool. 1445 01:08:25,660 --> 01:08:27,160 You can get some beach sounds, maybe 1446 01:08:27,160 --> 01:08:30,060 water crashing on the side, birds chirping. 1447 01:08:30,060 --> 01:08:31,410 Or it could be music samples. 1448 01:08:31,410 --> 01:08:33,540 Maybe you get a drum loop. 1449 01:08:33,540 --> 01:08:36,840 I could show you a few. 1450 01:08:36,840 --> 01:08:40,090 freesound.org is cool. 1451 01:08:40,090 --> 01:08:42,220 I believe it's freesound.org. 1452 01:08:42,220 --> 01:08:43,128 Yeah. 1453 01:08:43,128 --> 01:08:44,920 You need to make an account, but it's free, 1454 01:08:44,920 --> 01:08:48,490 and it's all free sounds. 1455 01:08:48,490 --> 01:08:52,450 There are also a decent amount of websites 1456 01:08:52,450 --> 01:08:56,420 that offer loops if you're going for a more musical approach. 1457 01:08:56,420 --> 01:08:57,670 So yeah, go ahead and do that. 1458 01:08:57,670 --> 01:08:59,420 And let me know if you have any questions. 1459 01:08:59,420 --> 01:09:02,610 I'll be going around and helping you out.