In the beginning, software applications were desktop ones. You know, the ones you download from the internet or install from a CD, and get pinged about updates you need to install.
We then moved to mobile applications. With the same story, you need to install it on your mobile phone, and update it now and then to get those latest shiny features.
But can we do better? Yes we can!
As a software engineer, your job isn’t stopped at writing software. You need to have a vision about the future, where the industry is heading, and to take advantage of anything new that can help you or your customers. I wanted to make it bold as this is totally different from using any new, hot, and trending technology. Your users do not care if you’re using a new shiny thing, they only care if it’s adding value to their interaction with your software. Balancing these two requirements, the developer’s and the users experience, is something you always need to keep in mind.
There is a type of applications having a good balance between users and developers. And this is where the industry is heading. It’s the web applications era! And this era is here to last. It’s not fading, it’s not a bubble, it’s here to stay for a long time.
Web applications are programs running on a server and use web pages as a way to interact with users. They are really different from desktop and mobile applications because they offer more freedom for users and developers at the same time (we’ll get more on those shortly). You can use web applications literally anywhere. There is no minimum RAM, CPU, OS version and other material related things we see in desktop and mobile applications. And this really suites this era, where everyone is having multiple devices and can not install your app on every single one.
Web applications are better for your users and for you, and we’ll discuss why:
Most people want the least work choice. And web based applications are the most convenient ones. To use a web application, you only need a browser connected to the internet. So you can use the application anywhere from any device: laptop, desktop computer, mobile phone, tablet, monitor on a fridge, smart tv, anything!
Before web applications, when you install an app on your phone or on your desktop computer, you can only use it on that computer/mobile. You are basically locked. But we are in an era where everything is connected. Annd your users will tell you, if I can access this on my computer, why can’t I use it from my phone? Do I always need to have a laptop with me?
1. When developing a web application. Your users can use your app from any device they want. You are providing freedom to your customers.
Every electronic device you buy can be lost, get stolen or just stop working. This means, all your applications and all your data is gone.
With web applications, there is no data saved on the device. All critical customer data is stocked on the servers and secured by people who are experts in this. Your users can be assured that their data is in safe hands and they can’t lose it even if they lose/switch their devices.
They also don’t need to worry about running an old version of your software. They don’t need to keep installing new versions, security patches, etc. It just works.
2. Your users are free from worrying about running an old version or losing their data when running a web application.
For you (and developers in general)
Use any language you want
When developing for mobile or desktop, you’re obliged to use a specific language for each platform. You can also use an hybrid solution so you can target Windows and macOS at the same time for example, which usually oblige you to use a specific language. The good news is, there is no such restriction for web applications.
3. When developing for the web, your software is running on your servers, and you own your servers. So, you aren’t obliged to develop in any specific language. You can use anything you want.
Supporting a web application is very different from any other application. When a customer ask you about something, you don’t need to ask him what version is he using, the operating system, etc. Because everyone is using the same version.
Secondly, all bugs can be reproduced. Let’s suppose you’re doing support for a desktop application and your user said he’s having a problem with an old version of your software. Also, he can’t update to a newer version because of some reasons.
Your only solution to this is find a computer, find the right version, install it, and try to reproduce the bug. If reproducing the bug needs some data, you’re in trouble as you also need to ask for data from your client.
4. In web applications, all bugs can be reproduced as you are all running the same version and you have all data you need to reproduce the bug.
When developing for Desktop or Mobile, releasing a new version is troublesome, with sweaty teams all trying to match a deadline and release a mammoth. When developing web applications, you can release as much as you want. In my team at Automattic, we deliver a new addition/update at least once a day. Sometime, it can reach 5 times a day. That’s 5 new versions in a single day. Without sweating.
5. Having the possibility to work on something then pushing it to the world in the same day/week is a huge confidence boost for the team.
This is why web applications are sold for a monthly subscription cost. You actually buy the access to the app, not a version of it.
So to sum up:
In web applications, we don’t sell you a new version of the software, because the software is already updated every single day. We sell you access to an always up-to-date app. That can be used from your phone, laptop, or any other device. And can keep your data safe for you.
If you’re planning to get a remote job in software engineering, it’s good to have an idea about web applications. At least, you need to know how things work in the web, how we serve pages, basic security advices, etc.
The web is the future, and you can see that from all those software engineering postings (remote or not). If you’re investing in learning web technologies, you’re doing a good job. If not, it’s never too late, you can start whenever you want.
It’s also never late to switch for a remote job too. Head to the Start Here page to learn more about it!
Thank you for reading, Ahmed.