This topic has been locked
I made an online tool to filter library by tags and features
Hi everyone. I want to share an online tool I made for me and my friends. It allows to filter your whole Steam library by tag (as RPG, Action, Indie, Rougelike, ...) and features (as Achievements, Local co-op, Trading Cards, ...).

http://www.lorenzostanco.com/lab/steam/

I hope this may help you. I'm open to suggestion and problem reports in this thread.
Last edited by lorenzostanco; Aug 16, 2014 @ 10:47am
< >
Showing 1-15 of 56 comments
eram Aug 14, 2014 @ 8:28am 
14 minutes to gather data. Most people will not wait this long. It's crawling waaaay to slow.
Last edited by eram; Aug 14, 2014 @ 8:28am
lorenzostanco Aug 16, 2014 @ 10:48am 
Originally posted by eram:
14 minutes to gather data. Most people will not wait this long. It's crawling waaaay to slow.

Unfortunately the only data sources for tags and features are the store pages, so my script needs to download them. The more games you have in your library, the more time it needs. I tried some optimizations, but no one speeds things up enough. However, I do not exclude to be able to try different approaches in the future.
Last edited by lorenzostanco; Aug 16, 2014 @ 10:48am
eram Aug 16, 2014 @ 10:51am 
For it to work or become popular youll need to find a better way. If you cant speed it up youll need a way where people can check back later to see the results, no one is really going to wait on the page for 15+ minutes.
OmegaNine Aug 16, 2014 @ 1:16pm 
♥♥♥♥♥♥♥ great job bro. Having trouble with it finding my account, but my old VAC banned account was found fine.

Just wondering, is this python or something? Maybe (if you have the space) cacheing the tags on the server would be useful. Then once a game is hit once, it can be refreshed every week instead of pulled down every time its requested.

Originally posted by eram:
For it to work or become popular youll need to find a better way. If you cant speed it up youll need a way where people can check back later to see the results, no one is really going to wait on the page for 15+ minutes.

I agree it taking a long time to work sucks, but its 100% better than nothing; which is what we had yesterday.
Last edited by OmegaNine; Aug 16, 2014 @ 1:17pm
lorenzostanco Aug 16, 2014 @ 1:58pm 
Originally posted by OmegaNine:
Having trouble with it finding my account, but my old VAC banned account was found fine.

Yeah, that's because "OmegaNine" is the ID of your VAC banned account. If you check your new account URL it's "Omega_Nine", and that's what you have to type in the field. For anyone having this kind of problem, just paste the entire profile URL in the field and it should works: in Steam, you can get your profile URL by right-clicking in an empty spot on your profile page, there's something like "Copy page URL" in the popup menu.

Originally posted by eram:
youll need a way where people can check back later to see the results

Saving one's results to my website DB should not be a big deal. The problem is that if I save all data and then give a unique URL to check it later (that's the idea), results will not be updated if someone adds games to his library.

A more "transparent" idea is the OmegaNine's: caching games data in my DB. As soon as someone get data for a game, next time him or someone else needs it, it will be extremely faster because I have not to fetch Steam store page again. The problem here is DB space and cache updating (refreshing it once a week looks a good idea to me). I have no clue how hard it will be to handle that cache if it grows too much, but that's a problem I can deal with once it happens... I think I'm going to try this solution first.

Originally posted by OmegaNine:
Just wondering, is this python or something?

It is not Python or any other server-side language, it's 99% Javascript. It runs practically all on the client (your browser). The server part is very minimal at the moment, and it's needed only to prevent some SOP (same-origin policy) issues in passing Steam store pages to the Javascript program.
OmegaNine Aug 16, 2014 @ 2:05pm 
Originally posted by lorenzostanco:
Originally posted by OmegaNine:
Having trouble with it finding my account, but my old VAC banned account was found fine.

Yeah, that's because "OmegaNine" is the ID of your VAC banned account. If you check your new account URL it's "Omega_Nine", and that's what you have to type in the field. For anyone having this kind of problem, just paste the entire profile URL in the field and it should works: in Steam, you can get your profile URL by right-clicking in an empty spot on your profile page, there's something like "Copy page URL" in the popup menu.
I was acutally coming back to say I figured out that my SteamID and the profile ID were different. But it works great.

I am amazed at the things being done in javascript now a days. I had no idea it was robust. I think it might be time to pick up a book on it.

You did great work here, thank you, I have already used it to find something to screw around with while I should be doing homework :P
Last edited by OmegaNine; Aug 16, 2014 @ 2:05pm
Black Blade Aug 16, 2014 @ 2:10pm 
seem like a great tool (i am waiting on it yet, guess the amount of my games is why i need to wait for so long)
Thanks
OmegaNine Aug 16, 2014 @ 3:00pm 
Originally posted by Black Blade (card rain):
seem like a great tool (i am waiting on it yet, guess the amount of my games is why i need to wait for so long)
Thanks
Jesus christ, is there a game on steam you dont own?
Black Blade Aug 16, 2014 @ 3:06pm 
Originally posted by OmegaNine:
Jesus christ, is there a game on steam you dont own?
Yes :D:
There are over 3000 games on Steam, so i think you can see i do not have many of them
Also you may note i do not have almost any new games, only old once, and also no CoD games :D: (cost too much)
lorenzostanco Oct 7, 2014 @ 8:38am 
These days I had some spare time to think about the cache implementation we discussed here to make the tool faster. The more I were into it, the more it looked quite a messy system, not in its implementation, but in user experience and database maintenance. So I discarded the original idea and I ended up renting some networking and computing power on the cloud to make a full dump of the Steam database.

So, what's now? Simply put, it's something like 100x faster than before.
That is, a few seconds if you have hundreds of games.

Enjoy: http://www.lorenzostanco.com/lab/steam/
Last edited by lorenzostanco; Oct 7, 2014 @ 9:33am
eram Oct 7, 2014 @ 8:41am 
Confirmed. It's 100's of times faster now. Good job.
Black Blade Oct 7, 2014 @ 8:44am 
awesome much faster now thanks
FYI, if you want to make it not as slow, don't simply un-click a tag. Click the new tag you want first, then unclick the old tag you don't want.
bugzkilla Nov 8, 2014 @ 2:47pm 
works beautifully! Thank you so much! :D
slovenian89 Nov 8, 2014 @ 7:57pm 
This is quite nice, good job!
< >
Showing 1-15 of 56 comments
Per page: 1530 50

Date Posted: Aug 14, 2014 @ 8:26am
Posts: 56