NEW FEATURE: Running ImJoy offline with PWA support

Hi all,

We are happy announce that ImJoy has now full support Progressive Web Apps (PWA) – a standard aims to greatly improve user experience of web applications. An important concept is to provide connectivity independence, namely allows the web app disregard the presence of internet.

While being connected allows ImJoy delivery new features and bug fix in much faster paces, it’s also important to support cases when the connection is poor or no internet at all. Previously we have already supported running ImJoy offline by running a local web server to serve a mirrored ImJoy website instance. But that requires to run an additional server and most of the plugin will fail to run because they depends on remote assets. By introducing a new caching service ( called service worker) supported natively by modern browsers, all these issue can be solved easily. ImJoy and its plugins can be saved in the browser cache and the service worker will emulate the server when there is no connection.

It is naturally to wrap ImJoy as a PWA because ImJoy is a pure static web app requires the server only when loading the app to the browser. All your data are processed offline in your browser or in your plugin engine. After all, we don’t run any server for serving the ImJoy app, it is all hosted on Github as static files.

PWA support is an important step to improve the user experience of ImJoy, not only supporting offline, it make plugins load faster, and more secured. If you open from Chrome (desktop or Android) or Safari (iOS), you will find the option to install ImJoy to your desktop or home screen. I posted a video on twitter to show how to add ImJoy on iPhone and then work offline.

Feel free to try the ImageAnnotator plugin, you can annotating images in your desktop browser or on a mobile device with touch screen as shown in the video.

More details can be found on and our recent preprint:

Feedbacks are highly appreciated!