Context is very important in everything we do. Whether it be using a computer, a bicycle or slapping someone in the face.
Take the case of a computer. The design of the computer will depend on the context in which the computer will be used, to write a novel or play games. Similarly, design of the bicycle will depend on the context in which it will be used, to race or to just ride it for pleasure.
To design a great product, you need to understand the context in which the product will be used.
This applies to the design of web applications as well.
While designing any web application or for that matter any software, you need to understand the overall context in which it will be used.
For example, if you are designing a Warehouse Material Management web application, then your immediate thought is to design your application for tasks that are carried out inside the warehouse. But to get a better idea of how the web application will be used eventually, you may also need to understand from where and how the material is coming in and going out. More on this in a moment.
This broader picture will help you understand the overall context in which the application will be used.
Now, in case of web applications, most of the times, understanding the context in which it will be used can be easily done by understanding the flow of data. Particularly the following 2 things:
- How Data is Coming In and
- How Data is Going Out
How Data is Coming In
While designing a web application, you need to understand when, how and from where the data is going to come into the web application.
In the Warehouse Material Management application example, you need to understand how the data about the material being stored in the warehouse will get recorded in the application.
The material data can come from Suppliers, who supply the material, in the form of paper sheets or from a Supplier owned application.
If the material data is coming in the form of paper sheets, you will have to design your web application to take in that input. And if the data is coming in from another web application, then you need to provide integration points for integrating your web application with that application.
You can refine your design further by considering the frequency at which the data will be coming in.
If the material data is coming in every hour from Supplier’s application, then you may need to think of providing an automated way of scheduling the data transfer so that everything happens without any manual intervention. But if it is coming in once a month, you may think of asking the users to manually kick off the data transfer process.
Having a good understanding of how the data will come inside the application will help you understand the context in which the application will be used and you can then design for it.
How Data is Going Out
Understanding how data is going to go out of your web application and how it will be used later on is equally important.
You might me thinking, why should you care about how the data will be used once it is out of your web application.
The thing is, the data that is going out will eventually be consumed by some other application and if you have a rough idea of which applications may use your data, you can design the output accordingly.
Lets continue with the example of the Warehouse Material Management application. Say the material is received from the suppliers in the warehouse and is then subsequently sent out to retail outlets who have ordered for it.
In this case, the data is flowing into your web application from supplier’s application. Now when the material leaves the warehouse, you can output the data of the dispatched material. This output can be used by the applications at the retailer’s end to record the details of the incoming material. In this case, the data going out from your web application becomes the incoming data for the retailer’s application.
If you have an idea of how the retailer’s application will take in the input data, say in the form of CSV files or in a specified XML format only, they you can design your application to output the data in that specific format.
Designing your web application to take care of the outgoing data will help to make sure that your application integrates seamlessly with other applications.
Other than the Flow of Data
Understanding the flow of data, in and out of the application, will give you a better idea of the context in which your web application will be used.
But it is always not about the flow of data. Even understanding who uses your web application and how, will help you understand the context.
For example, say you are designing a web application that is supposed to store information relating to Car Tyres. If this web application is being used by a Car Tyre Dealer then he would most likely use it to track information of different models of tyres from various manufacturers. That information can be about the price, material, sizes etc. of the various models.
Whereas, if the same web application is used by a Car Tyre Manufacturing Company, then it will most likely use it for storing information relating to the models of tyres it manufactures. That information can be right from the concept stage when the idea of a particular tyre model was conceptualized to the retirement stage of that model.
As you can see, understanding who uses your web application and how can also help you to understand the context in which your application will be used.
The same web application when used in different contexts, will be used differently.
So it is important that you should always be aware of the context.
The Problem with Product Centric Focus
Many web application designers have a tendency to only think about what the users will do within the web application and how they can make their web application more user friendly and easy to use.
But the user experience of any web application does not start at the point the users start using it. It starts well before that and ends well after it.
Understanding the entire context in which your web application will be used, will help you in improving the overall experience.
What Do You Think?
Do you agree with what I have just said? Or do you have any other thoughts on understanding the context?
I will love to hear your thoughts in the comments below.
And as always, if you liked this article then please share it with your friends. I will highly appreciate that.