Throughout the month of November 2013 I spent three weekends at three different Salsa and Latin competitions running the SerenityOne scoring system.
The first two competitions were in New Zealand: the NZ Salsa Championships, and the NZ Salsa Open. The Australian and International Salsa Solo was a very successful event where they pushed SerenityOne to the limits by running two concurrent competitions in different rooms at the same time.
I was pretty anxious about this, but it worked a treat, and as I was running back and forth between the two rooms everything was running almost perfectly without me. The only issue which I hadn't considered was the range of my cheap Airport Express WiFi device, but by placing it in the middle of the two rooms it worked fine. This was on the tail-end of a major rewrite and refactoring of the software backend and tablet interface.
My new software "stack" now comprises the following components:
- ASP.NET MVC Administration Interface (Replacing the old WinForms solution)
- BootStrap.js for overall MVC site design
- DevExpress Components for Reporting and rich MVC UI
- ASP.NET WebAPI API Implementation (Replacing ServiceStack)
- SQL Server Database Backend
- Xamarin Android and Xamarin IOS Mobile UI implementation
- MVVMCross Core Application and Custom UI implementation
- GitHub for source control
In the next iteration of development I would like to add some bells and whistles to overcome some limitations in the current system:
- Implement a SignalR-based "live" scoreboard function. I previously planned to do this as a WPF application, but after doing some research and prototyping with SignalR it seems to be a much better choice to use SignalR as a push mechanism to a web page. This will allow the live scoreboard to run on any spare laptop, desktop or tablet and to be easily connected to a projector.
- Related to the scoreboard, a variety of simple monitoring screens to allow the MC, DJ, etc to have a live monitor screen to show them the current state of the competition.
Following on from these "simple" enhancements, which will run perfectly on top of the existing on-premises model which I use (running the software directly from my laptop), I would like to then work on deploying the administration and registration functionality to the cloud. I'm not sure about whether it's feasible to have the entire server-side hosted due to the reliability issues of internet access at the venues of dance competitions, but that would be the ultimate goal, along with BYO device + App Store software.