Regarding the use of libraries in the project

12 novembro 2019, 14:54 Daniel Jorge Viegas Gonçalves

As you know, the baseline requirement for the project is that you use D3 version 5. Of course, there are many other javascript libraries out there. So, can you use them?

If we're talking about general purpose libraries such as Bootstrap, or even helper libs. to help with the data (crossfilter, etc.) then yes. 
On the other hand, there are several libraries that build on top of D3 to help create the visualizations themselves. For those libraries, generically, the answer is no.

There are two main reasons for this. The first is that most of them were created based on other versions of D3, not version 5. As such, you would not be fulfilling the baseline requirement. 

The second and more important reason is that by using those libraries, you are limiting yourselves.Most of those libraries offer "canned visualizations". Something along the lines of "call one function to draw an entire viz". This may even be what drew you to them in the first place. The problem with canned visualizations is that now you are limited to what the library allows you to create, to customize. No longer will you be designing the best solution for the questions you have. You will be designing the possible solution for what the library allows. This (in case it needs to be said) is bad! D3 is a programming framework, you can do "everything" using it. You can design the best possible way to show the data. Do not limit yourselves with canned visualizations. Otherwise, the often repeated exchange of 

Student: why did I get such a low grde?

Professor: well, to answer your question it would have been better if you had highlighted the item|added a line for reference|allowed multiple selection|etc.

Student: We intended to, but the library didn't allow it|

will happen again. That will never be a valid excuse in this course. As stated above, D3 allows you to do "everything".

So, long story short: libraries such as the ones mentioned above (ex: nv3d, d3plus, etc.) are out of limits. 

Now, there are some libraries that extend D3. That make it easier to draw a map, or to place labels, etc. Those are not canned vis. Those are d3 modules, d3 extensions. Those will still require you to craft the visualization itself, but facilitate some part of it. They might be usable. As a rule of thumb, if you're still doing everything in D3, no "canned viz", and are using those libs as D3 extensions, it may be ok.

How do you find out? Always ask the professor in the labs. They'll have the final say regarding whether some lib is usable or not. Penalties will apply for using non-approved libraries.