🎓 A short learning guide to web stuff for linguists

We talk a lot about the relationship between language documentation and technology around here. I imagine most everybody on this site is already a linguist, but maybe not a “technologist” (whatever that is!).

But as the saying goes, the more you know

It’s more interesting (and approachable) than the title sounds, I promise.

If we are going to move into a more web-ready approach to doing, using, and distributing language documentation, we’re going to need to crank up our understanding of the fundamentals of the system we’re going to build on, for which I think the most convenient and appropriate name is “the web platform”.

One way to think of what the web platform is is simply to think of “all the stuff that has to work in order to make a web browser work.” Of course, strictly speaking, that means everything that is necessary to make a computer work, and that means we’d all need a degree in, well, electrical engineering, physics, maybe quantum mechanics… yeah, no.

So what should you know?

I’d suggest starting with this fantastic course from Khan Academy called Internet 101. It has really high production value, and narration from (among others) one of the people who created the internet, Vint Cerf. It has nice animations, and the videos are short, the first one is only about 7 minutes long. Worth your time!

Suggestions about things you might want to familiarize yourself with

For people who are interested in getting more involved in the connection between language documentation and the web platform, you probably want to try to get surface familiarity with at least these topics:

IP addresses Roughly, an IP address is a ‘street address’ of a computer which is on the internet — a server.

The DNS system Connects more memorable IP addresses and domain names.

HTTP Hypertext Transfer Protocol

This one is really important; it’s how browsers and servers communicate. HTTP is based on what’s called a request/response model, or client/server model. When you type in a web address in your browser, your browser first “resolves” the domain name into a number (using DNS), and then sends a request to that server. Like a postcard, your request includes a “from” address — which is (roughly) the IP address of your computer (well, your home network’s router). The server then sends back whatever it decides is the appropriate… well, response. Usually, that’s an HTML file.

HTML Hypertext Markup Language

You’ve probably heard of this: HTML is of course the default format that a server sends to a client, this is the text format used to write web pages.

CSS Cascading Style Sheets

Another text format that is used to encode rules about how HTML pages should look. Colors, layout, typography, etc.

Javascript Client-side (usually) programming language

Javascript is the most popular programming language in the world. This is in large part due to the fact that it is the default programming language in web browsers — you’re using it right now as you browse forum.docling.net. Javascript programs may be embedded into HTML pages, or else “linked in” from web pages.

:mega: Once you understand everything up this point, you’re ready to grasp what I would argue is the topic which is most directly relevant to language documentation, and which is also the most poorly understood by linguists.

Web APIs Application programming Interfaces

Another rather inscrutable acronym, whose expansion — Application Programming Interface — is not terribly enlightening either.

Think of it like this: your web browser can do a bunch of stuff, right? Most fundamentally, it can request, read, and render HTML files. The request for an HTML page can lead to many other requests: images, media, CSS and Javascript files, and so forth. Then the browser puts all those things together: it applies CSS to HTML pages, and runs Javascript programs, and sticks images and media where the HTML author wanted them to be.

Obvious enough. But there’s more.

What is Javascript actually for? Obviously it’s a general programming language, but it’s in the browser primarily to use Web APIs. Those APIs describe how to make use of particular functionalities that browsers can handle. And those functionalities are each described with their own “specifications”. There are a ton of them. The do all kinds of things: graphics, audio processing, video conferencing, audio and video recording, databases, using your freaking gamepad… so many things! Just discussing the range of things they do would be worth a whole ’nother post.

:mega: THERE ARE A ZILLION THINGS THAT CAN BE DONE FOR DOCUMENTATION WITH THESE APIs.

They’re open, they’re free, they’re powerful, they’re future proof. We should use them.

There’s a ton more where the video above comes from at Khan Academy — more videos, lessons, quizzes, etc. You can decide which bits you care about. Check it out:

https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:the-internet

4 Likes