Running Native Applications in a Browser with Droplet Computing
Imagine if you could run Visual Studio Code, Sublime Text or any other application on your smartphone or another device?
Disclaimer: I attended Cloud Field Day last month and they paid for all of my travel expenses but I’m not obligated to write about the event and everything below is my honest opinion.
There were a lot of great companies at this event but as a developer and someone who is interested in containers, it’s no surprise that Droplet Computing stood out to me the most.
You probably never heard of them, but that’s because they were busy building their product in secret since 2014. They officially announced what they were doing at Cloud Field Day in April 2018. I commend them on that because not only was the event live streamed but 10+ experts with microphones were in the room to poke and probe everything they had to say.
What Does Droplet Computing Do?
Here’s how they describe themselves on their home page:
Droplet Computing is redefining application delivery with its patent-pending application container technology. Enabling applications to be delivered on any device by decoupling your applications from the OS for online and offline use, delivering significant business value by providing costs savings, increasing user productivity and so much more…
Their description sounds like they wanted to say “Run your native applications online or offline in a browser on any device.” but then they decided to run it through a buzzword generating A.I. to spice things up a bit.
Seriously though, what they are doing is really cool. Imagine running your favorite text editor natively in a browser on your smartphone, and it would work offline too.
But it’s much more than that. What if you had a super old medical application that only runs on Windows XP? I know it’s scary to think that your MRI software could be running on Windows XP but medical software is infamous for running on old operating systems.
With Droplet Computing, you could pack your legacy medical software along with Windows XP inside of Droplet Computer’s “Universal Container Runtime” and run it in a browser on any modern device.
That’s a huge win because replacing an MRI machine just to get a more recent copy of Windows would be really costly. There’s a number of security wins too.
How Does Droplet Computing Work?
Droplet Computing developed their own container runtime (Universal Container Runtime) that runs in a browser and even runs on both x86 and ARM based CPUs.
It being able to be ran on ARM powered devices is nice because a lot of lower end Chromebooks have ARM CPUs. Suddenly you could distribute $150 Chromebooks to people in need of education and let them run full blown Windows applications. There’s wins all over the place.
Ok, back to the details!
The core technologies to make all of this work are WebAssembly, WINE and a lot of C code.
Let’s say you wanted to run Frontpage 2000 (an old WYSIWYG HTML editor that ran on Windows XP) on your smartphone for nostalgia’s sake.
With Droplet Computing, you could end up having a Linux based container which runs WINE in it to emulate running Windows XP, and on top of that you would install Frontpage 2000 inside of Windows XP.
At this point everything is ready to be ran. Droplet Computing will create one big WebAssembly payload that you can run in a browser. As you use Frontpage in your browser, its instructions will get translated to WebAssembly which your browser will happily run.
If you want to learn more about how WebAssembly works, check out this article from Mozilla, but keep in mind it’s not important to understand it in depth because Droplet Computing does all of this for you.
It’s Demo Time
Now, you might be thinking, “dude, that’s so many levels of abstractions, I bet it’s really slow”. That’s what I thought too because I never used WebAssembly, but it’s actually really fast.
Running Sublime Text and Libre Office in a browser:
I wish they showcased more complex examples but it certainly looks usable for day to day activities. I’m also sure WebAssembly will get even faster as browser vendors improve it. It’s already a standard and widely supported by most browsers.
Droplet Computing is still a very new company at the time of writing this article. You can submit a request to try it out on their website.
There’s still some unknowns, but one thing is for sure, this isn’t just a wild concept. It’s being used in production right now by real companies.
The CEO talked about that during the Cloud Field Day event. If you want to watch all of those videos, you can watch them on Youtube.
It’s too soon to say if I would subscribe to their service but I am going to keep my eye on them. I do think the potential to run nearly anything in a browser is huge.
What types of apps would you want to run in a browser? Let me know below.