I've been working in tech for a couple
years now as an engineer but previously
as a product manager but like a lot of
people my degree isn't in computer
science in the anthropology which is the
study of human societies and evolution
and I really like thinking about systems
of people and now I also really like
thinking about systems and programs and
I think that I really enjoy that a lot
of the talks today have are about like
user empathy and bringing that into our
technical process and I think
understanding people is the key to
building successful products and also to
architecting them the right way so this
talk is about the web norms of the world
and it's it's based on the premise that
websites and Technology are different
around the world and if you've traveled
to another continent on vacation you may
have experienced this when you try to
buy something look up an event go to a
museum or get train tickets and if
you're a multinational person this is
definitely no surprise to you and so I
just wanted to hop in and give it a
couple examples of how websites might
look and feel different in different
places so this is Rakuten which is the
top japanese ecommerce site it's it's
obviously a web site but there are some
differences first it's in Japanese
there's a lot of navigation options at
the top there aren't many large
drop-down menus and there's a lot of
icons pair of these navigation items and
the product images all have text baked
into them and if we compare that to a
site like Amazon in the US there are
fewer navigation elements the product
categories are hidden under one big
hamburger menu there's no text in the
product images the text is generally
larger it's more spread out
another example train travel is really
popular in Europe it's super normal to
jump on a train to go for a quick
vacation
this is France's train portal they offer
hotel deals and I've noticed that
European
transit sites have adopted this like
really friendly candy color bubble style
in their web design and I think it
reflects the like the popular consumer
nature of train travel so let's compare
it to Amtrak in the u.s. it's definitely
more serious in style there's less focus
on destinations there are no
destinations on their homepage I think
maybe it's a little more consumer sorry
commuter focused so I've started to
wonder why these websites are different
and I keep coming back to my educational
background and studying culture I always
thought that they were clear right and
wrong ways to make a website but when
you put it within an anthropological
lens there there isn't right it's it's
all within the context of each culture
and I think the the question is
analogous with asking why are people
around the world different it's which
scientists have been trying to answer
for hundreds of years so I will try to
do it in 30 minutes I've been told to
drink water so I think that the answer
is that technology is a mode of cultural
expression just like language or dancing
music food architecture it includes
people's customs their lifestyles how
they orient themselves to the world and
I think even our technical decisions the
ones we make every day from the
programming languages to the frameworks
deb services to the design and colors we
choose are all driven by a combination
of social factors that are unique to
each of our own cultures so why is this
important to talk about why can't people
just figure it out for themselves right
like I'm familiar with the us's culture
i can build websites and products for
people in the US there's a butch reasons
the first is that computer and Internet
technology is totally not really
globalized it's globalized better and
faster than any other technology and we
all rely on the same foundational
elements for building software like
operating systems programming languages
open source projects you'll find react
developers in every core
of the world and global software
corporations have already become really
huge and multinational just look at
Google and Facebook Amazon Web Services
people across the world use iPhones
develop Apple in California many people
use I've Android phones that are built
in China Japan and Korea and the world
is coming more online the digital the
digital divide refers to the gap between
people who have access to the Internet
and those who don't is shrinking so in
1990 the internet was not very popular
over the last couple decades it's grown
tremendously now there are three and a
half billion people with internet access
and that's only that's actually slightly
under half of the world's population
some researchers claim total Internet
adoption between 2030 and 2040 and
emerging economies are adopting the
internet at exponential rates like India
I mean even countries like Bangladesh
and Ghana which are small compared to
India just in population have doubled
the number of Internet connected users
in the past couple years and this is
bringing new users an opportunity to
these countries to the Internet
it's creating more demand for developers
and services locally and globally in as
developers we benefit from having more
developers and being connected with each
other around the world we can share code
we can learn from each other we go to
each other's conferences innovations
that are made in one part of the world
can make a big difference in another
part of the world and I think that well
localized software that really meets the
needs of people in each of these areas
will ultimately win so products that
don't meet meet users needs like having
offline support choosing but making a
smart choice between building a desktop
or mobile or not translating well will
cause the product and not connect with
local users and because the in it
because Internet companies are uniquely
able to like target new customers in
global markets I think all of us as
developers will need to learn how to
internationalize properly
think about different cultures around
the world and this includes things like
open-source software which already
totally globally shared I really like
this example this is the Twitter
chronological timeline example where
they switch the feed from time order to
algorithmic I think it shows that
culture extends to how people want to
use technology and how much trust they
have in it and the fact that they
backtracked I think shows that
ultimately software will have to bend to
human culture and needs so how can we
make more culturally sensitive
technology I think we can start by
understanding the like the different
factors that developers can consider
when building software the first one is
language so language is the core thing
we do every day it's how we talk to each
other it includes coding language
affects how we design websites it
affects whether you can read the
technical docs for a new language or
framework you want to try the second are
cultural attitudes which are how much do
people trust the Internet are they
willing to put their credit cards in on
to buy something online are they open to
trying new things do they have
established customs already how much do
they care about like lots of rules in
order what are their lifestyles like and
how they integrated the internet and
technology into it the next one is
government policy so some countries
restrict the internet others enforce
regulations to preserve privacy and
other countries don't protect their
internet freedoms enough and the final
one is Internet infrastructure so who is
on the Internet in the first place is
the connectivity widespread is available
everywhere is it stable or as an
intermittent so I want to go through
each one of these and provide lots of
examples and talk about how developers
around the world handle these different
factors so the first is that language
affects how user interface is designed
adults there are a lot of languages
there are over 7,000 known languages
this is one of my favorite maps and each
one of these languages has their own
writing systems
one example is Hangul which is the
primary korean writing system and when
you take all the Hangul characters and
put it into a unicode block you get a
block that's about 11,000 glyphs large
so there's a lot of them and there's
challenges to using font faces with
thousands of characters it makes it
really expensive to design them which
makes it expensive to license them this
means that historically there have been
limited selection of the font faces that
are web-safe and common across devices
and moreover the files containing these
font faces are really huge they can
reach like 15 megabytes in size compared
to just like a Latin alphabet alphabet
font face which could be like 400 or 500
kilobytes and that can be a huge
deal-breaker especially if you're trying
to load these on mobile so these
limitations require clever workarounds
one very common workaround is to display
text and images this is a this is a
Korean ecommerce site Gmarket in all the
text on this website in the navigation
our images and our huge benefits to this
it moves faster you can ensure the
quality the text rendering it's going to
look the same across browsers one method
to natively render fonts is called sub
setting this can speed it up so sub sets
are just like slices of a font file down
to just the characters you need to load
to show the characters on the page there
are some really cool solutions out there
a group of Korean designers and
developers added Korean fonts to the
google fonts project it uses machine
learning driven sub setting to group
commonly seen characters together to
reduce load times and when it's served
over the google fonts API if benefits
from cross-site caching so a user would
only need to load the font once in order
to see it across many web sites
okay so there's there's other languages
like Arabic and Hebrew they're read from
right to left and these require flipped
layouts that are called bi-directional
so anything that naturally goes on the
left in English like on the television
music art website when it's translated
into Hebrew would be totally mirror and
everything has to be mirrored down to
the navigation there are some CSS
frameworks that can be used to achieve
this like right-to-left CSS this will
automatically flip any directional CSS
property so like border left or margin
right would be automatically flipped and
but you can also specify like manual
processors to do this the next is that
text text also takes up a different
matter of space when you translate it
and I think that this could contribute
to some interpretations of like
non-english language web sites is maybe
cluttered or busy I see that on the web
but really I think it's a difference in
writing system and a lack of familiarity
and so the word views is actually three
times longer in Italian than it is in
English and just in my own informal test
this Thai translation of programming is
very fun and cool is 1.7 times the space
so if you're good to localize your
project it has to go further than
translating strings you can't translate
your translate your English site to
Arabic without building a bi-directional
layout and you have to account for the
expansion and contraction of text when
you translate it as well
so we're building interfaces to support
different languages
and but we know there are over 7,000 of
them and the application programming we
do like writing web apps in languages
like JavaScript all use abstractions in
English terminology so all the reserved
words in JavaScript are English and this
is even the case for languages like Ruby
which was invented in Japan and it was
five years between Ruby's invention and
the first English language book that was
published
but if we look at the top spoken
languages in the world we can see how
much of a disconnect there is right like
English is no more commonly spoken than
Hindi or really Arabic and much lesser
than Chinese click so what's happened is
that English has become a lingua franca
or a common or trade language for
computing it's kind of similar to Latin
in the Roman Empire who conquered their
way around a spread Latin everywhere or
Italian and music theory and adopting
common languages both spoken languages
and programming languages does have a
lot of benefits it makes it easier to
share code and communicate I don't have
to translate your piece of code into my
language in order to run it or
understand it and it makes it easier for
our work to be cumulative as developers
around the world and we can grow the
entire pie in software rather than
developing technology in parallel
specific to each language group so given
the prevalence of English and
programming and also in international
trade and diplomacy it goes the English
is the most studied language in the
world even though it's not the most
spoken language but also I think we can
also admit that code is not really
English
I don't know what a graph means but I do
know what it does I have been writing a
rough since I was like 12 and I don't
still don't know what it is so these
terms might be derived from English but
you can code without learning to speak
it although you do have to become
familiar with the Latin alphabet I think
I would describe code as a new dialect
of English in many ways some programming
tools skip English based code altogether
though this is scratch with which is a
block based programming tool developed
at MIT it's used by kids in schools and
museums around the world about half of
the scratch users are out of the US and
Europe and the block abstraction makes
it really easy to translate each of
these logical blocks into and
foreign language and research done by
MIT has shown that kids do learn how to
code faster when they use their native
language and also just because reserved
words in in the programming language
languages we use are in English doesn't
mean they can't be replaced and so this
is a project called your lang which is a
node like language in Yoruba which is a
language spoken in Nigeria and projects
like these I think could help
non-english speakers get into
programming in the beginning but I would
also love to see a future where were
able to inner translate languages like
these like I don't see why we couldn't
translate these reserved words back in
English or into any other language and
run it developers also want to read
documents documentation and debug issues
in their native language so this is
especially important for developers who
don't speak English translations
channels for discussing programming and
computing in your native language
benefits everybody and it's great for
non-english speaking developers it's
actually critical and they are already
doing it but also by adding these kinds
of spaces and translations to
open-source projects can draw more
developers into the project and make it
more inclusive and people find
translations so valuable that they will
do it themselves Docs china is an
aggregator of chinese translations of
open-source projects which many of us
were familiar with a lot of these in
this list I think this is really cool I
think that people are doing this for
every major language but there are some
problems with these unofficial
translations right there less
discoverable they're not attached to the
main project website and there's more
opportunity for them to grow stale as
the base library changes and there are
ways to improve this right so the react
project has led a project to add
translations to their core documentation
I think doing that is a really good way
to recognize that you have an
international community and now Allison
built a bot to open pull requests
in each translation whenever changes are
made to the English Doc's
I know that this was inspired by the UJS
team I think it's a really great
strategy for keeping translations up to
date but also keeping it together in the
in the main project UJS also has a
discord server it includes native
language channels this gives folks an
entry point to find help and connect
with other devs from their area I also
know that there's a really strong view
jeaious Japan user group and they have
their own slack channel organized
translations of sort of ancillary vue.js
libraries and blog posts and community
events so incorporating those I think
can go a long way to making sure
everybody is heard and included in your
project so cultural attitudes play a big
role in how technology is used these are
things these are the beliefs people have
their lifestyles their taboos what's
okay what's not okay and all the other
values that each culture holds and it's
really hard to quantify anthropologists
and researchers have been trying to do
it for a long time there's a framework
called Hofstede's cultural dimensions
which is used in some marketing research
in e-commerce research it's not perfect
I really don't like the nurture versus
power gendered dimension but I think it
can help think about how different
societies approach life overall
so some societies might be more
comfortable with uncertain situations
some might be more focused on
maintaining tradition others are more
future oriented some care about
collective success others on individual
success and it gives us a framework to
compare different nations cultures in a
more objective way or seemingly
objective way so for example Egypt Japan
and Russia all have really high
uncertainty avoidance in this study
compared to the u.s. whereas the u.s. is
really highly indulgent in the
individualist um and I think that these
kinds of differences show up in
subconscious ways and the way that
technology and websites are built this
is a website for purchasing tickets for
the Ghibli Museum New York Tokyo
it's a notoriously busy museum it's hard
to look up it books out months in
advance and on tourist site it's really
common to see all the information laid
out with step-by-step instructions with
screenshots on how to use the software
and all the information is spelled out
really clearly so even if you don't get
in you know why and let's compare it to
the bird museum in LA and once you dig
into the site you realize if you don't
buy a ticket you're gonna have to stand
in line and you start to see all of this
uncertain language like the chance of
getting into this exhibit or the
probability of seeing this this one so
you don't actually know first if you can
get into the museum when you go and you
don't know if you'll be able to see all
the exhibits and I don't know if this
would fly in a country with high
avoidance of uncertain situations and
you get comments like faces it really
grows on you it takes a second you're
like okay I have an example personally
at my company ribbon I work on tools
that help people purchase homes so the
team designed and built this really
elaborate sales funnel tracking tool it
was well spaced I think pretty well
designed but the the users our team kept
going back to Google sheets they kept
asking for like additional information
and we would say just click the name of
the buyer and go to the detail page so
but then they kept going back and like
doing all this data entry and eventually
we gave up we replaced it with this it's
an embedded spreadsheet from our bi tool
called periscope and it turns out what
they actually needed was something
really compact with no scrolling and
highly flexible so they can add any
columns that they wanted without asking
us and so by throwing out what we
thought was a really nice product and
replacing it with their presumably worse
and uglier one actually better methods
with the team
another example on the cultural
dimension scale China is a very low
uncertainty avoidance country and really
high on future orientation which means
they're more willing to deal with
ambiguity and very adaptable to changing
technology for comparison the United
States scores very low on future
orientation it's more stuck in
preserving tradition and so we see that
payments everywhere in China from Street
markets to taxis to restaurants are now
being made through QR codes and payments
in an app called WeChat which is totally
ubiquitous for social networking and
payments it's an app that has a billion
users which is crazy this came about
years before we started to see this pop
up in the US with companies like
snapchat and venmo and we're really
starting to see China rapidly outpace
technological innovation in the u.s.
when this changes how you actually
launch startups and so Chinese startups
will start to make these light web apps
before they make desktop apps these are
meant to be accessed via QR codes and
load-in we chats browser so this is me
looking at it and recording it from my
desktop site and that's why there's a
black bar on the right you're just not
supposed to look at it from your
computer
another final silly example of this just
to bring it back home this is the Sunday
comics
I love reading comics I think you get a
good mix it's all really pretty and
brightly colored and compact and this is
what happens when you translate it to
the web without fully thinking through
how people might like to read comics and
I think that it's missing a little bit
of the heart of how people want to read
comics so the third factor is that the
Internet is not totally free all
Internet infrastructure is ultimately
provided through private companies and
so it's subject to national laws one
example in recent history is China
blocking Google api's for us and
developers to find mirrors and
alternatives the latest status now is
that they're being served through
Beijing servers in Europe there's laws
called gdpr which forces European sites
to ask for users consent to use cookies
and in South Korea there are strict
regulations on online payments so for
years users have needed to use Internet
Explorer download ActiveX executable
files and manage local certificates to
authenticate desktop payments and this
is definitely changing
but it has also pushed a lot of online
payments to mobile and some kind of
sometimes countries fight and levy
sanctions against each other just
recently an Iranian developer named
Shaheen wrote this blog post about the
effects of the recent sanctions by the
US the sanctions brought down sites in
these countries they restricted access
to services like gitlab docker Android
dev it requires developers to use
proxies and VPNs to bypass the sanctions
which is questionably illegal for these
developers and dangerous for them to do
github has had to comply with the
sanctions they restricted developers
access to private repositories and
gist's it was done so abruptly but these
sanctions are painful for everybody
nobody wants to break the law right and
including github who would get in
trouble for not complying with them so
it's a really sticky situation a bunch
of devs banded together to make this
github do not ban us repo and github did
soften their restrictions and make it
easier to recover from but this is going
to continue to be a problem and the the
final category is Internet
infrastructure it's very different
across the world so if we look at
desktop versus mobile across the world
we can see that overall Africa and Asia
are much more heavy on mobile Internet
traffic in India 70% of visits visits
were mobile to sites using the
StatCounter analytics tool and the u.s.
it's more 50/50 so you can imagine that
if you were launching a product in a
place like India you would start with a
mobile experience rather than a desktop
one and broadband access which is
defined as like high-speed stable
Internet is also not equally distributed
there's a really big gulf in broadband
access between the developed and the
developing
developing worlds and people in rural
rural areas in every country also
frequently experienced low connectivity
so there are projects from giants like
Google and Facebook trying to bring
connectivity to these places - like
varying degrees of success
but also these countries are rapidly
trying and doing a lot of work to build
in an infrastructure themselves that's
the primary way people are coming online
so places without stable internet
experience slower speeds and
intermittent connections that drop in
and out this can make using apps and
websites really frustrating so
developers can improve the user
experience in these places by offering
offline support using techniques like
local storage and service workers to
cache to cache data locally and build
progressive web apps to turn our web
apps into seemingly native mobile apps
there's actually a talk here at the
conference on day two about this I'm
really excited to go to that one this is
a screenshot of the Africa so Kony
progressive web app it's a Kenyan online
marketplace and so all you have to do is
hit share and add to homescreen and it
becomes able to cache content locally
and use service workers to keep that
functional and while the connection is
either stable or drops in and out these
kinds of apps also take up less space
the native apps which could be important
for users that may have may be using
budget phones and it's really well
documented that companies that launch
these progressive web apps see huge
gains and usage and conversion so that's
a really whirlwind tour of just a small
selection of the types of challenges and
solutions that developers around the
world are using really each of these
categories could probably be their own
dissertation I find it really
fascinating but I also think that
there's ways we can apply this to our
everyday work the first is that I don't
think user empathy is just for product
managers or designers we can use it to
make the right technical decisions for
the platforms we build for our products
and for our open-source software we can
use it also to localize to our own users
and making sure we understand what our
users needs really are like in the
example with replacing our tool with a
spreadsheet and if you know that your
company will be expanding into new
markets or already has users in
international and other markets you can
architect your application in a way to
reach those people in the way that
they're most comfortable and I believe
that the people who do this will win the
will win the hearts of users and benefit
the most from the growth of the Internet
connected population we can also support
our friends around the world we can
think about and include developers who
might not have the same access a lot of
tech companies are based in San
Francisco we can make translations a
priority we can work on if we if you
work on developer services or open
source projects I think you should look
into some of the successful patterns we
talked about like building translations
into your project and you can start
small by linking to unofficial
translations and starting to find
partners in the international community
and finally I think sanctions and
censorship are especially hard to fix as
individuals but we can try to give we
can give platforms to our friends who
are affected by them and we can make
noise and we can push companies with
power like Microsoft who owns github to
stand up against them and finally when
you come across a website or an app that
isn't what you're used to whether it's
local or foreign try to think about the
cultural context in which it was made
this is a concept called cultural
relativity it's a really core
anthropological concept that helps you
stay objective and helps you avoid using
loaded terms to describe UI as like
cluttered or text axes old when it may
be a lack of context and understanding
and we can use this to be more inclusive
and empathetic with each other and I
think to build the right thing for
people so I think we can embrace culture
in our technical practice and remember
that technology is really deeply
intertwined with culture and use it to
your advantage
so if you deeply understand who you're
building software for you and your
software and the world will be better
for it thank you so much
[Applause]
[Music]
[Applause]
[Music]