Revenge Of The Zombie Green Screen
October 30, 2019 Alex Woodie
Don’t look now, but command line interfaces – which were supposed to have been killed off years ago at the hands of superior graphical user interfaces (GUIs) – are making a comeback in the general IT scene. And the command line love appears to be spilling over into the IBM i.
Command line interfaces, or CLIs, never completely disappeared from the scene. Even Windows 10 users can summon the dark magic of the DOS prompt with a few tactical clicks of the keyboard, mouse, or (God forbid) touchscreen. But like crazy uncles and credit card debt, the CLI has largely been hidden from view, kept under wraps for a variety of reasons (fear and embarrassment, chiefly).
Thanks to a few brave souls who aren’t afraid to buck the trend – or possibly a handful of full-stack hipster devs eager to show off their retro techno chops – CLIs are enjoying a bit of a renaissance. That’s good news for IBM i professionals who have long been looked down upon by mainstream tech professionals for their reliance on “archaic” (i.e. reliable) systems.
Writing in the mainstream tech news site ZDNet, Simon Bisson outlined the ways that people are gravitating toward the CLI in “Good news for developers: The CLI is back.”
“You can be writing code in one pane, testing it in a tab of another, while using a built-in terminal window to configure services at the same time,” Bisson writes. “There’s no jumping between apps, or even between windows.”
In addition to the DOS prompt in Windows environments, Microsoft offer a variety of other CLIs. Chief among them is Windows Terminal, a new terminal that Microsoft announced for Windows 10 in May. Windows Terminal allows developers to house multiple tabs, which could be the DOS prompt, the PowerShell, or even Linux subsystems.
Salesforce is also getting into the CLA act with Salesforce CLI, a single console that allows developers to manage work across all Force.com applications. According to Salesforce, its CLI’s main benefit is the simplification of development and build automation tasks. The Salesforce CLI was initiated by Salesforce, and is now maintained as an open source project.
CLIs are big in another open source environment: Linux. Perhaps due to the technical roots of Linux (at least compared to Windows), command lines are more widely used and accepted in Linux. Developers are even creating CLI applications in languages like Python and Node.js. The CLI is an intrinsic component of Heroku, a platform as a service (PaaS) offering that supports a variety of languages, from Java and Sacla to PHP and Go.
Power users have long been aware of the secret advantages of the CLI: speed. Somebody with hands on the keyboard and the knowledge to use it wisely (i.e. has memorized the function keys and macro key-combos) will invariably outperform someone who’s driving the app with just mouse and a GUI.
Of course, CLIs never really went away here on the IBM i platform. You can scarcely go into an IBM i shop without seeing the good old green-on-black 5250 interface. While IBM offers GUI tools for developing IBM i apps and administering the platform, such as IBM‘s Navigator for i and the Java-based Access Client Solutions (ACS) product, many IBM i professionals continue to use green screen utilities and the command prompt, including the newly christened Midnight Commander tool.
The same holds true in the market for third-party tools and applications, where ISVs have long been forced to offer GUI and greenscreen options. Attempts to move users away from the greenscreen have been met with, shall we say, fierce resistance.
What makes the IBM i unique in its use of CLIs is that CLIs have traditionally been the main interface for actual end users, not just administrators and developers. Developers designed 5250 applications to use the greenscreen interface, whereas CLIs are mainly used by developers and administrators on Windows and Linux.
Despite the rise of Web and mobile applications on the IBM i server, and the continued popularity of Windows fat clients (not to mention the occasional Java client), greenscreen usage is actually on the rise on this platform.
According to HelpSystems 2019 IBM i Marketplace Survey, 35 percent of survey takers reported that a 5250 green screen was their “main application.” That was up from 33.8 percent in 2018 and from 31.8 percent in 2017. The percentage of survey-takers saying their applications were primarily graphical has stayed pretty constant, right at around 12 percent.
So here’s to the continued success of the command line interface! The GUI might have sizzle and flash. But when you want to actually get work done, you break out the CLI. Even zombie Windows admins know that.
We use a modern architecture; MVC patterns, with services accessed through either data queues or RESTful services. We have GUIs using Java and php, as well as green screen interfaces. One class of users are our power users, using the applications all day. They vastly prefer the green screen (as do I, I have a repetitive stress thing that makes using a mouse difficult). We have another class of users for whom we create shiny GUI dashboards, with bells and whistles. We call those users “managers”. We haven’t even enabled the GUI on our (many) linux boxes – command line all the way.
In my observation, the REALLY good technical people (on ANY system) generally go straight for the command-line. That goes for IBM i, UNIX, Linux, mainframe, even Windows.