5 Terms To Know As A Technical Writer [part 1]

1) API

API stands for Application Programming Interface. It describes any software setup that allows software systems to communicate with one another.

Servers are very powerful computers. Some have high computing power as well as ample storage capacities. Compare this to a mobile device, and it's far behind when it comes to these capabilities. However, mobile devices are portable and readily available to many people.

Now, take a platform like Facebook. It connects billions of people across the world. Imagine if most of the photos your friends share were all stored on your phone whenever you viewed them. The app will end up unusable.

So to benefit from the portability of the phone and leverage the power of computers, Facebook engineers use APIs to retrieve any information you might need from a server instead of storing everything your friends send onto your phone.

Another example is flight comparison sites, which use APIs to collect data from different airlines and offer software solutions to help users compare prices.

Using APIs to connect one system to another presents endless opportunities for modern software development.

As a technical writer, you will find yourself writing documentation to help developers use APIs.


2) AUTHENTICATION

Authentication is the process of confirming that a fact is true. This phrase is generally related to proving a user's identity within a computer system.

A user often confirms their identity by submitting credentials, which is agreed-upon information communicated between the user and the system.

The most common authentication technique is the username and password combination, commonly known as password-based authentication.

Take an example of websites that provide a user interface that requests a username and password. After the user provides these values, they are cross-checked against those provided and stored earlier within the system.

Once the credentials are verified, the system will grant the user access to resources meant to be used only by users with the same level of access.

Sometimes multiple layers of authentication are required to gain access to a system. Such a model is referred to as multi-factor authentication.

So a double-layer authentication will be termed two-factor authentication. This might involve providing a username-password combination and then receiving an SMS with a unique number sequence to be provided to the system.

Authentication provides security to the user's account and data held by the system. And the sure way to do this is for the system and user to know or have something that no one else does.


3) AUTHORIZATION

Authorization is the process of checking if a user of a software system has access to a particular resource.

There may be different levels of access within an app for different users. For example, some users might have admin rights which might include being able to edit and delete data.

Authorization rights are usually stored in the database and often can be edited by other administrators through a GUI interface

4) CODE SNIPPET

Code snippets are quick and easy-to-use code samples. Code snippets make it easy for you to include common and repetitive patterns of coding logic and syntax in your application, saving you time and freeing you to focus on writing unique code.

Below is a code sample in Javascript that appends a K or M to a number in the thousands and millions respectively. For example, if you wanted to represent a view count in your app this will be a good snippet to use.


01: function numFormatter(num) {
02:     if(num > 999 && num < 1000000){
03:         return (num/1000).toFixed(1) + 'K'; // convert to K for number from > 1000 < 1 million 
04:     }else if(num > 1000000){
05:         return (num/1000000).toFixed(1) + 'M'; // convert to M for number from > 1 million 
06:     } else if(num < 900){
07:         return num; // if value < 1000, nothing to do
08:     }
09: }


5) SEMVER

Semver versioning is a type of versioning that tracks major and minor changes as well as fixes using the format Major.Minor.Patch eg: 1.0.0.

Semver versioning provides a lot more information than using version incrementation. For example, by just looking at two version numbers one can tell if different versions of a software system are compatible with each other.

  • The Major number is increased when the change made to the software makes it widely different from the previous version and might result in major changes from the end-user as well.
  • When the changes made result in a change that is subtle and not too different from the previous version the Minor part is increased by a number.
  • And the Patch number is increased when the changes made are meant to fix software bugs.

Here is another article for you 😊 "5 terms to know as a technical writer [part 2]"