kra-mo / cartridges

A GTK4 + Libadwaita game launcher
GNU General Public License v3.0
662 stars 35 forks source link

[FEATURE] Auto-import Games on App Launch #300

Closed largestgithubuseronearth closed 3 weeks ago

largestgithubuseronearth commented 3 weeks ago

Is your feature request related to a problem? Please describe. I forget to manually import games so the library on Cartridges isn't always accurate. This causes some annoyances when trying to launch games that have since been uninstalled or my newest games not showing up until I remember to import.

Describe the solution you'd like Auto-import all games on app launch so I don't need to remember to manually update it every time I add/remove a game. As a user, it feels intuitive that the app should automatically do the importing on certain triggers like app launch.

kra-mo commented 3 weeks ago

I agree, I was previously against this for the reason that importing can take a good while and can lead to data loss, so for now, I'd maybe be interested to add it as an opt-in option with the same obtrusive UI and then maybe figure out a better user experience and make it the default later.

largestgithubuseronearth commented 3 weeks ago

By data loss, you mean how the metadata like cover art and developer get lost when the game is removed?

Would you be open to tracking those permanently in the future?

kra-mo commented 3 weeks ago

 By data loss, you mean how the metadata like cover art and developer get lost when the game is removed?

Yes

Would you be open to tracking those permanently in the future?

No, a program should never store user-generated data without the user's knowledge.

I mean you still get an option to undo, so it wouldn't be that big of a deal.

largestgithubuseronearth commented 3 weeks ago

No, a program should never store user-generated data without the user's knowledge.

I don't really agree; I feel that a user would intuitively expect that the changes they make would be stored for future use, and would be surprised that their changes get reset.

But it's your call and I respect that.

kra-mo commented 3 weeks ago

I really don’t think people would expect this. Deleting an item deletes its metadata, this is true for any program I can think of.

kra-mo commented 3 weeks ago

Eg. deletion of an item can also be a valid way to restart filling its metadata out if you made multiple mistakes or are unsure about something.

And like, whether or not the data is even meta is dubious here since basically all Cartridges stores about a game is metadata. So at that point, what is deleting but a complicated way of hiding?

If a user can create content, there should be a way to remove it.

largestgithubuseronearth commented 3 weeks ago

If a user can create content, there should be a way to remove it.

I agree. My idea was that permanent deletion and temporary removal could be separate actions. Because as it stands, your customizations get wiped every time you uninstall the game. If you want to avoid this, then the games are stuck on the interface despite being unplayable.

When you use other game launchers, they don't forget the game ever existed as soon as it's uninstalled. They just remove it from immediate view, but still give users the power to permanently remove it all data about it.

I hope that makes sense.

largestgithubuseronearth commented 3 weeks ago

I asked because it sounds like it would solve the issue of unexpected data loss. IMO the user should be in control of when their data is deleted, but atm the only way to remove an uninstalled game from view is to delete it. So the app will automatically delete game data if it can't find it. That's the part that's surprising.

My ultimate idea: there could be the ability to show all games known to Cartridges but the front page only shows the ones that are actually available to play right now. The only way this would work is if Cartridges could retain that metadata after uninstall which is why I asked. I'm interested in working on Cartridges more.

What do you think?