Tuesday, February 28, 2012

Jaanga WeB3D Real-time R3 Takes Off



Jaanga WeB3D Real-time R3 displaying every stock on the SP500 
As promised at the recent WebGL San Francisco Meetup, the first portion of the code that I presented there is now available on GitHub.

Jaanga Web3D Real-time R3 is ready for you to bang on (ever so lightly, please):

Live demo page
Source code repository


Things To Do With Jaanga
Get used to the sidebar menus. Clicking on the menu titles toggles them on and off. If you have a big wide screen, you can leave both of them open. If you are on a small laptop there will be some juggling to do. Future releases will incorporate a heads-up viewfinder technique that will display data around the cursor and on the symbol as you move your mouse around. The idea being that there should be a continuum of view options that will move your visualizationing from iMax screen to phone screen seamlessly.

Become familiar with with moving the 'table' around. The current camera control is both great and awful. It's fast and has a very graceful motion. But it can too easily turn upside down. And zooming by pressing the mouse wheel or holding down the left button and moving your finger along the touchpad scroll bar is doable but not all intuitive.

Be a little gentle while the data is loading. It takes two or three updates for the 30 DJI to settle down and and at least five if not ten updates for the SP500 to settle down. Look at the 'Debug' items on the Left/Start menu. If you see more than a few 'skips or 'zombies' then you might consider reloading the page. Zombies are symbols that don't un-highlight/un-yellow themselves. They seem to do no harm, but are not really meant to be there.

Once you you've mastered the user experience bits then that it's all about learning to viz the data. You will begin to see the flow of the market and notice the outliers moving contrary to the overall flow.

Things To Think About
And after that it's just a question of hanging on for future releases. Eventually each symbol will become the avatar for the organization it represents - acquiring shape by slurping in data including sales per employee, market capitalization, sector, etc - turning numbers into sizes - from the corporate web sites, acquiring color palettes from images associated with the corporation as found on Flickr and Google images, and acquiring behavior from the social feeds and networks related tied the company.

Much like the yellow ten yard marker seen on TV during a football game, there will be a myriad of lines and bounding blobs that will help identify correlations and regressions.

And then there will be the way you move and flow through the viz - clicking here and there - swerving and pivoting as you notice interesting things. You'll call for instant replays and phone-a-friend and you'll even 'friend' a particular generated visualizations.

The Takeaway
The scary cool thing is that all this is doable at almost little or no cost. Using cross-server capabilities data passes directly from corporate IP owner to authorized end-user without passing through third party servers that would otherwise be guilty of IP theft. And no third-party bits means no costly server farms.

Second the tools are becoming faster, cheaper and easier. Ten years ago I had to pay really clever graphics programmers a lot of money to build what I can build by myself today. [disclaimer: I am a member of the target market for Three.js. The readme states "The aim of the project is to create a lightweight 3D engine with a very low level of complexity — in other words, for dummies."] Thus many, many people will be doing what only a few could do before.

Third the data that's becoming available grows exponentially. For example the next app to go up will be Jaanga Weather. It shows the weather for every airport in the USA over a number of years. Seven million data points per year. You've seen airplanes fly. Now you can see airports fly.

So hold on to your hats. Where will Jaanga be when R3 grows up to be R30? Who knows? All I do know is that we're flying there faster numbers an hour.