Hi all,
I really like the general idea! However I'm quite unclear on how the details could/should work...
Most important question from my side: What type of update mechanism do we actually have in mind?
1. Simply notify the user "Hey we have a new version, visit our homepage to download!" 2. Automatically download a suitable package for the user and start installation. 3. Some even more sophisticated update logic inside the updater.
I think option C is pretty much out of question as it's almost impossible to implement and I guess it's unlikely we can get it right across all OSs. (Unless of course there's cross platform software designed exactly for this purpose and we're willing to switch our packaging...) Even option B gives me a headache: We do not only have to support a lot of different OSs but on each of these OSs we have different packaging options. How do we decide which is a "suitable package"? How do we avoid to interfere with packaging options that already provide automatic updates? Last but not least, option A: While this is probably the easiest to implement and mostly OS-independent even here we have some complications: If we release Inkscape 0.92.3 but don't have a Windows package yet - do we notify Windows users anyway? Or do we differentiate here? If we differentiate OSs - should we even differentiate individual packages? If we differentiate individual packages - what do we do if we discontinue a package or can't offer an update package for any other reason? If we differentiate individual packages we're also back to the problem of option B and have to keep track of what package the user actually obtained in the beginning.
I don't want to sound too pessimistic, but at this point I'm unsure if anything beyond a simple notification for a new Inkscape version (OS and package independent) is feasible without an unproportionate amount of work.
Obviously we could leave it to packagers (as we basically do now) so we do not have to deal with OS differences in Inkscape itself but that kind of defeats the whole purpose of this thread as I assume a unified solution with metadata provided centrally from the homepage as Martin mentioned would be preferable...
Let me know what you think... Maybe I'm overlooking something and a solution might be easier than I can imagine!
@tghs: I'd be happy to get together with you, but while we're still unsure how the process could look it's probably a bit early to even think about UI...
Regards, Eduard
Am 14.09.2017 um 04:53 schrieb Martin Owens:
Updates:
From the website perspective, the plan is to provide a simple json and rss feed for inkscape itself to consume. This would give information about new versions, as well as other important updates. Optional community updates would also be available through a similar feed.
When thinking about what kind of system we should use, we can think about how this website system will deliver information to inkscape or it's wrapper updater systems.
Best Regards, Martin Owens
On Wed, 2017-09-13 at 11:47 -0700, Victor Westmann wrote:
Hi Tim,
Thank you for your observations. I guess that this will need to be further discussed if it is desired and in case it is on how many operating systems this could/should be done.
Just thought it would be really nice to have something similar to this since notepad++ has it. VLC also has something similar.
It's good to collect feedback on this.
Thanks.
On Sep 13, 2017 10:54 AM, "Tim Sheridan" <tghs@...3462...> wrote:
I am aware that in Linux and MacOS environments updates are a
more automated
task and usually happen in the shell or CLI side of things... but
I would
just like to suggest this and collect the feedback on the
possibility of
this feature.
Mac diversion from me here. For CLI software, things are mostly managed by a package manager like homebrew, macports, fink, etc. But, for GUI apps (ignoring Mac App Store distributed apps), they commonly do their own version updating. A very popular technique is to use a similar kind of library to this one called Sparkle (https://sparkle-project.org). Though, it has update version check logic client-side, with just an RSS feed containing entries for app releases server-side.
Sparkle integration is something I've got on the list to look at with the Mac build. Basic integration into Inkscape is pretty simple when adding it to an Obj C app wrapper (the replacement for the <= 0.92.x Carbon wrapper). The tricky bit is getting it to integrate with a Inkscape preferences UI to set things like enable version checking, version check interval, enable beta release channel, etc.
If there's interest in doing a Windows self-updater, it'd be useful to discuss what would be desired for a preferences UI so we can work out a common UI for that, if possible.
Cheers, Tim
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel