Easier Auto Updates - Looking for Feedback


#1

Hey everyone,

first of all, I hope this is the right place for this topic. If not, I would like to apologize in advance.

I’ve always found electron.autoUpdater a little cumbersome. The API is different for Windows vs macOS and Linux isn’t even supported. On top of that, you need a special server-side setup that is different for each platform.

I also noticed that - whether I was using Electron or other desktop toolkits - I kept building solutions for auto-updating my applications over and over.
So I came up with DBLSQD.
DBLSQD is a Release and Update server that provides your application with information about new releases.
It allows for cross-platform (Windows, Mac, Linux) auto updates that include changelogs (another feature missing from electron.autoUpdater).

You can either build your own UI around DBLSQD with dblsqd-sdk or or use the drop-in UI dblqsd-electron.

I’m only just starting out with DBLSQD, so I’d love to hear your feedback and thoughts on it!


P.S: Here is what integrating DBLSQD into an Electron application looks like:

const {Feed} = require("dblsqd-sdk")
const {UpdateWindow} = require("dblsqd-electron")
 
let feed = new Feed("https://feeds.dblsqd.com/:app_token", ":channel", ":os", ":arch")
let updateWindow = new UpdateWindow(feed)

#2

I’m not an Electron developer, but this looks great. You should submit a PR to awesome-electron.


#3

Cool, thanks for the suggestion, I shall do that :slight_smile:


#4

Hi,

electron builder also supports auto update other than electrons default autoupdate https://github.com/electron-userland/electron-builder .Please check out that link you may get more ideas on auto update.

Thanks
Jk


#5

Hey there @myfrndjk, thank you for your feedback.

I am aware of electron-builder but DBLSQD does something quite different: It provides the infrastructure for managing, uploading and distributing updates.
In fact, DBLSQD is not concerned with the build process at all and I’m even planning a PR for electron-builder to add DBLSQD support to (since they already support different deployment targets such as GitHub, Bintray or S3).

Also, since electron-builder relies on the update mechanism of electron.autoUpdater (or NSIS), you cannot have changelogs, website integration and friendly user notifications with it :slight_smile:


#6

I’ve started using DBLSQD in my production app, and so far, it looks like it finally solves the pain that autoUpdating has been for me!

It takes care of everything from providing a command-line tool to create releases, different channels, and to upload your updates (to S3, or other providers).

From the user’s point-of-view, the process is very streamlined. They are presented with a nice UI of changelogs, options such as “download now”, “remind me later”, “skip”.

It took a few tweaks to sort out initial bugs, but now it’s working like a charm. And in the end, it does everything I need with only a few lines of code/configuration.