The Big Bear DCC Model Rail Controller

About Blue Tang Innovations Ltd

Blue Tang Innovations was formed in 2018 but has roots that go back to the final days of the last century, providing freelance software services in a variety of areas and specialising in the Microsoft .Net framework.

Early products have included the Razordesk ticketing helpdesk system originally developed for a local IT company before later being adopted by customers around the world, gaining traction among users for its initiative interface and ease of use.

How Has DevExpress Helped You and Your Customers?

We discovered DevExpress in 2010, at first making use of the free Windows controls on offer before committing to the full Enterprise suite of controls and other invaluable services. We regard the DevExpress suite as a builder would a good quality Black & Decker, and as independent developers it has helped Blue Tang deliver good looking professional software comparable to that of a larger software house and has more than paid for the investment.

We have found the suite of products particularly beneficial in producing prototypes and minimum viable products (MVPs) allowing us to focus most of our efforts on the core functionality and overall user experience rather than worry about the SQL tables, and the intricacies of UI components on every possible browser.

The XAF (.NET Application Development for Desktop and the Web) package has been especially useful when providing clients with backend management systems. Our clients love the reports and from our point of view the report designer is a pleasure to use.

Coming from a standard WinForms and ASP.NET background, it is fair to say that while the DevExpress components are mostly easy-to-use, there have been times we came unstuck. The support folk are very attentive, answering quickly, also patient when referring us to documentation, that to fair we should probably have found ourselves!

Project Name: The Big Bear DCC Model Rail Controller

This describes a pet project developed internally and aimed at the model rail community. DCC stands for Digital Command and Control and represents a range of products and standards around which model railways can be controlled digitally, either by means of propriety handsets or by software. Big Bear is one such program that interfaces various DCC systems allowing the enthusiast to control their track and run their locomotives and trains.

The system started out as a simple program to help a friend with an issue on his layout, but over time, it has evolved into a fully featured Windows desktop application utilizing DevExpress WinForms UI controls for many of the key elements. Of note is the use of the docking controls allowing users the flexibility to configure the screen layout to suit their needs.

The Windows app has gained fans from model rail enthusiasts around the world, and with no small part to the use of DevExpress controls, is noted for the ease by which railway track layouts can be designed. We have even linked it to Amazon Alexa as a fun experiment to see how voice control might be used to control a model rail layout!

Big Bear xP (Cross Platform)

The Windows Desktop application remains popular, but as with any software, the world moves on and so in 2019 it was decided it was time to lay the foundations for the next advance. To create a brand-new Big Bear, taking the best features of the old and melding these with contemporary practices to produce a system we call Big Bear Cross Platform (xP), a cheeky double entendre referring to both it is platform agnostic nature and that to a railway station platform.

The UI elements leverage ReactJS and make heavy use of the range of DevExtreme React controls and the circular dials made the most excellent speedometer! The core functions are managed from a .NET Core 3.1 service connected to the ReactJS UI by means of a high speed SignalR endpoint which, with instant response times, helps maintain the illusion of a Windows desktop application.

The original software used XML files to store layout and other configuration information. However, this proved unreliable and it was necessary to incorporate various backup features to mitigate occasional problems with these files becoming corrupt. The new software replaces the xml files with a Microsoft SQL Server compact database and makes use of DevExpress XPO ORM to model C# classes.

We find XPO ORM much easier to use than Entity Framework manager, and the schema evolution works well. The provided ORM designer tool works well and means we do not have to spend time managing SQL queries and worry about transactions. It is nice to note that XPO is now included as a free product and would recommend anyone looking at using an ORM system to evaluate DevExpress XPO.

At the time of writing, Big Bear xP is in beta test phase with a view to launching in Q1 2021. More advanced features will be offered as plugins. Being HTML based, the UI can be run from any modern browser and from a local LAN, meaning that several people could potentially share the operation of a large railway layout, from a combination of desktop browsers and tablets. The core service is initially designed to run on a PC but will be migrated to other platforms if there is demand, with the ARM based Raspberry Pi and Linux being possible contenders.

For your delectation, below are some screenshots showing Big Bear xP, and to appeal to the geek inside, the Blue Tang website includes further blogs including a description of the Amazon Alexa experiment.

Big Bear xP | DevExpress Case-Study

The main track diagram, or 'mimic screen', with custom background image and showing a simulated throttle. Note the use of DevExtreme React controls for the toolbar, train dropdown selector and the beautiful speedometer dial. The buttons are all based on DevExpress UI controls but with custom styling, for example the LIGHTS button is highlighted yellow when active.

Big Bear xP | DevExpress Case-Study

In design mode (triggered by a DevExtreme Switch in the lower control panel), the background is replaced with a grid and a range of SVG based track elements are provided in the palette, neatly categorised using an Accordion.

Big Bear xP | DevExpress Case-Study

Creating a tab to manage the locomotives and trains was made easy with the use of responsive forms controls. An image of the train as used in the dropdown selector on the main track diagram can be uploaded using the React file upload component. The latest version is deployed which supports the ability to drag and drop images straight into the file drop-zone.

Big Bear xP | DevExpress Case-Study

The same screen as when viewed on a narrower screen such a tablet. The DevExtreme responsive box layout allows us to easily reconfigure the screen elements to fit the narrower viewport and, in this case, to disable the screen image.

Big Bear xP | DevExpress Case-Study

The Preferences tab similarly makes good use of the responsive Box layout and file upload component, allowing the user to supply a range of background images.

Big Bear xP | DevExpress Case-Study

An advanced tab aimed at large club layouts, allows users to manage the track inside a grid and to export and import to and from an Excel spreadsheet. The DevExpress Spreadsheet Control would have been ideal here but is not available as a React component. However, the DataGrid makes a fine alternative. Big Bear makes good use of the DataGrid Grouping, Infinite Scrolling, Filters and Search functions to make life easy for the end-user.

Big Bear xP | DevExpress Case-Study

Finally, a view of the 'test layout' itself, showing the mainline station with London Underground (Tube) line to the far left.


Developer: Dr Peter Thurston
Company Name: Blue Tang Innovations Ltd
App Name: The Big Bear DCC Model Rail Controller
Company Website: www.bluetang.uk

DevExpress Products Used:

 

Blue Tang Innovations Ltd