A sticky note detailing a user story from a Flex-to-AngularJS migration.


The sticky notes you find around Railinc tell stories about our culture and how we develop our products; how we learn from and work with our customers; and how we meet the technology needs of the freight rail industry. A recurring feature on the Railinc Tracks blog, Found on a Sticky Note takes a look at an individual sticky note and provides insights into who we are and what we do.

One of Railinc’s biggest challenges is managing technology refresh. Our people work hard to stay in front of technology changes so we can adopt new tools and development approaches as our customers’ needs shift.

Sometimes that means we leave behind old technologies.

For example, Railinc completed its four-year mainframe migration project in 2015, moving the company from an expensive and rigid technology approach to a less costly, broader and more flexible midrange solution. How is that helping? By enabling us to grow applications and systems and to handle the ever-increasing amount of railroad data we manage.

Even more technology changes are under way. Right now, Railinc is migrating its RailSight applicationsDemand Trace, Track and Trace, and Monitor—from Flex to the open-source, HTML- and JavaScript-based AngularJS framework. Already, Railinc has transitioned nearly two dozen applications to AngularJS, including the Damaged and Defective Car Tracking system, Clear Path, and Car Accounting Self-Service, and expects to complete the RailSight migration in early 2017.

The move from Flex will enhance the quality of RailSight applications, support changes to how customers access and use RailSight, and lower the cost to serve customers, said Charles Paye, director of commercial products.

“It lays a foundation for future growth and changes in RailSight,” Paye said.
 

Demand Trace Changes Support Query Capabilities, Improved Functionality

With the move from Flex to AngularJS, Railinc is making application changes—like the one in the sticky note above—that can have a real impact on how customers work. The note reads:
 

RS Demand Trace Flex Migration: Equipment Formatting Validation

Description: As a Demand Trace User, I’m unable to enter invalid equipment formats when running a trace.

About: This keeps users from searching invalid formats that won’t produce any trace results.

Requirement:

  1. Only alphanumeric entries allowed to be submitted in equipment field.
  2. Equipment can be separated by comma, space, or page break (enter)
  3. User can copy/paste using mouse clicks.
  4. User can copy/paste using keyboard shortcuts


Part of the RailSight suite of applications, Demand Trace gives users the ability to access data through the complete lifecycle of shipments and equipment. Instead of subscribing to a feed of data, a Demand Trace user can keep tabs on a shipment by manually submitting or scheduling a query whenever they want.

“It’s really data on demand,” said William Holt, a business analyst who works on Demand Trace. “You’re searching the equipment you want to find, when you want to search it, and you pay for those queries.”

To submit one of these queries, a user enters a series of alphanumeric characters—two to four letters and one to six numbers—associated with a particular piece of rail equipment. Demand Trace returns data on shipment events, including location and scheduled arrival and departure times.
 

The move to AngularJS allows for more separation of the UI on the back end. You can make changes to the front end, improving the way users interact with the app, without having to change the application itself.

 

With the newly migrated Demand Trace, the development team set up restrictions for queries. Without the restrictions, users could input any alphanumeric combination—one letter and seven numbers, for example—and run a trace no matter whether the rail equipment ID format was valid. Instead, as soon as a customer enters an invalid character, an error message appears and the user cannot submit the search, preventing “bad queries” on cars that may not exist and any unnecessary charges.

Developers also made it easier to copy and paste using keyboard shortcuts and the mouse. This makes it easier for users to move large amounts of data from an application like Excel to the query box in Demand Trace so they can get their work done more efficiently.

“The move to AngularJS allows for more separation of the UI on the back end,” Paye said. “You can make changes like these to the front end of the app, improving the way users interact with the app, without having to change the application itself.”
 

Migration Supports Richer Apps, Better User Experience

Railinc employees work together during an Agile training session.There are reasons beyond flexibility to make the move to AngularJS.

“Chrome and other browsers aren’t supporting Flex,” said Prabhu Kompella, a project development manager. “It’s becoming obsolete.”

The ubiquity of mobile devices makes the move to AngularJS all the more necessary. While Flex supports interactivity, it is not supported by the two most common mobile operating systems—iOS and Android—and doesn’t enable responsive web design, which automatically adapts a web page to the type of device a customer is using.

Not only are applications on the AngularJS platform mobile friendly, they’re easier to build and update.

“The level of productivity for developers is better,” said Ryan Nguyen, a user interface architect. “It cuts down on the development time.”

There is also more opportunity to automate testing, which speeds the development process. The platform also supports changes that will improve the overall user experience, bringing applications in line with what customers are used to on non-Flex web pages.

“What we’ll end up with is a richer application for users,” Paye said. “That helps us deliver a better user experience.”

—Railinc Corporate Communications