1
00:00:00,570 --> 00:00:01,650
In this lesson,

2
00:00:01,650 --> 00:00:04,560
we're going to explore the Graphical User Interface

3
00:00:04,560 --> 00:00:06,960
and the major Linux GUI components.

4
00:00:06,960 --> 00:00:09,480
In many instances, people are more comfortable

5
00:00:09,480 --> 00:00:11,280
working in a visual environment

6
00:00:11,280 --> 00:00:14,790
than inside the Command Line Interface, or CLI.

7
00:00:14,790 --> 00:00:17,400
For this reason, it's really important for you to learn

8
00:00:17,400 --> 00:00:20,520
about the common window manager and desktop environments

9
00:00:20,520 --> 00:00:22,950
that you can use within Linux.

10
00:00:22,950 --> 00:00:25,620
Now, a GUI, or Graphical User Interface,

11
00:00:25,620 --> 00:00:28,890
enables users to interact with a system or application

12
00:00:28,890 --> 00:00:30,990
through various visual design elements

13
00:00:30,990 --> 00:00:32,640
rather than using pure text

14
00:00:32,640 --> 00:00:36,270
as in a command line interface, or CLI.

15
00:00:36,270 --> 00:00:39,990
In Linux, users can select icons that represent files,

16
00:00:39,990 --> 00:00:43,740
folders or programs to open them and modify them.

17
00:00:43,740 --> 00:00:45,870
They can configure settings through menus.

18
00:00:45,870 --> 00:00:47,490
They can interact with applications

19
00:00:47,490 --> 00:00:48,900
through a windowed interface

20
00:00:48,900 --> 00:00:51,570
and they can work from a desktop environment.

21
00:00:51,570 --> 00:00:54,030
A Display Server is the component of a GUI

22
00:00:54,030 --> 00:00:56,670
that constructs and manages the windowing system

23
00:00:56,670 --> 00:01:00,060
and other visual elements that can be drawn on the screen.

24
00:01:00,060 --> 00:01:02,880
Display Servers will accept client input requests

25
00:01:02,880 --> 00:01:04,260
and send them to the appropriate

26
00:01:04,260 --> 00:01:06,330
kernel modules for processing.

27
00:01:06,330 --> 00:01:09,900
Likewise, they also manage the process of receiving requests

28
00:01:09,900 --> 00:01:14,010
from an application and display that output to the client.

29
00:01:14,010 --> 00:01:16,140
while the kernel is the heart of Linux,

30
00:01:16,140 --> 00:01:17,700
the face of the operating system

31
00:01:17,700 --> 00:01:19,620
is really the graphical environment

32
00:01:19,620 --> 00:01:24,120
that's provided by the X Window System, also known as X.

33
00:01:24,120 --> 00:01:28,290
The X Window System can also be known as X or X11,

34
00:01:28,290 --> 00:01:29,970
and it is platform independent,

35
00:01:29,970 --> 00:01:32,970
and it works as a display server and windowing system

36
00:01:32,970 --> 00:01:33,990
that was originally developed

37
00:01:33,990 --> 00:01:36,420
by the Massachusetts Institute of Technology,

38
00:01:36,420 --> 00:01:40,200
or MIT, all the way back in 1984.

39
00:01:40,200 --> 00:01:42,570
Like all display servers, the X server

40
00:01:42,570 --> 00:01:45,570
coordinates client input and application output

41
00:01:45,570 --> 00:01:48,450
to determine how to draw elements on the screen.

42
00:01:48,450 --> 00:01:52,320
The X server also communicates with a separate compositor.

43
00:01:52,320 --> 00:01:54,900
The compositor is going to read a memory buffer

44
00:01:54,900 --> 00:01:57,060
that each application is going to write to

45
00:01:57,060 --> 00:02:00,150
and then it's going to use that information from the buffer

46
00:02:00,150 --> 00:02:02,520
to combine each individual application window

47
00:02:02,520 --> 00:02:03,840
onto the screen.

48
00:02:03,840 --> 00:02:07,230
That way, multiple windows can appear at once.

49
00:02:07,230 --> 00:02:10,020
This is the free and open source reference implementation

50
00:02:10,020 --> 00:02:12,390
of the X Window System for Linux,

51
00:02:12,390 --> 00:02:15,000
and other units like operating systems.

52
00:02:15,000 --> 00:02:17,370
Now, Wayland is both a display server

53
00:02:17,370 --> 00:02:19,530
and its reference implementation in a unit

54
00:02:19,530 --> 00:02:22,140
like operating system that is meant to approve upon

55
00:02:22,140 --> 00:02:24,720
and replace the X Window System.

56
00:02:24,720 --> 00:02:27,450
The primary difference between Wayland and X

57
00:02:27,450 --> 00:02:30,540
is that in Wayland, the compositor is the server

58
00:02:30,540 --> 00:02:32,550
rather than a separate component.

59
00:02:32,550 --> 00:02:35,100
This enables clients to exchange events directly

60
00:02:35,100 --> 00:02:37,560
with the compositor, cutting out the X server

61
00:02:37,560 --> 00:02:38,940
as a middleman.

62
00:02:38,940 --> 00:02:42,120
Although Wayland improves upon X in almost every way,

63
00:02:42,120 --> 00:02:44,520
there are still some issues with Wayland.

64
00:02:44,520 --> 00:02:46,980
For example, Canonical made Wayland

65
00:02:46,980 --> 00:02:50,670
the default display server for Ubuntu 17.10

66
00:02:50,670 --> 00:02:53,040
back in October of 2017.

67
00:02:53,040 --> 00:02:57,750
But in April, 2018 for the release of Ubuntu 18.04,

68
00:02:57,750 --> 00:02:59,670
Canonical announce that it switched back

69
00:02:59,670 --> 00:03:03,420
to the x.org server for three primary reasons.

70
00:03:03,420 --> 00:03:06,450
First, screen sharing software tends to work better

71
00:03:06,450 --> 00:03:09,540
under x.org servers than it did Wayland.

72
00:03:09,540 --> 00:03:12,840
Second, remote desktop software tended to work better

73
00:03:12,840 --> 00:03:14,970
under X than it did Wayland.

74
00:03:14,970 --> 00:03:18,660
And lastly, it was easier to recover from crashes under X

75
00:03:18,660 --> 00:03:20,490
than it was under Wayland.

76
00:03:20,490 --> 00:03:23,160
For this reason, Ubuntu migrate back to X

77
00:03:23,160 --> 00:03:26,610
in version 1804 and abandoned Wayland.

78
00:03:26,610 --> 00:03:30,000
Now a desktop environment includes a window manager,

79
00:03:30,000 --> 00:03:32,250
and this desktop environment will control the look

80
00:03:32,250 --> 00:03:35,490
and feel of the GUI for the entire operating system.

81
00:03:35,490 --> 00:03:37,770
And it provides a common Graphical Interface

82
00:03:37,770 --> 00:03:40,830
for applications that are running inside the environment.

83
00:03:40,830 --> 00:03:43,650
The primary structural element of the desktop metaphor

84
00:03:43,650 --> 00:03:45,480
is the application window.

85
00:03:45,480 --> 00:03:47,640
And within each window, there can exist

86
00:03:47,640 --> 00:03:50,190
various graphical elements like buttons,

87
00:03:50,190 --> 00:03:53,790
icons, menus, toolbars, and much more.

88
00:03:53,790 --> 00:03:57,240
Desktop environments also provide a graphical login screen

89
00:03:57,240 --> 00:04:00,810
and can be customized to run every time the system boots up.

90
00:04:00,810 --> 00:04:03,720
In most cases, the desktop environment will come packaged

91
00:04:03,720 --> 00:04:06,480
with a variety of different GUI applications.

92
00:04:06,480 --> 00:04:09,120
Things like file browsers, web browsers,

93
00:04:09,120 --> 00:04:11,430
texts editors and more.

94
00:04:11,430 --> 00:04:14,850
One exciting aspect of Linux, unlike Windows and Mac,

95
00:04:14,850 --> 00:04:17,966
is that it supports numerous different desktop environments.

96
00:04:17,966 --> 00:04:20,010
And this enables desktop users

97
00:04:20,010 --> 00:04:22,200
to actually choose the appropriate and most suitable

98
00:04:22,200 --> 00:04:25,320
desktop environment to best work with their needs.

99
00:04:25,320 --> 00:04:27,390
Now, there are many different desktop environments

100
00:04:27,390 --> 00:04:28,920
that are available for Linux

101
00:04:28,920 --> 00:04:32,520
but the most common are GNOME, KDE Plasma,

102
00:04:32,520 --> 00:04:34,620
Cinnamon and MATE.

103
00:04:34,620 --> 00:04:37,440
GNOME is probably the most popular desktop environment

104
00:04:37,440 --> 00:04:40,800
amongst Linux users, and it is free and open source

105
00:04:40,800 --> 00:04:44,130
and powerful and simple to use all at the same time.

106
00:04:44,130 --> 00:04:45,930
Now it's designed from the ground up

107
00:04:45,930 --> 00:04:48,300
to offer Linux desktop users a wonderful

108
00:04:48,300 --> 00:04:50,580
and exciting computing experience.

109
00:04:50,580 --> 00:04:52,620
It presents activities overviews

110
00:04:52,620 --> 00:04:54,990
for easy access of basic tasks.

111
00:04:54,990 --> 00:04:57,300
It provides a powerful search tool for users

112
00:04:57,300 --> 00:04:59,820
who want to access their work from any place.

113
00:04:59,820 --> 00:05:02,610
Inside of GNOME 3, which is the latest stable release

114
00:05:02,610 --> 00:05:03,900
as I'm filming this,

115
00:05:03,900 --> 00:05:05,970
it actually can have distinguished components

116
00:05:05,970 --> 00:05:08,100
and features such that it can support

117
00:05:08,100 --> 00:05:11,520
desktop notifications using convenient messaging systems

118
00:05:11,520 --> 00:05:14,220
enabling on and off switching of desktop notifications

119
00:05:14,220 --> 00:05:15,750
and much more.

120
00:05:15,750 --> 00:05:18,840
The other ones we need to talk about are things like KDE.

121
00:05:18,840 --> 00:05:22,890
Now, KDE Plasma is going to support modularity through widgets

122
00:05:22,890 --> 00:05:26,820
and it enables users to add, move or remove screen elements

123
00:05:26,820 --> 00:05:29,340
to fit their own personal workflows.

124
00:05:29,340 --> 00:05:32,580
KDE Plasma has a robust set of GUI apps as well,

125
00:05:32,580 --> 00:05:35,070
including word processors, mail clients,

126
00:05:35,070 --> 00:05:37,500
multimedia software and more.

127
00:05:37,500 --> 00:05:42,060
Also, KDE Plasma can support both X and Wayland.

128
00:05:42,060 --> 00:05:45,480
Now Cinnamon is actually going to be a fork of GNOME 3

129
00:05:45,480 --> 00:05:47,130
and it's one of the default environments

130
00:05:47,130 --> 00:05:49,260
in the Linux Mint distro.

131
00:05:49,260 --> 00:05:52,740
Cinnamon was developed in response to the changes in GNOME 3

132
00:05:52,740 --> 00:05:54,990
and gives us a typical desktop metaphor

133
00:05:54,990 --> 00:05:57,240
rather than an abstracted model.

134
00:05:57,240 --> 00:05:59,580
Now, the fourth one we have is known as MATE,

135
00:05:59,580 --> 00:06:03,090
and MATE is an intuitive and appealing desktop environment.

136
00:06:03,090 --> 00:06:06,120
It's actually an extension of the older GNOME 2.

137
00:06:06,120 --> 00:06:09,180
It works on Linux and many other Unix-like systems

138
00:06:09,180 --> 00:06:12,000
and it comes with a handful of default applications

139
00:06:12,000 --> 00:06:15,360
such as the Kaha File Manager, Pluma Text Editor,

140
00:06:15,360 --> 00:06:17,790
MATE Terminal, and many others.

141
00:06:17,790 --> 00:06:20,670
Additionally, it's also the default desktop environment

142
00:06:20,670 --> 00:06:23,970
for Linux Mint, alongside Cinnamon's desktop.

143
00:06:23,970 --> 00:06:25,740
None of these desktop environments though

144
00:06:25,740 --> 00:06:28,230
is objectively the right choice.

145
00:06:28,230 --> 00:06:30,150
Which environment you choose to use

146
00:06:30,150 --> 00:06:32,820
is ultimately going to come down to your personal preference

147
00:06:32,820 --> 00:06:34,920
and your comfort level with each one.

148
00:06:34,920 --> 00:06:38,580
Personally, I tend to use either GNOME or KDE,

149
00:06:38,580 --> 00:06:40,320
but that's just because I've been using them

150
00:06:40,320 --> 00:06:42,810
for over two decades now.

151
00:06:42,810 --> 00:06:45,000
When you're starting out, the best thing to do

152
00:06:45,000 --> 00:06:47,640
is to try each environment in order to know which one

153
00:06:47,640 --> 00:06:50,790
is really right for you and which one you like best.

154
00:06:50,790 --> 00:06:53,970
Another concept we need to cover is remote desktop.

155
00:06:53,970 --> 00:06:56,580
Now remote desktop is a concept in which clients

156
00:06:56,580 --> 00:06:59,400
are going to connect to a remote system over a network,

157
00:06:59,400 --> 00:07:00,810
and they want to be able to sign in

158
00:07:00,810 --> 00:07:03,930
and use the desktop environment of that system.

159
00:07:03,930 --> 00:07:05,910
Using remote desktop sessions,

160
00:07:05,910 --> 00:07:07,800
you can actually create a situation

161
00:07:07,800 --> 00:07:10,320
where you can configure a server that has a GUI

162
00:07:10,320 --> 00:07:13,440
but you aren't physically located at that system.

163
00:07:13,440 --> 00:07:15,840
In addition to this, remote desktop sessions

164
00:07:15,840 --> 00:07:17,400
are going to be used in an environment

165
00:07:17,400 --> 00:07:18,570
where the user connects to

166
00:07:18,570 --> 00:07:20,430
and works from the remote computer

167
00:07:20,430 --> 00:07:22,830
as if it was located right in front of them.

168
00:07:22,830 --> 00:07:24,720
In other words, the remote session

169
00:07:24,720 --> 00:07:26,850
becomes their primary desktop.

170
00:07:26,850 --> 00:07:29,700
Now there are many software packages available in Linux

171
00:07:29,700 --> 00:07:32,130
that will provide you with remote desktop sessions.

172
00:07:32,130 --> 00:07:35,340
One of the most popular ones is VNC.

173
00:07:35,340 --> 00:07:38,040
The Virtual Network Computing, or VNC,

174
00:07:38,040 --> 00:07:41,100
is going to be a cross-platform remote desktop service

175
00:07:41,100 --> 00:07:44,220
that enables full remote control of a desktop.

176
00:07:44,220 --> 00:07:48,840
VNC leverages the remote frame buffer or RFB protocol.

177
00:07:48,840 --> 00:07:52,080
A VNC server has to be installed on your target machine

178
00:07:52,080 --> 00:07:53,370
and then you're going to access that

179
00:07:53,370 --> 00:07:55,440
with a corresponding client.

180
00:07:55,440 --> 00:07:58,380
Another one you can use is xrdp,

181
00:07:58,380 --> 00:08:00,510
which is a free and open source utility

182
00:08:00,510 --> 00:08:02,760
that constructs a Remote Desktop Protocol,

183
00:08:02,760 --> 00:08:06,300
or RDP like server, for non-Windows systems.

184
00:08:06,300 --> 00:08:09,810
You can also install xrdp on a remote Linux server

185
00:08:09,810 --> 00:08:13,860
and use a tool like R Desktop or even the default RDP client

186
00:08:13,860 --> 00:08:15,540
to connect to that server.

187
00:08:15,540 --> 00:08:17,880
So in other words, we can now have a client

188
00:08:17,880 --> 00:08:19,470
that can be on any platform

189
00:08:19,470 --> 00:08:22,740
because RDP works on Linux and Windows.

190
00:08:22,740 --> 00:08:25,170
The xrdp utility is designed to work

191
00:08:25,170 --> 00:08:27,840
with the X Windowing System as well.

192
00:08:27,840 --> 00:08:30,540
The next one we have is known as NoMachine.

193
00:08:30,540 --> 00:08:32,789
Now, NoMachine is a cross platform

194
00:08:32,789 --> 00:08:35,970
proprietary remote desktop software, and it offers support

195
00:08:35,970 --> 00:08:39,000
for multi-session environments and account management.

196
00:08:39,000 --> 00:08:42,570
Therefore, NoMachine is actually useful in organizations

197
00:08:42,570 --> 00:08:45,900
with many different users that require simultaneous access

198
00:08:45,900 --> 00:08:47,400
to the same server.

199
00:08:47,400 --> 00:08:50,490
NoMachine is designed to work with X.

200
00:08:50,490 --> 00:08:52,980
Now another one we have is known as Simple Protocol

201
00:08:52,980 --> 00:08:56,550
for Independent Computing Environments, or SPICE.

202
00:08:56,550 --> 00:08:58,950
SPICE is a free and open source protocol

203
00:08:58,950 --> 00:09:02,130
designed specifically for use in virtual environments.

204
00:09:02,130 --> 00:09:04,200
SPICE is often used for administrators

205
00:09:04,200 --> 00:09:06,630
to connect to virtual machines that are being hosted

206
00:09:06,630 --> 00:09:10,920
by kernel based virtual machines or KVM hypervisors.

207
00:09:10,920 --> 00:09:12,480
Another concept we need to cover

208
00:09:12,480 --> 00:09:15,120
is the concept of Console Redirection.

209
00:09:15,120 --> 00:09:18,090
Now Console Redirection is the process of forwarding input

210
00:09:18,090 --> 00:09:20,220
and output through a serial connection

211
00:09:20,220 --> 00:09:22,410
rather than through an I/O peripheral

212
00:09:22,410 --> 00:09:24,420
that's directly attached to the system.

213
00:09:24,420 --> 00:09:26,640
So instead of sending things to and from my mouse

214
00:09:26,640 --> 00:09:30,120
and keyboard, I want to send it through the console instead.

215
00:09:30,120 --> 00:09:32,550
This enables the system with Console Redirection

216
00:09:32,550 --> 00:09:35,280
to send display output along a serial cable

217
00:09:35,280 --> 00:09:37,020
and eventually to a remote client,

218
00:09:37,020 --> 00:09:39,420
instead of sending it right to a monitor.

219
00:09:39,420 --> 00:09:41,700
Likewise, the remote client can also redirect

220
00:09:41,700 --> 00:09:44,130
the keyboard input along a serial connection

221
00:09:44,130 --> 00:09:46,260
and send that to a remote server.

222
00:09:46,260 --> 00:09:49,440
Ultimately, Console Redirection enables administrators

223
00:09:49,440 --> 00:09:52,350
to remotely configure systems in a pre-boot environment

224
00:09:52,350 --> 00:09:54,810
like BIOS or UEFI.

225
00:09:54,810 --> 00:09:57,180
Secure Shell is another remote access protocol

226
00:09:57,180 --> 00:10:00,000
that we can use instead of using remote desktop.

227
00:10:00,000 --> 00:10:02,460
When you're using Secure Shell, or SSH,

228
00:10:02,460 --> 00:10:04,890
it encrypts transmissions over a network

229
00:10:04,890 --> 00:10:07,260
and is by far the most commonly used protocol

230
00:10:07,260 --> 00:10:10,950
for accessing command line interfaces on a Linux server.

231
00:10:10,950 --> 00:10:14,010
You can also use SSH to issue commands to the server

232
00:10:14,010 --> 00:10:15,390
as if you are typing directly

233
00:10:15,390 --> 00:10:17,820
into a command line interface itself.

234
00:10:17,820 --> 00:10:20,490
It can also be used to tunnel and carry other types

235
00:10:20,490 --> 00:10:22,230
of network communication securely,

236
00:10:22,230 --> 00:10:24,870
including remote desktop traffic.

237
00:10:24,870 --> 00:10:27,060
This process is known as tunneling

238
00:10:27,060 --> 00:10:29,730
and you can tunnel an application through SSH

239
00:10:29,730 --> 00:10:31,470
to secure it in transmission

240
00:10:31,470 --> 00:10:34,980
by doing what's known as SSH Port Forwarding.

241
00:10:34,980 --> 00:10:36,720
When you're doing local forwarding,

242
00:10:36,720 --> 00:10:38,730
the local client is going to listen for connections

243
00:10:38,730 --> 00:10:41,520
on a port and then tunnels any active connection

244
00:10:41,520 --> 00:10:44,160
to the remote server over SSH.

245
00:10:44,160 --> 00:10:47,250
For example, let's say you want to remotely access a system

246
00:10:47,250 --> 00:10:50,340
over the internet using something like VNC.

247
00:10:50,340 --> 00:10:53,190
Well, VNC is not encrypted by default,

248
00:10:53,190 --> 00:10:55,170
so if you connect to a VNC server

249
00:10:55,170 --> 00:10:58,500
with your local VNC client, that traffic will be sent

250
00:10:58,500 --> 00:11:01,410
in the clear and people could see what you're typing.

251
00:11:01,410 --> 00:11:04,230
But if you forward it through SSH first,

252
00:11:04,230 --> 00:11:07,560
you are now encrypting that traffic and securing it.

253
00:11:07,560 --> 00:11:10,020
In remote forwarding, the SSH server

254
00:11:10,020 --> 00:11:12,180
is going to forward inbound client traffic

255
00:11:12,180 --> 00:11:14,580
to another system on a different port.

256
00:11:14,580 --> 00:11:17,610
Let's say I set up a VNC server on a local system

257
00:11:17,610 --> 00:11:19,350
and I'm forwarding all VNC traffic

258
00:11:19,350 --> 00:11:21,360
to a port on a remote client.

259
00:11:21,360 --> 00:11:23,310
Whenever the remote client connects to this port

260
00:11:23,310 --> 00:11:25,830
using the local host, they can then establish

261
00:11:25,830 --> 00:11:29,190
a remote desktop connection with the local server.

262
00:11:29,190 --> 00:11:32,160
X and X11 are both network aware,

263
00:11:32,160 --> 00:11:34,110
and so you can actually enable these clients

264
00:11:34,110 --> 00:11:37,350
to access GUI elements over a network too.

265
00:11:37,350 --> 00:11:39,030
But if you want to do that,

266
00:11:39,030 --> 00:11:41,280
you definitely need to forward your X traffic

267
00:11:41,280 --> 00:11:44,220
and X11 traffic through an SSH tunnel

268
00:11:44,220 --> 00:11:46,710
to ensure they're encrypted before communicating them

269
00:11:46,710 --> 00:11:48,213
over an unsecure network.

270
00:11:49,050 --> 00:11:52,050
Another thing we need to talk about is accessibility.

271
00:11:52,050 --> 00:11:53,610
Now each desktop environment

272
00:11:53,610 --> 00:11:55,620
has its own accessibility options

273
00:11:55,620 --> 00:11:58,020
to accommodate people with disabilities.

274
00:11:58,020 --> 00:12:00,000
Some options include a screen reader

275
00:12:00,000 --> 00:12:02,250
that reads all the highlighted screen elements.

276
00:12:02,250 --> 00:12:04,320
You might have a magnifier that zooms in

277
00:12:04,320 --> 00:12:06,480
on specific sections of your screen.

278
00:12:06,480 --> 00:12:08,970
You can also increase the size of specific elements,

279
00:12:08,970 --> 00:12:12,090
like the text or the buttons or the mouse pointers.

280
00:12:12,090 --> 00:12:14,610
And you can even use an onscreen keyboard

281
00:12:14,610 --> 00:12:17,790
that enables users to click to type text using your mouse

282
00:12:17,790 --> 00:12:20,370
instead of using a physical keyboard.

283
00:12:20,370 --> 00:12:23,220
Also, we have keyboard accessibility options

284
00:12:23,220 --> 00:12:25,170
including things like Sticky Keys

285
00:12:25,170 --> 00:12:27,690
which enables users to press one key at a time

286
00:12:27,690 --> 00:12:30,090
instead of having to hold down multiple keys at once

287
00:12:30,090 --> 00:12:32,580
in order to activate keyboard shortcuts.

288
00:12:32,580 --> 00:12:35,070
We also have Repeat Keys, which enables the user

289
00:12:35,070 --> 00:12:38,310
to hold down a key in order for it to be repeatedly entered.

290
00:12:38,310 --> 00:12:40,020
And we have Toggle Keys,

291
00:12:40,020 --> 00:12:41,670
which enables the system to beep

292
00:12:41,670 --> 00:12:43,980
whenever keys like Caps Lock or Num Lock

293
00:12:43,980 --> 00:12:45,690
are going to be pressed.

294
00:12:45,690 --> 00:12:48,180
Finally, we can also use visual themes

295
00:12:48,180 --> 00:12:51,120
like high contrast to make the screen easier to read

296
00:12:51,120 --> 00:12:53,610
for certain people with visual impairments.

297
00:12:53,610 --> 00:12:54,720
There are lots of different ways

298
00:12:54,720 --> 00:12:56,820
that we can make our systems more accessible

299
00:12:56,820 --> 00:12:58,833
and better suited for our end users.

