RPG Teams Picking Up Mobile Development Skills
July 22, 2013 Dan Burger
Finding mobile development skills on an RPG development team is sort of like finding a homemade lemonade stand on a hot summer day in Cleveland. They’re out there. They’re a welcome relief. But they are rare. Not as rare as they used to be, however. And the numbers are growing quite nicely. I have not seen any mobile developer guesstimates for RPGers, but the mobile projects keep multiplying and there is little reason to believe the projects won’t increase in quantity and quality for years to come. How are IBM midrange shops handling this and how will they handle it in the future?
It is good to hear that more RPG development teams are getting involved with mobile app development. Demonstrating that it can be done quickly and easily goes a long way in establishing a reputation as a modern computing platform, or at least debunking the opposite. Java, .NET, Objective C, or other skills are not an automatic requirement for mobile or Web application development.
Mobile development can be done by RPG development teams without Web application experience, but that is a less frequent occurrence. Green screens transitioned to Web apps is the fastest and easiest way to achieve results, but most would agree it is a short-term strategy. A more conventional and uncompromised approach to mobile apps for IBM i shops that possess the talent is to put mobile development in the hands of the same teams that have acquired Web application skills. Although mobile development can take three paths–Web-based apps, native apps, and hybrid apps–for now the Web-based approach is the popular choice. Native apps that run on hand-held devices are much less frequent and hybrid apps are just about as rare.
You have to wonder, however, if browser-based mobile apps will be the long-term development of choice as user expectations change and user demands become more sophisticated. Predicting the future with accuracy and frequency has remained just out of my reach, but I have a few things that indicate current trends and a few other things that should be considerations for IBM i shops.
Mobile development in IBM i shops is fixated on Web-based/browser-based development for two reasons.
The first reason is that it allows a wider variety of devices to access the applications. Marcel Sarrasin, product manager at BCD, one of the application tool vendors in the IBM i community, described the typical RPG development staff that he encounters as having “a set idea of what devices they need to support. Mostly it is multiple devices, or multiple operating systems, or multiple mobile platforms. Most companies support a bring-your-own-device policy.”
The second reason is that it is a server-side solution. Many IT staffs avoid client-side development. Alex Roytman, CEO at Profound Logic, backs up this point of view saying, “The cost–in time resources and money–of maintaining client-side solutions can be very high, especially when using native code that uses a programming language and API that are specific to a given mobile operating system.”
Profound, one of the IBM i vendors in the application development tool business, has what Roytman calls a “generic” mobile client that is used to build server-side applications without maintaining client-side code. It stores the screen design on the server and displays the screen on their generic client.
Simplification can be a game changer for RPG development teams getting mobile projects under way.
Learning new technologies can be tough, but as tools become easier to use and more capable of masking the complexities, companies are adapting. PHP continues to gather proponents with Zend Technologies cementing its partnership with IBM by putting a big effort (albeit with limited staffing and marketing resources) into its PHP development for IBM i program. PHP gets pretty good reviews from RPG developers who have had to learn PHP and Zend has done a good job developing training. The flip side of an RPG developer learning PHP is the PHP developer learning RPG. This can work well if the RPG is modern and modular, but not so well if the RPG code is somewhat crusty and monolithic.
What most RPG teams want to find is a path to Web and mobile development without tools and technologies that make wrestling alligators seem like rest and relaxation. The shorter distance between learning and productivity is an enticing choice. It’s the less expensive choice in the short term, but not necessarily the best value in the long run. The best value over time is to fall in line with the skills of the RPG team and the investment in the IBM i. Skills can be upgraded–there’s not enough of that going on–and new talent can be acquired if need be. For ideas about getting plugged into sources of new talent, see the IT Jungle article Take A Survey, Help Gateway Technical College Help You.
The user interface aspect of Web and mobile development is typically the hardest nut to crack for RPG programmers. So tools to simplify that part of the development process in particular have been crafted.
“Mobile development, in a way, is simplified compared to Web development for desktops and laptops because of the smaller screen size,” Sarrasin says. “But you still have to put thought into what goes on the screen.”
He says 99 percent of the people doing Web application work with BCD tools begin with a template, where wizards prompt developers with questions like: What database file do you want? Which fields do you want? It is a one-time process for each program, and it generates the server-side code and the UI code on the front end. It also allows developers to customize the program if they choose to do that. Sarrasin calls it a “jump start” before the developers start adding validation and business logic and hopefully best practices that are critical to the avoidance of monolithic applications. Having some of the architecture built into a template has simplified the process.
Regarding the wide array of mobile devices that most companies choose to support through Web-based mobile development, there’s evidence that Android devices have drawn even with the Apple iOS products. The Android OS is used by a variety of manufacturers, which split the market share. There’s only one source for iOS, so as a company Apple if still the king of that hill. Devices by Blackberry and Microsoft are not as popular, but they are not fading away either.
BYOD (bring your own device) shops need to support all devices, so developing apps that work with any device is very important to them.
“What I think many shops do not consider is the rapid rate that the world of mobile is changing,” Roytman says. “New devices are coming out every day. If you were targeting mobile just five years ago, you would be looking at Blackberry as the dominant device. Today you have iOS and Android. What will it be in another five years? I think as time goes on, you will see the shops that wrote native device code struggling to maintain things without hiring extra staff or consultants.”
For the time being, there’s a greater emphasis on the app and the access to the data and less emphasis on the features built into the device such as a camera or GPS, which are the lures for choosing to develop native or hybrid apps. Those priorities could quickly change, however, as mobile users provide feedback and inefficiencies in current apps are exposed just like they are with any app.