aleab / toastify

:mega: TOASTIFY DEVELOPMENT HAS STOPPED | Toastify adds global hotkeys and toast notifications to Spotify
https://aleab.github.io/toastify
GNU General Public License v2.0
435 stars 48 forks source link

Upload to Windows Store #53

Open marczellm opened 6 years ago

marczellm commented 6 years ago

I have Spotify installed and automatically updating from the Windows Store. Sometimes those updates break Toastify, and I have to download and install the new version of Toastify manually. Could we upload Toastify to the Store and have automatic updates that way?

aleab commented 6 years ago

I don't think this will ever happen, honestly.

If automatic updates are your concern and the current "New version available" notification is not enough, I could implement some sort of auto-download/auto-install thing, instead of redirecting to the project's releases page. That's the most I'm willing to do, though.

marczellm commented 6 years ago

I would volunteer, though I don't know how much work it would be; but if I'm the only one wishing for this, it's not worth the effort.

aleab commented 6 years ago

You are free to try and convert it to a UWP app. I know very little about UWP app development, so I'm not sure how much work it's needed or if the app itself would even meet Microsoft's criteria. Do they even accept FOSS in their store?

marczellm commented 6 years ago

I haven’t tried it yet, but I think instead of rewriting as UWP, Toastify could be uploaded as is; the Store accepts traditional („Win32”) desktop apps. That’s how Spotify is there. FOSS should be no problem, for example MuseScore (GPL) is available in the Store.

aleab commented 6 years ago

Alright, so FOSS and Win32 apps (I guess packaged in some way) are ok. That's one step in the right direction.

What about the sandboxed nature of UWP apps? Toastify uses quite a few native APIs. Is it safe/allowed to use them from a UWP context? Are low level mouse hooks possible, for example? Is it possible to launch other UWP or traditional Win32 processes from the sandbox?

Some things will still need to be rewritten/adapted to UWP, anyway. The first thing that comes to my mind is launching Toastify at Windows startup. I guess it's not as simple as launching an exe anymore.

marczellm commented 6 years ago

It’s not a UWP context. A desktop app converted with the Desktop Bridge runs as is. It’s still an exe. The sandboxing mostly means a virtualized AppData folder separate from the normal one AFAIK. And of course installing and uninstalling happens within the Store UI.

Here’s a list of things it cannot do though: https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-prepare

aleab commented 6 years ago

Thanks for the link. From a quick read, the things listed don't seem to be a problem. I'll surely give it a try some day soon™, but I'm not sure it's really worth the trouble. I'll put a link to some kind of poll in the next release's changelog (or somewhere else); if the demand is acceptable (not necessarily prevailing), I'll put some actual effort into it.

Vankog commented 6 years ago

I am a big proponent of auto-updates. I even like to have them as seamless as possible like with Chrome/Drive/Dropbox (even Spotify) etc. As Spotify updates often break Toastify, this would just make sense, because fixes can be rolled out quickly to everyone.

On the other hand, there has to be some kind of mechanism to opt-out, because sometimes you explicitly want to stay on a certain version for reasons.

Going even further: It might be interesting to add beta and "latest" tracks. But for this we first need an automated build system like Travis or so. And we need tests. And possibly other things as well. Possibly even a proper certificate. ^^

aleab commented 6 years ago

@Vankog What's your opinion on uploading to Windows Store? Do you think it's worth it just for the sake of introducing auto-updates?

Vankog commented 6 years ago

I seldomly use UWP apps. Often they have some limitations in comparison to their standalone pendants.

From a dev perspective the problem with the Store is that someone has to be responsible for the listing and the uploads and probably the support. And I think you have to pay an entry fee to be accepted as dev.

In my eyes a dedicated update routine makes more sense in the short run. But I think UWP is a viable option. The concept of being available in the Windows Store, like on iOS or Google Play, is quite appealing to me. So for the long run it might be something to have a look into.