rafaelgomesxyz / esgst

An extension that enhances SteamGifts / SteamTrades.
MIT License
146 stars 23 forks source link

Bring back the core of the basic filters as an opt-out option #720

Closed Tristar7 closed 6 years ago

Tristar7 commented 6 years ago

Just tried the new system and, without intending to disrespect your work, it is a usability nightmare.

All I originally asked for with #709 was a simple button like that: https://i.imgur.com/z5cITtw.png switching the combination effect.

Not a complete rework of the whole thing. The new system, while more powerful, is far less use friendly and takes way more clicks and effort to achieve (and comprehend) for what was before an intuitive single-click operation.

Question is how much is the complexity used versus how much usability it costs. The new system is too unbalanced in that regard

gizellos commented 6 years ago

I would wait some time. Everything new is harder until you get used to it.

at46 commented 6 years ago

@Tristar7 I guess it would be more helpful if you could point out why the new system feels as a usability nightmare for you so revilheart gets an idea where he can improve it. I personally love the new system.

killergege commented 6 years ago

I'm not against the new system but I can understand why some people might find it difficult to use. It has obviously been designed by a programmer. So anyone with a bit of programming background will get it very quickly, but the learning curse for a "normal" user might be steeper. The previous system was very "visual", you just enabled the elements you need by one click. Advanced filter were also a bit hard to get but the basic use was very easy.

Now you are asking the users to write the filters as programmer would. Yes more powerful, but not as easy to use. But I don't really have an opinion on the subject as I'm a programmer so this feels natural for me ;). I'm more annoyed by having to redo the filters but I understand why :)

GOBsNotOnBoard commented 6 years ago

@killergege hit the nail on the head. The old system had a filter UI similar to what most people are used to using on most sites, but the new system builds filters using a visual representation of boolean logic used by programmers, which is not the most intuitive if you're not familiar with it. I wonder if it would be possible to have basic and advanced modes for filters for people who prefer one or the other.

I honestly find the new system very tedious to create filter presets, but on the other hand, it's a lot less buggy than the old system. I used have issues where random stuff would get through filters or exceptions wouldn't work, but now those problems seem to be gone.

rafaelgomesxyz commented 6 years ago

Really? I honestly feel like the new system is much easier to understand and much more user friendly. I always felt like the overrides/exception system was way too complicated, but the new system is very simple, it's just AND or OR. You don't need to be a programmer to understand that, it's just English.

On the old system a button like you suggested would be a nightmare for me to implement, because the system wasn't designed to deal with that. But the new system works very well.

Is there anything that can be done to improve the new system for you? I spent a lot of hours reworking the feature and I'd rather not have to redo all of that.

rafaelgomesxyz commented 6 years ago

And I also thought the new system would be very easy for SGTools users, since it also has the same system.

GOBsNotOnBoard commented 6 years ago

The old overrides/exception system was definitely complicated/confusing and never seemed to work quite right. That said, the main UI was similar to filter UIs on other websites, so that familiarity will make it easier for users.

The new UI is also much closer to the implementation model of how it actually works than a mental model of how users think it works. It depends how big the gap is between those two models, but usually the implementation model makes more sense to devs because that's how they code but can be confusing to users when that's not how they understand things. Sure, AND and OR are English words, but the vast majority of users don't think of websites and apps in terms of the conditional statements that make them work. I understand the new system, but I've done a little coding in the past.

And yes, SGTools does use the same system for custom filters, but it's worth noting that it also has a simple UI for the most common filters above that. A lot of SGTools giveaways just use the same basic filters, so most users probably don't even touch the custom filters.

rafaelgomesxyz commented 6 years ago

Perhaps I could bring back the very basis of the old system (without overrides/exceptions), then if the user wishes to use a more robust set of filters they can use the new system.

GOBsNotOnBoard commented 6 years ago

I think that might a good idea. If you do that, you could probably just put a Basic/Advanced toggle at the top of the filters that remembered the user's preference (e.g. if I switch to the Advanced mode, it would stay in Advanced mode unless I change to Basic).

gizellos commented 6 years ago

I think the new system is simple and very elegant. The only "problem" is that people are not used to it and therefore it seems to be hard for them. To bring back the old system is not IMHO a good idea. It is more work when you need to update something which have something in common with filters and there is more room for bugs because of it.

It's like with new Windows. Always a part of people doesn't want to use them because there is something a bit different. If MS listened to them, we would still had UI from the windows 3.11 or one distribution which contains all the windows versions.

I suggest to not bring back the old filters and instead of it to make something like a tooltip with images. There really is not any other reason to use the old system than unwillingness to learn something new.

at46 commented 6 years ago

A very basic set of "filters" is already provided by steamgifts itself and can be easily used though 2.1 Advanced Giveaway Search. The only thing I miss in the new system is an easy way to temporarily disable a single rule but this is already suggested in #718.

rafaelgomesxyz commented 6 years ago

Well, I already implemented the basic filter back. The user decides what they want.

Eiion commented 6 years ago

I would agree that this is easy to understand for programmers and not so easy for non programmers. I found the old system (although its problems) simpler and it took me some time to understand how the new system works (how it works, not how to use it) - for what I currently want to do with it. It will take me more time to find out how other things work. As for SGTools filtering, the people I know of who are using it and are not programmers all had to spend way more than an hour, some even several hours, to play around with the system to get it to work at least roughly as they want it to. I'm simply not using it since to me it's not userfriendly and I can't be bothered spending an hour or more to get it to do what I want. Having learned boolean algebra about 25 years back surely helped with how the new filters work, but - at least over here - that is not part of the common knowledge but is taught only in special classes. No matter how logic it might be, if it's not common then people will have a problem using it.

And I notice a problem with the new filter system: Creating filters takes very long since the drop down menus take forever to actually drop down. Also, it seems like it slowed down the actual filtering process (while loading pages) quite a bit compared to before with endless scrolling.

EDIT: I've just updated, the drop downs now open much quicker.

rafaelgomesxyz commented 6 years ago

I think 1 hour is a bit over the top and not needed at all. Maybe for SGTools' filters, since they have a lot more configuration options than ESGST. But it's basically just simple English. It might seem complicated at the moment because there aren't any tutorials, but it's very simple - way simpler than the old system.

It's just:

  1. Select a filter in the dropdown.
  2. If it's a number filter (level, points, comments, etc...), type the number and select if you want to see giveaways "greater", "greater or equal", "less", "less or equal", "equal" or "not equal" to that number. The "is null" and "is not null" options are regarding the existence of the item. For example, some giveaways might not have a release date, due to a failure in retrieving it from Steam. In that case, you can add a rule to show giveaways with a null release date (works exactly like the previous option to filter giveaways without a release date).
  3. If it's a boolean filter (entered, owned, etc...),, simply select "true" or "false". This should be very straightforward, for example, Entered -> true means "show giveaways that are entered", Entered -> false means "show giveaways that are not entered".
  4. If it's a string filter (groups, genres, etc...), type the items, separated by a comma, and select "contains" if you want only giveaways that contain one of the items to appear, and "doesn't contain" otherwise.

That's it.

After that, combining the rules is also very easy. It's just: show me "this" AND "that" AND "that" AND ("that" OR "that" OR "that"). If you can write the filters like this, setting them up in the UI should be simple, every parenthesis is a new group.

Using the not option: do NOT show me "this" AND "that".

Not rocket science.

Eiion commented 6 years ago

I specifically said "As for SGTools filtering". And if friends tell me that they've spent several hours trying to figure it out then I don't doubt what they are telling me.

rafaelgomesxyz commented 6 years ago

And I also said "Maybe for SGTools' filters".

I'm not doubting anything, just saying that for the ESGST filters spending several hours to learn how it works seems a bit too much for me. On SGTools it might seem ok, because it has a lot of filters and a lot more options, but on ESGST it's very basic like I explained above.