Monday, September 23, 2013

My Tables, far from perfect but more advanced than you might realize.


Ok, so there has been a lot of comments about my tables so I figured I would write this down one place and just direct people to it.


To many the tables seem too simple or backward or some other issue and I accept that needs some explanation.

What are they not doing “right” now:

Making sense of Days: There are no vertical gridlines, requiring people to hover over (with a mouse) or touch (with a touch interface) the line to get days.   Just as bad, the days count backward instead of giving dates.

What the tables are doing  “right”:
Any table coming off my system is a near real time presentation (within 24 hours).   These charts are not static.  These charts update themselves every time you refresh the page they are on.  I have a personal database that keeps track of every project on Cuusoo and these tables access THAT data.  

So, if I want to see how project 36302 is doing, Just type this link:

              If I want to see how project 29158 is doing instead of 36302, I just swap out the id.

The table is not a static table or chart but a dynamically generated and interactive entity. 

Ok, so why do the tables not have dates and gridlines and all that good stuff

First off is the “days back.”   

That I really need to just sit down and fix the coding on.  For this I need to add a bit more code to convert the day a project started and compare it to the current date and then subtract back the days from the current one.  I can’t just move forward on all projects from that start as most projects predate my data collection.

I am not too worried about this at the same time though.  I like to be able to say "32 days ago this project has 3020 support level instead of saying...well July 5th was lets see....So, for my personal purposes it is ideal.  I understand this is not normal, just pointing out that if you are looking at support over days, well, this is an ideal view of the data.  What I will likely do is preserve this code base AND add an option for dates. 

After I get that set up, I will need to write in some code to make sure to handle days in which a critical condition resulted in data loss.  This is not crucial but the more specific the data gets, the more accurate it should be as well. 

As for the grid lines, this is due to the fact that though my systems provide the data and I have coded an interface, the actual presentation of the table is something I cannot take credit for.  This is a Google Chart.  This is a very powerful, free utility provided by Google to anyone who wants to use it.  I would post a link but as you can imagine, you can Google it for more info.

But of course, by using their tools you need to play by their rules. 

The issue with the gridlines is interpretation of data.  Humans are very powerful and realized when an leaf is a leaf regardless of size, color, variations in shape, etc….but most computers will only recognize an leaf if you tell it specifically what it is.  The same is true of data.  
Google  has two interpretations of Data, Continuous and Discrete.   The tables are technically displaying continuous data, that is, data that forms a pattern over repeating points like integral increments or daily.  With this kind of data, a chart can show gridlines as each datapoint is a known quantity, a predictable cut.  Discrete data is “whatever.”  It is a collection of datapoints taken when they are taken and technically they can be anything.  The datapoint that says "1" says "1" not because it is the first, but because I called it "1"  Because it is a collection of strings instead of a recognized, catalog able collections of integral slices, Google will, quite accurately, not accept it as continuous dataset and thus will not allow Gridlines.  

Though the actual data I am presenting is “continuous” it is currently stored and coded as “discrete.”   When I was initially coding all the system I did not see this as an issue.  But upon getting everything “working” well, hindsight is 20/20. 

So, in order to get vertical gridlines I need to go back and start coding everything to be continuous.
This is something I want to do, it just is not something I will get to any time soon as this is a one person operation balancing a lot of content, this is especially the case since the data is there, it is just an issue of presentation.  Besides I think people will get a much bigger kick out of all the other stuff I am coding right now….So far the beta testers have been very pleased at least.  

But of course, since I am doing this for fun, well, there are other things I would like to do as well, for instance, It might be fun to code up something that allows me to document and display significant dates in the projects support history to show critical events, like when the Oz project got supported by the official Oz facebook page...this might require me to keep it discreet.  Investigations are required. 

Of course, there could be something I am overlooking.  If anyone has experience with Google Chart gridlines on discrete data, I would be happy to be corrected.  
Cheers and thank you for the interest.


If you have any suggestions, questions or just plain comments, please feel free to add them to this article and I will address then when I am able.