Difference between revisions of "ANLY482 AY1516 G1 Team Skulptors - Technology"

From Analytics Practicum
Jump to navigation Jump to search
Line 61: Line 61:
  
 
<div align="left">
 
<div align="left">
<div style="background: #d9d9d9; padding: 12px; font-family: Impact; font-size: 18px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #595959 solid 32px;"><font color="black">Coding Development Platform Changes (NetBeans vs Notepad++)</font></div>
+
<div style="background: #d9d9d9; padding: 12px; font-family: Impact; font-size: 18px; font-weight: bold; line-height: 1em; text-indent: 15px; border-left: #595959 solid 32px;"><font color="black">Coding Development Platform Changes (NetBeans vs Notepad++ & Chrome)</font></div>
 
<br/>
 
<br/>
 
<b>Before – NetBeans IDE</b><br/>
 
<b>Before – NetBeans IDE</b><br/>
 
<br/>
 
<br/>
Our team initially used the NetBeans IDE. That is because our team had been using NetBeans since year 2. Thus, we are more familiar with NetBeans. The NetBeans IDE also provide some form of convenience:
+
Our team initially used the NetBeans IDE. That is because our team had been using NetBeans since year 2. Thus, we are more familiar with NetBeans. The NetBeans IDE also provide some forms of convenience:
# Do not need to configure
+
# Pre-configured
#* That is because we had been using NetBeans, thus it had been all installed and configured in our computer.
+
#* As we have been using NetBeans, the application is already ready and installed in our laptops
 
#* All the necessary servers and services had been installed and started up automatically upon launching NetBeans
 
#* All the necessary servers and services had been installed and started up automatically upon launching NetBeans
 
# Error Checking
 
# Error Checking
#* When we didn’t close the loop or we miss out a curved bracket, NetBeans will alert us on the error.<br/>
+
#* When we didn’t close the loop or we miss out a curved bracket, NetBeans debugger will alert us on the error.<br/>
 
<br/>
 
<br/>
 
<b>After – Notepad++</b><br/>
 
<b>After – Notepad++</b><br/>
 
<br/>
 
<br/>
After discussion with Prof. Kam, the team decided to switch to Notepad++. That is because since we are going to develop using D3.js, it is a web application. With Notepad++, we can see the code more clearly because Notepad++ is a “clean” and lightweight application. Unlike NetBeans, it does not come with other redundant files like build.xml. Since we are developing a webpage, we are able to create the design of the website that we wanted on Notepad++. In addition, since it is a web page, we can debug on the browser (Chrome or Firebug on Firefox). Being able to debug on the webpage itself, it aids us in determining the line where the error lies in. Similarly, we can make use of the “Element” option in the debugging tools to check if our CSS is incorrect or if the D3.js code caused some layout issue on CSS.<br/>
+
After our discussion with Prof. Kam, the team has decided to opt for a lightweight editor, namely the Notepad++. The reason for doing so is because there are a lot of redundant add-ons when we develop using NetBeans, such as the build.xml. Ideally, we are going to be focusing mainly on the web page interface, which is html centric. The library we will be mainly using, D3.js, only requires an html surface, where Notepad++ more than suffices. With regards to debugging, our group has grown comfortable with using the Chrome debugger. Since it is a web page, being able to debug on the webpage itself aids us in determining the line where the error lies in. Similarly, we can make use of the “Element” option in the debugging tools to check if our CSS is incorrect or if the D3.js code caused some layout issue on CSS.<br/>
 
<br/>
 
<br/>
  

Revision as of 22:02, 28 February 2016

Skulptors-Logo.png

Skulptors-HomeIcon.png   HOME Skulptors-AboutIcon.png   ABOUT US Skulptors-OverviewIcon.png   PROJECT OVERVIEW Skulptors-DataIcon.png   DATA ANALYSIS new! Skulptors-ProjMgmtIcon.png   PROJECT MANAGEMENT Skulptors-DocIcon.png   DOCUMENTATION
Summary Description Warehouse Tour new! Methodology new! Technology new! Limitations & ROI


Dashboard Platform Changes (Tableau vs Web based application)


Before - Tableau Desktop

The team’s original goal of the practicum project was to create a dashboard for the sponsor on Tableau. Tableau is a software which allows people with little or no programming background to simply drag and drop data columns to create visualizations to obtain sights. As Tableau was free for existing students, it had come to a common consensus that if the team were able to analyze the data effectively using Tableau the sponsors will send a marketing budget for the purchase of Tableau for future data analyzation. The team had proposed the use of Tableau as it had features which could potentially solve the sponsor’s problems.

  1. Fast Visualization
    • Sponsors will be able to visualize and get insights faster compared to other forms of existing modes like excel.
  2. Database
    • Tableau’s ease of accession to almost all database meant the integration between Tableau and the sponsor’s Warehouse Management Service (WMS) database would have been less of a hassle.
  3. Learning Curve
    • Relatively gentle learning curve for employees with or without technical backgrounds.
  4. Range of visualization tools
    • Provides sponsors with a range of visualization graphs like Tree Maps, Histogram, Box Plot and Gantt chart to choose from.


After - Web based application

After various discussion and advice from our project supervisor, Prof. Kam, the team decided to switch from Tableau to developing a web based application for the sponsors instead. The analyzation would be done using SAS Enterprise miner and JMP, whereas the data visualization will be done using D3.js. The rationale behind this was due to the following reasons.

  1. Ease of Integration
    • Provides sponsors with the flexibility to incorporate this web based application into their existing WMS instead of a standalone Tableau application where sponsors have to extract and load data into it from their WMS.
  2. Customization options
    • Allows sponsors to customize their application for future incorporation of data learning and predictive features. Using Tableau disallows it as it is unable to host external add on features.
  3. High costs, limited licenses
    • A typical Tableau installation would incur additional costs for the sponsors. $1,999 per license, per year, with a minimum of 10 licenses. As the sponsors would also like its warehouse crews to view the movement and utilization of the warehouse, the costs might be more than expected.
  4. Long term sustainability
    • Having a web application designed specifically for the sponsors ensures long term sustainability as sponsors do not need to depend on external vendors (in the case of Tableau), for support.
    • A web application managed internally by the sponsors allows the team’s codes to be replicated for other warehouses even after the practicum project ends.


Coding Development Platform Changes (NetBeans vs Notepad++ & Chrome)


Before – NetBeans IDE

Our team initially used the NetBeans IDE. That is because our team had been using NetBeans since year 2. Thus, we are more familiar with NetBeans. The NetBeans IDE also provide some forms of convenience:

  1. Pre-configured
    • As we have been using NetBeans, the application is already ready and installed in our laptops
    • All the necessary servers and services had been installed and started up automatically upon launching NetBeans
  2. Error Checking
    • When we didn’t close the loop or we miss out a curved bracket, NetBeans debugger will alert us on the error.


After – Notepad++

After our discussion with Prof. Kam, the team has decided to opt for a lightweight editor, namely the Notepad++. The reason for doing so is because there are a lot of redundant add-ons when we develop using NetBeans, such as the build.xml. Ideally, we are going to be focusing mainly on the web page interface, which is html centric. The library we will be mainly using, D3.js, only requires an html surface, where Notepad++ more than suffices. With regards to debugging, our group has grown comfortable with using the Chrome debugger. Since it is a web page, being able to debug on the webpage itself aids us in determining the line where the error lies in. Similarly, we can make use of the “Element” option in the debugging tools to check if our CSS is incorrect or if the D3.js code caused some layout issue on CSS.

Choice of Analytical Tools (JMP vs Excel)


Before – Excel

The team’s initial choice of analytical tool was to use excel as we were familiar with its data analysis features such as pivot table, charts and what-if analysis. However, the idea was soon scraped due to several problems faced.

  1. Slow start up
    • The loading of various excel add-ins meant that the startup of excel was slow.
  2. Slow processing speed
    • The loading of excel formulas was often slow due to the huge amount of data.
  3. Inefficiency of data analysis visualization
    • Although excel does allow the team to create data analysis visualization such as box-and-whisker plot, it requires specific steps for the team to follow, which is often time consuming and not straight forward.
  4. Impractical
    • The data given to the team was spread across two excels spreadsheets and it would not be practical to replicate the analysis across the spreadsheets.


After – JMP

After several discussions, the team brainstormed and came to a common consensus to adopt the use of JMP software from SAS. JMP is a software created by SAS for its users to explore data analysis visually, through its visual, interactive, comprehensive and extensible features. As only one of the team had been exposed to JMP before, the team arranged for a meeting for a quick jump start session on the usage of JMP. There were several benefits of using JMP that the team had experienced since the switch from excel to JMP.

  1. Interactive table and dialog
    • Easy drag and drop feature to create a custom table and visualization aid for analysis.
  2. Default Statistics options
    • Allows user to change the default statistics when you drag and drop analysis.
    • Option to easily add in additional statistics such as mean, standard deviation, range and quantiles into analysis.
  3. Learning curve
    • Does not require training classes or the learning of a programming language to use JMP efficiently.



For the list of methodology & technology proposed during the proposal stage, please refer to: Team Skulptors - Methodology & Technology