ILEditor2: Satisfying The Need For Development Speed
April 28, 2021 Alex Woodie
Liam Allan doesn’t like anything to slow him down. “I’m impatient,” says the young IBM i phenom. So when he’s writing RPG or COBOL, the code editor had best keep up with him. That’s a problem using something like Rational Developer for IBM i (RDi), which Allan doesn’t particularly care for. And that is one of the primary reasons why Allan developed ILEditor, which is now in its second incarnation as ILEditor 2.
Just over a year ago, Allan and his business partner, Connor Holyday, shipped the first release of ILEditor 2. The pair had just completed an extensive overhaul of the first version of ILEditor, which was originally developed in Visual Studio as a C# application that installed on Windows PCs.
Allan recruited Holyday to help redevelop the program, and in particular to rebuild the user interface, while he continued to develop the backend IBM i connectivity. The original idea was to turn ILEditor into a Web app that allowed programmers to work with and compile IBM i-resident code from the comfort of a Web browser running on any type of device.
But once they started working on the redesign, they decided that a native app was the best way forward, and so they rewrote ILEditor in Visual Studio Code using React and Node.js components, and packaged it as a native app using Electron. And presto — ILEditor 2 was born (the product is current at version 0.9 and is marching towards a 1.0 release).
When the work was done in early 2020, Allan and Holyday were ready to make a big splash with the new product. IBM i developers needed a faster, easier-to-use, and less expensive alternative to RDi, and they were convinced that ILEditor 2 provided a good path forward. In addition to having a visually compelling interface, the backend sported a host of new features, like support for converting fixed format RPG to free-format RPG and a plug-in architecture, among other changes.
“We released it last year and we were going to go join the conference circuit and talk to everyone and then COVID hit. That was a bummer,” Holyday tells IT Jungle. “Thankfully, everybody is getting their vaccinations and are coming out of their shells a little bit more. So [in 2021] we’re hoping to do some conferences, we’re going to talk to some people, we’re going to show off what we’ve got.”
What they’ve got in ILEditor 2 is a development tool that will let IBM i programmers develop modern ILE code in a way that won’t slow them down, the pair say. Developers who are happy doing the same old work the same old way need not apply.
“Our target audience, honestly, is people who want to do modern stuff,” Allan says. “We don’t target people who don’t want to change. We want to provide people with new tools, and a good user experience.”
For instance, developers who are accustomed to getting a cup of coffee while they wait for their code to compile may risk going undercaffeinated with ILEditor 2. Compiling happens so quickly with ILEditor 2 that if you blink, you may miss it, Holyday says.
That has led to some interesting conversations with users, according to Allan. “We’ve had an issue where people were complaining that they didn’t know if it compiled at all because it happened too quickly,” he says. “That’s the kind of issue we have.”
Another issue that may pop up for ILEditor 2 users is whether to use the free version or upgrade to the professional version. Earlier this year, Allan and Holiday, whose company is called Halcyon Tech, decided to release a free version of ILEditor 2.
The free version of ILEditor 2 provides the core functionality needed to edit and browse source members and code in the IFS. It also gets the user a local browser and support for the ILE compilers on IBM i (which users must obviously pay for separately). Upgrading to the pro version gets the user features like support for streamfiles, fixed-to-free source conversion, the plug-in system, an object browser, code coverage integration, spool file viewer, live errors (i.e. content-assist), and the Git client. You can see the full list at ileditor.dev/docs/compare.
“The idea behind it is we wanted to have a core version of the app that anybody can use, which will let you connect to your IBM i and do your work just fine,” Holyday says. “But we also have a pro version, which you pay for a license key for, and it helps support us to build the product.”
The cost for a pro license is £24.99 per month, or about $35 per month. Allan and Holyday, both UK citizens, have day jobs, but dedicate a good portion of their free time to developing ILEditor2.
In addition to helping to spur interest in the product, having a free version available will help build a community around the product, Allan says. Even though ILEditor 2 itself is not open source, the pair strive to keep all communications about the product open and to maintain the transparency about the direction the product is going.
“I take pride in trying to be involved in the community as much as I can. I do a ton of open source stuff,” Allan says. “I personally love being transparent with our users, so even if you don’t pay for our product, we want you to see what people are facing, what they want. I love that community interaction. That was very important for me.”
The pair implemented a license key system with the launch of the free version, and it worked flawlessly. Nobody complained that the product stopped working, which they both said was amazing.
“You kind of need the community to help you build your applications, so you can build your application for the community,” Holyday says. “The big thing about this tool is it’s built by feature request. If somebody wants to do something, we can build it so they can do it.”
Part of being a good member of the community is interoperability. To that extent, Allan is concentrating on getting the plug-in system working well, which he says has taken more effort that he initially realized.
“It’s quite complex, building a plug-in system,” Allan says. “That’s something I’d like to get finished up, because it’s something that I want long-term is to work with other vendors. For example, I would really love some integration of X-Analysis. I’ve used X-Analysis. It’s pretty useful. I would love to . . . not have to leave the IDE, to just view all this stuff from within in ILEditor 2.”
It’s been four years since Allan first started the ILEditor project, which was initially called Idle. The product has come a long way over that time, and with the latest release, it appears it’s ready for wider use. It still doesn’t do everything that RDi can do, such as debugging. Allan says he hasn’t gotten any help from IBM in getting access to the remote debugging server. But even without that piece, Allan is determined to build the type of modern IDE that some members of the IBM i are craving.
“We’re a really well glued-together community, but we’re also heavily divided at the same time,” he says. “There’s a fair amount of people who are like, oh we’ll just do anything that IBM tells us to do, which is use IWS [Integrated Web Services] and RDi.
“But there’s a set of people who know there are better tools out there,” he continues. “The reason we started this in the first place is because I knew that the industry deserved better. That’s what I’m striving for.”
For more information on ILEditor 2 or to download it, go to ileditor.dev.
RELATED STORIES
ILEditor 2 Gives IBM i Shops A New Development Option
What’s Cooking With IBM i On GitHub?
IBM already provides the necessary APIs to debug in your own IDE. It’s quite a bit of work to setup but the information is all there I believe.
The Debugger API documentation is here: https://www.ibm.com/docs/en/i/7.4?topic=category-debugger-apis
They also have examples here: https://www.ibm.com/docs/en/i/7.4?topic=programs-example-using-source-debugger-apis