twinejs icon indicating copy to clipboard operation
twinejs copied to clipboard

Mac AppStore for automatic updates

Open BlinksTale opened this issue 2 years ago • 6 comments

Is your feature request related to a problem? Please describe.

Mac is continuously updating on its own in a way that sadly causes software to become obsolete or broken not infrequently. This is a tradeoff to continuously having security updates among other things (that's a whole other discussion) but so long as automatic updates are debatably one of the better ways to use Mac, software needs routine updates too.

I only use Twine a couple times a year, but I often dive into it not infrequently over the last half decade. Most of the time I have to manually update on Mac first. This takes away from how quick Twine is to jump into easily. It doesn't help that reinstalling Twine means giving permission again on Mac to open an "untrusted file" and jumping through hoops there too.

Describe the solution you'd like.

I would love to see Twine officially on the Mac App Store. Like iOS, this store supports Automatic Updates so that any time a developer changes their app to match new system requirements, the software itself silently updates to whatever the dev has done to match that. It makes life seamless for users even though it comes at the expense of developer time. It would be incredible if Twine had the option to download from the Mac App Store so that those of us who use twine consistently but infrequently can have a more seamless experience.

Describe alternatives you've considered.

Downloading Twine manually is not a huge hassle, but I do lose 10-20min every time that I first realize something odd is happening, search Google only to find inconsistent results, learn that it might be based on a Mac update, and then go and manually update the software myself, then undo Mac's protections to allow this one unsigned "new" software to be trusted again. That's possible, but usually my twine experiments are only 60min of development time to begin with, so spending 50% of that troubleshooting and reinstalling is no fun.

Another alternative is creating a custom shell script to automatically check for new Twine updates and installing Twine via Terminal instead. I could have the updates regularly, but it would take some time to make the script and it would not universally benefit the community. While a shell script can be shared online, it's much more obscure and would help only 1-10% as many people I imagine. A Mac App Store app would instead be more widely available not only to programmers, but to a more casual audience too. It could also increase Twine's accessibility to new audiences that wouldn't find it otherwise.

Additional context on this suggestion.

I have 100% fallen for the seamless Apple environment - that's definitely my bias here. But in a world where software updates happen more and more continuously over the years, I personally would prefer to see my favorite apps join in the mission to find a stable way to provide continuous seamless software updates and slowly whittle down the flaws with that approach instead of staying in the old manual system that might be a more known reliable, but doesn't come with the benefits of this new approach. I do think a world of continuous seamless software updates is more likely to be the future, and I'd love to see Twine more integrated into that.

Presubmission checklist

  • [ ] I am interested in working on code that would implement this feature request. (This is not required to submit a suggestion.)
  • [X] I have done a search and believe that an issue does not already exist for this idea in the GitHub repository.
  • [X] I have read and agree to abide by this project's Code of Conduct.

BlinksTale avatar Dec 18 '22 21:12 BlinksTale

I have been a Mac user for 39 years, and use MacOS + iOS for everything, and I would not want to download Twine from the Mac app store. In fact I prefer to install nothing from the Mac app store, if I can help it. If this were implemented, I'd want it to be an option, not a requirement.

hituro avatar Dec 22 '22 21:12 hituro

Hi hituro - that’s why I use the word “option” in my post. This is not a transition but an addition.

BlinksTale avatar Dec 22 '22 23:12 BlinksTale

There are costs involved to release software via the Apple Store. Apple also requires all releases & updates of the software to go though a review process, to make sure the software is "safe". And Apple reserves the right to reject any project, release, or update.

greyelf avatar Dec 23 '22 07:12 greyelf

Hi greyelf, that’s all true but those all seem trivial compared to the potential benefits to me. I’m sure if money was an issue you could find ten people willing to donate ten dollars a year for Apple’s annual fee, and the App Store requirements often mirror the OS requirements. I’m a mobile developer so maybe it just looks trivial to me since I do this on every project. It’s usually all a non-issue.

BlinksTale avatar Dec 23 '22 07:12 BlinksTale

The fee isn't the issue here as IFTF will help with this. Hopefully (fingers crossed) the next Mac release of the app will be signed. We have all the pieces in place to make this happen--just have to figure out how to sign the app using electron-builder.

The issue, to me, with app stores is the time involved with each release. Right now doing a Twine release is a mostly manual process, though I am looking to automate it more. I don't have interest right now in navigating the upload process for multiple app stores; if it's in the Mac app store, then people would have every right to ask for it to be in the Windows store, and Ubuntu app store, why not in Steam? etc etc.

If someone out there reading this is interested in assisting with this, let's talk privately about possibilities (email is on my web site, chrisklimas.com). But I don't see that much benefit to it myself.

As for automatic updates... it is possible once the app is signed for it to use electron-builder to do automatic updates. But so far my experience with auto-updates was that there have been annoyingly hard to track down bugs with them, and there are also privacy implications. That's why I took away the homegrown update check in 2.4.

klembot avatar Jan 08 '23 02:01 klembot

I appreciate the attention on this, even if it's just a maybe for now! My goal really is to just have "install and forget" regardless of Apple's updates, so anything that reaches that functionality sounds good to me. Those are all valid concerns too. I would be curious what tool you would be most interested in for automated builds and app store uploads, since I've done some CI/CD development with Unity's Cloud builds before, but I imagine that doesn't help much with Twine development.

Thank you @klembot - I appreciate it!

BlinksTale avatar Feb 05 '23 19:02 BlinksTale