5 terms to know as a technical writer [part 1]

1) API

API stands for Application Programming Interface. It is used to describe any technology setup that enables two different software systems to communicate.

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.

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. 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 using APIs to get data from different airlines and providing software solutions to help users compare them.

APIs have become the backbone of modern software growth, enabling one system to connect the other presents endless opportunities.

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


2) AUTHENTICATION

The process of establishing that a fact is genuine is referred to as authentication. This phrase is generally related to proving a user's identification in computer programming.

A user often confirms their identity by submitting credentials, which is an 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 the 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 by the system.

Once the credentials are verified, the system will grant the user access to resources meant to be used only by that user.

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 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 has access to a particular resource.

Users of an app might have different access rights to different parts of the app. 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 a quick and easy to use code. Code snippets make it easy for you to include common and repetitive patterns of coding logic and syntax in your applications, 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, So 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. For example, by just looking at two version numbers one can tell if different versions of a software are compatible with each other.

  • The Major number is increased when the change made in 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 up.
  • And the Patch number is increased when the changes made are meant to fix bugs in software.

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