Ruby on Rails
Sockets via ActionController::Live
As you already know, our government institutions spend tons of money to help protect our environment. But getting money into the hands of the people who use it most effectively is far easier said than done. The ambitious start-up SimplyCivic helped expedite government mechanisms for receiving and processing applications within specific pro-environment government programs. Ultimately, SimplyCivic allowed its users to process <
Juggling 50 requests throughout the day is a recipe for confusion and processing delay. Every request might be acted on several times throughout the day by different parties. Knowing who is responsible for the application at any given point is crucial for fast processing time. SimplyCivic provided a dashboard for request administrators to keep track of the requests as they were acted on by many different parties.
With all of this chaos, staying in the loop on the status of each of these requests was not a simple task for the administrators who were overseeing the process. Events occurred irregularly but frequently, and the requests were guaranteed to all be at a unique point in their lifecycles. The administrators needed a dashboard that would allow them to quickly understand the status of all of their requests in a single place.
This is the 21st century. Clicking refresh every 2 minutes on a dashboard to see the status of requests is out of the question. Thus, I implemented an ActionController::Live based approach where a user could leave her dashboard open and follow the requests' status changes in realtime with no additional effort. The server communicated with the client in realtime and whenever a change was made to the data the update was pushed out to all of the listening clients.
The live-updating dashboard was a magnificent success for SimplyCivic's users. The experience was on par with what users had come to expect from world-class product development teams such as Google's Gmail. The result was a solid dashboard feature that more than satisfied the client's use-case and would stay technologically significant for years to come.
One interesting component of my time with SimplyCivic was the 100% remote nature of the team. The team leader, Dan Hensley, was located in California. My primary administrative contact was located in North Carolina. Throughout the course of my time with SimplyCivic I was located in several different locations.
In speaking of my time on the project, Dan Hensley had the following thoughts.
“Michael was great to work with. We had pre-determined functionality and deadlines to meet, combined with several technical challenges that cropped up throughout the course of the project. Michael was always able to work within the project’s constraints to develop a solution that met our customers needs while providing us flexibility moving forward. I’m definitely looking forward to working with him again in the future.”