Progress blog post 2

Data Visualization
Our objective is to create a network topology of the various high value cargos (silk, spice, and slave) traded in the ancient Venice. After an investigation, we decide to use d3.js and topojson to render our data. We have constructed a basic prototype of our future work. With a detailed map with national boundaries, Venice and some trading partners, and the links indicating routes.

Screen Shot 2014-04-09 at 23.05.16
Figure1. The Very Basic Prototype by d3.js and topojson

First thing is the background map. We have tried several ways to render a map with the degrees of freedom to project, rotate, or zoom in/out. We decide to use the world map in json format, because it’s light-weighted and can integrate well with d3.js. [1] The resource is public and is built by mbostock for the World Atlas project.[2] In the future phase we will add descriptive pop-up windows on the map providing more information triggered by mouse-over, such as country names, national flag, etc.

We decide to use JSON file format to store information of trading cities, because, again, JSON format is very convenient to integrate with d3.js. We can specify all kinds of information, such as position, country, population, etc, in the JSON file. One major benefit of using the geo-calibrated map is that the cities will be automatically put at the right location according to their latitude and longitude.

Data Collection
We have found a good resource about the slave trade in the 14th and 15th century. It is a paper written by a professor in UCDavis, and is called “Domestic Slavery in Renaissance Italy.” [3] From it we can extract information about origins and prices. We will continue our search of data for other products through literatures. (We are waiting for the reply of that professor about more potential data sources)

Screen Shot 2014-04-09 at 23.41.18
Figure2. A table of slave information

Data Collection Interface
In addition to the map and some charts containing cargo information, our webpage will include an input panel for the user to type in, or bulk upload, new high-value cargo information. The reason why we have come up with this idea is due to the fact that at this stage we do not have much data. So we believe that an interface for a prospective crowdsourcing mechanism might compensate this drawback in data collection.

10171500_752752781413677_312358223_o
Figure3. A prototype of data input interface

Next Step
Our next phase of work will focus on enriching the representing power of our script. We aim to construct layers of networks to represent routes of different cargos, a scroll bar for time control, and several descriptive pop-up windows.

We will also dedicate to the construction of the service architecture. Now we run a simple local server on our notebook on which we have successfully set up the MySQL environment. Ideally we want to construct a server that can receive newly inserted cargo data, update the database (in JSON file format) in real time, and finally renew the data visualization responsively for the user.

References and Resources
[1] http://www.d3noob.org/2013/03/a-simple-d3js-map-explained.html
[2] https://github.com/mbostock/topojson/tree/master/examples
[3] https://www.academia.edu/217551/Domestic_Slavery_in_Renaissance_Italy