ThanosSiopoudis / BarrelApp

Barrel - The Wine port manager for OS X
http://barrelapp.co.uk
16 stars 2 forks source link

Suggestion: Add Two More Library Genres #58

Closed dirtyharry50 closed 10 years ago

dirtyharry50 commented 10 years ago

I know there is a catchall "genre" called "Other" but it would be nice to also have two more Genres added:

Casual Indie

HiPhish commented 10 years ago

Casual is not even a real thing and indy is a publishing model, not a genre. Also, what kind of genre is "action"? Before we start adding vodoo genres I'd rather rethink the whole library. It would be better to sort games by type (Wine, Cider, native) and let the user asign genres at will. You could make thematic genres like "Sciene Fiction" or "Real-Time"

ThanosSiopoudis commented 10 years ago

http://en.wikipedia.org/wiki/Action_game

ThanosSiopoudis commented 10 years ago

To be honest I'm not exactly happy with the Genres sidebar myself, We'll need to come up with something different as the main structure. The way the internal library database is coded right now, it needs to have a main structure for the games, this was why I came up with genres. I know that there are literally tons of genres, and I'd like that to be assigned to the game as a smart list, rather than the main structure. Possibly between the main Library list and the Collections, minimized by default. Idk

HiPhish commented 10 years ago

Oh, come on! Just take alook at what Steam has under "Action" or "Casual" and you wil see that those are just dumping grounds for anything that's not specific enough for the other categories. Right now I see Skullgirls, Splinter Cell, The Bureau: XCOM Declassified and Full Mojo Rampage in there. These games have nothing in common. Just because everyone does it that doesn't make it right.

ThanosSiopoudis commented 10 years ago

Since when does steam set the industry's genres? Their bad way of using the genre does not mean that it's not a genre by itself. I remember "Action" games since the late 80's (yes, I'm old :P) Video game genres were first adopted by film genres, as you'd expect. And don't tell me that Action movies is not a genre.

dirtyharry50 commented 10 years ago

@HiPhish Casual games most certainly are a genre, PoPCap games for example, puzzle games in general, card and board games, etc. and you'll find them listed under this "genre" on review sites such as Gamespot. Likewise, Indie titles are often classed loosely as a genre on review sites and you find the store pages on Steam do this as well. A lot of them don't really fall well into other categories so lumping them together by "type" if you will, even if that type actually is the development model is a common thing. I'm not making this stuff up.

Would you rather that the "Other" genre be overloaded with everything but the kitchen sink for lack of distinguishing these two groups separately? Furthermore, you always have choice. If you'd rather put Zuma Deluxe, Peggle, Solitaire, Hoyle's Board Games, Titan Attacks, iBomber, etc., etc. all in Other, you still can. I'd argue though that for many others a couple more slots for them that are generally accepted designations for them would be welcome.

Also, you are really losing me when you do not recognize Action as a genre in gaming. Do you play many games and have you been playing for many years? I'm serious.

HiPhish commented 10 years ago

Just do what everyone else does for the sidebar: use what it runs on. iTunes has Music, Podcasts, Movies and so on in its siedebar, not genres. OpenEmu has the individual consoles. Dividing games by Wine, Cider and Native sounds best to me.

ThanosSiopoudis commented 10 years ago

Bundle types it is, I do agree with that. Genres will stay as a third main option, minimised by default. Genres will be copied over from http://en.wikipedia.org/wiki/Video_game_genres I hope it's an acceptable source. They will only appear in your library if you have at least one game that belongs to it.

HiPhish commented 10 years ago

Personally I'd just throw out genres completely and do it via smart collections. Allow the user to create tags (like Action, Strategy, Science Fiction, Single Screen, Orcs...) and allow the user to make smart collections based on these tags. You can have a few default smart collections built in and the user can add or delete tags as as he or she pleases. If you want a "Games I Play with Your Mom" genre you can do it.

ThanosSiopoudis commented 10 years ago

That's not a genre. That's a collection. No genres are staying, it's a globally acceptable categorisation of games. If you don't like them, you'll be able to disable them.

HiPhish commented 10 years ago

It's not that I don't like them. I don't like beans, but I'm not going to argue against beans. Genres I feel are too fuzzy to categorize anything properly, they are ambiguous. You will always find a game that doesn't fit in anywhere, no matter how hard you try. And if you try too hard, you'll end up with a huge list of genres like that Wikipedia link. On the other hand, the sidebar of OpenEmu is 100% unambiguous. If it's a NES ROM it can't be anything else, ever. Similarly, a Wine game can't be anythign other than a Wine game. Ambiguous categories are only good for tagging.

With that said, by the end of the day it's your app, and as you said it can be disabled. I just wanted to present my list of arguments and I have nothing more to add to the discussion. on problem with the internet is that you can't ell how something is being said, so please don't interpret my post as nerd-rage or something like that :)

dirtyharry50 commented 10 years ago

Personally, I think categorization by genre is a good way to group games but where I can see users getting hung up is what I see right here in HiPhish's comments about casual not existing as a genre, indie not in use as a genre (and he makes a valid point about that but it still is widely used a genre designation just the same), Action games are not a genre - that one I see as extreme but this just shows how individually people may think about the categorization of their games.

This leads me to wonder about the enforcement of arbitrary genre designations using a wiki listing as a guide. Who makes the call? What if an end user doesn't like it? Now, they are unhappy with Barrel. This is not good.

Also, the more I think about this, Collections strike me as being redundant. Why would I need to create collections if my games are already organized by genre? It's like two groups of the same thing and from a UI standpoint I think it is potentially a little confusing to the user at first glance which then leads me to question well is there some more elegant way to design the main screen so games organization is simple and crystal clear to anyone at first glance. That would be ideal wouldn't it?

When I first saw Collections in the UI I did think to myself, "What would I want that for?" And when I first saw a list of genres I assumed I'd be able to edit, delete and add entries to that list but I was wrong. Those are set in stone. I was not especially happy with this which led to a first idea that I posted here of well, could we at least get a couple more genres in there so I don't have to toss all the indies and casual games into "Other?" But I am thinking now this is not a very good solution to a larger issue in the design.

Do you want to dictate genre designation on a game by game basis and do you want to allow users uploading bundles to dictate (or else you needing to override) genre choices? And is Collections really the best solution to the basic problem that users are not free to categorize any games already in the database in the way that they please? Why does the database need to have genres at all? Isn't a unique game name enough?

Why not have a default category of "All Games" and then let users add whatever categories they want to the sidebar? You could even ship with suggested categories in the form of genres identical to what is there now. But, they could add, delete and rename categories and make their library - their library, laid out just the way they want it. I think that would tend to increase user satisfaction with Barrel personally over the way it is now.

I got the impression above that you are adamant about fixed genres staying in and like HiPhish said, well it's your app but I would urge you to try and consider this from the end user perspective and what would make them happiest, what would make Barrel really fun for them to use. And users do have fun with stuff like this. They like lining up all their toys just so, just the way they want them.

Using Steam again as a point of reference, I'll remind you their games list in their UI is just one long list but the user is given the option to individually categorize games however they want, creating new categories as they go. Steam's UI is actually significantly lacking in functionality here because users cannot edit or delete the category names they create once they create them. Why they have not fixed this yet is beyond me. But at least users are free to organize the listing of their games however pleases them. The only place Steam tells them what genre they think the game is, is on the store page which the user is free to ignore.

Boxer starts off well with a presentation similar to Barrel in some ways, with all one's games displayed but it is simple to a fault with no way to categorize them as one's collection of installed games grows. It works but I wouldn't call it elegant.

I would advocate for Barrel being better than both of those examples by providing a very simple and clearly understood default organization at first glance of the main window and the power for users to modify and add to this however they want. I think you should give them complete freedom here and I also think you'd avoid a fair amount of headaches down the road by doing so. HiPhish's reaction to fixed genres is demonstrative of what you can expect from at least some number of users.

My suggestions here result in a simpler sidebar display initially and no other changes to the main window which personally, I think is fine as it is. I hope it does not grow to be more complex. Simple is good.

I hope I am being clear here in that I am not advocating for a Barrel just the way I want it personally. I am telling you what I think as if I was in a design meeting with you representing quality assurance and advocating for the end user's experience. I've seen plenty of times where an engineer gets attached to an idea from an engineering perspective and as valid as it may be from that perspective, if the user suffers for it at all, something probably needs to change in order to make the application the best and most user friendly experience it can possibly be.

ThanosSiopoudis commented 10 years ago

As I said, the problem is that the bundles do need to belong to some kind of categorisation. It is how OpenEmu was built, and Barrel is built on it. What kind of categorisation, that's up to us, but they can't just float around in an "All Games" category. Furthermore, it wouldn't be nice looking at an empty sidebar with 1 item inside, when you first launched the application. Don't take me wrong, I'm not saying that I'm not willing to change the way things are. But completely removing any dependancy Barrel currently has on the sidebar library, would be a massive amount of work, especially when I'm the only developer on this project. Yes, I can limit the items, yes I can hide them, or make them editable, or allow you to move things around. This was the plan from the beginning.

Furthermore, please do not confuse the Collections with the Library categories. The collections part of the sidebar is a completely dynamic way for the user to categorise the games however they may please, without following any rule whatsoever. For example, I can have my own Top 10 of my games there, or the ones that I most often play. So there needs to be a fixed categorisation and a dynamic one. I chose Genres, because this is what games are broken down to. Barrel doesn't even force you to install a game in a specific genre. You can take an RPG game and install it inside Simulation if you want, it won't complain and it won't affect the way it works.

I'm trying not to look at how other similar apps, like steam, do what they do. I used OpenEmu as a starting point of reference, and I'm even trying to move away from that as much as possible. My idea from the beginning was to create an easy experience for working around Wine, and do something original with it. I never looked at how Crossover or Wine Bottler handle wine, for example. They, in the end, try to achieve the same thing as Barrel, and I could have copied a lot of their concepts, but I have a different approach to the matter.

HiPhish commented 10 years ago

I would only look at Steam for how not to do things ;)

dirtyharry50 commented 10 years ago

"So there needs to be a fixed categorisation and a dynamic one." I understand better why this is now given the dependence on pre-existing code, etc. But I see that as unfortunate IF it is visible to the user in the main UI display because I do think the presence right up front of what amounts to two ways to categorize games - fixed and custom, is a potential source of confusion for end users. It did confuse me for example at first. I just assumed that a list of genres were categories I would surely be able to add to, rename, delete, etc. and wondered if I could do that, what the heck are collections for? I have a funny feeling a good number of people could be confused at first look in a similar way. Ideally of course, the UI's goal is always complete clarity and I think that remains an issue here the way it is setup presently although I now understand why that setup exists.

I think avoiding the need to teach users yet something else - why this setup exists or even just how to use it, is a worthy goal for the UI in the quest for the beauty of simplicity.

I understand much better now in this context why collections are there. You wanted to give users what I've been talking about, complete freedom to set things up however they like them and I think that is great.

But what about hiding the fixed genres from them altogether in the UI. Really, this is something the app needs but the end users do not. They can make up their own genres or no genres if they want to categorize in some other way just by using collections for that. Collections is all they need and it is simpler which is good. I don't even see a need to offer an optional display of the genres since that is just app data. Why would the user care about how you need to categorize their games? They just care about how they like them setup and collections gives them that.

So just brainstorming here, I am wondering what about if the sidebar by default had a list of collections (not genres) that is the exact same named list currently in the app and while at it, why not include casual and indie? So in other words you'd be defaulting to genre names for default collections on a new install of Barrel. They can always delete them or change if they want. That populates the sidebar so it looks nice and it gives the user a nice starting point for their own setup. It is intuitive because that organization is going to make sense to gamers who are familiar with those genre names. The "All Games" collection is where you could put every new game by default when first installed which satisfies the need to put a newly installed game somewhere by default as well as providing a collection that is obviously nice to have for all users. And of course, this "All Games" collection would need to be the one and only fixed collection that cannot be deleted or renamed. I would recommend it occupy the first and top position of the list in the sidebar. The All Games Collection could be the default display on opening the app at least initially. Maybe you'd like to have it remember the last visited collection upon return. I forget if you already do that.

If you can hide what the app needs and present a simpler face to it where there is just categories (Collections) period, without fixed and dynamic visible to users, I think that would be good - in favor of them just seeing dynamic and having freedom to organize and categorize however they please. This means less learning for the user and less documentation to read since something hidden need not be documented for them. Wine is complicated enough so anything to cut down on complexity, even something small is a plus in my opinion.

Hopefully what I'm talking about here isn't a major engineering task given that the way things work within the app does not need to change, only what the user sees in the UI.

The only time users would see genres would be when manually importing a game and I doubt many would give much thought to why they were being asked and if you wanted to address that potential question it would be easy enough to add a line of explanation in the manual about how this is used by the database without getting into detail about any of that. This is probably a nice touch for the manual actually as it heads off at the pass any potential confusion about would this choice impact where the game lands in the main screen, which it would not. It would wind up in the default All Games collection and the user can do whatever they like with it from there.

That reminds me, since you would always want All Games to display All Games, it should be the one category that you can only copy from - you cannot move something out of it. For all other Collections being able to both copy and move icons would be nice. Maybe that is already setup that way. I've just played with a single title in testing so far. So I haven't done anything really with the main screen UI.

Lastly, I see looking at other similar apps to be a good thing. Why not benefit from what they got right and learn from what they got wrong? It isn't about copying their features really. It certainly isn't about trying to be like them. It is more about culling some of their best ideas and again, learning from their missteps. That's why I look at something like Steam or Boxer just for some ideas as well as Wineskin. They all have some lessons to learn from so why operate in a vacuum? You can be sure those guys don't. Standards emerge from the observation and eventual adoption of things that work well, you know?

Barrel is already unique in some very good ways. That's why I am excited about your project and have been devoting this kind of time and effort to offer suggestions that I hope are helpful.

dirtyharry50 commented 10 years ago

By the way, I just had a look for the first time at OpenEmu. In that context it is easy to see why they went with consoles and collections.

Beyond the obvious things the main screens of Barrel and OpenEmu share though, further comparisons particularly about presentation and organization the sidebar are like apples and oranges.

Wine games are one single thing and that is what Barrel needs to display of course.

Console games are multiple things because there are many consoles. Thus it makes perfect sense for OpenEmu to organize the sidebar the way they do. It is immediately clear what everything is. I understood what I was looking at instantly and I don't even play any of those console games.

So, OpenEmu certainly did offer a nice starting point on a lot of levels from what I am learning about here but I wouldn't agree with having two kinds of things in the sidebar when Wine games are just one thing.

ThanosSiopoudis commented 10 years ago

I've decided to go with Bundle type as a static structure. This makes more sense than genres. Genres have been completely removed. So it's up to the user if they want to create genres, they can do that in the collections. The Bundle types are:

The migration will be performed automatically on update. All current library items will be moved from any genre to the "Barrel" bundle type. Nothing will be removed.