Sunday, January 29, 2012

What's New In January?

The service is pretty young and I keep improving it bit by bit every day. Here is the most significant changes I made in January 2012.

Larger dataset

Amazon limits number of requests per hour one can make. I added caching on the server side to reduce load on Amazon servers and handle requests myself. This allowed me to increase number of items per visualization:


Before, I considered only items similar to the central element and items similar to them. Now I added one more level to consideration: items, similar to items, similar to items, similar to the central element (confusing, huh?).


Customer Reviews

Sidebar now contains all available product reviews from Amazon:
One of the most requested feature is ability to see products rating straight on the site. Unfortunately Amazon has closed this part of API, and there is no way to get ratings at the moment. I still hope that having customer reviews embedded on the sidebar should help to choose the right item easier.


Amazon Links

Now you can paste links directly from Amazon to Yasiv to explore similar items visually:






That's it for now. As usual I'm more than welcome to your feedback and I pretty much need it. Would love to hear what you think about these small changes :)!

11 comments:

  1. I need something better that just reviews built-in, too small to read and every click is forwarding to amazon.com. I would suggest to investigate how people use reviews and give exactly that thing.

    ReplyDelete
  2. Hi Andrei I was amazed about your project!! Congratulations! I also work with recommender systems and I would like to know if this project is under open-source license ? If it's not are you prettending to open it ? And if you don't mind to answer could you explain me how you implemented ? Using JS and Java or some graph widgets ? :D

    Thanks and congratulations! :D

    ReplyDelete
    Replies
    1. Thank you, Marcel!

      The project is written entirely in JavaScript. I developed a graph drawing library to learn the language. And it is open source indeed: https://github.com/anvaka/VivaGraphJS .

      Though I really like the way it is done, I regret that I didn't put proper documentation. And of course I'm not pretending to be an expert in the language. Most likely I will change some of the decisions I made in there...

      You might also want to take a look at http://mbostock.github.com/d3/ - it's also open source data visualization library written by Mike Bostock with wonderful documentation and pretty large community.

      Thank you once again :)! What kind of project are you working on? Is it public?

      Cheers!

      Delete
    2. Hi Andrey! Thanks for your reply! Yes!! What I am trying to do is to develop a new visualization tool for the retailers in order to analyze their historical sales and transactions in a way that he could analyze the products that were bought together or the relationship between two products at their sales. I have a project in Python called Crab and it is under development and it is open-source http://muricoca.github.com/crab. Its goal is to help developers to build recommender systems and I think your project could be a powerful tool to visualize the recommendations!

      Thanks for your replies, I still have some doubts..

      But the code that you used is using only the VivaGraphJS ? Or did you have to do some work extra-on ? For instance the repulsion and attraction between the nodes are already implemented using your VivaGraphJS API ?

      Thanks one more time Andrei! :D

      Regards,

      Marcel

      Delete
    3. Sure! The library contains all required logic to calculate nodes position. It also monitors graph changes and update rendering accordingly. All what it needs to know is how to render each node - it's described on the home page of the library :).

      I will commit the newer version soon, which has number of bugs fixed and comes with more functionality.

      Delete
    4. Thanks Andrei for your support! I will watch your project at github and see your updates. One of the issues I am facing with your library is the support for zoom in and zoom out . I saw you solved this at Yasiv but it still lacks this update at your library!

      Cheers,

      Marcel

      Delete
    5. Oh, right! I fixed it in my local repo. But didn't check it in because this feature is broken in CSS renderer. Will try to commit update on the weekend :).

      Delete
    6. Okay, Marcel. I pushed my latest source code :). It should work fine for svg renderer. Scaling does not work for css rendering, but I hope to fix it later, if such need should arise.

      Delete
  3. Hi YAsiv how are you ? It has been a while since my last comment here. Are you still working on this project ? I am planning to use it at my company to bring some new visualizations about the products we are selling and show some networking connections. DOes your source code for one of the real examples with html is available for me to base my code and continue on ? I don' have much experience on html/JS so any code base would really help me .

    Congratulations for your project, it still rocks!

    Marcel

    ReplyDelete
  4. Hey Marcel,

    Yep, I'm still working on the project. I must admit I'm not writing to often to the blog, but hope I'll fix this. The graph drawing library behind Yasiv visualizations is open source, you can find it here: https://github.com/anvaka/VivaGraphJS
    https://github.com/anvaka/npmgraph - this is the source code of http://www.yasiv.com/npm, just one of the examples of library usage. You can also go through tutorials to learn more: https://github.com/anvaka/VivaGraphJS/tree/master/demos/tutorial_svg

    Cheers,
    Andrei

    ReplyDelete