Elegant Auto Updates for Qt - Feedback Wanted

  • Dear fellow Qt developers,

    first of all, I hope this is the right place for this topic. If not, I would like to apologize in advance.
    I used to be a Qt Ambassador in the ol’ Nokia days but I’m still new to this forum :-)

    I’ve been developing desktop apps with Qt (and other frameworks) for many years now and I found myself rewriting boilerplate code over and over: Every one of my applications needed auto updates.
    Of course, there are frameworks like Sparkle that help you with that but none of them are really great when you’re trying to have a good user experience across multiple platforms.

    So I came up with DBLSQD.
    DBLSQD is a Release and Update server that provides your application with information about new releases.
    You can use DBLSQD through a simple CLI tool that does all the work for you: Uploading a new release, creating a changelog, distributing it to existing users and creating a changelog.

    You can either build your own UI around DBLSQD with the SDK or use the drop-in GUI.

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

    Site: https://www.dblsqd.com
    Docs: https://www.dblsqd.com/docs/integration/qt

    P.S: Here is what integrating DBLSQD into a Qt5 application with the drop-in GUI looks like:

    #include "dblsqd-sdk-qt/feed.h"
    #include "dblsqd-sdk-qt/update_dialog.h"
    dblsqd::Feed* feed = new dblsqd::Feed("https://feeds.dblsqd.com/:app_token");
    dblsqd::UpdateDialog* updateDialog = new dblsqd::UpdateDialog(feed);

    Screenshot of the DBLSQD drop-in GUI for Qt

  • Moderators

    Hi! To be honest, instead of adding another remote attack vector to the users' computers by having yet another half-baked self-updater, I'd very much prefer integration with the operating systems' native package managers.

  • @Wieland said in Elegant Auto Updates for Qt - Feedback Wanted:

    I'd very much prefer integration with the operating systems' native package managers

    That's not really an option in windows though.

  • I very much appreciate this project! Thanks! Will look into this seriously - we need such a thing for Mudlet too.

  • Moderators

    @VRonin If I understand this correctly, Windows 10 has a native package manager named "PackageManagement".

  • @Wieland @VRonin I agree that package managers are generally preferable but there are two are two major problems:

    1. Package managers only provide additional security when you limit yourself to software provided by the OS vendor.
    2. Package management is only really available on Linux, macOS doesn’t have any package management and OneGet on Windows isn’t really geared towards the general public.

    So, in my mind, the best way to make sure users have easy access to the latest version of your software - and thus avoiding potential security problems with older versions - is using some sort of update mechanism like Sparkle or DBLSQD.

    But I didn’t mean to start a discussion on Windows vs Linux or the utility of auto updates in general :-)

    So, if anyone here still hasn’t been scared off and would like to give DBLSQD a try, I’d be happy to help them set it up and hear their feedback.

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.