System Implementation invested in ASNA Wings to modernize its RPG application to remain competitive and relevant amongst a sea of PC-based competitors.
Systems Implementation has provided software and services to the IBM midrange community since 1980. After having done programming work for a variety of businesses and business types for sixteen years, Systems Implementation focused its attention exclusively on the two-way and wireless communication business. Today, Systems Implementation offers a full IBM i software suite for both the sales and services sides of the two-way and wireless communication business.
This article is primarily about how and why Systems Implementation invested in ASNA Wings to modernize its RPG application to ensure the app would remain competitive and relevant amongst a sea of PC-based competitors. At another level, though, this article is also about how a business leader uses her vision, experience, and commitment to ensure the continuity of her business for both her employees and her customers.
95% of New Customers Are New to the IBM i
In 1986, Taber Alderman was a wet-behind-the-ears new employee at Systems Implementation. Taber had an RPG coding template in her back pocket then and spent her time crafting and tweaking specialized solutions for Systems Implementation's customers. In short order, Taber transitioned into sales for Systems Implementation. Having learned the business from the RPG indicators up, and being the rare programmer with social skills, Taber was much better suited to the salesperson role. In 2007, she bought the company.
Explains Alderman, "Our business quickly accelerated from being a jack-of-all-trades IBM midrange shop to focusing exclusively on the communications business with a full-service RPG ERP package. As an IBM business partner, we offer a one-stop shop for our customers. New IBM i hardware, software, services, and tech support—we do it all. 95% of our new customers are new to the IBM i platform. In the days before the GUI crossed the chasm from leading edge to conventional, our feature set and our customer service differed us enough from our PC-based competition that we got new customers despite the green-screen user interface our RPG application required."
Growing Frustration with the Green-Screen
As time went on, it got harder to rationalize the IBM i's character-based user interface to prospects. This was especially true at trade shows where, within eye shot, PC vendors had graphical user interfaces that prospects were rapidly coming to expect. Alderman knew a change was needed.
She continues, "By 2005, our RPG application was robust, full-featured, and hands-down did the best job managing a communications business. It was tested and proven, and we were very happy with it, except for its character-based UI. That was really starting to put up speed bumps for us. We started shopping for solutions to our user-interface dilemma."
Back then, IBM's WebFacing was chosen to make the application look prettier. While WebFacing didn't provide the opportunity for any substantial functional application improvements, and its cosmetic changes were minor, WebFacing did buy Systems Implementation some time. Alderman admits that WebFacing was "half a loaf," but they needed some breathing room, and their experience with WebFacing familiarized her and her team with the issues and challenges of modernizing an RPG green-screen user interface.
Six years or so into the WebFacing project, its appeal was wearing thin. Prospects were getting more savvy and starting to see through WebFacing's light façade over the green-screen. A more comprehensive application modernization project was clearly on the horizon for Systems Implementation.
Defining the Dream
Experience with IBM's WebFacing had given Alderman and her team plenty of time to think about their ideal user interface and what features it should provide. Systems Implementation had spent years honing and improving its RPG application. It was rock solid and feature-rich; its only weak link was its user-interface limitations. Complete application migration was quickly deemed too risky, too time intensive, and too expensive. And the result would be outside the domain expertise of Systems Implementation's development team. Improving the existing RPG application was the solution that clearly made the most sense.
Alderman explains, "I had a very good idea of what our application's UI needed. As a decision-maker, I had been looking at our business reports for years. And while I don't need a lot of charts and graphs, many people do. So I was sure that adding business dashboard-like capabilities to our application would give it huge appeal and add tremendous business benefit.
"The days of a static set of 24-item, character-based menus ruling over users' work are gone! Our application needed a wow factor, a visual pop that would appeal at a visceral level, but would also go beyond cosmetics and add true business value and usefulness. We also needed a first-class user navigation system with personalization so that users could tailor our application to their daily workflows. Thanks to our great development team, our application is incredibly robust and provides the best feature set in the industry. Our user interface needed to be as feature-rich, streamlined, and modern as our high-quality RPG back-end."
ASNA Wings to the Rescue
Alderman's application modernization "steering committee" included Systems Implementation's three lead developers, Scott Massoia, Jerry Lai, and Brian Penman. All three know RPG very well, know the Systems Implementation application in and out, and would be heavily involved in the modernization project. With a solid vision in place and a team excited about doing the work, Systems Implementation set out to find a vendor with a toolset that would empower them to fulfill their mission. Much of 2012 was spent shopping IBM i application modernization solutions.
After having conversations with several vendors and doing some comparison shopping, Systems Implementation chose ASNA Wings with which to create their application's user interface. Another vendor's product was considered, but it was deemed too expensive, and the company fit with System's organization just didn't seem right.
Alderman explains, "Price is only one factor in a business decision like this. So price wasn't the first checkbox on our application modernization shopping list. However, in almost every case, when we sell our software to a prospect, we also must sell them a new IBM i computer. We compete with commodity-driven PC-based companies, so our software and support needs to be great, and our total solution pricing needs to be reasonable in order to win. In addition, it was important to us to protect the substantial investment already made by our existing customers. Based on those factors, price couldn't help but play a part in our decision.
"ASNA offered to do a proof-of-concept for us. And not just a wham-bam three-screen prototype, but one that included substantial enhancements to provide a business metrics dashboard that presented what used to be columnar data in a subfile into visual pie and bar charts. We saw the potential of our vision come to life in this prototype. Shortly after ASNA delivered it, I demoed it at one of our user group meetings and was thrilled with the response from our customers.
"After seeing this prototype and having had several conversations with ASNA's people, I knew that ASNA was customer-driven, willing to listen to our issues, and the chemistry with our team just felt right. We were ready to get started with ASNA Wings."
Up and Running with ASNA Wings
ASNA Wings has two primary components: a display file designer/importer that snaps into Microsoft Visual Studio and an IBM i server-side component that uses IBM's Open Access for RPG Edition to ferry workstation file data between the RPG program and its new user interface. The Wings browser-based UI is transparent to the RPG program's logic; Wings requires no RPG logic changes. The RPG program is all but unaware that a traditional display file isn't being used to display its user interface.
The new browser-based presentation layer is deployed as a Microsoft ASP.NET Web application on a TCP/IP-connected Microsoft Windows Web server. Alderman says that in nearly every case, her new customers already have the Microsoft infrastructure in place, so the Microsoft dependency hasn't been a problem. If the new customer doesn't have the Microsoft infrastructure already, installing a new commodity Windows server as the application server for the presentation is quite affordable.
Out of the box, ASNA Wings imports IBM i display files from their DDS source member descriptions. The Wings data stream that flows between the RPG program and the new browser-based user interface isn't a 5250 data stream, but rather a formal data structure with workstation file field names and values as well as indicators and hidden fields.
Wings provides an incremental three-staged approach to RPG user-interface modernization:
- Wings renders any green-screen with ASNA Browser Terminal, a browser-based 5250 emulator included with Wings. This emulator is function-key aware and works in either desktop- or table-based browsers. As a side-benefit, when paired with tablets, Wings provides a great way to grant your users wireless access to your RPG application.
- Wings lets you import a display file and render it in a browser (again desktop- or tablet-based) with little or no programmer interaction during the import process. This is considered Wings' "raw" display. It has high fidelity with both the look and feel of the original display file as well as with the indicator-driven rules that exist between RPG and DDS (e.g., positioning the cursor or protecting a field based on an indicator value). This raw display is easily customizable with a Wings template feature, and you can also customize its Cascading Style Sheets (CSS) file (CSS is a browser file that dictates browser display attributes, including colors and images).
- After having imported a display file, you can functionally and cosmetically enhance the display. For example, pie and bar charts or images can be added to a page (in most cases, populated with the data stream previously discussed). These changes are almost always done purely at the display file level; there is rarely a need to modify and retest the underlying RPG program.
Implementing Wings at Systems Implementation
Systems Implementation committed to Wings in October 2012. While a new menuing system was contracted out to a third-party Microsoft development team, the Systems Implementation team started taking baby steps learning Wings.
Alderman elaborates, "The menuing system was critical to our project's success, so it took a lot of time to get it right. We used that time for our team to get familiar with Wings. For customization, Wings uses industry-standard Web development techniques. However, our team had no experience initially with this kind of work. We were, after all, an RPG shop. The team had some learning to do.
"And learn they did. I'm incredibly proud of Scott, Jerry, and Brian and the work they've done. They knew very little about Wings and browser user interfaces when we started, and the way they rose to the occasion has just been amazing. There were many times when I'd VPN into our IBM i at night or on the weekend to work, and notice that one or more of them were also on testing or transforming screens. It's been an invigorating, exciting time for us. Our team really came together and jumped in with the excitement and dedication required to get the job done. They are such a great team!"
Great team, indeed. The Systems Implementation application is composed of about 6,600 displays. In the first year, its team imported and functionally improved about 250-300 screens per month. By mid-December 2013, they had done 3,000 or 4,000 of them. Today they have about 600 or so to go. Most of these screens weren't simply imported with Wings; most had functional and cosmetic enhancements done to them, including charts, images, AJAX autocompletes, date pickers, and many other end-user productivity enhancements.
One of the features in the new UI that Alderman is most excited about is something Systems Implementation calls the "CRM Hub" (CRM is pronounced like "crème" as in "crème brûlée"). The CRM Hub is essentially an application portal embedded in the app's new user interface. It is a great example of where Systems Implementation went beyond cosmetics with their RPG modernization. The CRM Hub persists user task history and makes it very easy for users to personally tailor their user experience. Nothing about the way the CRM Hub looks or feels reveals that under the modern UI lurks a rather traditional RPG application. The images at the end of this article show before and after screen shots of Systems Implementation's app.
Many factors came into play to help make Systems Implementation's ASNA Wings modernization project a success. Explains Alderman, "ASNA's tech support and technical services both provided a great deal of help to us. But another factor that greatly contributed to our success with ASNA Wings was the help we got from the ASNA community. While attending ASNA's ASNApalooza, we struck up a relationship with Aimee Farabaugh and Dennis Fisher from InfoCon, another Wings customer. We quickly realized they had already done many of things we wanted to do. Aimee, Dennis, and several others at InfoCon provided very valuable help and guidance for us during our project."
Driven by the Future
You can't talk to Taber Alderman and not be infected with the exciting buzz she exudes for her company, its employees, and its customers. When asked what the bottom-line payoff is for its ASNA Wings modernization project, Alderman answered almost without thinking about it, "I am driven by the future. The future for our customers and the future for the people that work at Systems Implementation. I knew, nearly out of blind faith, that this project was the right thing to do. The project didn't just give us new ways to protect current business and get new business. It provides a great first impression, a wow factor for customers and prospects. It has rejuvenated our team, secured our future, and further distanced us from our competition. Using ASNA Wings was absolutely the right thing for Systems Implementation."
Figure 1A: The Systems Implementation menu before the Wings CRM Hub
Figure 1B: The Wings CRM Hub "menu" that replaced Figure 1A
Figure 2A: Job ticket entry before Wings
Figure 2B: Job ticket entry, with map display, after Wings
Figure 3A: Job ticket entry before Wings
Figure 3B: Job ticket entry, with browser pop-up, after Wings