Blog
iDevelop

« If There's Nobody to Tell You About a New Feature, Does It Really Exist? | Main | Are You Well Red? »

June 02, 2009

Comments

Hans Boldt

Jon, Susan: In a previous posting, I suggested I could write a short novel with my opinions of the System i. So I'll try to keep this as brief as I can.

You wrote: 'Sadly, we also agree with Nathan that IBM really seems to be firmly entrenched in a "pick a server, any server" kind of marketing direction rather than touting the benefits of IBM i for business.'

I have to agree with the overall marketing strategy of the IBM Corporation. The marketing experts understand fully that customers do not buy computers, they buy solutions. Hardware is purchased primarily to run the applications, not the other way around.

That is the fundamental thing the i community needs to understand. There may be nice features of the hardware and O/S. But if the system doesn't support the apps the customer needs, all the nice stuff doesn't matter squat.

(Sorry, I'll have to leave it at that for now. If I continue, I'll be typing all day.)

Murray Crofskey

Catch 22 isn't it,
Without developers there are no applications, without applications there is no need for a particular hardware, and without hardware there are no developers.

What IBM does about it is something they have been grappling with for the last 20 years.

Rational developer for i, is ridiculously expensive considering the framework it is built on is free (eclipse). And having an entry level machine i5 seems also out of the question.

Hans Boldt

Murray: IBM's strategy is simple and straight-forward: "You want a solution? We can sell it to you! Windows? Unix? Linux? i or z? We got it all covered!"

I remember the days of "IBM and the BUNCH". That was a time of incompatible software and hardware. Today, for all intents and purposes, your choice is between Windows, Linux/Unix, and a couple of proprietary systems.

Done properly, you can develop applications today that will run on most of these platforms.

When developing an application from scratch, why would an ISV choose to limit his product to one proprietary system? In a nutshell, that is the dilemma facing fans of the iSeries.

Murray Crofskey

Apple iPhone... 1 billion downloads, an estimated 300 million dollars for apple.
and only 1 platform...

IBM's approach of we can sell you a server might be good for IBM, but not good for the iSeries... because there is no focus on a single product.

Dan Devoe

I have a different approach to what the i community needs -- the i community needs for IBM to get the word out to business owners, IT managers, and any other "powers who be", about the Power of i, the cost savings of i, and the amount of talented i professionals.

Unfortunately, I was handed my pink slip last night -- my shop went down from 5 people in the IT department (4 full-time, 1 part time) just 6 months ago, to just my boss.

I wasn't let go because of my lack of work ethic, programming skills, or knowledge. I was let go because the company has been spiraling downwards for a number of reasons, and my feeling is that they will be out of business by years end.

My boss asked both the president of the company, and other people making the layoff decision, "Do you have any idea what you are doing!?!?".

Sure, I've picked up some Linux experience over the past several years, and deal with that all-dreaded MS company as well. But, my forte is with the System i, always known to me as the 400.

Perhaps what I'll miss most is the flexibility to come up with creative ways to solve a problem -- and solve it right.

I do not have all the answers -- heck, I could write a redbook on what I don't know... but I do know this: it is getting more & more difficult to find shops looking for RPG programmers, and even more difficult to find shops that actually encourage education.

I did not re-read this as I was typing it -- this is all impromptu. If I give this too much thought, I may start free-form, indicatorless logic... ;-)

Jon/Susan, I'm hopeful that I will be able to see you again at a conference sometime in the future. Hopefully I'll be working for a company that "gets it".

Aaron Bartell

Dan,

Sorry to hear you got your pink slip. I am curious to know if you think it is the responsibility of the employer to educate you or if the onus should be on you?

I personally think it should be both, because as your employer pays for education they will get better technology results from their people. But if they choose not to pay for your education then we as IT people get to pick up new technology on our own. Note that it isn't a necessity to travel to a conference to learn a new technology (i.e. PHP, MySQL, Java). Granted conferences can give you a much better jumpstart, but at the end of the day if we as IT people aren't lifelong learners then we are bound to be in trouble when our companies either choose to go another direction (i.e. Microsoft) or we are laid off.

On the note of learning new technologies I am currently putting together an video article for IBMSystemsMag.com that will show how to make a modification to an open source RPG+Java solution from start to finish including downloading the free tools (i.e. Eclipse) from the internet and deploying it on your IBM i. I am hoping things like this will get people more comfortable in dabbling with other technologies (like Java).

Aaron Bartell
http://mowyourlawn.com

Ray Pritchett

Root problem: To quote a Bob Tipton article from few years ago "IBM hasn't been a hardware company for many, many years" (http://systeminetwork.com/article/where-are-machines-ibm). Sell the division or spin it off with sufficient autonomy, and you've got a new game. T. Boone Pickens - are you listening?

Nathan Andelin

ASNA and other vendors that provide utilities and services to convert IBM i systems to ASP.Net like to point out that IBM i server sales have declined steadily from about $5 billion in 1991 to about $1 billion in 2008 - The IBM i ecosystem is shrinking - hurry and jump from a sinking ship.

Some of the decline can be attributed to competition, but it seems to me that most of the decline can be attributed to IBM's decisions - their server homogenization strategy, failing to come up with a good way for native applications to interface with browsers, general lack of innovation, milking customers & business partners with an interactive tax, CPU governors, etc.

Maybe it's time for IBM to re-evaluate their lack of investment in "i", in light of Oracle's acquisition of Sun.

Oracle will soon be in a position to offer integrated hardware, operating systems, languages, developer tools, databases, applications, and support services from a single source - a powerful position. Oracle will be in a position to tweak, tune, and enhance Java to make it more appealing to run under their servers than say, IBM's.

IBM bet the farm on Java - Java is now owned by a strong competitor. IBM is probably praying that Oracle refrains from closing the source and making Java a proprietary product. IBM used to be in a position to strong-arm Sun. But in the case of Oracle, I wouldn't count on that.

Jon Paris

Nathan,

"... like to point out that IBM i server sales have declined steadily from about $5 billion in 1991 to about $1 billion in 2008 - The IBM i ecosystem is shrinking - hurry and jump from a sinking ship."

One of the worst aspects of freedom of speech it seems to me is that it allows folks like ASNA to use such statistics to further its own agenda with no requirement to state the other side of the equation.

Yes - there is an erosion of the IBM i base, but an honest statement of these stats should include:

a) The fact that IBM does not break out i sales and hasn't done so since the power consolidation over a year ago.

b) IBM does not report IBM i operating system sales. It was always bundled so it wasn't needed.

c) The amount of power you get now for your $ means that even if you take the figures at face value the amount of computing power in the hands of i users has been increasing. I have met several customers in recent years who have consolidated the workloads of multiple systems onto a single cheaper box.

I'm not wearing rose-colored glasses - I'm as concerned about the future as anyone. More than some perhaps since my livelihood depends on people wanting to do more with their systems - not throw them out. I also have a few years to go before I can hang up my coding pads.

I too would like to see some action from IBM that indicates that IBM i really does have a future - particularly in light of the kind of garbage that has been coming out of some of these vendors lately.

Anita Russell

A couple of thoughts that cross two recent topics: If There's Nobody to Tell You About a New Feature, Does It Really Exist? and i Community Needs. Many comments in both conversations seem to come together under the heading of education and training.

Education: There are so many features on System i that don’t really exist to many ‘400 old timers’ - and Dan’s comments hit the nail on the head – ‘the i community needs for IBM to get the word out to business owners, IT managers, and any other "powers who be", about the Power of i, the cost savings of i, and the amount of talented i professionals.’ In my experience, personal and through fellow user group colleagues, very often IT managers for a variety of reasons let their shops fall several releases behind. So even if IBM does more to get the word out about new features and updates, they are usually put aside because ‘we’re not at that release’ and by the time companies do get current, the new features are forgotten.

Training: It’s becoming more difficult to find shops that encourage training and education. And it’s not just because of recent financial belt tightening. My experience is similar to Dan’s. I was laid off last fall by a company that a few short years ago had a strong, solid IT department with 10 employees. At last count they were down to 2, neither one strong on the iSeries. Over the years, no education was approved to allow the staff to keep up with new features and technology. As the staff dwindled, it was all we could do to keep what we had running and when the rare opportunity for new projects and implementations came up, outsiders were hired rather than investing in training the talent they had in house. And so a few more RPGers ‘die off’ and eventually, since the newcomers can barely even spell IBM, the System i is destined to be replaced.

Here’s hoping both situations turn around in the near future.

Hans Boldt

Anita: I was involved with the i (and predecessors) for decades. In my previous job, though, I got shuffled out of the iSeries area in 2003. I now view the i community as an outsider, which gives me a different perspective on things.

Will education and training help matters? System i fans point to the advantages of the unique features of their favorite system. But looking from the outside, the unique features can be seen as liabilities. The i is sufficiently different from Windows and Unix/Linux to make porting of apps difficult. And the size of the i market may make porting of apps unprofitable for ISV's.

In a declining market, what is IBM to do? Put money into supporting the i in an attempt to retain existing i customers? Or do what they can to keep them as customers, even if it means helping them move to another IBM platform?

As Nathan points out, there are companies making good money helping i customers move to different platforms. Why shouldn't IBM try to get a piece of that business? There are a lot of interesting technologies out there that make RPG look like "stone knives and bearskins".

Nathan referred to IBM betting the farm on Java. Moving from RPG to Java (and Eclipse) has been a big hurdle for many RPG programmers. And they're right - there is a big learning curve there. But Java isn't the only alternative. Unfortunately, as I mentioned earlier, there's little incentive or interest in porting these technologies to the i. (What about PHP? Too little, too late, IMO.)

Aaron Bartell

>So even if IBM does more to get the word out about new features and updates, they are usually put aside because ‘we’re not at that release’ and by the time companies do get current, the new features are forgotten.

This might be me putting my foot in my mouth because I respect a lot of the IBM'ers who work on the tools I use, but...

..what has IBM delivered to RPG application developers that would cause us to want to update to the latest releases of i? Not much if you ask me. What about XML functionality in V5R4 you ask? - fooey!! The biggest reason I need XML functionality is because the app development went to the Microsoft .NET staff and they now want to get data and existing business logic from the IBM i. If I had a solid, IBM shipped, native way to produce gui applications then I am certain the IBM i would not only stop losing customers but stands a high potential to gain new customers based on removing the biggest thorn (i.e. the UI).

All the new stuff for application development that would help me modernize my applications is being delivered in the EGL/Java camp, unfortunately. It is simply not practical to ask every RPG shop to start using EGL as their new development direction. If I had to guess I would say that EGL won't stand the test of time. PHP is the first alternative I would take on the i for browser apps, but gosh darn it I don't want alternatives I want the entity (IBM) taking in millions with maint to provide a viable modernization path for me and my company.

Nathan Andelin

I'm already repenting of my comments about the decline of the platform, IBM's complicity, and migration vendors seizing opportunities for themselves - while IBM i professionals suffer through lay-offs & cut-backs. It doesn't help to fuel negativity.

Jon summarized a number of possibilities to improve the situation, which are worth considering. It would be good to have a site where developers could try new tools and technologies, and deploy things they come up with. A number of us prefer server-based compilers & development environments over PC-based - getting an MS SQL Server download working can be a pain, for example.

Last Saturday I met another Cub Scout leader on a district-sponsored hike in the mountains, who turned out to be a DBA supporting Oracle & MS SQL Server databases. He was intrigued to hear that the IBM i database was built-in. He expressed pain over addressing authentication, authorization, and performance concerns related to distributed databases. With IBM i, there's much to be grateful for.

Over the past year I've developed over 100 new RPG-based Web applications, which run under a native IBM i portal. It can be hard for new applications to gain traction in markets that are dominated by big vendors. Baiting prospects with free open-source licensing is one strategy. But that injects the risk of losing the intellectual property that developers work so hard to create.

Another idea is to enable anyone to download and use the portal and applications for free - but require a fee for use over some defined limit - perhaps related to the number of users. Say the one-man shop gets free use, while a multi-concurrent-user setting requires a fee.

That type of restriction may be hard to implement in a J2EE, CGI, PHP,or .NET framework - at least it seems hard to me, and I've never seen anyone doing it. But I've come up with a way of unobtrusively offering it in my portal - perhaps an advantage to an IBM i solution.

I'd like to see other IBM i developers coming up with additional innovative solutions.

Jon Paris

"..what has IBM delivered to RPG application developers that would cause us to want to update to the latest releases of i? Not much if you ask me. What about XML functionality in V5R4 you ask? - fooey!! The biggest reason I need XML functionality is because the app development went to the Microsoft .NET staff and they now want to get data and existing business logic from the IBM i."

I won't argue with your own experience Aaron - if that's why your clients are using XML then I can understand your perspective. But it is not true of the customers that I have met. Most are using XML to interchange data in areas such as insurance, shipping, health care, etc. For those users the built-in XML support is a valuable feature.

You didn't mention the 6.1 release - which added local file support, passing files as parameters, and a bunch of related support that many advanced developers such as yourself have been asking for for years.

Are they doing enough? No.

Could we use native UI? maybe - I've made my views known on this - but frankly I don't think by itself it could halt the migration.

Personally I have found many more customers who are moving to .Net because their in-house RPG staff had no idea what could be done in the way of UI and stuck with a "green-screen is good enough" attitude - often I admit "encouraged" by out-of-date management that wouldn't let them do anything else.

My experience is that the platform is losing customers for three main reasons:

1) The above-mentioned "green is good enough" brigade who wouldn't use new UI features if you paid them. Who then find too late that it's not good enough.

2) Companies who can't get RPG programmers (or at least not at a level they can afford - i.e. everyone is a senior).

3) IBM. They are now a services company - IBM i doesn't create as much services revenue as say Linux/AIX/Windows so by promoting i they can be said to be reducing their potential revenue stream. At one time that differential was covered by the higher hardware costs. But we all bitched and moaned about that and so they cut the costs - guess what ...

Nathan Andelin

Don't be too hard on the "green is good enough" brigade. Somebody needed to keep legacy applications going while others laid a foundation for the future.

And 5250 truly is a remarkable interface - it adds a lot of value to the platform. It just needs to be coupled with a browser user interface. But by coupled, I don't mean a DDS to HTML extension - which would severely limit the potential. The browser interface needs to be fully functional - including AJAX support.

IBM's Global Services strategy isn't sustainable forever either. It once was unlawful to have front-loading tractors and steam-rollers on road projects in certain densely populated countries because that would put laborers with pick-axes and hand-shovels out of work. But things that improve productivity, and free people to do more interesting work - i.e. creative thinking, for example - offer a more permanent foundation.

It seems that a lot of folks at IBM, including Frank Soltis envisioned Java and J2EE as partners with ILE languages and native run-times, but there was too much temptation to migrate the new applications to other platforms. Indeed J2EE architecture is distributed while ILE architecture is centralized.

So the current and upcoming battle will be about centralized processing vs. distributed processing. It seems to me that centralized processing offers efficiency and productivity advantages over distributed processing. The advantage may not be a pronounced as front-loaders and steam-rollers vs. pick-axes and hand-shovels, but there's enough merit to centralized systems, that more applications should gravitate that way, at some point.

Consider the case of load balancers, for example. Is it better to have separate servers dispatching workloads to other servers, or to have a centralized multi-CPU server, controlled by OS-level task dispatching, which intimately understands what the server is doing? Oops, the load-balancer just dispatched a request to a server that's busy running a virus scan... send in a team of technicians to diagnose the problem and tune the environment.

Hans Boldt

Nathan: Don't apologize for stating something we all understand already. When I was looking for a new job recently, I figured my iSeries skills were my most marketable, and so I specifically looked for iSeries opportunities (but of course, not exclusively). But over 8 months, I found only 3 positions advertised. And that's in the 5th largest metropolitan area in North America!

(Actually, one of those positions was for an AS/400 programmer in a company structured as an income trust. I don't want to get into the details of Canadian tax law, but that fact probably meant that they weren't moving off that platform.)

Anyways, I spent more than two decades working on RPG, S/38, AS/400, and iSeries. I don't want to think that that work was all for naught.

I often think about what can be done to improve the lot of the iSeries. But that always morphs into thinking what should have been done 10, 15, or even 20 years ago. Unfortunately, looking back, it's hard to find a decision that was clearly wrong based on the facts available at the time.

But, assuming market conditions were better, here's what I'd do: Adding support for PHP was a good first step. But in order to make the iSeries more relevant in the wider community, it needs a broader choice of programming languages in that vast gap between RPG and Java. Python would be an awesome addition to the iSeries programming arsenal. It's a powerful OO language, yet much easier to learn and use than Java. And the choice of powerful web frameworks written in Python is incredible.

What about RPG? Currently, relative to other common languages used for application programming, it's a fairly low-level procedural language without a built-in library of procedures. There are a few web frameworks available, but these are very low-level. Developers of 3rd party RPG software should first look objectively at what's available in other languages for inspiration. Basically, all the nitty-gritty details of web protocols should be abstracted out. For example, an RPG programmer shouldn't have to know exactly how a request comes in. There should be software that automatically converts SOAP or REST or XML-RPC or whatever into a common simple format. There should be a templating system where programmers don't have to explicitly substitute values into the template, and where the templates can be edited by common WYSIWYG HTML editors.

Regarding the RPG language, it should be enhanced with proper string support. The existing string capabilities are OK, but handling long string values can be awkward. There should be a string type where strings are manipulated in heap store and addressed by reference.

Oh yeah, RPG procedures should be fully reentrant so that requests can be properly threaded.

I could go on, but I'd better stop now before I turn this post into a short novel!

Jon Paris

Hans

"Oh yeah, RPG procedures should be fully reentrant so that requests can be properly threaded."

Isn't that what was just done in 6.1? and if not - what's still missing?

Not that I think it is that important frankly - I've still yet to see many truly practical applications of multi-threading in a business application. No doubt there are some - I just haven't seen them.

Hans Boldt

Jon: If you're dealing with a language that doesn't have good thread support, of course, you're not going to see many threaded apps!

Oh yeah, I remember 6.1 now. IIRC, that's not quite true reentrancy, but rather something unique in between threads and processes. I believe you get a thread but with its own static storage. Kind of like a heavy-weight thread, or a light-weight process. The word "kludge" comes to mind.

Why use threads? In systems and languages that support threads, they're the preferred way to handle network requests for performance reasons.


Dan

Wow--I disappear for a few days, and upon my return, I see that many comments have been posted by many different contributors. Perhaps the i isn't "dying" yet... :-)

Education: Education should be the responsibility of both the individual and the company. It is our career, not our employers'. However, it is the company's responsibility to assure that they get the most out of their employees.

When I obtained my IBM certifications (RPG IV Programmer & Developer), I paid for the exams. If I passed, I would get reimbursed. That was fair -- it was a win-win. At that time I worked for a software company. This resulted in them having another employee who was IBM certified, and gave me the motivation to learn RPG-IV (ironically, at the time I got certified, I never used RPG-IV -- my shop was still RPG/400 -- I read up, studied, etc, and passed both on my first attempt).

If I was a bit older & able to take a year or two off, I would love to join Jon & Susan's venture in teaching young minds about the power of i.

Where I just came from, we used to have "Friday projects"... this was generally a time for us to experiment with different technologies, etc.

Today, I attended a tech job fair. There were only a handful of companies. But, each company, at any given time, had a minimum of 30 people in line at any given time--usually closer to 50 people! It reminded me of how busy the Northeast IBM users conference was several years ago--hundreds of people. And not surprisingly, not a single shop that was there did anything with DB2, let alone the i.

I had the "luxury" of working with i 6.1. I didn't get an opportunity to take advantage of many of the new features, and because of lack of free / community run i sites, unless I am fortunate enough to get employed by other i shop, I probably won't be playing with any of the new features any time soon.

When I first started my professional career, unlike Jon, we had keyboards... :-) My first job didn't start out as a 400 shop, but became one after around a year of my being there.

The software was written by a former IBMer. And, until recently, he still wrote software on the i. And then it happened--he jumped ship to become employed by Microsoft. When I informed my former boss, his response was "Too bad--he seemed like a nice guy"... :-)

Where am I going with all this? I don't know... :-) I'm just having a hard time adapting to a world without an i (always known to me as a 400). If a company has several computer systems (Windows servers, AIX, etc), without an i in their shop, do they have a real computer system? Possibly. But, they have computer staff who don't know what they're missing...

The comments to this entry are closed.