Most people are familiar with the idea of a website. A website is where an organisation, business or individual establishes a presence on the Internet. This blog article is on a website!
Websites at their most basic are built in HTML - a type of code (technically, a 'markup') which tells the web browser such as Google Chrome or Microsoft Edge, how the content should be displayed.
Generally speaking, a website is a static affair. That is, people, view it, read it and navigate it with image or text links that allow them to move from one page to another, but can not change anything. In most cases a website will provide the same content and experience to every user.
So what then is a web application?
This question is best answered by answering a different question: why do we need web applications?
To understand this we have to think about how software was produced and distributed in the pre-Internet age.
Does anyone remember buying shrink-wrapped boxes of desktop software from computer shops or department stores? The boxes generally had installation media such as CDs or DVDs which would then have to be installed on all the user's computers. When a new version was released, a new box of software and a new DVD would have to be purchased, and the process repeated. The upgrader program would essentially overwrite the old version.
If there was a bug, you might have to wait until the next release of the software!
The problem of maintaining desktop software in even small-to-medium-size organisations was a significant overhead - especially when installations or upgrades inevitably went wrong.
Web apps are programs that aim to provide the same rich functionality as traditional desktop applications, through a web browser.
This is where web applications (or web apps) come in.
Whereas desktop applications would need to be individually installed and maintained on every staff computer, the web app model means that the program runs on a single, central web server. This in turn means that it only has to be installed, updated and maintained in one place. Found a bug? Fix it on the web server and everyone in the organisation is immediately up to date.
We need web apps because they are a powerful and cost-effective method to introduce, maintain and deliver applications both within organisations and to the public.
So what then is a web app? Web apps are programs that aim to provide the same rich functionality as traditional desktop applications, through a web browser.
When is a website more than a website?
So, the first and biggest difference between a typical website and a web app is that web apps are dynamic.
Websites typically consist of just HTML web pages, images and a few other static elements, saved to the web server.
Web apps on the other hand are always driven by code. The code is executed on the web server and it can be made to work differently depending on the user identity, type of input data or some other conditions or criteria. In fact most web app code will often use or merge additional data from databases and other systems - sometimes even from other organisations.
It's important to realise that the website-web app distinction isn't a black and white distinction however. There is actually a spectrum with simple static HTML websites on one extreme and completely code-driven web applications on the other. Websites built with WordPress or simple CMS systems fall somewhere closer to the website end.
...the website-web app distinction isn't a black and white or either-or decision.
However, "websites" like Amazon or Ebay, CMS systems themselves, and "Software as a Service" applications such as QuickBooks, HubSpot, GSuite or Office 365 are firmly on the other end of the spectrum.
In any case, the boundaries between website and web applications are completely blurred to most end users. Websites frequently link directly into web applications and out again in a single user journey. Every time you log into a self-service portal e.g. your bank or broadband provider, you are entering a web application. The website typically represents little more than a facade to deeper and more complex processing.
There is a further distinction between websites and web apps. Content produced by web apps doesn't have to be HTML. In fact, the content doesn't even have to be human-readable! Actually, most Internet traffic is actually machine-to-machine messaging!
You see websites are about presentation - that is, they are meant to be consumed by other people.
Web apps are primarily services. They may, and often do, present information in the same way as a website. However, many web applications are designed and built specifically to interact with other web apps or databases or other systems. Web apps are therefore critical for integration work - passing information from one system to another. This information needs only to be comprehensible to the systems communicating with each other.
How do I work out what I need?
- If all you want is to promote your business, highlight your brand and services to the general public a website is adequate.
- If you want an interactive web-based system, e.g. one that offers a log in function and elements of self-service, you need a web app.
- If you want to capture and retrieve information, produce reports or share information with other users with access controls, you need a web app.
- If you want to exchange information with another system over the Internet - you need a web app.
- If you want to create a system that aggregates information and provides it to other systems: websites, mobile apps, third party systems etc., you will need a web app.
- If you need to solve an internal business process problem, perhaps streamlining capture or movement of information or producing reports, again an appropriately secured web app might be the solution.
However, as I said earlier this is not an either-or situation.
Many businesses have a general purpose website which acts as the gateway to a web app to develop deeper interactions with customers through a log in link. A website may even enable staff to link to business applications (so-called extranet) so they can easily work from home or out of office..
If you want to find out how a web application might fit into your online presence or streamline your business get in touch.