Hi together,

personally, I'd really like to see option C to happen, though of course that would mean the biggest effort.
Having said that, Victor mentioned Notepad++'s installer, which is one of the best I know regarding UX. The program tells you when there's a new version available and the installer itself recognizes the current installation configuration and preselects the update options accordingly. So, the user just has to click through the installer without having to adjust anything to get the installed version updated.
Also, LibreOffice's installation experience is quite similar to the one of Notepad++, with the difference that you have to download it manually.
Even one step beyond Notepad++'s one is FileZilla's installer, which not only recognizes the existing installation options but only requires like two or three clicks to get updated.
Speaking of those programs, I just know their installation routines on Windows and don't know if they work the same on all supported OSes.

So, I'd say the Inkscape team should reach out to the people behind those programs and ask them how they implemented their solutions.

If their solutions (which cover option B and C) are not feasible for Inkscape for whatever reason, option A would still be a big step forward. Having said that, the recognition for whether there is an update really needs to be correct for a good UX. Taking Eduard's example of a user getting an update notification, then going to the website and realizing that the new version is not available for their system would be really bad from a user's view.
So yes, the update routine needs to differenciate between OSes and packages.

Sebastian

On 16 September 2017 at 14:22, Eduard Braun <eduard.braun2@...173...> wrote:

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@...3243...84...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@...3243...84...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@...1656...784...sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-devel