Playing with Fire

Firebase, that is.

My latest project (while I await the outcome of the decision on my YAMC project) is to take an existing system used by Scout Commissioners, and see if I could adapt it to be a mobile app to be used by a new breed of Scouting Professional found only in the Michigan Crossroads Council.

Here we have a “Unit Development Executive” who has two roles – (1) to help new units that are just starting to get their feet under them, and get them programming a successful unit, and (2) to help existing units that either are Journey-to-Excellence (JtE) Bronze, or unrated to reach JtE Silver.

These Scouting pros want to be able to track their contacts with the units they are working with, and a logical choice would be to use the Unit visit Tracking System (UVTS) that is used for that purpose by volunteer Commissioners. However, this would cause some “mixing of data” and could throw off the stats the UVTS system is used for — so I took the challenge to take the UVTS model, and develop a mobile-enabled app, UDTS (Unit Development Tracking System).

Working with the familiar jQueryMobile framework, rather than using a traditional, server-based database, like I did in YAMC, this time, I wanted to try and use some of the new non-server based, noSQL systems that have entered the market. Enter Firebase, a fairly mature beta-product that provides a data storage mechanism that is real-time, for a better description, I’ll use the Firebase documentation:

Every client sharing a Firebase maintains its own internal version of any active data. When data is written, it is written to this local version of the Firebase. The Firebase client then synchronizes that data with the Firebase servers and with other clients on a best-effort basis.

As a result, all writes to Firebase will occur instantly, and events on the local client will be triggered immediately, before any data has even been written to the server. This means you can write your application with Firebase acting as your data model without worrying about network latency slowing it down.

What a great tool! Had a blast learning this new technology for the project, as well as jQuery-templates, coupled with javascript hash tables to provide some quick interaction on the application, plus the jQueryMobile DateBox plug-in, which is an excellent control for providing some “fine tuning” for date entry criteria.

Now, just waiting to see if the Unit Development Executives decide to adopt the app.

2 thoughts on “Playing with Fire

Comments are closed.