I am happy to announce the US Census Browser version 2.0! Back in December of 2011, I released the US Census Browser as an open source application intended to demonstrate principles for enterprise-class data visualization and applications developed with web standards. This version has some fairly substantial changes – See the video below to check out features in the latest version:
Version 2.0 of the US Census Browser has some substantial changes, including:
Completely new & redesigned UI layer, using app-UI. app-UI is an open source framework for application view-navigators that mimic native mobile applications. Using the app-UI SplitViewNavigator, the US Census Browser now supports both landscape and portrait orientations.
Switched from Google Maps to Open Street Map using OpenLayers. Users of the Census Browser maxed out my Google Maps account! That is 25,000 map loads within a 24 hour period! WOW! I switched to the free Open Street Maps solution, which doesn’t have any usage/bandwidth limitations. With this change I was also able to add interactive maps.
Updated to Twitter Bootstrap 2.0. The app is now using new UI styles and components which are now available in Twitter Bootstrap version 2.0
I’d like to take this opportunity to introduce you to a new project I’ve been working on to showcase enterprise-class data visualization in HTML-based applications. The US Census Browser is an open source application for browsing data from the 2010 US Census.
Please keep in mind that this application was designed for mobile devices. Internet Explorer in particular does not work well with the Census Browser – use at your own risk. The browser-based application has been tested and works properly in the latest versions of Chrome, Safari, Firefox, and Opera. The US Census Browser application also does not work in Android 2.x and below, due to the fact that these versions of Android do not support SVG graphics in the mobile browser.
The application is essentially a single-page web site, which asynchronously loads data from the backend upon request, and displays that data to the user. The main application file is index.html, which loads the UI and appropriate client-side scripts. The main presentation logic is applied via CSS stylesheets, and the application control is handled by the ApplicationController class, inside of application.js. The ApplicationController class handles state changes within the application and updates the UI accordingly. The main data visualization and data formatting logic is all contained within the censusVisualizer class, which the ApplicationController class uses to render content. All DOM manipulation, event handling, and AJAX requests are performed using jQuery.
The client-side runtime does not have any dependencies for access to device-specific functionality. However, PhoneGap is being used as an application container so that the application can be distributed through various mobile “app stores”.
The back-end of this application is written using ColdFusion. Yep, that’s right. I used CF. In fact, the server side is ridiculously simple. It is only a single ColdFusion Component (CFC), with three remotely exposed methods for accessing data, and relies upon CF’s built in functionality to serialize JSON. CF is incredibly powerful, and made this project very simple and quick to develop.
My recent Developer Deep Dive webinar “Visualizing Complex Enterprise Data in a Tablet World” is now available on the Adobe Enterprise Developers Portal. In this webinar, I walk through the fundamentals of a rich, enterprise-data driven mobile experience, powered by Flex, AIR, LCDS, & LCCS.
Take a look at this short clip to get a feel for what’s covered in this webinar…