1
International
Developers and
Development
Building for the Next Billion Users
Hello!
I’m William Imoh “Chuloo”.
Twitter @iChuloo
2
Quick . . .
● Save your questions for the Q&As. I’d love to
hear them but hear me out first.
● Tweet at @iChuloo #Cloudinary
3
“
1.3 Billion
4
😮
“
Welcome to Africa, the continent of
everything good and something “edgy.”
5
6
7
The Problems
◎Everything can be fast but some works
reaaaally slowly.
◎Most times, there’s too little direct
product support.
◎Chrome dev tools can be inadequate for
mitigating performance bottlenecks.
◎Pricing models are too high with little
marketing.
8
The Solutions
9
● Development architecture and pattern: PRPL,
microservices
● Optimized media delivery
● Diversified, test-driven deployment
● Supersimple deployment and support
● Community and user groups
10
11
PRPL, JAMstack, and PWAs
PRPL
Push the critical resources for the initial
URL route.
Render the initial route.
Precache the remaining routes.
Lazy-load and create the remaining routes
on demand.
12
JavaScript API MARKUP
What is JAMstack?
PRPL, JAMstack, and PWAs
13
◎Secure: Reduced risk of server attacks
◎Fast: Almost no client-server exchanges
◎Cost-effective: Thanks to Netlify, Now,
etc.
◎Smart: A fit for most sources
◎Familiar: Intuitive dev environment
JAMstack Features
PRPL, JAMstack, and PWAs
14
◎GatsbyJS
◎Next.js
◎Hugo
◎Nuxt.js
◎VuePress
Tools for JAMstack Apps
PRPL, JAMstack, and PWAs
17
Q: What are PWAs?
A: Cache everything!
Progressive Web Apps
PRPL, JAMstack, and PWAs
18
◎A fit for offline or low-bandwidth networks
◎Mobile first with native-looking UI
◎Mobile app-like interface
◎Push notifications
PWA Features
PRPL, JAMstack, and PWAs
Media Optimization
19
◎Longer load time
◎More network data requirements
◎User drop-offs
◎Larger app size == higher hosting costs
◎Rage, anxiety, questions like “Why bother?”
20
Ill Effects of Improper
Image Optimization
Media Optimization
21
◎Adopt lazy loads.
◎Serve from a CDN to reduce bundle size.
◎Practice abstract transformations for less
JavaScript logic.
◎Optimize images for responsiveness in all
devices.
◎Pay attention to First Meaningful Paint and
Time to Interactive.
Tips for Avoiding Bad Media
Media Optimization
22
Media Tooling With Cloudinary
◎ Lazy-load files
◎ On-the-fly manipulation and transformation
with URLs
◎ Secure storage and delivery via CDNs
◎ Optimized and responsive image-delivery
◎ Free tier for developers
◎ Debugger
Media Optimization
23
Cloudinary Debugger
Media Optimization
24
Cloudinary Debugger (Cont’d)
Media Optimization
25
Chrome Dev Tools
They are your friend.
Media Optimization
Diversified, Test-Driven
Development
26
“
27
“This is the system of effectively working with
distributed teams around the world to build
products with a test-driven approach, done by
these team members all over the world,
including in remote areas.”
— Chuloo, 2019
28
Make deployment as easy as possible for
developer tools. Technical posts are a golden
reference.
Tools like Netlify, Now, and Surge are popular in
Africa because they are simple to use and deploy.
Continuous deployment workflows are highly
important and efficient.
Supersimple Deployment and
Support
29
Community and User Groups
The dev community in Africa is yuuuuuuge!
30
forLoop, Africa
Andela Learning
Community
GDG
Ingressive
Communities
FB Dev Circles
Dar JS
Devcenter
Dev Communities in Africa
● Thousands of Africans are learning to
code and getting software jobs.
● Supporting brands are successful.
● African techies are contributing to
the global tech ecosystem.
● They’re solving many tech problems.
● More food and swag are at meetups.
Great fun!
31
Benefits of Communities
32
What Dev Communities
Mean to You as a Builder
◎ You are giving back to a group of loyal builders
who in turn win you loyal users.
◎ You gain ease of entry to markets and understand
the best-fit pricing models.
◎ You benefit from independent advocates who
promote your product or brand.
◎ You get quick feedback on your product—from first
deployment to seasoned usage.
◎ You earn autonomous support from members who
use your product.
33
ConcatenateConf, August 2018
Image credit: @Rotimiokungbaye
34
forLoop Lagos
Image credit: @Rotimiokungbaye
35
Consider building or
supporting a remote
developer community
36
Summary
◎Building fast apps to scale according to
modern development patterns and
architecture is the way to go.
◎Media optimization is superimportant.
◎Diverse teams make more robust international
products.
◎Communities and user groups invariably
promote product usage and support.
● How can I build more scalable apps?
● Am I providing enough remote support
to product users and how can I better
support them through communities?
37
What Next?
“
Questions?
38
39
Additional Resources
● https://cloudinary.com/
● https://www.benjamindada.com/concatenate-conf-recap/
● https://www.benjamindada.com/forloop-africa/
● https://scotch.io/tutorials/building-a-video-blog-with-gatsby-
and-markdown-mdx
● https://scotch.io/tutorials/how-to-use-chrome-dev-tools-to-
find-performance-bottlenecks
● https://chrome.google.com/webstore/detail/cloudinary-
debugger/ehnkhkglbafecknplfmjklnnjimokpkg
● https://developers.google.com/web/fundamentals/performanc
e/prpl-pattern/
40
Thank you!

International developers and building for the next billion users

  • 1.
  • 2.
    Hello! I’m William Imoh“Chuloo”. Twitter @iChuloo 2
  • 3.
    Quick . .. ● Save your questions for the Q&As. I’d love to hear them but hear me out first. ● Tweet at @iChuloo #Cloudinary 3
  • 4.
  • 5.
    “ Welcome to Africa,the continent of everything good and something “edgy.” 5
  • 6.
  • 7.
  • 8.
    The Problems ◎Everything canbe fast but some works reaaaally slowly. ◎Most times, there’s too little direct product support. ◎Chrome dev tools can be inadequate for mitigating performance bottlenecks. ◎Pricing models are too high with little marketing. 8
  • 9.
  • 10.
    ● Development architectureand pattern: PRPL, microservices ● Optimized media delivery ● Diversified, test-driven deployment ● Supersimple deployment and support ● Community and user groups 10
  • 11.
    11 PRPL, JAMstack, andPWAs PRPL Push the critical resources for the initial URL route. Render the initial route. Precache the remaining routes. Lazy-load and create the remaining routes on demand.
  • 12.
    12 JavaScript API MARKUP Whatis JAMstack? PRPL, JAMstack, and PWAs
  • 13.
    13 ◎Secure: Reduced riskof server attacks ◎Fast: Almost no client-server exchanges ◎Cost-effective: Thanks to Netlify, Now, etc. ◎Smart: A fit for most sources ◎Familiar: Intuitive dev environment JAMstack Features PRPL, JAMstack, and PWAs
  • 14.
  • 17.
    17 Q: What arePWAs? A: Cache everything! Progressive Web Apps PRPL, JAMstack, and PWAs
  • 18.
    18 ◎A fit foroffline or low-bandwidth networks ◎Mobile first with native-looking UI ◎Mobile app-like interface ◎Push notifications PWA Features PRPL, JAMstack, and PWAs
  • 19.
  • 20.
    ◎Longer load time ◎Morenetwork data requirements ◎User drop-offs ◎Larger app size == higher hosting costs ◎Rage, anxiety, questions like “Why bother?” 20 Ill Effects of Improper Image Optimization Media Optimization
  • 21.
    21 ◎Adopt lazy loads. ◎Servefrom a CDN to reduce bundle size. ◎Practice abstract transformations for less JavaScript logic. ◎Optimize images for responsiveness in all devices. ◎Pay attention to First Meaningful Paint and Time to Interactive. Tips for Avoiding Bad Media Media Optimization
  • 22.
    22 Media Tooling WithCloudinary ◎ Lazy-load files ◎ On-the-fly manipulation and transformation with URLs ◎ Secure storage and delivery via CDNs ◎ Optimized and responsive image-delivery ◎ Free tier for developers ◎ Debugger Media Optimization
  • 23.
  • 24.
  • 25.
    25 Chrome Dev Tools Theyare your friend. Media Optimization
  • 26.
  • 27.
    “ 27 “This is thesystem of effectively working with distributed teams around the world to build products with a test-driven approach, done by these team members all over the world, including in remote areas.” — Chuloo, 2019
  • 28.
    28 Make deployment aseasy as possible for developer tools. Technical posts are a golden reference. Tools like Netlify, Now, and Surge are popular in Africa because they are simple to use and deploy. Continuous deployment workflows are highly important and efficient. Supersimple Deployment and Support
  • 29.
    29 Community and UserGroups The dev community in Africa is yuuuuuuge!
  • 30.
    30 forLoop, Africa Andela Learning Community GDG Ingressive Communities FBDev Circles Dar JS Devcenter Dev Communities in Africa
  • 31.
    ● Thousands ofAfricans are learning to code and getting software jobs. ● Supporting brands are successful. ● African techies are contributing to the global tech ecosystem. ● They’re solving many tech problems. ● More food and swag are at meetups. Great fun! 31 Benefits of Communities
  • 32.
    32 What Dev Communities Meanto You as a Builder ◎ You are giving back to a group of loyal builders who in turn win you loyal users. ◎ You gain ease of entry to markets and understand the best-fit pricing models. ◎ You benefit from independent advocates who promote your product or brand. ◎ You get quick feedback on your product—from first deployment to seasoned usage. ◎ You earn autonomous support from members who use your product.
  • 33.
    33 ConcatenateConf, August 2018 Imagecredit: @Rotimiokungbaye
  • 34.
  • 35.
    35 Consider building or supportinga remote developer community
  • 36.
    36 Summary ◎Building fast appsto scale according to modern development patterns and architecture is the way to go. ◎Media optimization is superimportant. ◎Diverse teams make more robust international products. ◎Communities and user groups invariably promote product usage and support.
  • 37.
    ● How canI build more scalable apps? ● Am I providing enough remote support to product users and how can I better support them through communities? 37 What Next?
  • 38.
  • 39.
    39 Additional Resources ● https://cloudinary.com/ ●https://www.benjamindada.com/concatenate-conf-recap/ ● https://www.benjamindada.com/forloop-africa/ ● https://scotch.io/tutorials/building-a-video-blog-with-gatsby- and-markdown-mdx ● https://scotch.io/tutorials/how-to-use-chrome-dev-tools-to- find-performance-bottlenecks ● https://chrome.google.com/webstore/detail/cloudinary- debugger/ehnkhkglbafecknplfmjklnnjimokpkg ● https://developers.google.com/web/fundamentals/performanc e/prpl-pattern/
  • 40.

Editor's Notes

  • #2 Tell my story Move on to what the talk is about. A developer approach.
  • #3 Introduction. Twitter--dunno the handle but you can hit me up if you need me.
  • #6 Telling the lagos story and network issues
  • #7 35% Internet Penetration in Africa with
  • #9 Explain each bullet point and provide context with examples for each point. From a developer perspective
  • #11 Explain each point
  • #12 Explain PRPL, its applications and how useful it is.
  • #13 Explain JAMstack, a new concept.
  • #15 Verify these examples
  • #16 Crazy lighthouse scores
  • #17 On mobile
  • #19 List features of PWAs
  • #20 Include meme on media delivery
  • #21 List features of PWAs
  • #22 Check First meaningful paint Time to interactive
  • #23 List features of PWAs
  • #24 List features of PWAs
  • #25 List features of PWAs
  • #26 Chroome dev tools tips. Network tab and performance tab
  • #27 Include meme on media delivery
  • #28 Test Development Test Deployment Test Possible Target market and possible adoption Test Everything!
  • #29 If you must deploy the product to traditional servers, make the process easy with step by step how-to guides
  • #30 List features of PWAs
  • #31 Estimate size of communities Number of communities
  • #32 More results from what we are doing
  • #33 Add numbers on community here
  • #37 Add numbers on community here
  • #38 What next?
  • #40 Add numbers on community here
  • #41 Sweet dreams!