graphsketcher / GraphSketcher

A fast, simple graph drawing and data plotting app for OS X and iPad.
1.62k stars 136 forks source link

How to provide automatic software updates? #8

Open kc-omni opened 10 years ago

kc-omni commented 10 years ago

When GraphSketcher was still OmniGraphSketcher, it was set up to handle automatic software updates using our open source OmniSoftwareUpdate framework. We didn't want the open source app to be dependent on Omni's software update feeds at update.omnigroup.com, so we pulled that integration before we published the app to this github repository.

If anyone does start working on GraphSketcher here, though, it would sure be nice if people using the app could get notified of those updates without having to check a webpage.

So, here are some possibilities:

If someone were to take on the work of publishing GraphSketcher builds in the App Store, then the App Store will automatically update those builds for anyone who downloads it that way. This is the only way that the iPad app can ever make it into the hands of the general public again—but setting up an App Store developer account and going through the submission and review cycle for each update does involve some work and expense.

Alternatively, for the Mac app, we could simply re-integrate OmniSoftwareUpdate. The code side of integrating this would be fairly easy since we pulled it out in a single commit that we could reverse (for those at Omni, see r199852). But that's not the complete solution: someone would also need to do some sysadmin work to publish an appcast RSS feed somewhere to advertise those updates. (We have a script which updates Omni's feeds for nightly builds which I'd be happy to donate.)

Of course, all of this only really matters if GraphSketcher actually has some updates worth publishing. So this isn't an immediate priority, just something to consider once we get to that point.

cortig commented 10 years ago

Talking about an update worth publishing… Now that the ap is open-source and that the current build has non-compiled .nib, I was able to update the French localizations. If I had the slightest clue about how to integrate it in the project in GitHub, I could easily provide it…

Corentin

correia commented 10 years ago

@cortig: (This is sort of ancillary to the software update issue…) Longer term, the project may want to move to use Base Localization + .strings files instead of a nib/xib per localization. The latter can end up causing maintenance burden, because updating the English nib has potential for breaking all other localizations (rather than just causing missing localized strings in those localizations.) I don't have the spare cycles to take this task on immediately.

We should move this discussion to the Localization issue

cortig commented 10 years ago

I had tried to create a localisation thread, but it never actually became active (until today :-) ). I'll stick to the other thread from now on…

dfjdejulio commented 10 years ago

So, maybe this is crazy but... could an appcast RSS feed be published right here on github? Make the build process spit out the right files in the right place locally, then do a push, then have the app access them via the "raw" links (like https://raw.githubusercontent.com/graphsketcher/GraphSketcher/master/README.md for example)?

dfjdejulio commented 10 years ago

After a little more digging, maybe https://pages.github.com would be a tool more directly intended for purposes like publishing RSS feeds. You create a repo of the right name, and updates to it autopublish to a site intended to serve organization, user, and repo project web pages.