Opinion: Native GUI

Article ID: 58036

Lately, it's unusual for a month to go by without someone bringing up the topic of a native GUI for IBM i. Generally, this discussion consists of a bunch of people complaining that IBM left us stranded in the world of green screens and how they should have made a native GUI for the operating system and made it easy for RPG programmers to create GUI applications, and how existing screens should work with this new GUI, but it should also provide mode advanced options . . .

Guess what, folks? IBM has attempted many times to give us a native GUI. They've given us option after option after option. It's time to stop blaming IBM and take responsibility for ourselves.

It's the Same Comments Every Time

Comment: IBM should give us a native GUI for maintaining the system.

They did. It's called System i Navigator.

Comment: IBM should've kept enhancing 5250 so that it could do GUI things.

They did— or at least they started to. They added GUI elements such as scroll bars, menus, mouse clicks and so forth to the 5250 data stream. However, not too many people used these features. The usual stated reason was something like, "We still have some users using 5250 terminals" or "It's not GUI enough for what we wanted." Since not that many people used it, it wouldn't make much sense for IBM to keep putting money into it, would it? Plus, 5250 wasn't really designed for this type of work, so if you want full GUI capabilities, the best bet is to use something else.

Comment: Instead of 5250, IBM should've made DDS output to a GUI environment, then added extensions so we could improve on what we had gradually.

They did. In V3R2, they provided the 5250 Workstation Gateway, which was a product that rendered any 5250 screen with HTML. They added an HTML DDS keyword to let you add your own enhancements. This never worked well, however, because coding HTML as a parameter to a DDS keyword is extremely cumbersome. There needed to be a better way to supply GUI capabilities to existing screens, so they dropped Workstation Gateway.

They then provided both WebFacing and HATS, two technologies that let you reuse existing screens. It started with a very barebones screen, but you added your own graphical elements to improve the screen and make it more GUI. In addition to IBM's two offerings, many third-party vendors created similar tools. Most of these tools are still available today.

Comment: But WebFacing wasn't really what I had in mind! I didn't just want a screen scraper. I wanted something more modern than that! Something that can make real GUI screens.

IBM provided Visual Age for RPG (VARPG) as a modern RPG IV language with a GUI screen, making it easy to write full-fledged GUI Windows programs in RPG. The language makes it easy to work with data stored on a DB2 for i database on the server, providing a full GUI language in RPG, with screen designer, an so forth. Again, not too many people have been using it.

Comment: No, I don't want to write Windows programs. I want to write native IBM i programs that output using a GUI, maybe a web interface that's not a screen scraper.

IBM provided Net.Data, a language that was designed from the ground up as an easy language for creating web applications. They included it free with the operating system and made it easy for Net.Data to call existing programs written in traditional languages such as RPG and Cobol.

Comment: But Net.Data is a proprietary IBM language that doesn't have a future! I want something more standard than that and something that performs better and scales better.

IBM provides support for Java technology, including JSP, JSF, and Struts. They provide this for free with the operating system, and they provide free application servers. First there was Tomcat, and now they provide the Integrated Application Server. They also provide WebSphere, which isn't free, but is a full J2EE environment.

IBM provides a Java toolkit (JT/400) that helps integrate Java applications with traditional IBM i software, such as RPG and Cobol applications.

Java ranks among the most widely supported and widely used programming languages in the world and is supported on every major computer platform. It definitely has a future.

Comment: Java is too hard to learn! WebSphere requires too many resources! I need something that is simple, easy to learn, and runs well.

IBM provided Net.Data for this reason. They also provided a CGI interface to the HTTP server so you could write HLL web applications. Some IBM employees also created CGIDEV2 and other toolkits to simplify CGI.

More recently, IBM has been working with Zend to provide PHP support on i. PHP is easy to learn, powerful, and like Java, ranks among the most widely used programming languages in the world.

Conclusion

That's without really talking about the third-party solutions provided by a wide range of vendors who, in many cases, have responded more quickly with solutions that have been more inventive than IBM's solutions.

Perhaps nothing IBM has provided is perfect, but I don't think it's fair to complain that "IBM has done nothing." They've tried over and over again to provide us with what we've asked for. They've given us many options, and the list keeps growing. Yet only a fraction of shops are using them.

At some point, we have to stop blaming IBM and start blaming ourselves, the developers, and their managers. Do you think it's possible that we are too complacent? Do you think we try too hard to stay with the same technology, even though it's been proven to be outdated? Do you think we make excuses and look for someone else to blame?

Even if the solutions aren't perfect, we must do something, because shops like ours are being replaced. Younger programmers with less experience (and frankly, less business sense) are replacing us purely because they have prettier screens. The result is a system that's harder to maintain and costs more money over time, and the only reason it's replacing the IBM i system is because it has prettier screens. We must do something, anything, to change this image.

As I discussed in the last newsletter, you should not let fear of choosing the wrong tool paralyze you. We the developers need to start doing something, and we need to stop blaming IBM.

"Regarding adding %range, %inlist and %notinlist to RPG... did you submit it as a DCR to IBM? Or as a requirement via COMMON? Or discuss it on RPG Cafe? If not, you should. You suggest that IBM doesn't listen to what average IT people want... well, they won't know what you want unless you tell them." (from Scott's reply) this has been brought up on RPG Cafe' http://www-949.ibm.com/software/rational/cafe/thread/1561?tstart=30 notice the input given by Barbara Morris. IBM *is* listening, but we all need to realize that the RPG compiler team doesn't have the time, etc. to implement every request but everyone should be able to look at the last few years and see how far they've come. they've given use TONS of new functionality, etc. the problem isn't always that the tooling isn't there...it's like you said, there's simply not many people who use them. and if people are still coding new development in RPG/400, that's a big part of the problem. IBM will not be adding new features to RPG/400 period. people need to get out of the dark ages and move to the "new" (over 10 years old) RPG IV/ILE. good article and very good points!

@skiferd: I agree with you about the current state of things. But, instead of saying "it's all over but the crying", I prefer to believe that there's still a chance if we can motivate people to change. Vendors need to stop selling 20 year old crap just because "it's stable", and provide something new and original for i. They need to talk about why the i is a better platform than the others.

Unfortunately, I too, have had to "twist the arm" of a vendor who wanted to sell me a Windows solution. Yuck, why would I want a Windows solution? In fact, I had that angle in mind when I went to COMMON a few weeks ago, and I talked to the vendors there, asking them if they prefer the i, or if they don't care, or if they think their products run better on non-i platforms. Now, given the fact that this was at COMMON, the results should be predictable. Each one either said that i was the best platform, or that it was equal to the others... Nobody said i was worse, or tried to convince me to use Windows. What I'd really love to see is those vendors who believe i to be the best to come forward and publicize that, advertise it, tell people why their software is better on i than other software, on Windows/Unix. We need more of that to bring in new customers, and new customers are vital.

For more on my opinion on why we need marketing, see my response to Jon Paris & Susan Gantner's blog.

Scott I agree with you completely. The comments from Jon Paris ring so true as well. Unfortunately for the AS/400, iSeries, System i, IBM i I think it is all over but the crying. Vendors with business application for the system drove sales and thus drove new implementation, integration, customization and satellite applications. Vendors today are not targeting new business applications to IBM i. You just about have to twist the arm off of a vendor to sell you the IBM i solution. And lets face it most of them are just “modernized” 20 year old apps. Why would any company that isn’t using the IBM i add it to their infrastructure?

@harryd: I agree with you. I never said that IBM makes the best software in the world. Indeed, I said that third party solutions are often quicker and more inventive, and that IBM's software isn't perfect. This article was specifically aimed at the people who (on a regular basis, it seems) start discussions about how IBM has deserted us and has done nothing to give us GUI options. If IBM listens to what these people are asking, they'll give us the very things they've already given us (and that's often no good, because often the solutions stink ). Instead of registering the same old complaints, we need to get going and use this stuff. Or to use 3rd party solutions. Or whatever it takes to get out of the dark ages.

But I do agree with you about the quality of IBM's Windows software. Every time they release one, it seems to take several major releases, and a few years, before it becomes usable. At least, that was the case with both iNav and WDSC. To me, this is another reason why people should stop lamenting that IBM create a "Native GUI". If you leave it to IBM, it'll be awful.

Regarding Vision Solutions -- IBM didn't buy them. Rather, Vision bought iTera and MIMIX, and very nearly cornered the market on high availability. IBM responded by buying DataMirror so Vision wouldn't be the only choice available. But, IBM didn't buy Vision, Vision still exists as a 3rd party entity.

Regarding adding %range, %inlist and %notinlist to RPG... did you submit it as a DCR to IBM? Or as a requirement via COMMON? Or discuss it on RPG Cafe? If not, you should. You suggest that IBM doesn't listen to what average IT people want... well, they won't know what you want unless you tell them.

Scott, I take great exception to how you're defending IBM against all legitimate complaints. I'll take this opportunity to get things off my chest. I wish someone at IBM would listen but I don't think a nobody like me can get their attention. I've been using IBM hardware/software for over 30 years (System3, System 32, 34, AS400...) I and my staff program mainly in ILE RPG and CL.IBM makes some reliable and great (if expensive) hardware. Their software is a different matter. You mentioned that IBM gave us iSeries Navigator. What you conveniently failed to mention was that it takes FOREVER to run many of the functions. It is slow and cumbersome. It often locks and freezes. This is besides the fact that all their screens are so kludgy with no life and doesn't compare to any native Windows software. I don't believe anyone in their right mind would prefer IBM's. Another example. I have iAccess for Windows and tried using their Excel plug-in to Transfer a File to the Host.One of the options is 'Create new file and member based on iSeries file'. After spending an hour trying to get this to work and getting all kind of cryptic messages, I called IBM support. When I told him the problem, he said "oh, don't use that option. It doesn't work" (and never did). What kind of nonsense is that? Either fix the stupid thing or don't show it as an option. I was really furious. As an MIS Director I have better things to do than waste my time with such nonsense. Another example. We needed our overseas makers to access our system to generate carton labels. We figured 'iSeries Access for Web' would be the pefect product as it requires no software to be downloaded to their system and is Web based. So we downloaded the software, PTF's, set up the AS/400 instances/servers required (of course with IBM tech support because no normal person could ever figure these things out). We finally got everything installed and when we tried running it, it was a disaster. The screens were missing characters, and many, many of the SDA functions/attributes simply didn't work, making this attemp a total waste of time. We ended up sending a simple instruction sheet to our makers on how to download and install Mochasoft and it's working without any problems. Another example. When Web Query for System i was released, I was really excited. Finally something to update our old (but reliable) Query/400 that will allow conditions in the Query, drill-down, GUI interface, etc.. I signed on to a Web demo (which stopped working in the middle) and was hopeful that they did something wonderfuI. I must say it was just another fiasco. As always, getting it installed required much IBM tech support. It is very difficult and cumbersome to install, configure and implement. (besides that the 'look' is just kludgy, stodgy and unappealing, typical IBM and it's expensive for the complete version). I've seen advertisements from large and expensive consulting firms offering to install and setup Web Query. IBM should be ashamed that that's what we have to do to get this product operational. High Availability systems. I've compared Vision systems product to IBM's HA product. Vision won hands down. I think IBM bought/partnered with Vision recently. This is typical of IBM. Since we can't innovate and create best of breed, we'll just let someone else do it and then buy the company. GUI Interface. IBM products just plain stink. It takes them 4, 5 or six releases till they get it right (maybe). Not everyone has so much time, money and patience, especially if there are better products available. Quick RPG question/issue. Why can't IBM give us in RPGLE some SQL-like functions such as %range, %inlist, %notinlist, etc. Their print ads are idiotic. There are four perfectly dressed people looking at a screen. Not one paper, nothing out of place. Do they really think such unrealistic images impress anyone? None of their products are simple to install, configure and use. None of them are innovative and best-of-breed any more. The user interface is usually klutzy and unappealing. I could go on and on. In short, as much as I love the AS/400 I think IBM just doesn't get it what average, normal IT people or their needs are all about.I really worry about the future of the iSeries. What a shame. .
Amen to that Scott. It is unfortunate that so many who complain about the lack of native GUI have not done enough "homework" to realize what a radically different paradigm web programming is compared to the traditional 5250. I was asked the "Why doesn't IBM ..." question the other day by an RPGer that it turns out still writes his new programs in RPG400 . Even if IBM did provide the native GUI, it would not be practical/possible to expect that a simple change on the F-spec would make it all work like magic. Or if it did folks wouldn't like the result anyway! There ain't no silver bullet - never has been - never will be. It is - as you rightly say - up to us to use what we have.

ProVIP Sponsors

ProVIP Sponsors