One of the things I enjoy about working as both an instructional designer and as a programmer is using technical knowledge to come up with new instructional design solutions and showing them to other instructional designers. While technical knowledge is not a must-have in an instructional design role, it definitely helps when planning an organization-wide training program or trying to use the right terms at an I.T. meeting.
In this post we’ll cover the idea of web servers and clients, one of the key concepts of the world wide web, and how it impacts the development of Elearning.
Elearning is very dependent on the internet. Although there are still non-connected elearning programs out there, they are now few and far between (remember when MS Encarta encyclopedias came on CDs?). Web developers use the concept of server side versus client side when designing and maintaining their applications and sites. This concept separates the many different technologies used on the world wide web into 2 categories that are made for very different purposes.
The server–side technologies are used to publish content on the internet; they are like libraries making their books available to everyone. Client-side technologies are those used to access data on the servers; they are like members borrowing books from the library. Although we would call all the pieces involved either “programs” or “computers”, they each have different specializations to consider.
In general, server-side technologies are best for dealing with data that is universal to everyone. Client-side technologies are great at creating an experience for the user. This difference can be helpful for any internet application and eLearning.
Web servers are not a single technology but a whole bunch of technologies working together in an interconnected way. The machines behind our web servers today are faster and hold more data than ever but the main idea remains the same: putting your content and communications online so other users can access them. Each webserver is a computer with specialized software to store lots of data, run scripts, and make content available to an audience over the internet. These specialized software include operating systems, web server software, databases, scripting languages, and file systems.
Every web server on the internet has an Internet Protocol (IP) address, a set of numbers and letters that act as an address. Domains are user friendly names that point to a specific IP address so users can type in names instead of what feels like random characters to get to their destination (like “Cogcentric.com”). Universal Resource Locators (URLs) are text that points to a specific resource “https://cogcentric.wordpress.com/” including the domain name, the protocol (e.g. “https” hypertext transfer protocol secure), and potential more information to specify a certain page or file to open. The URL is what you would type in the address bar of your browser.
How are web servers useful in instructional design?
As an instructional designer, you will constantly find yourself needing to make your content available on the internet whether it is an interactive SCORM file or a PDF file you want your learners to download. On the internet, these files are stored on a web server so your users are just one click away from accessing their training through the use of URLs, domains, and IP addresses.
Commonly a Learning Management System software is installed on the web server to add even more capabilities for your training program such as content publishing and record keeping. Software that provide services for everyone that accesses the system is usually stored on the server side.
Devices and Browsers
In the old days, a connected device meant a big desktop computer that could be plugged into the internet. Now, there are many more devices that can connect to the internet through a wired or wireless connection. Desktops, laptops, tablets, and phones are everywhere now and each one can be used to effectively deliver elearning content. Regardless what kind of device it is, its purpose is to connect to the web servers and bring that information to the end user. These devices that connect to webservers are often classified as client side and they use specialized software to retrieve data, interpret data, and display data in human-friendly ways.
One of the most important software on a client side device is an internet browser. Browsers such as Chrome, Edge, Firefox, Safari, and more are responsible for accessing web content form a server and either downloading them or converting them into media like displaying text, images, videos, and more. Other client side software might include email clients (that send and receive emails) and File Transfer Protocol (FTP) clients (get download and upload files).
How is knowledge of devices and browsers useful in instructional design?
How your content is displayed to the learner is entirely dependent on client-side technology whether you are publishing your content as HTML, video, or even Flash (a technology that dominated elearning and web games for a decade). Considering client-side technology means identifying the tools your learners will use to access your elearning and building accordingly.
It can be hard to keep up with all the ways learners might be accessing eLearning content but it is important! Make sure to track the statistics on what devices your learners are using to access your online resources. Are your learners using large screens or small screens? Do they have touchscreens or mice? Do they have a camera and microphone enabled? These are client-side technologies that can shape the elearning approaches you might plan and implement.
Conclusion: Know the difference between client and server side.
Understanding the difference between client and server technologies can make a big difference in how you plan and troubleshoot your elearning technology.
Example 1 client vs server online assessments: When planning how to deploy an online assessment, you might consider options that mark the user’s answers on the client side or server side. If marking is handled on the client side (such as an Articulate Storyline output), all the marking information will need to be sent to the client’s device. Tech-savvy users might take advantage of this to look through the code being sent and find ways to cheat. Marking handled on the server side might be a bit more secure because while the client has to send the results to the server, the answers are never sent to the client, only the results.
Example 2 client vs server side troubleshooting: If you a troubleshooting an issue for a user, it’s always crucial to find out what device and browser they are using. A client-side problem might be the result of a particular piece of functionality that doesn’t work with a particular browser or device. Internet Explorer was the bane of many web developers because they interpreted web content so differently from the other browsers resulting in client specific problems. Server-side problems usually affect everyone equally. This can help you narrow down the problem to something happening in your content or an issue with your LMS.
I hope this post helps you join in the discussion on what client-side vs server-side with regards to elearning technology. If the web developers have designed around this paradigm for decades, why shouldn’t instructional designers? What technologies do you implement in your training programs? Does it separate server and client functionality in a way that works best for you?