YouTube2Text

Building for a new next billion users I Axe-con 2026 — Transcript

by Deque Systems · 6,810 words · 1,033 segments · language en · Watch on YouTube

Full transcript

  1. 0:00Thank you so much, Josh. Um, so good
  2. 0:03morning, afternoon, evening, wherever
  3. 0:06you are. For me, it's currently actually
  4. 0:088:00 PM, so probably going to go to bed
  5. 0:10after this, but really excited to be
  6. 0:13giving my first talk at Axcon, actually.
  7. 0:15And as um Josh mentioned, I'm going to
  8. 0:18be talking to you about building for a
  9. 0:20new next billion users.
  10. 0:26So, I want to start this by going back
  11. 0:2810 years ago. And I know there's
  12. 0:31actually been a whole 2016 throwback
  13. 0:34trend online. And don't worry, I'm not
  14. 0:37actually trying to bring back 2016. I
  15. 0:40remember that there were also some
  16. 0:41pretty crazy things that happened that
  17. 0:43year. But, um, yeah, going back to 2016,
  18. 0:46um, for me personally, I was about a
  19. 0:49couple years out of my master's degree
  20. 0:51in law. And when I graduated, I was
  21. 0:54going through something of uh or
  22. 0:55somewhat of a career crisis trying to
  23. 0:57decide if I would, you know, continue
  24. 0:59with law or go for my passion, which was
  25. 1:01web development. Luckily, I chose the
  26. 1:03latter, obviously. Um I moved back to
  27. 1:06Nigeria after I was studying abroad in
  28. 1:09the UK and I started working as a
  29. 1:11software engineer
  30. 1:13and luckily for me, things were actually
  31. 1:15starting to go well. Um I was uh
  32. 1:18recognized by Google as like the first
  33. 1:20female web technologies expert in
  34. 1:22Nigeria and I started working for a
  35. 1:24company called Big Cabal Media as their
  36. 1:27head of technology and Big Cabal was
  37. 1:30essentially like the Buzzfeed for Africa
  38. 1:32and they had a number of publications
  39. 1:34that were targeted at the mass market
  40. 1:38and as the company started to grow we
  41. 1:40would start to get complaints that
  42. 1:42certain parts of the website weren't
  43. 1:44working. So, for example, we would have
  44. 1:45a quiz like, I don't know, which Afro
  45. 1:47beats artist are you? And it just
  46. 1:50wouldn't work. It wouldn't submit for
  47. 1:51some people or like the layout started
  48. 1:53to look a bit janky.
  49. 1:56And then I went to check the analytics
  50. 1:57and saw like something like maybe 25% of
  51. 2:01users were browsing with Opera Mini. And
  52. 2:04I was like, okay, what is Opera Mini? Up
  53. 2:08until this point, I hadn't actually ever
  54. 2:10used it or even heard of it.
  55. 2:12And in case you don't know, Opera Mini
  56. 2:14is essentially like the low-end sibling
  57. 2:16to the Opera mobile web browser, and it
  58. 2:19comes with a few key features. So,
  59. 2:21first, um, Opera Mini requests web pages
  60. 2:24through their compression proxy server.
  61. 2:27And this server, um, compresses all the
  62. 2:29requested web pages before actually
  63. 2:31sending them to the mobile phone. And
  64. 2:33that means that there's actually no
  65. 2:35client side processing of JavaScript. So
  66. 2:37obviously if you were, you know, trying
  67. 2:39to take the which Afro beats artists are
  68. 2:42you survey and you try to click submit,
  69. 2:44it just wouldn't work because there's no
  70. 2:47client side processing of JavaScript.
  71. 2:50Um there was also very limited support
  72. 2:52for a lot of modern HTML CSS features
  73. 2:55like CSS grid. There's basically no
  74. 2:58custom font styling. You couldn't, you
  75. 3:00know, have the app font face um or
  76. 3:03things like that. And this was actually
  77. 3:04quite shocking to me because I was
  78. 3:07starting to wonder. I had been
  79. 3:08developing for a while like why nobody
  80. 3:10else seemed to really be talking about
  81. 3:12this or nobody else seemed to know about
  82. 3:14it.
  83. 3:15And after doing some digging, it started
  84. 3:17to make some sense because like in a lot
  85. 3:20of regions like Europe and North
  86. 3:21America, the usage of Opera Mini was
  87. 3:24only something like 2 to 4%. But in
  88. 3:26countries like Nigeria, which is where I
  89. 3:29was, um this went up to something like
  90. 3:3173%. So massive, massive difference.
  91. 3:35And then my next question obviously was
  92. 3:37like why why would anybody be using this
  93. 3:39browser that was clearly breaking
  94. 3:41everything? And obviously as a
  95. 3:44relatively young developer
  96. 3:46>> [snorts]
  97. 3:46>> um my first instinct was like okay well
  98. 3:48the people are wrong like why are they
  99. 3:50using this browser? Um instead of
  100. 3:52thinking oh there must be a reason. And
  101. 3:55basically to answer the question of why
  102. 3:56were so many people using this we kind
  103. 3:58of need to look back at the state of the
  104. 4:00web back in 2016.
  105. 4:03So at the time only about 47% of the
  106. 4:06world's population was online meaning
  107. 4:08that 53% more than half were still
  108. 4:11offline and of that 53% the vast
  109. 4:15majority so like 91% came from less
  110. 4:18developed countries like Nigeria.
  111. 4:22And if you look at why this was the
  112. 4:24case, it largely came down to two
  113. 4:26reasons. So low coverage, although it
  114. 4:29was expanding, 3G hadn't really reached
  115. 4:31a significant portion of the global
  116. 4:33population yet, especially when it came
  117. 4:35to a lot of the more rural areas. And
  118. 4:38then secondly, the high cost. And there
  119. 4:40were two barriers um with respect to
  120. 4:43high cost. So first, like just the cost
  121. 4:45of the devices themselves. um feature
  122. 4:48phones were still a majority in this
  123. 4:50region just because of the high cost of
  124. 4:52you know the latest iPhone and things
  125. 4:54like that and of course phones like this
  126. 4:56didn't really have the capability to
  127. 4:58handle a lot of the modern features
  128. 5:02and then with these like less developed
  129. 5:04countries the average cost of um about
  130. 5:07500 megabyte of a prepaid mobile data
  131. 5:09plan ended up being about 6.5% of
  132. 5:13average income. So, if you think about
  133. 5:15that, like having to spend almost like a
  134. 5:18sixth of your monthly income on just 500
  135. 5:20megabytes, of course, you'd be very
  136. 5:22cautious about every single megabytes
  137. 5:25that you're trying to spend.
  138. 5:28But then if we looked at, you know,
  139. 5:30places like Europe, North America, the
  140. 5:32story was the opposite. Connectivity
  141. 5:35near perfect and costs were relatively
  142. 5:37low. like a lot of people were able to
  143. 5:40afford um smartphones and higherend
  144. 5:42devices and then the cost of data was
  145. 5:44quite insignificant
  146. 5:47and it's basically this set of users
  147. 5:49that digital products were primarily
  148. 5:51built for cuz think about it um most
  149. 5:54people building these products were
  150. 5:55already in these countries so it made
  151. 5:57sense that they would build for
  152. 5:58themselves but what was ironic in my
  153. 6:01case was that you know I had been
  154. 6:03brought up in Nigeria but I was still
  155. 6:05somehow building for this demographic
  156. 6:07that was outside of you know the people
  157. 6:10around me and this is obviously because
  158. 6:12I was even though I was physically in
  159. 6:15the country I was still in a relatively
  160. 6:17privileged 1% who actually had access to
  161. 6:21you know the latest iPhone and computers
  162. 6:24to build websites using you know the
  163. 6:26latest JavaScript features and all of
  164. 6:28that
  165. 6:31and it was basically in this context
  166. 6:33that Google initiated what they called
  167. 6:35the next billion users project which was
  168. 6:38all about creating a more inclusive
  169. 6:40internet by addressing the specific
  170. 6:42challenges that were faced by users in
  171. 6:44frontier markets. So the concept was
  172. 6:47simple. There's going to be over a
  173. 6:49billion new users coming online over the
  174. 6:51next decade. We need to make sure that
  175. 6:54digital products are accessible to them.
  176. 6:57And Google's initiative kind of focused
  177. 7:00on these four areas. So first like
  178. 7:02connectivity solutions they developed um
  179. 7:05products like the progressive web apps
  180. 7:07that work offline and then even like for
  181. 7:10connectivity and services like YouTube
  182. 7:12go for just better YouTube video
  183. 7:15experiences with lower data
  184. 7:19um to provide more affordable devices.
  185. 7:21They continued the efforts with things
  186. 7:23like Android one to like partner with
  187. 7:25manufacturers to create more budget
  188. 7:27smartphones
  189. 7:29for localization. They worked on, you
  190. 7:31know, adapting products for local
  191. 7:32languages, cultures, contexts.
  192. 7:35And then finally, they really went full
  193. 7:37on with mobile first design because they
  194. 7:39recognized that most new users that um
  195. 7:42are trying to access the internet for
  196. 7:44the first time are doing it through
  197. 7:45smartphone. So they really emphasized on
  198. 7:47designing for mobile.
  199. 7:51So with a focus on these four areas, um
  200. 7:53the goal was to ensure a smooth
  201. 7:56onboarding for the next billion users
  202. 7:58that are coming online over the next 10
  203. 8:00years.
  204. 8:02So here we are 10 years later. Uh let's
  205. 8:05see what the world is like. Um in some
  206. 8:07ways the world is similar. I'm also a
  207. 8:10recent graduate again. This time I
  208. 8:12graduated from an MBA INSEAD. I hope
  209. 8:15this would be my last degree. But in
  210. 8:18other ways the world has actually
  211. 8:20changed a lot and in a lot of ways for
  212. 8:23the positive. So um things like
  213. 8:26connectivity has improved quite
  214. 8:28drastically. Um we now have a lot more
  215. 8:30people online um than we had before.
  216. 8:33About 68% are now online.
  217. 8:38And then we're seeing that for most
  218. 8:40people both coverage and connect and
  219. 8:43costs have actually improved. Although
  220. 8:45we're um we're seeing that there is an
  221. 8:48improvement, we are still seeing that
  222. 8:51there is um a divide between you know
  223. 8:53the poorest countries and the richest
  224. 8:54countries. So it's like higher coverage,
  225. 8:56lower cost but not necessarily
  226. 8:59completely solving the entire problem.
  227. 9:02And of course now we have new problems
  228. 9:06because as technology progresses there's
  229. 9:08going to be opportunities for bias and
  230. 9:11we see this very clearly of course with
  231. 9:13AI.
  232. 9:16Um, so we have a huge bias problem with
  233. 9:18AI because we see that over 90% of
  234. 9:21training data is in English even though
  235. 9:24just about 20% of the world had is
  236. 9:27speaking English as their first
  237. 9:28language. And we're also seeing
  238. 9:31overwhelming representation of US and
  239. 9:34European data, minimal African and Asian
  240. 9:37representation. And this has like a real
  241. 9:39effect. The result is that when these
  242. 9:42models are then being applied to these
  243. 9:43minority groups, we see up to a 40% drop
  244. 9:47in accuracy, which is really crazy to
  245. 9:49think about because just think about the
  246. 9:51context in which these agents are being
  247. 9:53used like medical or diagnostic settings
  248. 9:56and such a drastic difference in
  249. 9:58accuracy has the potential to do real
  250. 10:01real damage.
  251. 10:05And there's also a whole subset of
  252. 10:08problems that the original next billion
  253. 10:10users didn't actually take into account,
  254. 10:12which is the billions of users that
  255. 10:15historically and are currently still
  256. 10:17being locked out by poor design and
  257. 10:19digital um and inaccessible digital
  258. 10:22patterns. So it turns out that to reach
  259. 10:25this next billion users, we actually
  260. 10:27need to take into account a whole lot
  261. 10:29more than just those four key areas. We
  262. 10:32have to look, you know, deeper into
  263. 10:33internationalization and representation,
  264. 10:36just the usability, so many other
  265. 10:39things. And the overall theme here is,
  266. 10:41of course, just accessibility.
  267. 10:45And broadly speaking, we can define
  268. 10:47digital accessibility as the inclusive
  269. 10:50practice of ensuring there are no
  270. 10:51barriers that prevent access to
  271. 10:53technology. And the key point here is
  272. 10:56the removal of barriers to access. And
  273. 10:59although this does apply to everyone,
  274. 11:01when we talk about barriers of access to
  275. 11:04technology, it's sometimes helpful to
  276. 11:06look at three groups of people because
  277. 11:09they have quite specific access needs.
  278. 11:12So, first is people with physical or um
  279. 11:15permanent disabilities. And this is
  280. 11:17typically what we think about when it
  281. 11:18comes to accessibility. So, people that
  282. 11:21might have visual impairments or
  283. 11:22auditory impairments.
  284. 11:25But we also have the concept of
  285. 11:26situational disabilities. And this is
  286. 11:29looking at how in practice um there are
  287. 11:32people that may not have an actual
  288. 11:34permanent disability, but just due to
  289. 11:36the situation they're in, they might
  290. 11:38have similar access needs um to someone
  291. 11:41who does have a permanent disability. So
  292. 11:44classic example is just someone who
  293. 11:46either maybe they've broken their arm or
  294. 11:49they are holding a baby and so they can
  295. 11:51only actually access technology with one
  296. 11:53hand even though you know in theory they
  297. 11:55have two capable hands. Um, in practice,
  298. 11:58they're going to be functionally similar
  299. 12:00to somebody who only has one capable
  300. 12:02hand.
  301. 12:04And accessibility also relates to how
  302. 12:06people with socioeconomic restrictions
  303. 12:09can have access to technology. So, for
  304. 12:11example, as we've shown, someone who's
  305. 12:13extremely data conscious may not be able
  306. 12:15to access websites that will require
  307. 12:17them to download like 5 megabytes of
  308. 12:20data just to view the website.
  309. 12:24But all in all, accessibility is about
  310. 12:26having like an inclusion first mindset.
  311. 12:29And in today's world, um the digital
  312. 12:31sphere is really as vital as the
  313. 12:33physical [clears throat] one. So the
  314. 12:36same way that we think about people
  315. 12:38requiring access to physical buildings,
  316. 12:42we should also be thinking that people
  317. 12:44also require access to the digital
  318. 12:46sphere.
  319. 12:48And by making products that are
  320. 12:50accessible to these three groups that
  321. 12:52we've talked about, we actually create a
  322. 12:53product that works better for everyone
  323. 12:56even outside of these groups.
  324. 12:58So in this context, I want to share what
  325. 13:00I think are the five pillars for digital
  326. 13:03accessibility. And these pillars do
  327. 13:06apply to digital platforms as a whole,
  328. 13:09but my personal background is in the
  329. 13:11web. So a lot of the examples I'll show
  330. 13:13are a bit more related to the web
  331. 13:15platform.
  332. 13:17So these are the five pillars and let's
  333. 13:20start with performance because we all
  334. 13:22know that performance is important um
  335. 13:24but we often think about it in terms of
  336. 13:27like milliseconds saved for a user on a
  337. 13:29fast connection but for the next billion
  338. 13:32user performance is measured in sorry
  339. 13:36let me just take a drink
  340. 13:43sorry if I get cough
  341. 13:51Um so for the next billion users
  342. 13:54performance is measured in real money
  343. 13:57and time lost.
  344. 13:59So I did mention before that data costs
  345. 14:01have improved but still today in
  346. 14:04subsaharan Africa for 1 GBTE of data is
  347. 14:07still going to cost about four to 5% of
  348. 14:11average monthly income which is actually
  349. 14:12double the UN's affordability targets
  350. 14:16and to add to this um users typically
  351. 14:18aren't on you know unlimited monthly PS
  352. 14:21they're on prepaid pay as you go so if
  353. 14:25you know the data runs out the internet
  354. 14:26is just going to stop and this creates a
  355. 14:29real data scarcity mindset. So users are
  356. 14:32going to disable images, avoid video, or
  357. 14:35use browsers like Opera Mini that are
  358. 14:38going to optimize every megabyte.
  359. 14:44So this means that your website or
  360. 14:46application
  361. 14:47needs to be as lean as possible and this
  362. 14:50applies to every aspect of your
  363. 14:52development pipeline.
  364. 14:55So starting with frameworks now we of
  365. 14:57course know that frameworks offer
  366. 14:59incredible developer productivity but
  367. 15:01they also come at a cost. Every
  368. 15:04framework no matter how optimized is
  369. 15:06going to add a baseline level of
  370. 15:08JavaScript that the user needs to
  371. 15:09download, parse and execute before your
  372. 15:12application can become interactive.
  373. 15:15So in this world of data scarcity this
  374. 15:18initial cost can actually be a
  375. 15:19significant barrier.
  376. 15:22So it is worth asking yourself you know
  377. 15:24before starting any projects do you
  378. 15:26really need to use that single page
  379. 15:28application framework for your website
  380. 15:31because if we compare the size of a
  381. 15:33simple application we can see quite a
  382. 15:35stark difference and this was an example
  383. 15:39it's like a calculator application I
  384. 15:41believe that was created to um compare
  385. 15:43the different JS frameworks and you can
  386. 15:47see that using a heavier framework like
  387. 15:48angular it's like 140 kilobytes we use a
  388. 15:52lighter framework, things are better.
  389. 15:53But of course, nothing beats vanilla
  390. 15:56JavaScript. And the point of this isn't
  391. 15:59to say that you shouldn't use frameworks
  392. 16:01at all because of course there's going
  393. 16:03to be cases where it is far more
  394. 16:05efficient to do so, but it's more about
  395. 16:08looking at your particular use case to
  396. 16:10assess because the different tools we
  397. 16:12have are going to have a direct
  398. 16:14financial impact on our users. So
  399. 16:18taking the mindset of choosing the
  400. 16:19leanest tool possible that will still
  401. 16:22get the job done is the best approach.
  402. 16:26Now JavaScript is only one part of the
  403. 16:28story because more often than not the
  404. 16:31biggest culprits with performance are
  405. 16:33actually like unoptimized media assets.
  406. 16:35So like images, video, custom fonts.
  407. 16:38These can all easily dwarf the size of
  408. 16:40your code and can actually be like the
  409. 16:44most expensive resources for your users
  410. 16:46to download.
  411. 16:52So looking at images as an example, you
  412. 16:55can save a lot just by using modern
  413. 16:57formats like AIF and um WEBP. They
  414. 17:00offer, you know, a lot more superior
  415. 17:02compressions to traditional JPEG and
  416. 17:05PNG. and then using like the picture
  417. 17:08element to provide fallbacks.
  418. 17:12Sorry, one second.
  419. 17:23Um, so it's also not just about how long
  420. 17:26it takes to download everything.
  421. 17:30Sorry, excuse me.
  422. 17:32Let me just uh clear my throat.
  423. 18:18Okay, sorry I am back really fighting a
  424. 18:21cough here. Um, but yes, so it's also
  425. 18:24not just about how long it takes
  426. 18:26everything to download, also about how
  427. 18:28long it takes your users to actually see
  428. 18:30something useful on the screen.
  429. 18:34So if you look at the path towards how a
  430. 18:36web page is built and rendered, we can
  431. 18:39see how you know your HTML, your CSS and
  432. 18:41JavaScript used together to form the
  433. 18:43render tree. And then after a few more
  434. 18:45steps, we end up with what is being
  435. 18:47painted on the screen.
  436. 18:50And the resources that are going to
  437. 18:51block your render are going to be any
  438. 18:53CSS that you have in the head and also
  439. 18:56any JavaScript that you have in the
  440. 18:57head. So having a lot of these resources
  441. 19:00are going to lead to, you know, the
  442. 19:02dreaded blank white screen that your
  443. 19:05users will see before the page can load
  444. 19:07at all.
  445. 19:09So you want to do things like, you know,
  446. 19:11inlining any critical CSS and loading um
  447. 19:14non-critical CSS asynchronously.
  448. 19:18And then for JavaScript, you just want
  449. 19:19to eliminate or limit any JavaScript in
  450. 19:21the head if possible.
  451. 19:24And then pulling on from this, lazy
  452. 19:26loading assets is, you know, another key
  453. 19:29thing to be looking at. Simple principle
  454. 19:32here is just don't load what the user
  455. 19:34doesn't need because a significant
  456. 19:36portion of your web page is going to be
  457. 19:38below the fold and most users might not
  458. 19:40even get to it. So
  459. 19:43having the principle of not loading it
  460. 19:45until it kind of comes into view will
  461. 19:48mean that users are not going to pay for
  462. 19:50things that they don't actually um
  463. 19:52consume or see in the first place.
  464. 19:56So ultimately when it comes to
  465. 19:58performance you want to be as lean as
  466. 20:00possible from end to end.
  467. 20:04So next user experience and this can be
  468. 20:07a make or break for users.
  469. 20:12So for a first-time internet user, a
  470. 20:15confusing interface isn't just it's more
  471. 20:18than just frustrating. It can be really
  472. 20:20intimidating and completely erode the
  473. 20:22confidence that they need to engage in
  474. 20:24this new digital world. And then for a
  475. 20:28screen reader user, for example, an
  476. 20:31interface that is not semantic is
  477. 20:33basically just like a blank screen. or
  478. 20:35if you don't have proper headings and
  479. 20:36structure, it's basically just a
  480. 20:39confusing stream of content with no
  481. 20:41context.
  482. 20:43And the thing is, most platforms, the
  483. 20:45web included of course, are actually
  484. 20:47accessible by default. And our job as
  485. 20:50developers is to make sure that that
  486. 20:52content remains accessible.
  487. 20:57And we can do this by working with the
  488. 20:59platform, not against it.
  489. 21:03The first step is using the correct
  490. 21:05elements for the right purposes. And I
  491. 21:08always like to use the example of, you
  492. 21:09know, a classic button.
  493. 21:12Just by using the right HTML button
  494. 21:14element, we get something that's
  495. 21:16accessibly styled and we have all the
  496. 21:19appropriate features. So it can be
  497. 21:21interacted with by all types of input
  498. 21:24devices whether that's keyboard or like
  499. 21:27the mouse um or anybody navigating with
  500. 21:30other types of alternative input
  501. 21:32devices. And we basically get all of
  502. 21:34this for free.
  503. 21:37But if we wanted to use something like a
  504. 21:39div instead of a button, which for
  505. 21:42whatever reason still happens at times,
  506. 21:45if we want to try to replicate this
  507. 21:47level of accessibility, it would take a
  508. 21:50lot more work to achieve. you'd have to,
  509. 21:52you know, ensure you have the correct
  510. 21:54roll. Make the element focusable
  511. 21:57um by the different input devices. Make
  512. 21:59sure that you're handling all the
  513. 22:00different types of key presses. Make
  514. 22:02sure it's styled so that it can be
  515. 22:04visible um if you know somebody tabs
  516. 22:07into it instead of using a mouse. And so
  517. 22:10many things come into that. So
  518. 22:13ultimately, it really is just easier to
  519. 22:14work with the platform instead of trying
  520. 22:17to I guess recreate something from the
  521. 22:19ground up yourself.
  522. 22:22And if we do want to make changes and
  523. 22:25which is to say um which is not to say
  524. 22:27we shouldn't try to make changes because
  525. 22:28there's many ways that we can actually
  526. 22:30do it in a way that is additive and not
  527. 22:33subtractive. So although you know by
  528. 22:36default the platform is generally
  529. 22:37accessible it can't be the best case
  530. 22:40scenario for your particular website or
  531. 22:42application because it's a broad
  532. 22:44default. So that means there are
  533. 22:46actually many ways that we can improve
  534. 22:48on the default browser behavior.
  535. 22:51I uh recently came across this Reddit
  536. 22:54thread in the r/blind community.
  537. 22:58Um it asked screen reader users for like
  538. 23:00some of their biggest pet peeves.
  539. 23:03The top comments by far was actually all
  540. 23:06the popups that modern websites now have
  541. 23:08which I think we can all relate to even
  542. 23:10as cited users.
  543. 23:13But another common theme was screen
  544. 23:15reader users wanting websites to be more
  545. 23:18customizable to their preferences. So
  546. 23:19things like having dark mode or reduce
  547. 23:22transparency and that's something we can
  548. 23:25actually offer um with modern CSS
  549. 23:27nowadays. So we can adapt the web page
  550. 23:29to user preferences or you know reduce
  551. 23:32data or reduce motion um color scheme.
  552. 23:36So dark mode, light mode, um contrast,
  553. 23:41reduce transparency. And this is a way
  554. 23:43that we can actually improve on the
  555. 23:45default browser behavior.
  556. 23:57So one key thing to remember when
  557. 23:59developing is that not everyone is going
  558. 24:01to be using the same mode of interaction
  559. 24:03with the website.
  560. 24:05So we tend to think of people either,
  561. 24:08you know, on a laptop with a keyboard
  562. 24:09and a mouse or on their phone, you know,
  563. 24:12tapping with their fingers. But there
  564. 24:13are many more ways of interacting with
  565. 24:15technology.
  566. 24:18So for example, we have screen readers,
  567. 24:21alternative pointing devices and so much
  568. 24:24more. But ultimately what we have to
  569. 24:27remember is text is actually king here
  570. 24:30because if all of your um content is
  571. 24:33represented in a structured text form,
  572. 24:35then people with different modes will be
  573. 24:37able to access it.
  574. 24:40And that's why it's very key to if you
  575. 24:42have anything that's not represented in
  576. 24:44text form. any media like images or
  577. 24:47video then having text alternatives so
  578. 24:50that it is accessible to people no
  579. 24:52matter what mode of interaction they are
  580. 24:54using.
  581. 24:57So ultimately working with the platform
  582. 24:59is about making sure that the code we
  583. 25:01write adheres to
  584. 25:03best practices and doesn't undo the
  585. 25:05default accessibility of the platform.
  586. 25:12So following on from this, we have
  587. 25:15robustness. And this is the principle of
  588. 25:18building a resilient web that works for
  589. 25:20everyone regardless of their device,
  590. 25:23network condition or browser
  591. 25:24capabilities.
  592. 25:27It's basically an acknowledgement that
  593. 25:29you know the pristine conditions that we
  594. 25:31develop in you know with the latest
  595. 25:32hardware fastest internet etc
  596. 25:36were not really the reality for most of
  597. 25:38the world. So a robust application is
  598. 25:40one that's going to work the same on
  599. 25:42like a 5year-old Android phone with I
  600. 25:46don't know intermittent 3G connection as
  601. 25:48it does on like the latest iPhone with
  602. 25:505G.
  603. 25:54And this is achieved through progressive
  604. 25:56enhancement.
  605. 26:03>> So on the web, this is basically about
  606. 26:05starting with a solid universally
  607. 26:07acceptable HTML foundation and then
  608. 26:10layering on CSS for design and
  609. 26:12JavaScript for interaction.
  610. 26:15I always like to use the analogy of a
  611. 26:17cake here. So um the HTML is the core of
  612. 26:20the cake. Um, your CSS is like your
  613. 26:22icing. Then your JavaScript is like all
  614. 26:24the designs that you put on it. And the
  615. 26:28key thing here is that the CSS and your
  616. 26:31JavaScript is not going to detract from
  617. 26:33the core, which is the HTML cake. And
  618. 26:36um, they're good additions to have, but
  619. 26:39they don't take away from like the cake
  620. 26:41doesn't not exist because you've added
  621. 26:43CSS and JavaScript.
  622. 26:51And um this applies to more than just
  623. 26:53CSS and JavaScript. So we can look at
  624. 26:56even connectivity as a feature to be
  625. 26:58progressively enhanced.
  626. 27:02And we see this with um you know using
  627. 27:04service workers. It's a tool that we can
  628. 27:06use to make websites work even offline
  629. 27:08because they're able to sit between you
  630. 27:10know the web page and the network. And
  631. 27:12if there for some reason a user can't
  632. 27:15connect directly to the network, they
  633. 27:17can still receive the information of the
  634. 27:20web page from the service worker.
  635. 27:22But ultimately, progressive enhancement
  636. 27:24is about looking at um everything as an
  637. 27:27enhancement, right? And just developing
  638. 27:28with the mindset that anything you add
  639. 27:31shouldn't be destructive to what was
  640. 27:33there before.
  641. 27:36Now, in the age of AI, the content we
  642. 27:38create has a new and profound
  643. 27:40significance. It is no longer just um
  644. 27:44you know for human consumption. It's now
  645. 27:46the raw material that's going to train
  646. 27:48the next generation of LLMs.
  647. 27:52And I remember speaking about something
  648. 27:55similar back in 2019 um you know before
  649. 27:58LLMs were where they are today. And I
  650. 28:00showed this video of the soap dispenser
  651. 28:02where you know someone with light skin
  652. 28:05um puts their hand under the soap
  653. 28:07dispenser and it works. That's normal.
  654. 28:08But someone with darker skin, the soap
  655. 28:11just never comes out. And um even when
  656. 28:14the person uses a piece of tissue, which
  657. 28:17is obviously white, to put under the
  658. 28:19soap dispenser, then the soap comes out.
  659. 28:22But then again, if the person of darker
  660. 28:25skin puts just their hand underneath it,
  661. 28:27no soap comes out. And it just shows how
  662. 28:32um if the content we produce is not
  663. 28:34globally representative, it's not
  664. 28:36accessible. If it doesn't if it only
  665. 28:39reflects like a narrow slice of the
  666. 28:41world, then the AI that we build from it
  667. 28:43will inherit and amplify those biases at
  668. 28:46like a much larger scale. So whatever,
  669. 28:49you know, biases you put into the AI is
  670. 28:51what is going to come out on like a much
  671. 28:54much much larger scale than we've
  672. 28:57probably ever seen before.
  673. 29:00So nowadays, more than ever, we really
  674. 29:02need to be conscious of what content
  675. 29:04we're publishing.
  676. 29:06This of course applies to the actual
  677. 29:09website content. So you know if you're
  678. 29:11working in a media publication um the
  679. 29:14articles that are being published, the
  680. 29:17language you use could really inform how
  681. 29:20AI understands complex social issues and
  682. 29:23creating inclusive content is actually
  683. 29:26now an act of building perhaps a more
  684. 29:28equitable future AI.
  685. 29:31But crucially, it also applies to, you
  686. 29:34know, us as developers and what content
  687. 29:36we put out there. So things like um non
  688. 29:39the text descriptions of nonext content
  689. 29:42could actually be used to inform what AI
  690. 29:47um how AI understands this non-ext
  691. 29:49content.
  692. 29:51So, for example, um if we were to um
  693. 29:55caption an image of a white man as just
  694. 29:58doctor, but then we had a black female
  695. 30:00doctor and then we caption it as black
  696. 30:02female doctor, then the AI learns that
  697. 30:05one of these is the default and one of
  698. 30:06these is the exception. So we need to be
  699. 30:10more conscious of things like this to
  700. 30:12understand that this information could
  701. 30:14be used to um train or for future AI to
  702. 30:19understand what is the default of a
  703. 30:22doctor.
  704. 30:24Um but critically this also applies to
  705. 30:27the code that we publish as developers
  706. 30:30because the coding LLMs they're scraping
  707. 30:32the web they're scraping you know open
  708. 30:35code repositories.
  709. 30:39And this is how they are learning how to
  710. 30:41develop themselves. So if our code
  711. 30:43doesn't take into account accessibility
  712. 30:47then these agents will also not take
  713. 30:48into account accessibility.
  714. 30:51And nowadays um software engineering is
  715. 30:54you know starting to move towards being
  716. 30:56more about guiding the agents rather
  717. 30:58than developing ourselves. So we have to
  718. 31:02be really conscious of the patterns that
  719. 31:04we are encouraging and ensuring that
  720. 31:06even in our guiding and directing of
  721. 31:09these agents we're keeping accessibility
  722. 31:11in mind
  723. 31:13and it can be quite scary to think that
  724. 31:16you know everything we put out there can
  725. 31:18have such consequences but unfortunately
  726. 31:21I think that is the reality of the world
  727. 31:22that we're living today. So we need to
  728. 31:25be ever more conscious of you know what
  729. 31:27we are publishing and putting out there.
  730. 31:31So finally empathy and this is um the
  731. 31:34engine I guess that drives all the other
  732. 31:36pillars because it's the practice of
  733. 31:39putting ourselves in the shoes of our
  734. 31:41users and understanding that you know
  735. 31:43their experience of technology may be
  736. 31:45vastly different from our own and
  737. 31:47without empathy accessibility just
  738. 31:49becomes a very technical checklist. And
  739. 31:53it reminds me of this project which was
  740. 31:56to essentially create a
  741. 31:59a website that is actually completely
  742. 32:01inaccessible but will still get 100% on
  743. 32:05um Lighthouse and other you know tools
  744. 32:08other similar tools. And
  745. 32:11he achieved this by you know doing a few
  746. 32:13different things like he made the
  747. 32:14website have CSS as a dependency. So um
  748. 32:18if CSS was not for whatever reason
  749. 32:22enabled in the browser like the website
  750. 32:24just wouldn't be visible. He did the
  751. 32:26same for JavaScript as well. Um
  752. 32:30he then made sure that screen readers
  753. 32:32wouldn't be able to access the page. I
  754. 32:34think he put area hidden is true on the
  755. 32:36entire body. And he also ensured that
  756. 32:40you know if you were trying to navigate
  757. 32:41with a keyboard you just wouldn't be
  758. 32:43able to because he just put prevent
  759. 32:44default for all like key presses.
  760. 32:48And with this and a lot more he was
  761. 32:51still able to get 100% accessibility
  762. 32:53score on Lighthouse. And this wasn't you
  763. 32:56know a disparagement of Lighthouse in
  764. 32:58particular. Um a lot of similar tools
  765. 33:01would pass something like this. But this
  766. 33:04is why empathy is so important because
  767. 33:07if we treat accessibility just as a
  768. 33:09checklist, it's very easy to have
  769. 33:11something very inaccessible, but you
  770. 33:14still are able to, you know, mark it up
  771. 33:16and say, "Okay, I've got 100%."
  772. 33:20So the only way to approach this is to
  773. 33:22really test as much as possible in many
  774. 33:25environments as possible with as many
  775. 33:26people as possible.
  776. 33:30The gold standard of course is to test
  777. 33:32with real users. So, this involves going
  778. 33:34out, finding people using your product,
  779. 33:36seeing how they use it, getting feedback
  780. 33:38on what works for them, what doesn't,
  781. 33:41witnessing the different ways people use
  782. 33:43your product. Um, but of course, if
  783. 33:46testing with real users is um not
  784. 33:49possible or not as accessible to you,
  785. 33:51the next best thing is of course to test
  786. 33:53yourself.
  787. 33:54And you can do this very simply. I mean
  788. 33:57you can for example try navigating your
  789. 34:00website or application only with your
  790. 34:02keyboard to see if you can find any
  791. 34:05issues with you know like trapped focus
  792. 34:07or inaccessible areas of the page. You
  793. 34:10can try a screen reader yourself. I
  794. 34:12believe um most computers it now comes
  795. 34:15in built in for free anyways. And for me
  796. 34:18personally, doing this for the first
  797. 34:20time really did change my perspective on
  798. 34:22how I structure my web pages because I
  799. 34:24realized how important it was to have
  800. 34:27the right structure of okay, this is my
  801. 34:29H1, this is the H2 for this, everything
  802. 34:31is like sequential so that it's much
  803. 34:34easier to be able to navigate the page
  804. 34:36having it being structured that way.
  805. 34:39And uh nowadays it's also very easy to
  806. 34:41simulate different network environments.
  807. 34:43You can do it straight from your
  808. 34:44browser.
  809. 34:47And testing yourself is great and should
  810. 34:49definitely always be done.
  811. 34:51[clears throat]
  812. 34:52But to help automate the process, we can
  813. 34:55also make use of different tools.
  814. 34:58Um, we know that there's a vast array of
  815. 35:00tools are our disposal.
  816. 35:08Um, of course, AX Dev Tools by Deck,
  817. 35:11highly trusted and widely used.
  818. 35:13Lighthouse, Wave, there's so many
  819. 35:16different ones you can use. So,
  820. 35:17honestly, it's basically just up to what
  821. 35:19works for you and your team.
  822. 35:22Um, but again, just a reminder that to
  823. 35:24take all these tools with a grain of
  824. 35:26salt because as we've seen, they
  825. 35:28[snorts] do have their limitations
  826. 35:31and they shouldn't be used in isolation
  827. 35:32of, you know, testing yourself.
  828. 35:35or having real other users to test with.
  829. 35:40And uh finally, you want to create a
  830. 35:42culture in the organization where
  831. 35:44accessibility is is
  832. 35:47a part of everyone's job. So, you know,
  833. 35:49from project management to design,
  834. 35:51engineering, QA, everything.
  835. 35:53Accessibility really needs to be a part
  836. 35:56of the product journey from start to
  837. 35:57finish because accessibility only
  838. 36:00becomes difficult when it's an
  839. 36:02afterthought and it's done last.
  840. 36:06So these are what I call you know the
  841. 36:07five pillars of digital accessibility.
  842. 36:10They're just broad ways of thinking and
  843. 36:12practicing that I think can be applied
  844. 36:15um as we develop basically any
  845. 36:16technology. It's not limited to web
  846. 36:19development. And like I said, I think
  847. 36:21the most important way to go about this
  848. 36:23is to integrate it into your development
  849. 36:25or your product development as early as
  850. 36:28possible cuz again accessibility only
  851. 36:31becomes difficult when it's done, you
  852. 36:33know, at the very end and it something
  853. 36:35that you have to go back and rework
  854. 36:38everything that you've done before.
  855. 36:41So that is it. Thank you.
  856. 36:45Eray, that was wonderful. Uh amazing
  857. 36:49topic. I This is something that I'm uh
  858. 36:51also really passionate about and um
  859. 36:55there there are so many questions in the
  860. 36:57chat and uh Q&A. So we're we're going to
  861. 37:01kind of roll through a few of these. Um
  862. 37:02first of all, love the cake analogy. Um
  863. 37:06I think we have uh a number of folks who
  864. 37:08who love that. My thought on that is
  865. 37:10less is more, right? And when you have
  866. 37:14too much icing, it actually makes the
  867. 37:16cake hard to eat, right? So CSS, too
  868. 37:20much JavaScript, it just at some point
  869. 37:22becomes detractive from the main event.
  870. 37:25I love how you put that analogy.
  871. 37:27>> Thank you. Thank you.
  872. 37:29>> Yeah. So um let's uh let let's go
  873. 37:33through some of these Q&A questions. We
  874. 37:35we have one um uh uh do you think we'll
  875. 37:39soon see Africade uh digital products uh
  876. 37:43adapted on a global scale? uh
  877. 37:46Africanmade digital products on a global
  878. 37:48scale.
  879. 37:50>> Yes, 100%. I think I mean I see it
  880. 37:53happening all the time. Um I myself was
  881. 37:57involved in a startup that was you know
  882. 37:59Africa first but a global product and
  883. 38:02I've seen so many other similar products
  884. 38:04also be successful and I think you know
  885. 38:07as we um progress and of course Africa
  886. 38:11is a very young um continent so we have
  887. 38:15a lot of innovation and we have a lot of
  888. 38:18um people trying to solve all the
  889. 38:21problems. So I think we will be able to
  890. 38:24see a lot more products that are built
  891. 38:25from Africa um and are able to you know
  892. 38:29be adapted globally.
  893. 38:31>> Yeah, absolutely. I um I think that's a
  894. 38:35great question and that's that really
  895. 38:37speaks to the the you know I guess the
  896. 38:41wonder of the internet, right? Anybody
  897. 38:43from anywhere can create and distribute
  898. 38:46content and and uh yeah definitely a
  899. 38:49very cool thing. Um so one of our next
  900. 38:53questions here uh what's your recommend
  901. 38:56recommendation for working with CMS?
  902. 38:58Normally CMS uh has its own way to load
  903. 39:01resources and we don't really have a way
  904. 39:03to control it.
  905. 39:06Hm. Yeah, this is a very important um
  906. 39:09topic and it actually calls back to an
  907. 39:12interview I did a few years ago actually
  908. 39:16where I was kind of asked like what I
  909. 39:17think is the highest impact way to
  910. 39:21improve accessibility
  911. 39:25and um I've always been of the opinion
  912. 39:28that I think it's the frameworks and you
  913. 39:30know the CMS
  914. 39:32they're the ones that need to really um
  915. 39:36they're the ones that I think have the
  916. 39:38highest impact. So if we're able to make
  917. 39:41sure that you know all the CMSs and all
  918. 39:43the popular CMSs, all the popular
  919. 39:45frameworks are at a baseline level of
  920. 39:48accessibility then that is so much more
  921. 39:50impactful than trying to convince every
  922. 39:52individual developer to build with
  923. 39:55accessibility in mind.
  924. 39:57So I think if you are using a CMS um I
  925. 40:01always say you know try to do a bit of
  926. 40:04research when you're picking to say okay
  927. 40:06is this is this setting me up for
  928. 40:08success is this like the right defaults
  929. 40:10so that I as like an individual
  930. 40:12developer don't necessarily need to go
  931. 40:15and try to fix things or go and it's
  932. 40:17like making the job easier for yourself
  933. 40:19right so I always think that you know we
  934. 40:22need to really um encourage the
  935. 40:24different frameworks and you know CMS
  936. 40:26providers to ensure that they're
  937. 40:28providing a good default in the same way
  938. 40:30that the browser provides a good
  939. 40:32default. Um I think if there's a tool
  940. 40:34that so many people are using, we need
  941. 40:36to ensure that this tool is accessible.
  942. 40:39Otherwise,
  943. 40:40it's so much more difficult to convince
  944. 40:42every individual developer using that
  945. 40:44tool to then go and fix the whatever
  946. 40:46issues that it might have.
  947. 40:49>> Yes. Fantastic. All right, we got
  948. 40:52another one from Christina. Um, what are
  949. 40:55your thoughts on the Chrome extension
  950. 40:57reader mode? Would that help with data
  951. 41:00or what other factors uh are there to be
  952. 41:03considered?
  953. 41:06Um my um I personally don't don't like
  954. 41:11to use readable that much, but I think
  955. 41:14it's been a um a good way for
  956. 41:18for um users who want to try and access
  957. 41:22a sites that isn't very accessible to be
  958. 41:24able to still have access to whatever
  959. 41:27content. So I think it is a generally
  960. 41:30good tool. Um, but I don't think that
  961. 41:33should be, you know, an out for the
  962. 41:35developer to say, "Oh, well, you can
  963. 41:37access it via red mode, so I don't then
  964. 41:39need to make the content truly
  965. 41:41accessible."
  966. 41:45>> All right, one one last question here.
  967. 41:48Uh, how would you approach advocating
  968. 41:50for quality video captions from a
  969. 41:53robustness point of view? Uh, it seems
  970. 41:56people are hoping that users will use
  971. 41:59Google's live transcription instead of
  972. 42:01adding quality caption files to their
  973. 42:04videos.
  974. 42:07>> Yeah, this is this is another um I guess
  975. 42:10a difficult one because there's so many
  976. 42:13people who just, you know, upload a
  977. 42:14video. I've done this myself as well
  978. 42:16without necessarily um uploading my own
  979. 42:20captions.
  980. 42:21But I think I'll fall back to, you know,
  981. 42:23my previous answer. Maybe that's
  982. 42:25cheating a bit, but
  983. 42:27>> um I think that um the tools that we're
  984. 42:30using, so for example, I make videos on
  985. 42:32Tik Tok at times and it has pretty good
  986. 42:34captions and they've done it in a way
  987. 42:36that it is easy to use. And so it's a
  988. 42:40way for people who may not even really
  989. 42:42be thinking about, you know, trying to
  990. 42:44make a more accessible video, but
  991. 42:45because it's so easy to use. Um, it's
  992. 42:49something that, you know, people can
  993. 42:50just very easily enable and it makes the
  994. 42:53video better for not only people who
  995. 42:55need it, but also people myself who
  996. 42:57maybe I just don't want to have, you
  997. 42:59know, the audio allowed there. So, I
  998. 43:02think I'll fall back and say that I
  999. 43:04think the tools should improve to the
  1000. 43:06point that people don't necessarily all
  1001. 43:08need to individually upload their own um
  1002. 43:11captions. But if you are putting
  1003. 43:14something out there that is, you know,
  1004. 43:16important. I would also say this is
  1005. 43:19something that, you know, falls on the
  1006. 43:20creator to consider and look at, okay,
  1007. 43:25is if I'm not using something like Tik
  1008. 43:27Tok that's going to already provide
  1009. 43:28captions, what other tool could I use to
  1010. 43:31um make this a part of the video?
  1011. 43:34>> Yeah, that's fantastic.
  1012. 43:39All right. Well, uh I think that's all
  1013. 43:41of our Q&A questions. Um uh really want
  1014. 43:46to welcome uh uh thank everybody for
  1015. 43:49joining this session and uh specifically
  1016. 43:53thank you so much for this amazing
  1017. 43:55content and uh uh great presentation
  1018. 43:59really uh thought thoughtprovoking
  1019. 44:01um uh so also thank you so much to our
  1020. 44:05interpreters uh y'all are amazing we
  1021. 44:07really appreciate it
  1022. 44:10so
  1023. 44:10>> thank you so much for having me Yeah.
  1024. 44:13Yeah. Well, we uh uh we'd love to to
  1025. 44:18continue having more sessions with you.
  1026. 44:20So, uh next year, everybody uh hopefully
  1027. 44:23expect a back. Uh we'll we'll uh
  1028. 44:26hopefully see you next year. But
  1029. 44:28>> yes.
  1030. 44:30>> Yeah. Uh all right. Well, I guess that
  1031. 44:32concludes this session. Thank you so
  1032. 44:34much again. Uh I hope everybody enjoys
  1033. 44:37Axecon.

About this transcript

This page contains the full transcript of Building for a new next billion users I Axe-con 2026 by Deque Systems, generated from the public captions YouTube serves with the video. The transcript has 6,810 words across 1,033 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.