WEBVTT 00:00:00.000 --> 00:00:00.090 align:middle line:90% 00:00:00.090 --> 00:00:02.340 align:middle line:84% BRIANNA BLASER: I think we'll go ahead and get started 00:00:02.340 --> 00:00:03.632 align:middle line:90% a couple of minutes after the-- 00:00:03.632 --> 00:00:06.330 align:middle line:84% I was going to say after the hour-- after the half hour. 00:00:06.330 --> 00:00:08.189 align:middle line:84% So for those of you whom I haven't met, 00:00:08.189 --> 00:00:09.540 align:middle line:90% my name is Brianna-- 00:00:09.540 --> 00:00:11.370 align:middle line:84% oh, I stumbled over my own name there-- 00:00:11.370 --> 00:00:14.730 align:middle line:84% Brianna BLASER at the University of Washington 00:00:14.730 --> 00:00:16.110 align:middle line:90% with Access CS for All. 00:00:16.110 --> 00:00:18.090 align:middle line:84% And so you may recall that we like 00:00:18.090 --> 00:00:20.460 align:middle line:84% to get together every once in a while 00:00:20.460 --> 00:00:25.140 align:middle line:84% to talk about accessible technologies for computing. 00:00:25.140 --> 00:00:28.020 align:middle line:84% And so on Andy Stefik and Richard 00:00:28.020 --> 00:00:29.640 align:middle line:84% Ladner suggested that they knew stuff 00:00:29.640 --> 00:00:31.560 align:middle line:90% was going on with Blockly. 00:00:31.560 --> 00:00:34.990 align:middle line:84% And so we wanted to reach out to those folks. 00:00:34.990 --> 00:00:39.408 align:middle line:84% And so Abbie from Google is going to share with us. 00:00:39.408 --> 00:00:40.950 align:middle line:84% Richard or Stefik, does either of you 00:00:40.950 --> 00:00:44.985 align:middle line:84% want to say a few words about Blockly? 00:00:44.985 --> 00:00:45.860 align:middle line:90% ANDREAS STEFIK: Sure. 00:00:45.860 --> 00:00:49.400 align:middle line:84% You had asked me before the call to say something 00:00:49.400 --> 00:00:51.200 align:middle line:84% I imagine many of the people on the call 00:00:51.200 --> 00:00:53.570 align:middle line:90% know the Blockly stuff already. 00:00:53.570 --> 00:00:57.800 align:middle line:84% But Blockly became sort of the de facto standard 00:00:57.800 --> 00:01:01.700 align:middle line:84% for converting a programming language to blocks online 00:01:01.700 --> 00:01:04.010 align:middle line:90% and a lot of groups adopted it. 00:01:04.010 --> 00:01:05.269 align:middle line:90% I think co.org did. 00:01:05.269 --> 00:01:08.030 align:middle line:84% I know that there's some Python stuff out there and others 00:01:08.030 --> 00:01:11.080 align:middle line:84% as well that kind of run on top of Blockly. 00:01:11.080 --> 00:01:17.660 align:middle line:84% So I remember at I think it was VLHCC last year. 00:01:17.660 --> 00:01:21.290 align:middle line:84% There was some conversations with people on the Blockly team 00:01:21.290 --> 00:01:23.690 align:middle line:84% about them doing some accessibility work 00:01:23.690 --> 00:01:25.610 align:middle line:84% because if that becomes accessible, 00:01:25.610 --> 00:01:28.790 align:middle line:84% then a lot of the downstream tools that use Blockly also 00:01:28.790 --> 00:01:31.950 align:middle line:84% kind of become accessible as well, which is a good thing. 00:01:31.950 --> 00:01:34.310 align:middle line:84% So that's one reason sort of why we thought 00:01:34.310 --> 00:01:37.295 align:middle line:84% it might be cool to follow up and see what's going on, 00:01:37.295 --> 00:01:39.170 align:middle line:84% what they're working on, and stuff like that. 00:01:39.170 --> 00:01:41.557 align:middle line:90% I mean, that's the scoop. 00:01:41.557 --> 00:01:42.890 align:middle line:90% BRIANNA BLASER: Well, excellent. 00:01:42.890 --> 00:01:46.460 align:middle line:84% Well, without further ado, Abby Schmidt from Google is here, 00:01:46.460 --> 00:01:49.370 align:middle line:84% and I'll let her take it from there. 00:01:49.370 --> 00:01:51.170 align:middle line:90% ABBY SCHMIDT: Hey, thanks. 00:01:51.170 --> 00:01:55.145 align:middle line:84% OK, I'm going to share my screen or attempt to share my screen. 00:01:55.145 --> 00:01:58.174 align:middle line:84% And my Zoom skills are not great, but-- 00:01:58.174 --> 00:02:00.460 align:middle line:90% all right, cool. 00:02:00.460 --> 00:02:03.080 align:middle line:90% So yeah, I have a presentation. 00:02:03.080 --> 00:02:05.730 align:middle line:84% Feel free to interrupt at any point and ask questions. 00:02:05.730 --> 00:02:09.431 align:middle line:84% If something doesn't make sense, I can try and answer 00:02:09.431 --> 00:02:10.389 align:middle line:90% any questions you have. 00:02:10.389 --> 00:02:11.140 align:middle line:90% OK, cool. 00:02:11.140 --> 00:02:12.275 align:middle line:90% Can everyone see my screen? 00:02:12.275 --> 00:02:13.150 align:middle line:90% ANDREAS STEFIK: Yeah. 00:02:13.150 --> 00:02:14.200 align:middle line:90% BRIANNA BLASER: It looks great. 00:02:14.200 --> 00:02:15.117 align:middle line:90% ABBY SCHMIDT: Awesome. 00:02:15.117 --> 00:02:17.370 align:middle line:90% OK, so yeah, my name's Abby. 00:02:17.370 --> 00:02:19.100 align:middle line:84% Work on the kids coding here at Google. 00:02:19.100 --> 00:02:21.310 align:middle line:84% We primarily maintain the Blockly library. 00:02:21.310 --> 00:02:23.440 align:middle line:84% And today, I'm going to talk about how 00:02:23.440 --> 00:02:28.060 align:middle line:84% we offer keyboard navigation support to our Blockly. 00:02:28.060 --> 00:02:31.360 align:middle line:84% So yeah, I think this is what you already basically covered, 00:02:31.360 --> 00:02:33.580 align:middle line:84% but Blockly is a JavaScript library for building 00:02:33.580 --> 00:02:35.770 align:middle line:90% visual programming editors. 00:02:35.770 --> 00:02:38.550 align:middle line:84% So what this looks like is Blockly 00:02:38.550 --> 00:02:40.120 align:middle line:84% gets used in all the applications 00:02:40.120 --> 00:02:41.980 align:middle line:84% or in a lot of applications that teach kids 00:02:41.980 --> 00:02:44.150 align:middle line:90% how to code using blocks. 00:02:44.150 --> 00:02:46.600 align:middle line:84% So this is great but not exactly accessible 00:02:46.600 --> 00:02:48.880 align:middle line:90% since it's so visual. 00:02:48.880 --> 00:02:51.610 align:middle line:84% So today, I'm going to give some background on what we've 00:02:51.610 --> 00:02:55.900 align:middle line:84% tried in the past and then talk about where we are now 00:02:55.900 --> 00:02:58.172 align:middle line:84% and give them a demo of what we currently have. 00:02:58.172 --> 00:03:00.130 align:middle line:84% And then I'm just going to talk a lot about all 00:03:00.130 --> 00:03:04.300 align:middle line:84% the different ways that you can modify keyboard navigation 00:03:04.300 --> 00:03:07.380 align:middle line:84% and then finally some future work. 00:03:07.380 --> 00:03:10.085 align:middle line:84% So some background.-- So in the past, 00:03:10.085 --> 00:03:11.960 align:middle line:84% this is actually me before my time at Google, 00:03:11.960 --> 00:03:16.610 align:middle line:84% but they had tried to take the Blockly workspace, which 00:03:16.610 --> 00:03:19.160 align:middle line:84% is what users used to write all their code 00:03:19.160 --> 00:03:20.900 align:middle line:84% and connect their blocks together, 00:03:20.900 --> 00:03:23.660 align:middle line:84% and the tool box, which is where users get 00:03:23.660 --> 00:03:25.860 align:middle line:90% the blocks to write their code. 00:03:25.860 --> 00:03:30.650 align:middle line:84% And they tried to create a purely, 00:03:30.650 --> 00:03:33.770 align:middle line:84% like, table that had all the different blocks in it, 00:03:33.770 --> 00:03:37.640 align:middle line:84% and the blocks are represented as the buttons and text. 00:03:37.640 --> 00:03:40.293 align:middle line:84% And so they came up with a demo for this, 00:03:40.293 --> 00:03:41.210 align:middle line:90% and they tried it out. 00:03:41.210 --> 00:03:42.627 align:middle line:84% And one of the problems they found 00:03:42.627 --> 00:03:44.840 align:middle line:84% is that it was actually really difficult to navigate 00:03:44.840 --> 00:03:46.410 align:middle line:90% using a screen reader. 00:03:46.410 --> 00:03:49.700 align:middle line:84% So since our target audience is primarily students, 00:03:49.700 --> 00:03:51.920 align:middle line:84% this was something that they really struggled with, 00:03:51.920 --> 00:03:55.800 align:middle line:84% and so we didn't keep continuing down this path. 00:03:55.800 --> 00:03:57.860 align:middle line:84% So then a few years later, we ended up 00:03:57.860 --> 00:03:59.360 align:middle line:90% on keyboard navigation. 00:03:59.360 --> 00:04:02.490 align:middle line:84% So the reason we chose keyboard navigation was it 00:04:02.490 --> 00:04:04.490 align:middle line:84% was kind of our first step in creating a Blockly 00:04:04.490 --> 00:04:06.500 align:middle line:84% experience that was more accessible for people 00:04:06.500 --> 00:04:08.450 align:middle line:90% with visual impairment. 00:04:08.450 --> 00:04:11.343 align:middle line:84% It was also useful for sighted users as well, 00:04:11.343 --> 00:04:13.010 align:middle line:84% and it was potentially useful for people 00:04:13.010 --> 00:04:14.120 align:middle line:90% with motor impairments. 00:04:14.120 --> 00:04:19.500 align:middle line:84% So this is kind of like our first step. 00:04:19.500 --> 00:04:21.410 align:middle line:84% And then our goal for keyboard navigation 00:04:21.410 --> 00:04:24.320 align:middle line:84% was to create an easy way for developers and researchers 00:04:24.320 --> 00:04:26.340 align:middle line:90% to test keyboard navigation. 00:04:26.340 --> 00:04:28.280 align:middle line:84% So we understand for keyboard navigation 00:04:28.280 --> 00:04:31.057 align:middle line:84% that we don't necessarily have all the answers right now, 00:04:31.057 --> 00:04:33.140 align:middle line:84% and there's a lot of things that aren't completely 00:04:33.140 --> 00:04:35.120 align:middle line:84% straightforward and that we don't know. 00:04:35.120 --> 00:04:37.040 align:middle line:84% So we really wanted to create a good way that 00:04:37.040 --> 00:04:40.155 align:middle line:84% allowed other people to test what would be the best 00:04:40.155 --> 00:04:41.780 align:middle line:84% practices in what would become the best 00:04:41.780 --> 00:04:44.990 align:middle line:90% practices in this space. 00:04:44.990 --> 00:04:47.260 align:middle line:84% So now I'm going to give a quick demo 00:04:47.260 --> 00:04:49.237 align:middle line:84% of what keyboard navigation currently 00:04:49.237 --> 00:04:50.195 align:middle line:90% looks like for Blockly. 00:04:50.195 --> 00:04:52.750 align:middle line:90% 00:04:52.750 --> 00:04:54.750 align:middle line:84% If at any point I'm going too fast, let me know. 00:04:54.750 --> 00:04:57.160 align:middle line:84% It's kind of hard to show everything 00:04:57.160 --> 00:04:59.990 align:middle line:84% I'm doing with my screen or with my keys. 00:04:59.990 --> 00:05:02.530 align:middle line:90% So this is a Blockly workspace. 00:05:02.530 --> 00:05:04.330 align:middle line:84% If I hit a Control-Shift-K, this is 00:05:04.330 --> 00:05:07.430 align:middle line:84% going to enter us into keyboard navigation mode. 00:05:07.430 --> 00:05:09.760 align:middle line:84% So as you can see, there's a cursor 00:05:09.760 --> 00:05:12.040 align:middle line:84% on the screen that's blinking red. 00:05:12.040 --> 00:05:18.010 align:middle line:84% When I hit Enter, this is going to mark this location using-- 00:05:18.010 --> 00:05:22.430 align:middle line:84% so it shows it marked with a blue marker in its spot. 00:05:22.430 --> 00:05:25.580 align:middle line:84% And so now I can just enter any blocks into this space. 00:05:25.580 --> 00:05:29.410 align:middle line:84% So if I hit T, that's going to open the tool box. 00:05:29.410 --> 00:05:31.610 align:middle line:84% And this is where all the users get their block 00:05:31.610 --> 00:05:34.780 align:middle line:84% that they're going to use to write their applications. 00:05:34.780 --> 00:05:37.680 align:middle line:84% And I'm going to use the WASD keys to move around the tool 00:05:37.680 --> 00:05:39.180 align:middle line:90% box and those blocks. 00:05:39.180 --> 00:05:40.060 align:middle line:84% RICHARD LADNER: Abbey, this is Richard. 00:05:40.060 --> 00:05:41.810 align:middle line:84% I just want to interrupt you for a second. 00:05:41.810 --> 00:05:47.050 align:middle line:84% Just want to remind you that not everybody in this meeting 00:05:47.050 --> 00:05:48.840 align:middle line:90% can see what you're doing. 00:05:48.840 --> 00:05:49.660 align:middle line:90% So-- 00:05:49.660 --> 00:05:50.493 align:middle line:90% ABBY SCHMIDT: Right. 00:05:50.493 --> 00:05:52.330 align:middle line:84% I'm trying to explain it as best I can. 00:05:52.330 --> 00:05:54.940 align:middle line:84% But if anyone has questions, please let me 00:05:54.940 --> 00:05:57.250 align:middle line:84% know, and I will do my best to explain it better. 00:05:57.250 --> 00:06:00.440 align:middle line:90% 00:06:00.440 --> 00:06:10.200 align:middle line:84% Yeah, so by hitting the D key, this takes me to a block 00:06:10.200 --> 00:06:12.390 align:middle line:84% that I can put onto the workspace. 00:06:12.390 --> 00:06:16.530 align:middle line:84% So in order to add a block to the workspace, 00:06:16.530 --> 00:06:18.270 align:middle line:90% I can get the Enter key. 00:06:18.270 --> 00:06:21.350 align:middle line:84% And this moves the block from the tool box 00:06:21.350 --> 00:06:24.930 align:middle line:90% into the workspace. 00:06:24.930 --> 00:06:29.030 align:middle line:84% So now I can navigate to different-- each block has 00:06:29.030 --> 00:06:30.650 align:middle line:90% different connections on it. 00:06:30.650 --> 00:06:34.760 align:middle line:84% And so I'm going to want to add a block after this block. 00:06:34.760 --> 00:06:40.040 align:middle line:84% So in order to do that, I can navigate to the next connection 00:06:40.040 --> 00:06:41.330 align:middle line:90% point on this block. 00:06:41.330 --> 00:06:45.380 align:middle line:84% So I'm going to do this using the S key. 00:06:45.380 --> 00:06:47.870 align:middle line:84% So when I hit the S key, it goes to the next connection 00:06:47.870 --> 00:06:49.370 align:middle line:90% point on this block. 00:06:49.370 --> 00:06:51.080 align:middle line:84% And when I hit the Enter key, it's 00:06:51.080 --> 00:06:52.620 align:middle line:90% going to mark that location. 00:06:52.620 --> 00:06:55.070 align:middle line:84% And that will allow me to insert something after the block 00:06:55.070 --> 00:06:57.370 align:middle line:84% that I have placed on the workspace. 00:06:57.370 --> 00:06:58.780 align:middle line:84% So I'm going to hi the Enter key, 00:06:58.780 --> 00:07:00.910 align:middle line:90% and that marks that location. 00:07:00.910 --> 00:07:03.310 align:middle line:84% And I'm going to go back to the tool box which 00:07:03.310 --> 00:07:06.250 align:middle line:84% holds all of the blocks by hitting the T key 00:07:06.250 --> 00:07:10.260 align:middle line:84% and navigate around to find the block I want. 00:07:10.260 --> 00:07:13.670 align:middle line:84% And I can do that using the S and the D key. 00:07:13.670 --> 00:07:15.173 align:middle line:90% So now I've entered the block. 00:07:15.173 --> 00:07:16.590 align:middle line:84% I'm skimming over a little bit how 00:07:16.590 --> 00:07:19.410 align:middle line:84% I am navigating to the different connection points and stuff 00:07:19.410 --> 00:07:22.368 align:middle line:84% just because I'm going to go over that a bit more later on. 00:07:22.368 --> 00:07:23.410 align:middle line:90% CLAYTON: Thank you, Abby. 00:07:23.410 --> 00:07:24.330 align:middle line:90% Question? 00:07:24.330 --> 00:07:25.860 align:middle line:90% ABBY SCHMIDT: Yeah. 00:07:25.860 --> 00:07:27.960 align:middle line:84% CLAYTON: Is there now or are you imagining 00:07:27.960 --> 00:07:31.170 align:middle line:84% that there might be accompanying audio feedback along 00:07:31.170 --> 00:07:33.958 align:middle line:90% with these actions and effects? 00:07:33.958 --> 00:07:35.250 align:middle line:90% ABBY SCHMIDT: Yeah, definitely. 00:07:35.250 --> 00:07:38.525 align:middle line:84% So that's definitely for the future work section of this. 00:07:38.525 --> 00:07:40.650 align:middle line:84% Right now, we just have keyboard navigation support 00:07:40.650 --> 00:07:42.630 align:middle line:84% and we have looked at a few different ways 00:07:42.630 --> 00:07:44.790 align:middle line:84% to offer screen reader support as well. 00:07:44.790 --> 00:07:46.710 align:middle line:84% But we just haven't gotten there yet. 00:07:46.710 --> 00:07:47.880 align:middle line:84% CLAYTON: Yeah, I wasn't necessarily thinking 00:07:47.880 --> 00:07:50.130 align:middle line:84% about screen reader but something that would tell you, 00:07:50.130 --> 00:07:53.170 align:middle line:84% for example, you have selected the after connection or the 00:07:53.170 --> 00:07:55.633 align:middle line:84% before connection or whatever so that you 00:07:55.633 --> 00:07:58.050 align:middle line:84% get something in addition to the visual indication of what 00:07:58.050 --> 00:07:59.563 align:middle line:90% you've done. 00:07:59.563 --> 00:08:00.480 align:middle line:90% ABBY SCHMIDT: Got you. 00:08:00.480 --> 00:08:03.490 align:middle line:84% Yeah, it's definitely something we'd like to look at. 00:08:03.490 --> 00:08:05.250 align:middle line:84% We just haven't gotten around to it yet. 00:08:05.250 --> 00:08:05.750 align:middle line:90% CLAYTON: OK. 00:08:05.750 --> 00:08:07.370 align:middle line:90% ABBY SCHMIDT: Yeah. 00:08:07.370 --> 00:08:10.110 align:middle line:84% So-- and that's also another area 00:08:10.110 --> 00:08:12.660 align:middle line:84% that we're expecting people to experiment in. 00:08:12.660 --> 00:08:14.160 align:middle line:84% Just because we're not entirely sure 00:08:14.160 --> 00:08:16.110 align:middle line:84% what wording would be best for things 00:08:16.110 --> 00:08:17.490 align:middle line:90% like the next connection. 00:08:17.490 --> 00:08:19.780 align:middle line:84% Like, does the student understand what that means? 00:08:19.780 --> 00:08:20.640 align:middle line:90% CLAYTON: Mm-hm-- 00:08:20.640 --> 00:08:23.770 align:middle line:90% ABBY SCHMIDT: So yeah. 00:08:23.770 --> 00:08:27.600 align:middle line:84% OK, so to remove a block or to disconnect blocks, 00:08:27.600 --> 00:08:30.370 align:middle line:84% I can hit the X key, and that will just 00:08:30.370 --> 00:08:32.520 align:middle line:90% connect those two blocks. 00:08:32.520 --> 00:08:39.760 align:middle line:84% And that's basically what we have for keyboard navigation. 00:08:39.760 --> 00:08:42.720 align:middle line:84% And so there's a few things here that can be-- 00:08:42.720 --> 00:08:44.340 align:middle line:90% I'll elaborate more on. 00:08:44.340 --> 00:08:46.450 align:middle line:84% But does anyone have any questions on that? 00:08:46.450 --> 00:08:49.600 align:middle line:90% 00:08:49.600 --> 00:08:50.100 align:middle line:90% No? 00:08:50.100 --> 00:08:52.690 align:middle line:90% OK. 00:08:52.690 --> 00:08:54.520 align:middle line:84% So the rest of this presentation is just 00:08:54.520 --> 00:08:56.710 align:middle line:84% going to talk about modifications or different ways 00:08:56.710 --> 00:08:58.690 align:middle line:84% that we expect people to experiment 00:08:58.690 --> 00:09:00.850 align:middle line:90% with keyboard navigation. 00:09:00.850 --> 00:09:03.910 align:middle line:84% So like I said earlier on, we're a JavaScript library. 00:09:03.910 --> 00:09:06.170 align:middle line:84% We're not the end application here. 00:09:06.170 --> 00:09:09.550 align:middle line:84% So everything that we make has to be easily modifiable 00:09:09.550 --> 00:09:12.560 align:middle line:84% and easily changed to fit all of the different use cases and all 00:09:12.560 --> 00:09:14.800 align:middle line:90% the different users' needs. 00:09:14.800 --> 00:09:18.580 align:middle line:84% So one thing we expect people to mess around with and change 00:09:18.580 --> 00:09:21.850 align:middle line:90% a lot is key mappings. 00:09:21.850 --> 00:09:25.270 align:middle line:84% So we wanted to provide an easy way for users and developers 00:09:25.270 --> 00:09:29.910 align:middle line:84% to customize the keys that users use for each key navigation. 00:09:29.910 --> 00:09:32.710 align:middle line:84% So what that really means is for this demo, 00:09:32.710 --> 00:09:36.780 align:middle line:84% I was using the WASD keys to do things like previous, out, 00:09:36.780 --> 00:09:38.600 align:middle line:90% next, and in. 00:09:38.600 --> 00:09:42.060 align:middle line:84% However, we are aware that that might not work for everyone. 00:09:42.060 --> 00:09:44.910 align:middle line:84% So by giving developers an easy way to change this, 00:09:44.910 --> 00:09:49.990 align:middle line:84% it allows them to surface that easily to their users. 00:09:49.990 --> 00:09:54.480 align:middle line:84% So that's an easy thing we expect people to want 00:09:54.480 --> 00:09:56.610 align:middle line:90% to change and experiment with. 00:09:56.610 --> 00:09:59.400 align:middle line:84% Another thing we expect people to change and experiment with 00:09:59.400 --> 00:10:01.660 align:middle line:90% is adding shortcuts. 00:10:01.660 --> 00:10:04.440 align:middle line:84% So for example, if you hit the C key, 00:10:04.440 --> 00:10:06.240 align:middle line:84% you might want to collapse all your blocks. 00:10:06.240 --> 00:10:07.980 align:middle line:84% If you hit Shift and S, you might 00:10:07.980 --> 00:10:12.420 align:middle line:84% want to go to the next stack of blocks on your workspace. 00:10:12.420 --> 00:10:15.400 align:middle line:84% We're not entirely sure what all those shortcuts could be. 00:10:15.400 --> 00:10:16.920 align:middle line:84% There's a lot of them, but we're not 00:10:16.920 --> 00:10:18.337 align:middle line:84% entirely sure which ones are going 00:10:18.337 --> 00:10:20.670 align:middle line:84% to be the best for everyone or the best set 00:10:20.670 --> 00:10:23.710 align:middle line:90% to offer to people. 00:10:23.710 --> 00:10:26.110 align:middle line:84% And then finally, just change how the cursor looks. 00:10:26.110 --> 00:10:31.480 align:middle line:84% So this is important because some 00:10:31.480 --> 00:10:34.540 align:middle line:84% of the connections on the blocks are difficult to display 00:10:34.540 --> 00:10:36.400 align:middle line:84% or difficult to show kind of what they mean. 00:10:36.400 --> 00:10:40.570 align:middle line:84% So we tried a few different scenarios 00:10:40.570 --> 00:10:44.050 align:middle line:84% of what would be the best way to show these different cursors 00:10:44.050 --> 00:10:45.670 align:middle line:90% and what they mean. 00:10:45.670 --> 00:10:49.153 align:middle line:84% And we settled on what we came up with for the demo, 00:10:49.153 --> 00:10:51.320 align:middle line:84% but we didn't do a lot of experimentation around it. 00:10:51.320 --> 00:10:54.460 align:middle line:84% So that's another area we expect people to experiment with. 00:10:54.460 --> 00:10:56.470 align:middle line:84% Also, people have different shapes blocks, 00:10:56.470 --> 00:10:59.620 align:middle line:84% So for every different renderer they have. 00:10:59.620 --> 00:11:01.660 align:middle line:84% Then they will need to create a different way 00:11:01.660 --> 00:11:03.822 align:middle line:84% that the cursor looks that will fit to those blocks 00:11:03.822 --> 00:11:04.780 align:middle line:90% that they have created. 00:11:04.780 --> 00:11:07.700 align:middle line:90% 00:11:07.700 --> 00:11:11.910 align:middle line:84% And kind of the heart of this matter is workspace navigation. 00:11:11.910 --> 00:11:15.360 align:middle line:84% So this is kind of the most important part-- 00:11:15.360 --> 00:11:17.160 align:middle line:84% for me, at least-- is that how does 00:11:17.160 --> 00:11:19.320 align:middle line:84% someone navigate all of the programs 00:11:19.320 --> 00:11:22.000 align:middle line:90% that they have on the screen. 00:11:22.000 --> 00:11:25.200 align:middle line:84% So as you can imagine, kids, when they're writing code, 00:11:25.200 --> 00:11:28.565 align:middle line:84% can have lots of different huge applications that have, 00:11:28.565 --> 00:11:29.940 align:middle line:84% like, hundreds of blocks in them. 00:11:29.940 --> 00:11:33.642 align:middle line:84% So how do we make it so that a user who is visually impaired 00:11:33.642 --> 00:11:35.100 align:middle line:84% or a user who has motor impairments 00:11:35.100 --> 00:11:38.190 align:middle line:84% can easily read through those stacks of blocks 00:11:38.190 --> 00:11:42.280 align:middle line:84% and navigate around all of the different pieces on those? 00:11:42.280 --> 00:11:47.350 align:middle line:84% So right now I'm sharing a screen is 00:11:47.350 --> 00:11:49.600 align:middle line:84% a few stacks of blocks on the workspace, 00:11:49.600 --> 00:11:51.100 align:middle line:84% and they have red lines around them. 00:11:51.100 --> 00:11:53.740 align:middle line:84% This is just showing that a workspace is made up 00:11:53.740 --> 00:11:56.770 align:middle line:84% of different stacks of blocks and also 00:11:56.770 --> 00:11:59.532 align:middle line:84% the different coordinates on that workspace. 00:11:59.532 --> 00:12:01.240 align:middle line:84% So all of these are something that a user 00:12:01.240 --> 00:12:05.030 align:middle line:84% is going to need to be able to interact with. 00:12:05.030 --> 00:12:08.500 align:middle line:84% And then in each of those blocks, 00:12:08.500 --> 00:12:11.830 align:middle line:84% there is a lot of things that a user can interact with. 00:12:11.830 --> 00:12:14.643 align:middle line:84% So this is kind of confusing, and I understand that. 00:12:14.643 --> 00:12:16.060 align:middle line:84% But it's basically a block, and it 00:12:16.060 --> 00:12:17.590 align:middle line:84% shows all of the different locations 00:12:17.590 --> 00:12:19.390 align:middle line:90% that the user can connect with. 00:12:19.390 --> 00:12:22.060 align:middle line:84% And not only all the different connections 00:12:22.060 --> 00:12:25.510 align:middle line:84% that they can connect with, but there's also fields on blocks. 00:12:25.510 --> 00:12:28.332 align:middle line:84% And so fields are things that a user can change. 00:12:28.332 --> 00:12:30.040 align:middle line:84% So for the block on the screen right now, 00:12:30.040 --> 00:12:31.690 align:middle line:90% it says repeat 10 times. 00:12:31.690 --> 00:12:34.780 align:middle line:84% A user can change that tend to be repeat 8 times, 7 00:12:34.780 --> 00:12:36.830 align:middle line:90% times, whatever they want. 00:12:36.830 --> 00:12:39.400 align:middle line:84% And so on each block, there is a decent amount 00:12:39.400 --> 00:12:41.740 align:middle line:84% of things that need to be interacted with in order 00:12:41.740 --> 00:12:43.585 align:middle line:84% to make Blockly functionable and usable. 00:12:43.585 --> 00:12:47.240 align:middle line:90% 00:12:47.240 --> 00:12:49.060 align:middle line:84% We created-- in order to organize 00:12:49.060 --> 00:12:52.180 align:middle line:84% all of these components, we created an AST. 00:12:52.180 --> 00:12:56.860 align:middle line:84% So the Blockly AST holds every field, input, connection, 00:12:56.860 --> 00:13:01.480 align:middle line:84% block, and stack and workspace for Blockly. 00:13:01.480 --> 00:13:05.020 align:middle line:84% So this gives developers an easy way 00:13:05.020 --> 00:13:09.623 align:middle line:84% to at least understand how all of these things that we've 00:13:09.623 --> 00:13:11.790 align:middle line:84% created or that are on the workspace that need to be 00:13:11.790 --> 00:13:14.530 align:middle line:90% interacted with are organized. 00:13:14.530 --> 00:13:18.060 align:middle line:84% So I have this picture, which is very confusing 00:13:18.060 --> 00:13:19.060 align:middle line:90% and no one really likes. 00:13:19.060 --> 00:13:20.740 align:middle line:90% But it's a tree. 00:13:20.740 --> 00:13:22.600 align:middle line:84% And it's not really important to understand 00:13:22.600 --> 00:13:23.910 align:middle line:90% exactly how the tree looks. 00:13:23.910 --> 00:13:25.480 align:middle line:84% There's more documentation for that. 00:13:25.480 --> 00:13:27.280 align:middle line:84% If anyone is interested, I can share that. 00:13:27.280 --> 00:13:29.050 align:middle line:84% But what is just important to understand 00:13:29.050 --> 00:13:31.120 align:middle line:84% is that a tree exists that holds all 00:13:31.120 --> 00:13:35.840 align:middle line:84% of these elements that need to be able to be interacted with. 00:13:35.840 --> 00:13:40.440 align:middle line:84% And so we created the AST as the bottom layer, 00:13:40.440 --> 00:13:43.110 align:middle line:84% but on top of that is the cursor. 00:13:43.110 --> 00:13:45.510 align:middle line:84% So the cursor is what the user is actually 00:13:45.510 --> 00:13:47.070 align:middle line:90% going to interact with. 00:13:47.070 --> 00:13:51.210 align:middle line:84% And it controls how the user navigates around that AST. 00:13:51.210 --> 00:13:54.450 align:middle line:84% So we understand that not everything in that AST 00:13:54.450 --> 00:13:57.640 align:middle line:84% might be something that needs to be navigated to by a user. 00:13:57.640 --> 00:14:00.690 align:middle line:90% 00:14:00.690 --> 00:14:02.407 align:middle line:84% It needs to be navigated to by user, 00:14:02.407 --> 00:14:03.990 align:middle line:84% but maybe there's different situations 00:14:03.990 --> 00:14:05.490 align:middle line:84% where you want to change how someone 00:14:05.490 --> 00:14:07.770 align:middle line:90% navigates around that tree. 00:14:07.770 --> 00:14:10.680 align:middle line:84% So the cursor sits on top of it, and you 00:14:10.680 --> 00:14:15.090 align:middle line:84% can create cursors that navigate the tree in different ways. 00:14:15.090 --> 00:14:19.042 align:middle line:84% So does anyone have any questions so far? 00:14:19.042 --> 00:14:22.730 align:middle line:90% No, OK, cool. 00:14:22.730 --> 00:14:26.120 align:middle line:84% So I'm going to just demo real quick some other cursors 00:14:26.120 --> 00:14:26.660 align:middle line:90% we have. 00:14:26.660 --> 00:14:32.630 align:middle line:90% 00:14:32.630 --> 00:14:37.070 align:middle line:84% Let's see-- some other cursors that we have created. 00:14:37.070 --> 00:14:42.310 align:middle line:84% So the default cursor that we have 00:14:42.310 --> 00:14:45.500 align:middle line:84% navigates very similar to how the AST is set up. 00:14:45.500 --> 00:14:47.600 align:middle line:84% So this might be great if you have someone 00:14:47.600 --> 00:14:49.280 align:middle line:84% who is very advanced and can understand 00:14:49.280 --> 00:14:50.840 align:middle line:90% how that tree is set up. 00:14:50.840 --> 00:14:52.970 align:middle line:84% So when I hit the S key, it goes down 00:14:52.970 --> 00:14:55.580 align:middle line:84% to the next connection or the next block. 00:14:55.580 --> 00:15:00.380 align:middle line:84% And if I want to go inside of the block, I can hit the D key. 00:15:00.380 --> 00:15:02.210 align:middle line:90% So this is great. 00:15:02.210 --> 00:15:04.730 align:middle line:84% It might be faster if you actually understand the tree, 00:15:04.730 --> 00:15:07.723 align:middle line:84% but you can imagine if you have a younger audience, 00:15:07.723 --> 00:15:09.140 align:middle line:84% then this is not going to be great 00:15:09.140 --> 00:15:10.765 align:middle line:84% because they're not going to understand 00:15:10.765 --> 00:15:12.090 align:middle line:90% how that tree is set up. 00:15:12.090 --> 00:15:15.780 align:middle line:84% So we've also created something called a basic cursor 00:15:15.780 --> 00:15:19.350 align:middle line:84% because naming is hard, and this is the most basic cursor I 00:15:19.350 --> 00:15:20.340 align:middle line:90% could come up with. 00:15:20.340 --> 00:15:22.620 align:middle line:84% But this one navigates everything 00:15:22.620 --> 00:15:25.310 align:middle line:84% that you've seen in that tree by doing a preorder 00:15:25.310 --> 00:15:26.910 align:middle line:90% traversal on that tree. 00:15:26.910 --> 00:15:28.680 align:middle line:84% So I can get to every element that I 00:15:28.680 --> 00:15:33.880 align:middle line:84% need to just by using the A and D keys. 00:15:33.880 --> 00:15:37.300 align:middle line:84% So this is good for some, maybe if you 00:15:37.300 --> 00:15:40.390 align:middle line:84% have a new user that doesn't understand how the tree works 00:15:40.390 --> 00:15:44.230 align:middle line:84% or just wants to get to all of the elements in the tree. 00:15:44.230 --> 00:15:47.320 align:middle line:84% But you can also imagine that this is very slow because you 00:15:47.320 --> 00:15:49.930 align:middle line:84% have to navigate one by one through everything 00:15:49.930 --> 00:15:52.430 align:middle line:90% that you see. 00:15:52.430 --> 00:15:55.450 align:middle line:90% So that is the basic cursor. 00:15:55.450 --> 00:15:58.390 align:middle line:84% That's one way we can see a cursor being implemented. 00:15:58.390 --> 00:16:01.840 align:middle line:84% Another cursor we've tried is what I'm calling a line cursor, 00:16:01.840 --> 00:16:04.420 align:middle line:84% and it just goes through the blocks 00:16:04.420 --> 00:16:06.940 align:middle line:84% as if they were a text editor, basically. 00:16:06.940 --> 00:16:12.010 align:middle line:84% So by hitting the S key, I can go to the next line, 00:16:12.010 --> 00:16:14.680 align:middle line:90% basically, in the code. 00:16:14.680 --> 00:16:16.570 align:middle line:84% And then by hitting the A and D keys, 00:16:16.570 --> 00:16:20.770 align:middle line:84% I can go to, inside that line, everything that is-- 00:16:20.770 --> 00:16:23.470 align:middle line:84% all the fields and inputs and connections that 00:16:23.470 --> 00:16:26.530 align:middle line:90% are inside that block. 00:16:26.530 --> 00:16:29.370 align:middle line:84% So these are just examples of cursors that people can make. 00:16:29.370 --> 00:16:32.610 align:middle line:84% You can also make a cursor that only goes to blocks or cursor 00:16:32.610 --> 00:16:34.710 align:middle line:90% that only goes to connections. 00:16:34.710 --> 00:16:37.938 align:middle line:84% You can imagine if you wanted to do something like block mode 00:16:37.938 --> 00:16:39.480 align:middle line:84% where you go to a block, and then you 00:16:39.480 --> 00:16:41.550 align:middle line:84% can insert in edit mode or something like that. 00:16:41.550 --> 00:16:44.994 align:middle line:90% 00:16:44.994 --> 00:16:48.727 align:middle line:90% Yeah, so that is the cursors. 00:16:48.727 --> 00:16:50.310 align:middle line:84% RICHARD LADNER: This is Richard again. 00:16:50.310 --> 00:16:51.080 align:middle line:90% Abby? 00:16:51.080 --> 00:16:51.890 align:middle line:90% ABBY SCHMIDT: Yeah 00:16:51.890 --> 00:16:53.780 align:middle line:90% RICHARD LADNER: Very impressive. 00:16:53.780 --> 00:16:57.350 align:middle line:84% Have you thought about switch users, not just 00:16:57.350 --> 00:16:58.310 align:middle line:90% screen reader users? 00:16:58.310 --> 00:17:01.370 align:middle line:84% Because the way you navigate there, 00:17:01.370 --> 00:17:03.140 align:middle line:84% either-- you know, the hierarchical way 00:17:03.140 --> 00:17:05.503 align:middle line:90% of doing it or the other ways. 00:17:05.503 --> 00:17:06.920 align:middle line:84% You know, these are different ways 00:17:06.920 --> 00:17:09.829 align:middle line:84% that you can navigate using a switch. 00:17:09.829 --> 00:17:12.710 align:middle line:84% And so that might be-- and switch users 00:17:12.710 --> 00:17:18.240 align:middle line:84% are used to having hierarchies because that's quicker. 00:17:18.240 --> 00:17:20.480 align:middle line:84% So if you haven't thought about that, 00:17:20.480 --> 00:17:25.621 align:middle line:84% maybe you should put that in your work. 00:17:25.621 --> 00:17:26.829 align:middle line:90% ABBY SCHMIDT: Yeah, for sure. 00:17:26.829 --> 00:17:29.680 align:middle line:84% We haven't-- like I said, it's a little bit difficult for us 00:17:29.680 --> 00:17:32.890 align:middle line:84% to do testing and stuff like that because we are the library 00:17:32.890 --> 00:17:34.620 align:middle line:84% and we don't have a lot of end users. 00:17:34.620 --> 00:17:37.840 align:middle line:84% But that is definitely something we've looked at or considered 00:17:37.840 --> 00:17:41.820 align:middle line:84% is the fact that it would be great for people with motor 00:17:41.820 --> 00:17:43.780 align:middle line:90% impairments or switch users. 00:17:43.780 --> 00:17:46.790 align:middle line:90% So yeah. 00:17:46.790 --> 00:17:50.650 align:middle line:84% OK, and feature work, which is that there's still a few things 00:17:50.650 --> 00:17:54.490 align:middle line:84% on the workspace that cannot be gotten to you by that AST that 00:17:54.490 --> 00:17:55.820 align:middle line:90% we have created. 00:17:55.820 --> 00:17:58.360 align:middle line:84% So there's things like a trash can that users can throw away 00:17:58.360 --> 00:18:02.292 align:middle line:84% their blocks in, workspace comments on icons on a block, 00:18:02.292 --> 00:18:03.250 align:middle line:90% and a few other things. 00:18:03.250 --> 00:18:06.150 align:middle line:84% So those we'd like to support in the future 00:18:06.150 --> 00:18:10.690 align:middle line:84% to make sure that the AST holds everything that a user needs 00:18:10.690 --> 00:18:12.430 align:middle line:90% to be able to get to. 00:18:12.430 --> 00:18:14.973 align:middle line:84% And then obviously the most important thing 00:18:14.973 --> 00:18:16.390 align:middle line:84% or one of the most worrying things 00:18:16.390 --> 00:18:18.940 align:middle line:84% is how to communicate the cursor's position. 00:18:18.940 --> 00:18:23.890 align:middle line:84% And this goes directly with also screening or integration. 00:18:23.890 --> 00:18:27.220 align:middle line:84% So we've looked at a few ways to add screen reader support. 00:18:27.220 --> 00:18:29.500 align:middle line:90% One of them 00:18:29.500 --> 00:18:34.130 align:middle line:84% Stephanie Ludi was using was updating aria-live region 00:18:34.130 --> 00:18:35.500 align:middle line:90% whenever the cursor moves. 00:18:35.500 --> 00:18:37.270 align:middle line:84% And so it would read out the text 00:18:37.270 --> 00:18:40.402 align:middle line:84% or wherever the cursor currently is to the user. 00:18:40.402 --> 00:18:41.860 align:middle line:84% The other way that we had looked at 00:18:41.860 --> 00:18:44.800 align:middle line:84% was updating the label on the cursor 00:18:44.800 --> 00:18:47.320 align:middle line:84% since the cursor is an SVG element. 00:18:47.320 --> 00:18:49.540 align:middle line:84% We could update the cursor and then set the focus 00:18:49.540 --> 00:18:52.480 align:middle line:90% on the cursor as it moves. 00:18:52.480 --> 00:18:54.460 align:middle line:84% So I have a little GIF, and it's just 00:18:54.460 --> 00:18:56.140 align:middle line:84% showing every time I move the cursor, 00:18:56.140 --> 00:18:58.180 align:middle line:84% focus also moves along with that cursor. 00:18:58.180 --> 00:19:01.950 align:middle line:90% 00:19:01.950 --> 00:19:06.958 align:middle line:84% Yeah, so there's resources which are links 00:19:06.958 --> 00:19:08.250 align:middle line:90% but I did not share on my side. 00:19:08.250 --> 00:19:10.840 align:middle line:84% So I can share those out later if people would like. 00:19:10.840 --> 00:19:13.620 align:middle line:84% But basically, there is documentation now and also 00:19:13.620 --> 00:19:16.840 align:middle line:84% a code lab for how to work with all the APIs 00:19:16.840 --> 00:19:18.250 align:middle line:90% that we have created. 00:19:18.250 --> 00:19:20.040 align:middle line:84% And then there's also a demo page 00:19:20.040 --> 00:19:24.126 align:middle line:84% where users can play around with keyboard navigation. 00:19:24.126 --> 00:19:27.646 align:middle line:90% So any other questions? 00:19:27.646 --> 00:19:31.962 align:middle line:84% PAMELA: Hi, this is Pamela from Khan Academy. 00:19:31.962 --> 00:19:32.670 align:middle line:90% ABBY SCHMIDT: Hi. 00:19:32.670 --> 00:19:33.220 align:middle line:90% PAMELA: Hi. 00:19:33.220 --> 00:19:34.240 align:middle line:90% I'm just curious. 00:19:34.240 --> 00:19:36.790 align:middle line:90% Could you demo how you would-- 00:19:36.790 --> 00:19:41.580 align:middle line:84% how a user would basically reorder to blocks? 00:19:41.580 --> 00:19:46.514 align:middle line:90% ABBY SCHMIDT: Yeah, for sure. 00:19:46.514 --> 00:19:50.062 align:middle line:84% OK, when you say recorder, do you mean they would-- 00:19:50.062 --> 00:19:51.520 align:middle line:84% PAMELA: Like, I'm trying to see you 00:19:51.520 --> 00:19:56.390 align:middle line:84% like how dragging is translating in the keyboard world. 00:19:56.390 --> 00:19:57.790 align:middle line:90% So if you had-- 00:19:57.790 --> 00:19:59.590 align:middle line:84% like on the keyboard navigation demo, 00:19:59.590 --> 00:20:03.400 align:middle line:84% you've got multiple blocks inside the if, I think. 00:20:03.400 --> 00:20:06.980 align:middle line:84% So maybe if you wanted to move one of them over the other. 00:20:06.980 --> 00:20:08.290 align:middle line:90% ABBY SCHMIDT: Sure. 00:20:08.290 --> 00:20:09.250 align:middle line:90% So right now, we have-- 00:20:09.250 --> 00:20:11.950 align:middle line:84% the way we're doing this right now is like, we have a marker. 00:20:11.950 --> 00:20:15.040 align:middle line:84% So I can move the main cursor around, 00:20:15.040 --> 00:20:17.680 align:middle line:90% and then I can mark a location. 00:20:17.680 --> 00:20:20.290 align:middle line:84% And then I can go to the connection 00:20:20.290 --> 00:20:22.300 align:middle line:84% and I want to move to that location. 00:20:22.300 --> 00:20:26.070 align:middle line:84% And for this, I can hit I. So that will move that there. 00:20:26.070 --> 00:20:29.280 align:middle line:84% If I want to add something inside of this if block, 00:20:29.280 --> 00:20:33.600 align:middle line:84% I can navigate to that internal-- this statement 00:20:33.600 --> 00:20:34.680 align:middle line:90% input. 00:20:34.680 --> 00:20:37.560 align:middle line:84% So I can mark this location here and then 00:20:37.560 --> 00:20:39.220 align:middle line:84% I can navigate to the connection. 00:20:39.220 --> 00:20:41.100 align:middle line:90% I want to move there. 00:20:41.100 --> 00:20:43.900 align:middle line:84% So then I navigate to this repeat block, and if I hit I, 00:20:43.900 --> 00:20:47.885 align:middle line:84% it will insert it inside of that if block. 00:20:47.885 --> 00:20:49.010 align:middle line:90% Is that what you're asking? 00:20:49.010 --> 00:20:50.730 align:middle line:90% Or-- 00:20:50.730 --> 00:20:54.212 align:middle line:84% PAMELA: Yeah, yeah, that gives me a lot more insight. 00:20:54.212 --> 00:20:54.920 align:middle line:90% ABBY SCHMIDT: OK. 00:20:54.920 --> 00:21:02.560 align:middle line:90% 00:21:02.560 --> 00:21:05.062 align:middle line:90% Are there any other questions? 00:21:05.062 --> 00:21:06.520 align:middle line:84% Seems like Clayton's talking, but-- 00:21:06.520 --> 00:21:09.078 align:middle line:84% CLAYTON: Yeah, that's [INAUDIBLE] sorry about that. 00:21:09.078 --> 00:21:10.120 align:middle line:90% ABBY SCHMIDT: No worries. 00:21:10.120 --> 00:21:11.640 align:middle line:90% CLAYTON: Yeah, great work. 00:21:11.640 --> 00:21:13.660 align:middle line:84% It's terrific that you're doing this. 00:21:13.660 --> 00:21:16.090 align:middle line:84% Are you by any chance in touch with Sina Bahram of-- 00:21:16.090 --> 00:21:19.120 align:middle line:84% do you know him or do you connect with him at all? 00:21:19.120 --> 00:21:21.490 align:middle line:90% ABBY SCHMIDT: I have not. 00:21:21.490 --> 00:21:23.470 align:middle line:84% CLAYTON: Yeah, I can try to make an intro, 00:21:23.470 --> 00:21:24.825 align:middle line:90% and I'm sure others can as well. 00:21:24.825 --> 00:21:28.540 align:middle line:84% The reason he comes up it is that one of the things that he 00:21:28.540 --> 00:21:30.210 align:middle line:90% talks about is-- 00:21:30.210 --> 00:21:33.710 align:middle line:84% and this relates to one of the questions I had earlier. 00:21:33.710 --> 00:21:38.440 align:middle line:84% So when you're thinking about audio information, 00:21:38.440 --> 00:21:40.930 align:middle line:84% there's possibilities beyond screen readers 00:21:40.930 --> 00:21:44.080 align:middle line:84% that one might want to think about. 00:21:44.080 --> 00:21:47.470 align:middle line:84% So it's sometimes called making things self-voicing. 00:21:47.470 --> 00:21:49.900 align:middle line:90% And this can give you freedom. 00:21:49.900 --> 00:21:51.670 align:middle line:84% So screen reader navigation tends 00:21:51.670 --> 00:21:55.490 align:middle line:84% to be very hierarchical as you're aware, 00:21:55.490 --> 00:21:58.840 align:middle line:84% and you've been playing with various things already. 00:21:58.840 --> 00:22:01.700 align:middle line:84% That's not always the best way to do things. 00:22:01.700 --> 00:22:04.780 align:middle line:84% So sort of spatial ways of navigating, 00:22:04.780 --> 00:22:06.790 align:middle line:84% sort of arrow key types of things, which really 00:22:06.790 --> 00:22:09.040 align:middle line:84% are sort of native to the screen reader world, 00:22:09.040 --> 00:22:11.930 align:middle line:84% can make sense for the kind of thing that you're doing. 00:22:11.930 --> 00:22:14.980 align:middle line:84% So I think, you know, Sina might have some interesting thoughts 00:22:14.980 --> 00:22:17.978 align:middle line:84% about, again, possibilities in addition to screen reader. 00:22:17.978 --> 00:22:20.520 align:middle line:84% I'm not saying you don't want to have screen readers support. 00:22:20.520 --> 00:22:25.840 align:middle line:84% But for some users, giving them good audio information 00:22:25.840 --> 00:22:27.380 align:middle line:84% without having to use a screenwriter 00:22:27.380 --> 00:22:28.843 align:middle line:90% might have some advantages. 00:22:28.843 --> 00:22:29.343 align:middle line:90% And-- 00:22:29.343 --> 00:22:30.240 align:middle line:90% ABBY SCHMIDT: Yeah. 00:22:30.240 --> 00:22:31.990 align:middle line:84% CLAYTON: I've got to break off, but thanks 00:22:31.990 --> 00:22:32.927 align:middle line:90% for the presentations. 00:22:32.927 --> 00:22:34.510 align:middle line:84% BRIANNA BLASER: And-- this is Brianna. 00:22:34.510 --> 00:22:38.050 align:middle line:84% I can make that introduction to Sina afterwards, Abby. 00:22:38.050 --> 00:22:39.870 align:middle line:84% ABBY SCHMIDT: Yeah, that sounds great. 00:22:39.870 --> 00:22:42.290 align:middle line:84% SPEAKER 1: And that self-voicing option, 00:22:42.290 --> 00:22:45.460 align:middle line:84% it was actually listed in one of her slides. 00:22:45.460 --> 00:22:48.300 align:middle line:84% That's the aria-live region approach. 00:22:48.300 --> 00:22:51.760 align:middle line:84% And that does work, but that's what an aria-live region is. 00:22:51.760 --> 00:22:54.490 align:middle line:84% It dispatches speech through what's 00:22:54.490 --> 00:22:57.540 align:middle line:84% called a UAA notify on the operating system level. 00:22:57.540 --> 00:23:03.400 align:middle line:84% What that means is that it sends text to the screen reader 00:23:03.400 --> 00:23:06.670 align:middle line:84% directly and asks it to request speech. 00:23:06.670 --> 00:23:11.350 align:middle line:84% But that's important because if you just do pure self voicing, 00:23:11.350 --> 00:23:14.705 align:middle line:84% you'll actually get two things speaking at once when 00:23:14.705 --> 00:23:15.830 align:middle line:90% you're using a web browser. 00:23:15.830 --> 00:23:18.640 align:middle line:84% So like, you'll be using Skype as a blind person. 00:23:18.640 --> 00:23:21.060 align:middle line:84% And then you would hear Skype blabbing at you, 00:23:21.060 --> 00:23:22.810 align:middle line:84% and then you'd also hear this other speech 00:23:22.810 --> 00:23:24.370 align:middle line:90% in the Blockly interface. 00:23:24.370 --> 00:23:27.130 align:middle line:84% So aria-live regions is the appropriate way 00:23:27.130 --> 00:23:28.677 align:middle line:84% to do that if you go that approach. 00:23:28.677 --> 00:23:29.260 align:middle line:90% CLAYTON: Yeah. 00:23:29.260 --> 00:23:30.900 align:middle line:90% ABBY SCHMIDT: OK. 00:23:30.900 --> 00:23:32.275 align:middle line:90% CLAYTON: OK, thanks, all. 00:23:32.275 --> 00:23:33.640 align:middle line:90% RICHARD LADNER: Bye, Clayton. 00:23:33.640 --> 00:23:34.848 align:middle line:90% ANDREAS STEFIK: Bye, Clayton. 00:23:34.848 --> 00:23:38.130 align:middle line:90% 00:23:38.130 --> 00:23:40.440 align:middle line:84% Sina Bahram also published a paper 00:23:40.440 --> 00:23:45.000 align:middle line:84% on doing these kind of allegations with Schanzer 00:23:45.000 --> 00:23:47.130 align:middle line:90% out of Bootstrap last year. 00:23:47.130 --> 00:23:48.660 align:middle line:84% And there was one other paper that 00:23:48.660 --> 00:23:51.510 align:middle line:84% was published on these shortcuts as well that you 00:23:51.510 --> 00:23:52.650 align:middle line:90% could consider looking at. 00:23:52.650 --> 00:23:54.640 align:middle line:84% I'm going to post that the editor. 00:23:54.640 --> 00:23:55.432 align:middle line:90% RICHARD LADNER: OK. 00:23:55.432 --> 00:23:59.220 align:middle line:84% ANDREAS STEFIK: That's the frame-based editing 00:23:59.220 --> 00:24:02.520 align:middle line:84% that Neil Brown and his team out there, Michael Colling did. 00:24:02.520 --> 00:24:04.893 align:middle line:84% It's not so much that their stuff 00:24:04.893 --> 00:24:06.060 align:middle line:90% is screen reader accessible. 00:24:06.060 --> 00:24:08.728 align:middle line:84% It's just a different way to handle the shortcuts. 00:24:08.728 --> 00:24:10.770 align:middle line:84% And they do actually have some evidence on theirs 00:24:10.770 --> 00:24:14.040 align:middle line:84% which I thought was interesting, as does Emmanuel Schanzer. 00:24:14.040 --> 00:24:16.620 align:middle line:84% Personally, I think Schanzer's approach is probably 00:24:16.620 --> 00:24:17.910 align:middle line:90% a little bit easier to use. 00:24:17.910 --> 00:24:19.720 align:middle line:90% That's just my personal opinion. 00:24:19.720 --> 00:24:23.923 align:middle line:84% But both approaches are plausible. 00:24:23.923 --> 00:24:25.590 align:middle line:84% Like, if I had to copy one, I'd probably 00:24:25.590 --> 00:24:27.660 align:middle line:84% copy the one from Bootstrap off the top of my head. 00:24:27.660 --> 00:24:30.050 align:middle line:84% But I'm just making you aware if you don't know those papers. 00:24:30.050 --> 00:24:30.570 align:middle line:90% So-- 00:24:30.570 --> 00:24:31.737 align:middle line:90% ABBY SCHMIDT: Yeah, I don't. 00:24:31.737 --> 00:24:33.708 align:middle line:84% This is great, all great information to have. 00:24:33.708 --> 00:24:36.000 align:middle line:84% ANDREAS STEFIK: I'll see if I can't get the other paper 00:24:36.000 --> 00:24:37.000 align:middle line:90% posted in there to see-- 00:24:37.000 --> 00:24:38.375 align:middle line:84% BRIANNA BLASER: I just dropped it 00:24:38.375 --> 00:24:40.030 align:middle line:84% in Stefik this, Bootstrap SIGCSE one. 00:24:40.030 --> 00:24:40.530 align:middle line:90% Yeah. 00:24:40.530 --> 00:24:42.030 align:middle line:84% ANDREAS STEFIK: Yeah, I think that-- 00:24:42.030 --> 00:24:42.822 align:middle line:90% BRIANNA BLASER: OK. 00:24:42.822 --> 00:24:43.988 align:middle line:90% ABBY SCHMIDT: This is great. 00:24:43.988 --> 00:24:44.738 align:middle line:90% Thank you so much. 00:24:44.738 --> 00:24:46.280 align:middle line:84% ANDREAS STEFIK: Yeah, that's the one. 00:24:46.280 --> 00:24:46.960 align:middle line:90% Yeah. 00:24:46.960 --> 00:24:48.670 align:middle line:84% There's also the Blocks4All stuff. 00:24:48.670 --> 00:24:50.680 align:middle line:84% I don't know if you did stuff on the keyboard. 00:24:50.680 --> 00:24:53.588 align:middle line:84% I think you did, Richard, but it's been a while 00:24:53.588 --> 00:24:54.380 align:middle line:90% RICHARD LADNER: No. 00:24:54.380 --> 00:24:55.820 align:middle line:84% ANDREAS STEFIK: It's touch screen, right, for yours? 00:24:55.820 --> 00:24:56.170 align:middle line:84% RICHARD LADNER: It's touch screen. 00:24:56.170 --> 00:24:56.410 align:middle line:90% Yeah. 00:24:56.410 --> 00:24:57.510 align:middle line:84% ANDREAS STEFIK: Yeah, so that's different. 00:24:57.510 --> 00:24:59.585 align:middle line:84% RICHARD LADNER: Blocks4All, it's just touchscreen only. 00:24:59.585 --> 00:25:00.070 align:middle line:90% ANDREAS STEFIK: Yeah. 00:25:00.070 --> 00:25:01.945 align:middle line:84% RICHARD LADNER: It only uses a screen reader. 00:25:01.945 --> 00:25:03.340 align:middle line:90% It doesn't use self voicing. 00:25:03.340 --> 00:25:07.540 align:middle line:84% So it just uses the Apple infrastructure to do-- 00:25:07.540 --> 00:25:09.135 align:middle line:90% for development. 00:25:09.135 --> 00:25:11.510 align:middle line:84% ANDREAS STEFIK: Yeah, so when do you do add screen reader 00:25:11.510 --> 00:25:13.910 align:middle line:84% support, the one thing that I would also recommend 00:25:13.910 --> 00:25:16.430 align:middle line:84% is if you have to choose between the two choices, 00:25:16.430 --> 00:25:19.880 align:middle line:84% between an aria-live region and doing the focus, 00:25:19.880 --> 00:25:21.500 align:middle line:84% I would recommend doing the focus. 00:25:21.500 --> 00:25:23.250 align:middle line:84% And there's a really good reason for that. 00:25:23.250 --> 00:25:25.940 align:middle line:84% And that is because as the developers, 00:25:25.940 --> 00:25:28.790 align:middle line:84% you can control the focus with some good defaults. 00:25:28.790 --> 00:25:32.690 align:middle line:84% So what that means is that as the system goes, 00:25:32.690 --> 00:25:34.580 align:middle line:84% you can control, like, what happens 00:25:34.580 --> 00:25:35.720 align:middle line:90% when you press up and down. 00:25:35.720 --> 00:25:37.730 align:middle line:84% And then there's systems that you 00:25:37.730 --> 00:25:41.600 align:middle line:84% can follow that have been shown to be understandable. 00:25:41.600 --> 00:25:45.710 align:middle line:84% Specifically, there's two papers, one by Katie Baker, 00:25:45.710 --> 00:25:48.660 align:middle line:84% which was one of Richard's students back in the day. 00:25:48.660 --> 00:25:49.488 align:middle line:90% And that was on-- 00:25:49.488 --> 00:25:50.780 align:middle line:90% I forget the name of the paper. 00:25:50.780 --> 00:25:53.840 align:middle line:84% But basically, it showed which parts of the AST 00:25:53.840 --> 00:25:55.610 align:middle line:90% are easy to navigate to. 00:25:55.610 --> 00:25:56.450 align:middle line:90% That's one thing. 00:25:56.450 --> 00:25:59.247 align:middle line:84% So it is actually quite comprehensible for people. 00:25:59.247 --> 00:26:00.830 align:middle line:84% And number two, the study was actually 00:26:00.830 --> 00:26:04.380 align:middle line:84% replicated by Ameer Armaly, who's a blind guy that 00:26:04.380 --> 00:26:06.080 align:middle line:90% was out of Notre Dame. 00:26:06.080 --> 00:26:11.000 align:middle line:84% And if you adjust using standard focus methods, 00:26:11.000 --> 00:26:14.100 align:middle line:84% it actually is pretty easy to use for most people. 00:26:14.100 --> 00:26:16.760 align:middle line:84% So I wouldn't assume that you have to do something fancy. 00:26:16.760 --> 00:26:19.340 align:middle line:84% I would actually make the standard focus and navigation 00:26:19.340 --> 00:26:21.240 align:middle line:84% thing to be the default. And then 00:26:21.240 --> 00:26:23.750 align:middle line:84% if you want to allow people to adjust it 00:26:23.750 --> 00:26:26.690 align:middle line:84% through an aria-live region to experiment, that's great. 00:26:26.690 --> 00:26:29.810 align:middle line:84% But having some sensible defaults 00:26:29.810 --> 00:26:31.970 align:middle line:84% that take into account a couple of those papers 00:26:31.970 --> 00:26:35.467 align:middle line:84% would be probably 90% of the problem is what I would just. 00:26:35.467 --> 00:26:35.967 align:middle line:90% 00:26:35.967 --> 00:26:38.120 align:middle line:84% RICHARD LADNER: Do you mean the Struct Jumper? 00:26:38.120 --> 00:26:39.810 align:middle line:84% ANDREAS STEFIK: Struct jumper, yeah, 00:26:39.810 --> 00:26:41.090 align:middle line:84% because then, it let you look really 00:26:41.090 --> 00:26:42.465 align:middle line:84% carefully which things you should 00:26:42.465 --> 00:26:43.880 align:middle line:90% be able to jump to, right? 00:26:43.880 --> 00:26:46.940 align:middle line:84% And that was, I think, what was so compelling in her stuff. 00:26:46.940 --> 00:26:47.660 align:middle line:90% It's not blocks. 00:26:47.660 --> 00:26:48.330 align:middle line:90% It's different. 00:26:48.330 --> 00:26:50.530 align:middle line:84% But nonetheless, the idea is very similar. 00:26:50.530 --> 00:26:51.030 align:middle line:90% So-- 00:26:51.030 --> 00:26:52.643 align:middle line:84% ABBY SCHMIDT: OK, that sounds great. 00:26:52.643 --> 00:26:54.810 align:middle line:84% BRIANNA BLASER: Got to that one in the chat as well. 00:26:54.810 --> 00:26:56.230 align:middle line:90% ABBY SCHMIDT: OK. 00:26:56.230 --> 00:26:57.170 align:middle line:90% Perfect. 00:26:57.170 --> 00:26:57.890 align:middle line:84% ANDREAS STEFIK: This is great, though. 00:26:57.890 --> 00:27:00.350 align:middle line:84% I actually really appreciate you guys are doing this work 00:27:00.350 --> 00:27:01.130 align:middle line:90% because it's-- 00:27:01.130 --> 00:27:04.550 align:middle line:84% I can see how much progress you've made over the last lord 00:27:04.550 --> 00:27:06.370 align:middle line:90% knows how long. 00:27:06.370 --> 00:27:08.120 align:middle line:84% RICHARD LADNER: Yeah, Abby, did I meet you 00:27:08.120 --> 00:27:09.768 align:middle line:90% at Blocks and Beyond? 00:27:09.768 --> 00:27:10.310 align:middle line:90% I don't know. 00:27:10.310 --> 00:27:11.135 align:middle line:90% I can't remember. 00:27:11.135 --> 00:27:11.760 align:middle line:90% Were you there? 00:27:11.760 --> 00:27:12.460 align:middle line:90% ABBY SCHMIDT: Yes, mm-hm. 00:27:12.460 --> 00:27:13.793 align:middle line:90% RICHARD LADNER: I met you there. 00:27:13.793 --> 00:27:14.360 align:middle line:90% Oh, great. 00:27:14.360 --> 00:27:16.068 align:middle line:84% ANDREAS STEFIK: I think we had lunch too. 00:27:16.068 --> 00:27:17.390 align:middle line:90% I'm trying to remember exactly. 00:27:17.390 --> 00:27:18.890 align:middle line:84% RICHARD LADNER: Well, you weren't there at Blocks 00:27:18.890 --> 00:27:19.830 align:middle line:90% and Beyond, [INAUDIBLE], so-- 00:27:19.830 --> 00:27:20.410 align:middle line:90% ANDREAS STEFIK: No, no. 00:27:20.410 --> 00:27:21.590 align:middle line:90% I could've sworn that-- 00:27:21.590 --> 00:27:24.750 align:middle line:84% I can't remember if it was Abby or someone else on the team. 00:27:24.750 --> 00:27:26.253 align:middle line:90% ABBY SCHMIDT: Yeah, VLHCC. 00:27:26.253 --> 00:27:27.420 align:middle line:90% ANDREAS STEFIK: Yeah, VLHCC. 00:27:27.420 --> 00:27:28.130 align:middle line:90% Yeah. 00:27:28.130 --> 00:27:28.850 align:middle line:90% I think so 00:27:28.850 --> 00:27:30.395 align:middle line:84% ABBY SCHMIDT: Yeah, I think we did have lunch. 00:27:30.395 --> 00:27:30.660 align:middle line:90% ANDREAS STEFIK: Yeah. 00:27:30.660 --> 00:27:31.013 align:middle line:90% 00:27:31.013 --> 00:27:33.680 align:middle line:84% RICHARD LADNER: A question, sort of a high level question, Abby. 00:27:33.680 --> 00:27:34.472 align:middle line:90% ABBY SCHMIDT: Yeah. 00:27:34.472 --> 00:27:36.620 align:middle line:84% RICHARD LADNER: So these areas, they're 00:27:36.620 --> 00:27:39.410 align:middle line:84% on the screen in different parts. 00:27:39.410 --> 00:27:43.580 align:middle line:84% And you know, how do you make sure they don't overlap, 00:27:43.580 --> 00:27:44.780 align:middle line:90% or how do you-- 00:27:44.780 --> 00:27:47.810 align:middle line:84% if you're blind, you can't tell how big they are exactly 00:27:47.810 --> 00:27:49.490 align:middle line:90% and how much space they take. 00:27:49.490 --> 00:27:52.470 align:middle line:90% So how is that going to work? 00:27:52.470 --> 00:27:55.260 align:middle line:84% ABBY SCHMIDT: So are you talking about the blocks on the screen? 00:27:55.260 --> 00:27:57.552 align:middle line:84% RICHARD LADNER: Yeah, the blocks-- not just the blocks, 00:27:57.552 --> 00:28:01.190 align:middle line:84% but the segments of code, have multiple segments 00:28:01.190 --> 00:28:03.398 align:middle line:90% of code, or even the blocks. 00:28:03.398 --> 00:28:04.940 align:middle line:84% ABBY SCHMIDT: So you're saying, like, 00:28:04.940 --> 00:28:07.340 align:middle line:84% if you have different, like, stacks. 00:28:07.340 --> 00:28:10.610 align:middle line:84% RICHARD LADNER: Yeah, but not just one, but like many, 00:28:10.610 --> 00:28:11.510 align:middle line:90% several. 00:28:11.510 --> 00:28:12.620 align:middle line:84% ABBY SCHMIDT: Yeah, I'm trying to show, 00:28:12.620 --> 00:28:13.700 align:middle line:90% but I'm not doing a job. 00:28:13.700 --> 00:28:14.990 align:middle line:90% RICHARD LADNER: Oh yeah? 00:28:14.990 --> 00:28:17.060 align:middle line:90% Really cool demo, by the way. 00:28:17.060 --> 00:28:18.920 align:middle line:90% ABBY SCHMIDT: Yeah, thank you. 00:28:18.920 --> 00:28:20.995 align:middle line:84% so you're saying if you have multiple stacks-- 00:28:20.995 --> 00:28:22.870 align:middle line:84% RICHARD LADNER: And those blocks are separate 00:28:22.870 --> 00:28:28.400 align:middle line:84% and you're blind, how do you place these things? 00:28:28.400 --> 00:28:31.280 align:middle line:84% ABBY SCHMIDT: Yeah, it's a good question. 00:28:31.280 --> 00:28:33.860 align:middle line:84% So we hadn't thought about that that much. 00:28:33.860 --> 00:28:37.610 align:middle line:84% If someone is visually impaired, then 00:28:37.610 --> 00:28:39.110 align:middle line:84% if they're sharing the code, I think 00:28:39.110 --> 00:28:40.370 align:middle line:84% this is where the problem would arise. 00:28:40.370 --> 00:28:42.170 align:middle line:84% If they're sharing the code with someone who is sighted 00:28:42.170 --> 00:28:44.273 align:middle line:84% and who needs to see the different levels, 00:28:44.273 --> 00:28:45.440 align:middle line:90% then that becomes a problem. 00:28:45.440 --> 00:28:49.250 align:middle line:84% If they're just using it for themselves in order to read, 00:28:49.250 --> 00:28:52.397 align:middle line:90% it's less of a problem. 00:28:52.397 --> 00:28:54.230 align:middle line:84% But yeah, that's a good question-- something 00:28:54.230 --> 00:28:55.940 align:middle line:90% to think about. 00:28:55.940 --> 00:28:58.670 align:middle line:84% There is a way we could possibly split up the workspace 00:28:58.670 --> 00:28:59.750 align:middle line:90% into different regions. 00:28:59.750 --> 00:29:01.370 align:middle line:84% And so maybe if they hit a key, it 00:29:01.370 --> 00:29:02.990 align:middle line:84% takes them to a different region where 00:29:02.990 --> 00:29:07.040 align:middle line:84% they can write another stack of code or something like that. 00:29:07.040 --> 00:29:09.650 align:middle line:84% RICHARD LADNER: Yeah, I notice for putting those things out 00:29:09.650 --> 00:29:12.690 align:middle line:84% there in the first place, you dragged and dropped, 00:29:12.690 --> 00:29:15.920 align:middle line:84% which is probably not very accessible. 00:29:15.920 --> 00:29:18.830 align:middle line:84% Is there a way to just put something out there 00:29:18.830 --> 00:29:21.310 align:middle line:84% and it'll just go to the right place? 00:29:21.310 --> 00:29:23.150 align:middle line:90% ABBY SCHMIDT: Yeah, here. 00:29:23.150 --> 00:29:25.670 align:middle line:90% I can do that right now. 00:29:25.670 --> 00:29:26.188 align:middle line:90% So-- 00:29:26.188 --> 00:29:28.230 align:middle line:84% RICHARD LADNER: Without naming the place, though. 00:29:28.230 --> 00:29:29.392 align:middle line:90% You know? 00:29:29.392 --> 00:29:30.600 align:middle line:90% ABBY SCHMIDT: Without-- what? 00:29:30.600 --> 00:29:32.100 align:middle line:84% RICHARD LADNER: Well, right now, you 00:29:32.100 --> 00:29:34.100 align:middle line:84% have that blinking cursor, which is where 00:29:34.100 --> 00:29:35.467 align:middle line:90% you want to put something. 00:29:35.467 --> 00:29:36.300 align:middle line:90% ABBY SCHMIDT: Mm-hm. 00:29:36.300 --> 00:29:39.350 align:middle line:84% RICHARD LADNER: But suppose you don't have that. 00:29:39.350 --> 00:29:43.620 align:middle line:84% You could just take a block and put it on the workspace. 00:29:43.620 --> 00:29:45.050 align:middle line:84% ABBY SCHMIDT: So the cursor is how 00:29:45.050 --> 00:29:47.150 align:middle line:84% we're currently making it so that people 00:29:47.150 --> 00:29:48.260 align:middle line:90% can add to the workspace. 00:29:48.260 --> 00:29:49.450 align:middle line:90% RICHARD LADNER: I see. 00:29:49.450 --> 00:29:53.060 align:middle line:84% ABBY SCHMIDT: Yeah, so the cursor, it 00:29:53.060 --> 00:29:56.070 align:middle line:84% could, if someone is visually impaired, 00:29:56.070 --> 00:29:58.070 align:middle line:84% have it so that it speaks out where it currently 00:29:58.070 --> 00:30:03.597 align:middle line:84% is on the workspace and maybe say some information 00:30:03.597 --> 00:30:05.180 align:middle line:84% whether it's on top of a block or not. 00:30:05.180 --> 00:30:08.180 align:middle line:84% But the cursor is what we would use. 00:30:08.180 --> 00:30:11.650 align:middle line:84% You can hit enter, and then that would mark the location. 00:30:11.650 --> 00:30:15.220 align:middle line:84% And then you can enter or add a block from the tool box 00:30:15.220 --> 00:30:15.742 align:middle line:90% on there. 00:30:15.742 --> 00:30:17.200 align:middle line:84% ANDREAS STEFIK: The cursor approach 00:30:17.200 --> 00:30:19.345 align:middle line:84% is exactly the same as the Stride team as well. 00:30:19.345 --> 00:30:21.220 align:middle line:84% That's why I mentioned it-- because they do-- 00:30:21.220 --> 00:30:21.460 align:middle line:90% ABBY SCHMIDT: OK. 00:30:21.460 --> 00:30:22.752 align:middle line:90% ANDREAS STEFIK: --the same way. 00:30:22.752 --> 00:30:23.490 align:middle line:90% So. 00:30:23.490 --> 00:30:25.990 align:middle line:84% RICHARD LADNER: Oh, in Blocks For All, there is no cursor. 00:30:25.990 --> 00:30:26.865 align:middle line:90% ANDREAS STEFIK: Yeah. 00:30:26.865 --> 00:30:29.800 align:middle line:84% RICHARD LADNER: So you just-- there's only one block. 00:30:29.800 --> 00:30:32.680 align:middle line:84% And you can edit that block sort of in a similar way 00:30:32.680 --> 00:30:35.610 align:middle line:90% you described earlier. 00:30:35.610 --> 00:30:38.590 align:middle line:84% And so there isn't this issue of this sort of space 00:30:38.590 --> 00:30:40.690 align:middle line:90% that you have to know about. 00:30:40.690 --> 00:30:41.930 align:middle line:90% It's all in one place. 00:30:41.930 --> 00:30:44.320 align:middle line:90% It's all at the bottom of-- 00:30:44.320 --> 00:30:46.500 align:middle line:84% ABBY SCHMIDT: Yeah, that is definitely a talent 00:30:46.500 --> 00:30:49.600 align:middle line:90% that Blockly has. 00:30:49.600 --> 00:30:52.160 align:middle line:84% Yes, especially since we are something that, like I said, 00:30:52.160 --> 00:30:54.430 align:middle line:84% the library and not the end user so we 00:30:54.430 --> 00:30:58.650 align:middle line:84% can't force people to put blocks in a certain location. 00:30:58.650 --> 00:31:01.230 align:middle line:84% So anything that we have currently, 00:31:01.230 --> 00:31:03.690 align:middle line:84% we have to kind of adapt in order 00:31:03.690 --> 00:31:04.913 align:middle line:90% to make it more accessible. 00:31:04.913 --> 00:31:06.580 align:middle line:84% ANDREAS STEFIK: If I remember correctly, 00:31:06.580 --> 00:31:09.050 align:middle line:84% the data from the Stride team-- again, this isn't my data. 00:31:09.050 --> 00:31:10.140 align:middle line:84% This is just somebody else's data. 00:31:10.140 --> 00:31:10.530 align:middle line:90% ABBY SCHMIDT: OK. 00:31:10.530 --> 00:31:12.363 align:middle line:84% ANDREAS STEFIK: But if I remember correctly, 00:31:12.363 --> 00:31:14.400 align:middle line:84% they did some, like, post-interviews with people 00:31:14.400 --> 00:31:15.990 align:middle line:84% on like the kind of problem they face 00:31:15.990 --> 00:31:17.220 align:middle line:90% when doing the keyboard part. 00:31:17.220 --> 00:31:17.820 align:middle line:90% ABBY SCHMIDT: Mm-hm. 00:31:17.820 --> 00:31:20.153 align:middle line:84% ANDREAS STEFIK: And the user feedback was basically that 00:31:20.153 --> 00:31:23.000 align:middle line:84% like, because it's not the typical what you would do 00:31:23.000 --> 00:31:25.250 align:middle line:84% in a text editor-- like, type, type, type, type, type, 00:31:25.250 --> 00:31:26.580 align:middle line:90% and it has standard keys-- 00:31:26.580 --> 00:31:28.800 align:middle line:90% A really means literally A-- 00:31:28.800 --> 00:31:34.860 align:middle line:84% it seemed like people had difficulty figuring out-- 00:31:34.860 --> 00:31:37.170 align:middle line:84% sort of learning what the keys were, right? 00:31:37.170 --> 00:31:40.020 align:middle line:84% It felt like there was a learning effect that went on. 00:31:40.020 --> 00:31:42.360 align:middle line:84% That was my impression from the data. 00:31:42.360 --> 00:31:43.980 align:middle line:84% That didn't actually stop their data 00:31:43.980 --> 00:31:45.840 align:middle line:84% from showing evidence that it was slightly 00:31:45.840 --> 00:31:46.933 align:middle line:90% easier to use than text. 00:31:46.933 --> 00:31:48.600 align:middle line:84% You made less compiler errors and stuff. 00:31:48.600 --> 00:31:49.920 align:middle line:90% So that's still OK. 00:31:49.920 --> 00:31:53.520 align:middle line:84% But nonetheless, it might be that maybe the thing 00:31:53.520 --> 00:31:55.260 align:middle line:84% to look at when you do testing is 00:31:55.260 --> 00:31:58.590 align:middle line:84% to try to measure that initial learning curve over-- 00:31:58.590 --> 00:32:01.223 align:middle line:84% as opposed to users that are already familiar. 00:32:01.223 --> 00:32:03.390 align:middle line:84% In other words, focus on lowering the learning curve 00:32:03.390 --> 00:32:06.523 align:middle line:84% as opposed to the later curve would be I guess. 00:32:06.523 --> 00:32:08.690 align:middle line:84% ABBY SCHMIDT: Yeah, that's probably very good advice 00:32:08.690 --> 00:32:11.575 align:middle line:84% success, especially since a lot of the people using this 00:32:11.575 --> 00:32:12.950 align:middle line:84% are going to have a high learning 00:32:12.950 --> 00:32:14.480 align:middle line:90% curve if they're younger. 00:32:14.480 --> 00:32:15.980 align:middle line:84% ANDREAS STEFIK: What I was thinking. 00:32:15.980 --> 00:32:18.800 align:middle line:84% The other thing too is that because of that data 00:32:18.800 --> 00:32:21.470 align:middle line:84% from the Stride team, the one thing you might consider 00:32:21.470 --> 00:32:26.090 align:middle line:84% is seeing if you can't map the navigation keys that we use 00:32:26.090 --> 00:32:29.120 align:middle line:84% to the ones that you would just press accidentally if you were 00:32:29.120 --> 00:32:30.890 align:middle line:90% like the normal blind user. 00:32:30.890 --> 00:32:34.160 align:middle line:84% For example, in a normal text editor, 00:32:34.160 --> 00:32:36.650 align:middle line:84% you wouldn't use WSAD to move around. 00:32:36.650 --> 00:32:39.122 align:middle line:84% You would use Up, Down, Left and Right, right? 00:32:39.122 --> 00:32:40.580 align:middle line:84% I don't know if that would actually 00:32:40.580 --> 00:32:42.872 align:middle line:84% be more intuitive because I've never run a study. 00:32:42.872 --> 00:32:45.080 align:middle line:84% But I would guess that it's the type of thing someone 00:32:45.080 --> 00:32:46.332 align:middle line:90% would do initially. 00:32:46.332 --> 00:32:48.290 align:middle line:84% And as such, you might lower the learning curve 00:32:48.290 --> 00:32:50.450 align:middle line:84% by using the more standard text editor keys 00:32:50.450 --> 00:32:52.250 align:middle line:90% to move around instead. 00:32:52.250 --> 00:32:53.990 align:middle line:90% It's just speculation from data. 00:32:53.990 --> 00:32:56.450 align:middle line:84% But like, you know, that's my speculation. 00:32:56.450 --> 00:32:57.050 align:middle line:90% So-- 00:32:57.050 --> 00:32:58.842 align:middle line:84% ABBY SCHMIDT: Yeah, that's definitely fair. 00:32:58.842 --> 00:33:02.180 align:middle line:84% I've talked to someone who was a new discriminator, 00:33:02.180 --> 00:33:05.925 align:middle line:84% is new to using keyboard navigation who 00:33:05.925 --> 00:33:06.800 align:middle line:90% is visually impaired. 00:33:06.800 --> 00:33:08.450 align:middle line:84% And she did-- that was her one thing. 00:33:08.450 --> 00:33:10.790 align:middle line:84% She's like, I've used a few other text editors. 00:33:10.790 --> 00:33:13.040 align:middle line:84% And it would be nice if the same keys 00:33:13.040 --> 00:33:14.210 align:middle line:90% were used between these two. 00:33:14.210 --> 00:33:16.710 align:middle line:84% ANDREAS STEFIK: Yeah, that's exactly what I figured as well. 00:33:16.710 --> 00:33:19.610 align:middle line:84% And people said that in the study that Neil Brown had too, 00:33:19.610 --> 00:33:22.670 align:middle line:84% that they couldn't figure out what the magic keys that they 00:33:22.670 --> 00:33:23.550 align:middle line:90% chose were. 00:33:23.550 --> 00:33:25.310 align:middle line:90% So WSAD is interesting. 00:33:25.310 --> 00:33:27.200 align:middle line:84% He must have mapped it off of video games 00:33:27.200 --> 00:33:28.158 align:middle line:90% is what I'm suspecting. 00:33:28.158 --> 00:33:29.810 align:middle line:90% SPEAKER 2: [INAUDIBLE] 00:33:29.810 --> 00:33:31.310 align:middle line:84% ABBY SCHMIDT: Yeah, so we chose WASD 00:33:31.310 --> 00:33:36.385 align:middle line:84% because I think we were told that using the arrow keys 00:33:36.385 --> 00:33:37.760 align:middle line:84% doesn't work with screen editors. 00:33:37.760 --> 00:33:39.177 align:middle line:84% SPEAKER 2: Last thing we heard was 00:33:39.177 --> 00:33:40.675 align:middle line:84% that you were prompting or asking 00:33:40.675 --> 00:33:42.400 align:middle line:90% who ran a global cloud set. 00:33:42.400 --> 00:33:44.387 align:middle line:90% 00:33:44.387 --> 00:33:46.720 align:middle line:84% ANDREAS STEFIK: I don't know if that was intended for us 00:33:46.720 --> 00:33:47.220 align:middle line:90% or not. 00:33:47.220 --> 00:33:49.990 align:middle line:90% 00:33:49.990 --> 00:33:51.017 align:middle line:90% ABBY SCHMIDT: OK. 00:33:51.017 --> 00:33:52.850 align:middle line:84% ANDREAS STEFIK: I'm sorry, what did you say? 00:33:52.850 --> 00:33:55.220 align:middle line:84% It was the-- oh, Up, Down, Left or Right 00:33:55.220 --> 00:33:56.630 align:middle line:84% doesn't work with screen readers? 00:33:56.630 --> 00:34:01.160 align:middle line:84% ABBY SCHMIDT: Yeah, like, if we're not using focus, 00:34:01.160 --> 00:34:02.840 align:middle line:84% I guess, or if we're not changing focus, 00:34:02.840 --> 00:34:06.680 align:middle line:84% then using the arrow keys is already used by screen readers 00:34:06.680 --> 00:34:08.780 align:middle line:90% to move around the screen. 00:34:08.780 --> 00:34:10.471 align:middle line:90% So I also tried-- go ahead? 00:34:10.471 --> 00:34:11.929 align:middle line:84% ANDREAS STEFIK: That might be true, 00:34:11.929 --> 00:34:13.721 align:middle line:84% but there's lots of ways around that stuff. 00:34:13.721 --> 00:34:15.748 align:middle line:90% So that's not usually a problem. 00:34:15.748 --> 00:34:16.790 align:middle line:90% Think about it like this. 00:34:16.790 --> 00:34:18.165 align:middle line:84% Like, the screen reader pipeline, 00:34:18.165 --> 00:34:20.480 align:middle line:84% when it comes to like navigating DOM, 00:34:20.480 --> 00:34:22.340 align:middle line:84% basically, as you adjust the focus, 00:34:22.340 --> 00:34:23.659 align:middle line:90% it usually sends off an event. 00:34:23.659 --> 00:34:27.380 align:middle line:84% You can track that through these specialized tools 00:34:27.380 --> 00:34:28.980 align:middle line:84% that I can show you another time. 00:34:28.980 --> 00:34:32.330 align:middle line:84% But in addition to that, you can always 00:34:32.330 --> 00:34:34.880 align:middle line:84% issue one of these aria-live requests. 00:34:34.880 --> 00:34:37.730 align:middle line:84% And that forces the screen reader to talk. 00:34:37.730 --> 00:34:40.040 align:middle line:84% So it's like, think about it like this. 00:34:40.040 --> 00:34:42.320 align:middle line:84% Like, as if you do some keys and they 00:34:42.320 --> 00:34:43.820 align:middle line:84% don't do exactly what you want, you 00:34:43.820 --> 00:34:45.739 align:middle line:84% can still say, hey, screen reader. 00:34:45.739 --> 00:34:47.942 align:middle line:90% I'm going to force you to speak. 00:34:47.942 --> 00:34:49.400 align:middle line:84% And that's going to issue a command 00:34:49.400 --> 00:34:51.350 align:middle line:84% exactly how I want regardless of what 00:34:51.350 --> 00:34:52.815 align:middle line:90% you think you should do here. 00:34:52.815 --> 00:34:54.440 align:middle line:84% And so you want to use those sparingly. 00:34:54.440 --> 00:34:56.482 align:middle line:84% Like, you kind of want to know what you're doing. 00:34:56.482 --> 00:34:58.660 align:middle line:84% But like, there's absolutely fullbacks that do work, 00:34:58.660 --> 00:34:59.900 align:middle line:90% and they work correctly. 00:34:59.900 --> 00:35:00.430 align:middle line:90% So-- 00:35:00.430 --> 00:35:00.930 align:middle line:90% ABBY SCHMIDT: OK. 00:35:00.930 --> 00:35:01.880 align:middle line:90% ANDREAS STEFIK: Ish. 00:35:01.880 --> 00:35:03.830 align:middle line:84% Technically, the aria spec is slightly broken, 00:35:03.830 --> 00:35:04.830 align:middle line:90% but never mind that. 00:35:04.830 --> 00:35:05.355 align:middle line:90% So-- 00:35:05.355 --> 00:35:05.855 align:middle line:90% 00:35:05.855 --> 00:35:08.760 align:middle line:84% BRIANNA BLASER: I see that JooYoung has his hand raised. 00:35:08.760 --> 00:35:11.180 align:middle line:84% So I want to give him a chance to ask a question. 00:35:11.180 --> 00:35:13.810 align:middle line:90% 00:35:13.810 --> 00:35:14.560 align:middle line:90% AUDIENCE 1: Hello. 00:35:14.560 --> 00:35:15.280 align:middle line:90% This is JooYoung. 00:35:15.280 --> 00:35:16.370 align:middle line:90% Can you hear me? 00:35:16.370 --> 00:35:16.810 align:middle line:90% ABBY SCHMIDT: Yep, hi. 00:35:16.810 --> 00:35:17.310 align:middle line:90% I can. 00:35:17.310 --> 00:35:17.980 align:middle line:90% AUDIENCE 1: Yep. 00:35:17.980 --> 00:35:19.720 align:middle line:84% Before everything else, thank you so much 00:35:19.720 --> 00:35:23.410 align:middle line:90% for such a nice presentation. 00:35:23.410 --> 00:35:24.370 align:middle line:90% I'm blind myself. 00:35:24.370 --> 00:35:27.990 align:middle line:90% I'm a blind programmer. 00:35:27.990 --> 00:35:33.400 align:middle line:84% And I also did some research on block programming 00:35:33.400 --> 00:35:40.540 align:middle line:84% using tangible physical blocks called KIBO. 00:35:40.540 --> 00:35:49.300 align:middle line:84% And the reason why we say drag and drop block face programming 00:35:49.300 --> 00:35:54.020 align:middle line:84% is not accessible, I think we have two reasons-- 00:35:54.020 --> 00:35:57.100 align:middle line:84% first, because screen reader users, 00:35:57.100 --> 00:36:00.100 align:middle line:84% we have two different modes-- input and output. 00:36:00.100 --> 00:36:09.170 align:middle line:84% In JAWS or MVDI, we have virtual cursor and forms mode. 00:36:09.170 --> 00:36:11.800 align:middle line:84% So when we navigate the DOM trees, 00:36:11.800 --> 00:36:16.180 align:middle line:84% we virtualize the DOM trees so that we 00:36:16.180 --> 00:36:19.100 align:middle line:90% can navigate the hierarchy. 00:36:19.100 --> 00:36:22.060 align:middle line:84% And when we type something in text area, 00:36:22.060 --> 00:36:28.000 align:middle line:84% we use standard keyboard navigation. 00:36:28.000 --> 00:36:34.210 align:middle line:84% So these different interactions between input and output, 00:36:34.210 --> 00:36:37.420 align:middle line:84% focus mode versus document mode, or virtual cursor 00:36:37.420 --> 00:36:45.860 align:middle line:84% versus forms mode, it splits our screen reader behaviors. 00:36:45.860 --> 00:36:52.180 align:middle line:84% So sighted people can see and type simultaneously, 00:36:52.180 --> 00:36:58.600 align:middle line:84% but in order to navigate the code, 00:36:58.600 --> 00:37:04.570 align:middle line:84% we have to go back to virtual cursor. 00:37:04.570 --> 00:37:11.860 align:middle line:84% And it sometimes prevents blind people 00:37:11.860 --> 00:37:15.210 align:middle line:84% from understanding what's going on with the screen 00:37:15.210 --> 00:37:17.290 align:middle line:90% simultaneously and quickly. 00:37:17.290 --> 00:37:22.780 align:middle line:84% So aria-live region is really good way, 00:37:22.780 --> 00:37:26.110 align:middle line:90% but that's spoken one time. 00:37:26.110 --> 00:37:31.600 align:middle line:84% So in order to navigate the output character by character 00:37:31.600 --> 00:37:36.220 align:middle line:84% or word by word, in turn, we have 00:37:36.220 --> 00:37:38.800 align:middle line:90% to turn back to virtual cursor. 00:37:38.800 --> 00:37:46.230 align:middle line:84% So I was wondering if you can implement document role or aria 00:37:46.230 --> 00:37:51.670 align:middle line:84% role equals document for output reason 00:37:51.670 --> 00:37:54.610 align:middle line:84% so that screen reader can be forced 00:37:54.610 --> 00:37:58.330 align:middle line:84% to use the virtual cursor automatically, 00:37:58.330 --> 00:38:03.340 align:middle line:84% and aria role equal application for input area 00:38:03.340 --> 00:38:06.050 align:middle line:90% so that we can use focus mode. 00:38:06.050 --> 00:38:08.980 align:middle line:84% So for novice screen reader users, 00:38:08.980 --> 00:38:15.760 align:middle line:84% they can't choose between those two different modes 00:38:15.760 --> 00:38:18.040 align:middle line:90% because they are-- 00:38:18.040 --> 00:38:21.010 align:middle line:84% because these kind of different modes 00:38:21.010 --> 00:38:23.810 align:middle line:90% require some kind of experience. 00:38:23.810 --> 00:38:29.820 align:middle line:84% And it's not very easy to understand for young people. 00:38:29.820 --> 00:38:34.510 align:middle line:84% So that's one suggestion and concern. 00:38:34.510 --> 00:38:37.600 align:middle line:90% And second, very-- I'm sorry. 00:38:37.600 --> 00:38:40.118 align:middle line:84% Firing off too many questions an ideas. 00:38:40.118 --> 00:38:41.410 align:middle line:90% ABBY SCHMIDT: No, that's great. 00:38:41.410 --> 00:38:45.670 align:middle line:84% AUDIENCE 1: And I think blind people cannot fully benefit 00:38:45.670 --> 00:38:52.180 align:middle line:84% from drag and drop and block based programming because just 00:38:52.180 --> 00:38:59.200 align:middle line:84% only have to listen one line at a time, 00:38:59.200 --> 00:39:05.490 align:middle line:84% have a cognate load in the short term memory. 00:39:05.490 --> 00:39:12.010 align:middle line:84% But sighted people, they can visualize the construct 00:39:12.010 --> 00:39:16.270 align:middle line:90% of 3D modules on the screen. 00:39:16.270 --> 00:39:21.610 align:middle line:84% So I was wondering if you have any plans to have 00:39:21.610 --> 00:39:26.350 align:middle line:84% physical blocks for Blockly slot objects 00:39:26.350 --> 00:39:30.520 align:middle line:84% so that young people can tangibly 00:39:30.520 --> 00:39:34.510 align:middle line:84% understand and experience embodied learning 00:39:34.510 --> 00:39:39.916 align:middle line:90% before this digital access. 00:39:39.916 --> 00:39:41.380 align:middle line:90% ABBY SCHMIDT: OK, great. 00:39:41.380 --> 00:39:43.160 align:middle line:90% Thank you for the questions. 00:39:43.160 --> 00:39:46.690 align:middle line:84% So the first question, I have not looked that much into it. 00:39:46.690 --> 00:39:50.120 align:middle line:84% I think it said aria-live roles set to document. 00:39:50.120 --> 00:39:55.230 align:middle line:84% And I think input was the second one. 00:39:55.230 --> 00:39:59.700 align:middle line:84% AUDIENCE 1: Yeah, for output area, 00:39:59.700 --> 00:40:02.760 align:middle line:90% we use role equals document. 00:40:02.760 --> 00:40:06.000 align:middle line:84% That forces screen reader to turn on virtual cursor 00:40:06.000 --> 00:40:09.720 align:middle line:90% or document cursor. 00:40:09.720 --> 00:40:13.020 align:middle line:84% That's the required mode for screen reader 00:40:13.020 --> 00:40:16.440 align:middle line:90% to parse the screen output. 00:40:16.440 --> 00:40:22.110 align:middle line:84% And role equals application, that forced the screen reader 00:40:22.110 --> 00:40:26.610 align:middle line:84% to turn off virtual cursor, which uses standard keyboard 00:40:26.610 --> 00:40:27.630 align:middle line:90% navigation. 00:40:27.630 --> 00:40:31.790 align:middle line:84% So you said you your team assigned ASDF? 00:40:31.790 --> 00:40:35.582 align:middle line:90% 00:40:35.582 --> 00:40:36.290 align:middle line:90% ABBY SCHMIDT: W-- 00:40:36.290 --> 00:40:36.650 align:middle line:90% AUDIENCE 1: W? 00:40:36.650 --> 00:40:37.180 align:middle line:90% AS-- yeah. 00:40:37.180 --> 00:40:39.830 align:middle line:90% 00:40:39.830 --> 00:40:47.100 align:middle line:84% Anyhow, that conflicts with screen reader pre-assigned 00:40:47.100 --> 00:40:48.920 align:middle line:90% keyword. 00:40:48.920 --> 00:40:53.000 align:middle line:84% So that should force screen reader 00:40:53.000 --> 00:40:56.780 align:middle line:84% to turn off virtual cursor, which can be achieved 00:40:56.780 --> 00:41:01.510 align:middle line:90% by role equals application. 00:41:01.510 --> 00:41:03.143 align:middle line:90% ABBY SCHMIDT: OK, great. 00:41:03.143 --> 00:41:04.560 align:middle line:84% I haven't looked a lot into those, 00:41:04.560 --> 00:41:07.720 align:middle line:84% so I will definitely do that, which is great. 00:41:07.720 --> 00:41:10.890 align:middle line:84% And then also, we have the different key mappings, 00:41:10.890 --> 00:41:12.510 align:middle line:84% and we try and make it easy for people 00:41:12.510 --> 00:41:15.120 align:middle line:84% to set key mappings so that if it does interfere with how they 00:41:15.120 --> 00:41:16.912 align:middle line:84% currently have something set up, they'll be 00:41:16.912 --> 00:41:20.720 align:middle line:90% able to change it is the hope. 00:41:20.720 --> 00:41:23.330 align:middle line:84% And then for your second question, 00:41:23.330 --> 00:41:26.630 align:middle line:84% we've definitely seen some stuff around physical blocks, 00:41:26.630 --> 00:41:28.970 align:middle line:84% and we think those are great solutions. 00:41:28.970 --> 00:41:32.180 align:middle line:84% The problem is that a lot of places that use Blockly cannot 00:41:32.180 --> 00:41:34.100 align:middle line:90% necessarily afford those. 00:41:34.100 --> 00:41:36.620 align:middle line:90% And so having Blockly-- 00:41:36.620 --> 00:41:38.030 align:middle line:84% trying to make locally accessible 00:41:38.030 --> 00:41:41.947 align:middle line:84% is trying to kind of address that need 00:41:41.947 --> 00:41:44.030 align:middle line:84% is that there's some places that just can't afford 00:41:44.030 --> 00:41:49.070 align:middle line:84% that technology that Blockly, since it is free 00:41:49.070 --> 00:41:52.880 align:middle line:84% and is accessible to basically everyone who has a web 00:41:52.880 --> 00:41:55.040 align:middle line:84% application, it just makes it more 00:41:55.040 --> 00:41:57.830 align:middle line:84% accessible for a lot of different people 00:41:57.830 --> 00:41:59.282 align:middle line:90% and different user groups. 00:41:59.282 --> 00:42:00.740 align:middle line:84% So by trying to make it accessible, 00:42:00.740 --> 00:42:02.698 align:middle line:84% we're trying to also make it accessible for all 00:42:02.698 --> 00:42:06.140 align:middle line:90% of those other people as well. 00:42:06.140 --> 00:42:07.010 align:middle line:90% AUDIENCE 1: I see. 00:42:07.010 --> 00:42:13.100 align:middle line:84% Would you mind adding 3D sonification for the block 00:42:13.100 --> 00:42:16.190 align:middle line:84% output area so that we can understand 00:42:16.190 --> 00:42:20.960 align:middle line:84% the dimension of code formation and structure? 00:42:20.960 --> 00:42:25.820 align:middle line:84% So a block on the left side or a block on the right side 00:42:25.820 --> 00:42:33.630 align:middle line:84% can be listened in this 3D audio. 00:42:33.630 --> 00:42:35.870 align:middle line:84% ABBY SCHMIDT: OK, that's not something, 00:42:35.870 --> 00:42:38.320 align:middle line:84% again, I have looked that much too since we've just been 00:42:38.320 --> 00:42:39.720 align:middle line:90% focusing on keyword navigation. 00:42:39.720 --> 00:42:44.950 align:middle line:84% But it's definitely something I will look into more and-- 00:42:44.950 --> 00:42:47.300 align:middle line:84% yeah, we'll look into more in the future. 00:42:47.300 --> 00:42:48.580 align:middle line:90% AUDIENCE 1: Thank you so much. 00:42:48.580 --> 00:42:49.830 align:middle line:90% ABBY SCHMIDT: Yeah, of course. 00:42:49.830 --> 00:42:51.760 align:middle line:90% 00:42:51.760 --> 00:42:55.720 align:middle line:84% Anyone else have any other questions or just suggestions? 00:42:55.720 --> 00:42:56.500 align:middle line:90% Resources? 00:42:56.500 --> 00:43:01.890 align:middle line:90% 00:43:01.890 --> 00:43:04.950 align:middle line:84% BRIANNA BLASER: OK, this is great. 00:43:04.950 --> 00:43:07.650 align:middle line:84% I think we're all really glad to see this work being 00:43:07.650 --> 00:43:11.907 align:middle line:84% done and excited for this might be what this might lead to. 00:43:11.907 --> 00:43:14.490 align:middle line:84% Thanks, everybody, for joining us today, and especially thanks 00:43:14.490 --> 00:43:15.865 align:middle line:84% to Abby for putting this together 00:43:15.865 --> 00:43:17.846 align:middle line:84% and sharing what you all are doing. 00:43:17.846 --> 00:43:19.680 align:middle line:84% ABBY SCHMIDT: Yeah, thank you, everyone, for the feedback 00:43:19.680 --> 00:43:20.305 align:middle line:90% and everything. 00:43:20.305 --> 00:43:21.525 align:middle line:90% I really appreciate it. 00:43:21.525 --> 00:43:23.192 align:middle line:84% ANDREAS STEFIK: Yeah, thanks for coming. 00:43:23.192 --> 00:43:24.196 align:middle line:90% We appreciate that too. 00:43:24.196 --> 00:43:25.529 align:middle line:90% RICHARD LADNER: Yeah, thank you. 00:43:25.529 --> 00:43:26.220 align:middle line:90% Thank you, Abby. 00:43:26.220 --> 00:43:26.640 align:middle line:90% ABBY SCHMIDT: Thanks. 00:43:26.640 --> 00:43:26.910 align:middle line:90% BRIANNA BLASER: Thanks. 00:43:26.910 --> 00:43:27.890 align:middle line:90% AUDIENCE 1: Thank you. 00:43:27.890 --> 00:43:28.932 align:middle line:90% ABBY SCHMIDT: Bye, folks. 00:43:28.932 --> 00:43:30.410 align:middle line:90% Bye.