Oct 24

Pricing for the ISV

I recently read through an article about how IBM i ISV’s are apparently wrong in the way that the charge for their products. While I do have some sympathy and do recognize that some pricing practices are not appropriate in today’s global competitive market, I also feel the argument is incomplete.

As an ISV we develop product in the hope of being able to sell it but that comes as an upfront cost before you even make the first sale. The cost of developing a product is not insignificant, so you need to make sure that the market is big enough to cover those costs and more (yes profit is key for survival).

Here are some of the arguments made within the article.

“Provide straight-forward, flat pricing with no haggling”

The poster goes on to state that it should be a single price regardless of the size of the system or the activity on that system such as active cores or number of users etc.

Well I have yet to walk into a customer and not be expected to haggle on the price! Its human nature to want to get a better deal than is originally placed in front of you, it makes you feel better when you get that better price and can take it to your manager.

Don’t play favorites? I have already blow that one out of the water above, some customers demand more just because of who they are. A large blue chip company brings with it more opportunity to up-sell other products and they tend to have professional negotiators so they tend to get the best deal! But they do tend to be happy to pay more for the right solution and because they have bigger operations the cost of the purchase is spread over a much wider base. Maybe they are not favorites but they certainly get more attention.

If I walk into a small client who only has a small 1 core system and less than 20 users what do you think he is going to say when he finds out he is paying the same price as the big guy down the road with 64 active cores and 3,000 users?? I am pretty sure he is not going to feel like he was dealt a good hand!

I do agree that the price has to be fair and I do not get involved with adding additional cost just because the system has multiple LPAR’s or more active cores, the price is set by the IBM tier group for all our products. This should reflect the capabilities of the system to handle much more activity and therefore spread the additional cost over a much larger base.

“Freeze software maintenance when a customer purchases your software”

Nice idea but totally impossible to meet! If the developers I employ would accept a pay freeze at the time I employ them and the suppliers I use (that’s everyone who adds cost to my overhead) would freeze their costs maybe I could do the same. In reality its never going to happen. There are too many influences that affect the ongoing cost of support, that cost has to be passed on to the users of the software. The users always have the option of terminating support, they can stick with what they have as long as they want. However having said all of that, we have not raised our maintenance costs to our customers for many years, we are just making a lot less money than we should..

The question about including the first year of support with the initial price is mute, add them together and they are a single price. Some companies like to allocate license fees and maintenance to separate accounts so they like to see it broken out. We don’t stop improving the product on the day we sell it, its a continuous cycle so if you need support or want to take advantage of a new feature we just added maintenance is an acceptable cost.

“Make it easy for customers to upgrade their hardware”

If a client stays within the same IBM tier they should not pay additional fees to move their application, however if they move up a tier group they should. This all comes back to the discussion above about how the initial cost should be set.
We do not charge for moving the product to a new system in the same or lower tier, we don’t add a fee for generating the new keys either, but you must be up to date on maintenance or expect to pay something even if it is just a handling fee.

IBM charges for additional core activations which we do not agree with but when you look at the capability of today’s systems and what activating an additional core can do for adding more users its not that simple anymore. What I certainly do not like with IBM’s fees are that we are billed for the extra cores PLUS we have to by additional user licenses etc as well if we add more users! That is just gouging at its best!

“Don’t make your customers pay for capabilities they don’t need”

Its easy to say modularize your application in such a manner as to allow the clients to pick and choose what they want. The reality is some options just can’t be left out because of dependencies on other options. Another problem is clients now have to make a decision as to what the are going to purchase, how many times have you bought a product with more options than you need just because the price point for the additional features is so minimal? The client is not paying for something he does not need he is paying for a product that meets his requirements and maybe more at a price that is acceptable. If the price is wrong your competitor will make the sale not you.

Purchasing decisions are not always made for the right reasons, we are human and we make decisions based on our own set of principles. Even companies which have purchasing policies in place that should reduce the effect of human emotion it will still be a part of the sale.
Trying to predict a clients choice is near to impossible even if you have a relationship with the decision maker, other factors will always come into affect. All you can do is put forward what you feel is a fair and acceptable price and be prepared to haggle. Trying to put a set of rules such as above into the process is only going to end badly!


Apr 23

FTP Guard 4i Take 2

We had been discussing the FTP Guard 4i with a prospect and they mentioned that they would like to be able to monitor the FTP Server and SFTP Server from the FTP interface. So we have added a couple of new features to the status screen that allow the user to administer the FTP Server and the SSHD server which is used for the SFTP connections.

Here is the new status screen

New FTP Guard 4i status screen

FTP Guard 4i take 2

One of the things we did notice when we added the new features and checked they functioned was the SFTP connection takes on the QSECOFR profile in the job and drops the original user profile. We need to take a look at this to see exactly what effect this has? We don’t allow the QSECOFR profile to connect via FTP or SFTP so the security we have set for the user as far as FTP is concerned still applied.

Let us know if you are interested in this kind of solution and what if any additional features you would like to see. The Log viewer is coming along and will be the subject of our next post.


Nov 13

IBMi eco system.

I was reading a number of articles in the press this morning about the IBMi (i5,iSeries,AS/400 and the rest) and the possible install base. The articles suggests that there are around 35,000 “active” IBM customers but around 110,000 customers who are still running the system but not on any maintenance or support? The articles also suggests that this number can be doubled in terms of systems because the average customer has 2 systems.

The articles then goes on to ask why are these customers who are loyal to the platform still running old releases of the software/hardware and suggests that this could be in part be due to the fact that the system is so robust and secure they have no need to do anything with it. I think some of that has merit, but in the same breath I think the pricing practices of IBM have contributed to that position. The second hand market is still very strong and many customers are still changing up their systems to later ones without any maintenance or support from IBM, so maybe this may point to the pricing of support by IBM? I stopped hardware maintenance simply because it did not make financial sense for the size of system we run! It was better to throw out the system and get another one if a major component failed (not that they do that often).

Here is a suggestion for IBM, I have a number of older systems which I do not run. What about allowing those customers who are running on systems where the CPU(s) was pegged at a certain percentage have the ability to upgrade these old system to run the FULL CPU capabilities. I have a 515 and 520 which are limited to 20% of the CPU. The processing power of these system was a lot less than my new system yet they cost me a lot more to purchase, if IBM allowed that processor to be opened up as long as I had them on maintenance maybe I and some other customers would take up such an offer? Maybe you could even make it an annual fee so you have to keep up with the changes in the OS, maybe that would remove the “if it aint broke don’t fix it” mentality. It would also add value to paying for maintenance which customers could relate to, and it would be IBM maintenance not third party..

So you ask why would IBM do that, after all they wont get much revenue even if a large proportion took them up? Well maybe it would help those customers who are sitting in the dark ages move towards the new technology. They could stipulate a minimum requirement in terms of OS to get the new keys which would force many to look at the system they run today. Maybe it would even get those customers who see the system as being old in a new light (what other system offers the ability to get 5X the processing power just by upgrading the OS?). It will enable them to look at the newer capabilities which were not available because the CPU restriction made them too slow and cumbersome. How many customers who are putting up with multi second response times use this as a confirmation that this system is old and needs replacing? Short term IBM does not make a lot of money because the customers will only pay a small fee to get the upgrade, but those customers may then see the system in a new light and develop the system further? If you are not having to invest in something it has no value, that is the problem with the IBMi.

If you are running crippled systems that have a lot more power than IBM has released talk to your IBM representative, maybe if enough ask IBM may sit up and listen? But expect to pay something even if it is a requirement to have that system on maintenance.


PS: I am talking about opening up those P05 systems which were crippled at a % of the CPU, today’s P05 systems have much higher CPW rates for less cost, just allowing the CPU to reach its full potential without matching the newer systems capabilities is what I am asking for. There should be plenty of other reasons to move to the latest hardware technology.

Apr 18

Planning for COMMON 2011 at the end of the month

We thought it was about time we went back to the COMMON conference this year so we have bitten the bullet and decided to attend the Minneapolis event at the end of this month. As usual we are doing things at the last moment so we have a lot of things to get into place before we attend. We had considered taking a booth but our lack of commitment early enough meant we missed the chance to get everything in place in time. Maybe we will move fast enough to get a booth at either the next conference or maybe one of the European events?

Our main focus will be attending many of the sessions related to PHP and High Availability, so if you are there make sure you say Hi! If you are looking at High Availability there are a couple I would suggest you look at (Particularly if you are looking at a home grown solution) which are the Larry Youngren and Chuck Stupca sessions that are spread throughout the conference such as HA on a Shoestring.

I am personally looking forward to finding out what IBM and Zend have come up with for the Open Source PHP toolkit? One of the biggest problems I see with the IBM i and its PHP implementation is its lack of openness so maybe this will help remove some of those issues for me? We are also looking forward to meeting up with our friends at Aura Equipments who have a booth, if you are interested in PHP on the IBM i these are some people who you should make sure you pop round to see. They have a solution which allows you to connect to the IBM i from other platforms using PHP calls just the same as you do from the IBM i HTTP/Zend solution except you can talk to remote IBM installations. This brings a number of benefits one which we feel is important which is security. You don’t need to expose your IBM i to the internet to get IBM i content delivered to the internet! Performance is another big one for us as we only run small systems, but the new Zend/IBM announcements may reduce that somewhat if they actually deliver on their promises.

At the conference we will be sporting our new HA4i product logo which we have been working on for sometime. We feel it shows our commitment to the IBM i very well and doesn’t take a lot of interpretation for anyone to understand what the product is all about. Let us know what you think, I have put a copy of the logo’s below and I will be wearing the HA4i one proudly throughout the week. So if you see me make sure you pull me over for a chat about the product and what we have to offer.

Here is the new HA4i Logo, make sure you keep your eyes open for it.

HA4i ~ affordable Availability for the IBM i

HA4i Logo

This is the new DR4i logo, we won’t be sporting it at the event but look for it in the months to come.

DR4i ~ availability without complexity

DR4i Logo

We haven’t been posting much lately mainly because we are developing our own journal apply process, not that the IBM apply process is bad but we have found a couple of unique situations where it doesn’t fit the application environment too well. Not only that, but when we find anything that does need attention we have a lot of work to do with IBM to convince them a change would be to the benefit of everyone and as everyone knows that can sometimes be an uphill trudge. The basic technology for applying journal entries already exists for DB files because we developed it for the RAP product to apply the updates to the job data files. Now we have to cater for a lot more journal entries and as per usual it comes with a lot of quirks to work around such as IFS based entries where IBM doesn’t always store the object path but instead uses an Object ID which can differ between systems! We have the core functionality developed, all we have to do now is build the checks and balances for when things go wrong and make sure we have sufficient error checking to ensure it keeps running when errors occur.

The new Apply process should be available for the next major release which we hope to be announcing before the end of the year. Testing will probably take up most of that time! Other enhancements are available in recent PTFs which are available for download from the website. HA4i is developing fast and continues to provide an affordable High Availability solution for the IBM i market. If you are looking at Availability make sure you add HA4i to your list of products to look at, you may be surprised at just how affordable it can be.

If you are at COMMON make sure you say hello! I look forward to meeting new people and discussing what we can do for you. You never know, you might even be fortunate enough to catch me at the bar and manage to drag a free beer out of me!


Jan 31

UK Presence

We have finally bit the bullet and set up a UK presence. The UK company will be responsible for all European sales and support for our products plus a focus on integration and management of the Microsoft line of products. It is early days but we feel it is important that our European customers are able to receive a local service and support our Business Partners in the area.

As soon as the company details are finalized will will provide details.


Jun 04

5733SC1 Back online for download (for now!)

After some discussions we have managed to get the 5733SC1 CD images back online for download. BUT we would ask that you limit the number of times you download the images to a single download or even consider creating your own download image for others to use. If you would be happy to do this we can set up a mirror link which can direct people to your download site.

If we find that people start abusing the system again we will have to think of an alternative, we love to support the IBM i community but the support cannot drain our resources… We hope that you use this facility with respect and don’t cause us to reconsider our decision. I don’t know why IBM is not providing this capability? Seems like this is what you pay your software subscriptions for.


Apr 27

5733SC1 downloads and PHP

We have removed the downloads from the blog due to an increase in our website bandwidth which is not sustainable. We have seen over 200 downloads of the image since January (over 50 of those in the last 2 weeks), we hope that is an indication of the popularity PHP is gaining in the IBM i community. If you are looking for a copy of the product you can download a copy directly from IBM using the following link.IBM Software downloads You will need to have SWMA in place to use the facility.

We are also looking at alternative methods of accessing the IBM i using PHP without the need to be running the HTTP servers on the IBM i. This will bring a number of benefits which will make the investment in the licensing required to carry this out a worthwhile cost. We are still in the preliminary phase and have a number of questions placed with the suppliers of the technology. As soon as we confirm exactly what is required and how to set the environment we will publish our findings.


Apr 26

RPG Open Access Good, Bad or indifferent.

The debate about RPG Open Access seems to be gaining some attention from a number of well known IBM i supporters, some good, some bad and some which is pretty much indifferent! Where do we stand, well not being an RPG development shop we really don’t care too much.

Our language of choice has always been C, not just because we like the language but the biggest benefit is the amount of information which is out there for us to use for research and education. It is our comfort zone and we know we can take our existing skills and move them to another platform with minimal discomfort. I had been trained by IBM back in 1990 when the AS/400 first came out on the RPG language, this had been done to help us support a product called Multiple Systems Software which was the EMEA High Availability product at the time. The core product had some RPG code in it but a lot of the newer code was written in C to take advantage of some of the newer technologies it used. We found that most of the coding changes were made by the owners of the technology and we had very little to do in terms of real programming support. Our efforts were more about installing the product and selling the concepts. That was the sum of my RPG experience which to be honest had tainted my perception of the language ever since.

A recent exchange with Jon Paris has changed that view slightly, we did not know it could do the pointer arithmetic etc we have used so much in C or that it could be used to call C functions directly. A quick tour round Scott Klements TCP sockets programs showed us just how wrong our perceptions about the RPG language have been. Does that mean we will become RPG converts? Most definitely not! C is still a better language for us because of the platform independence if nothing else.

I am not saying the Open Access technology is bad just that I think it has been over hyped, For it to work you are going to have to re-write your code to support it. You are probably going to have to change the way you write you code as well because the environment for a browser application is different to a 5250 application. On top of this you are going to need handlers that will take the information you have just written out which will build the GUI interface in what ever form you require, plus you will need the IBM runtime for any of it to work. If you are in that position why not look at a newer technology such as PHP/HTML for providing the GUI?

Now some companies are going to find this technology very useful, there are shops which have nothing but RPG skills available so developing a new PHP or similar technology based application is a non starter. With RPG OA they can take their existing skills and continue to enhance their application using this new technology with no changes required in their programming skills. The cost of the runtime and handlers will be easily covered in this alone. They are not looking for new markets so having a technology which is tightly tied to the platform won’t concern them too much. The handler developers will also benefit, it a new source of revenue for them. Someone had mentioned open source handlers would be made available but to be honest open source of IBM i specific technology doesn’t seem to be that widespread.

So why are we even interested in RPG Open Access you ask? We we are not! Our interest was merely about how we could take the technology and use it within our C programs to a benefit. As it turns out that may not even be possible, RPG does some special data manipulations when preparing a write in RPG which we have to do manually in our code in C? This means we would be writing the code anyhow so the benefit may be lost. At this time we do not have plans to even look at the technology, our attention on this subject has been more about questioning the significance to the IBM i as a whole not our like or dislike of it. Some may say we are just whining about the way IBM handled the availability of the technology particularly for us, others may think we are whining about the cost of the technology and others that we are whining just for the sake of it! We are not, we have managed to gain a better understanding of the implications of the technology and we are totally indifferent to the announcement, it has no bearing on what we will use for future development of our products. There are a lot more significant issues to whine about.

So to round up, for some this is a big announcement, for others it is just another announcement….


Apr 26

IBM i !IBM ‘i’

OK the name police have written me up! I was always putting IBM ‘i’ instead of IBM i in every post here or in forums. I have been reprimanded for my actions and do willing agree to change my wicked ways. From now on it is IBM i OK!

I did something for the IBM i today… What who knows :-)


Apr 25

PHP and IBM ‘i’ without Zend or HTTP running on the IBM ‘i’

We have always looked at the building of HTTP interfaces for IBM ‘i’ with a view that they should run on the IBM ‘i’. Our main reason for this was performance, if we are running a web server on a Linux box which has to talk to a web server on the IBM ‘i’ to get related information this would certainly slow things down significantly plus the complexity would certainly take some managing.

We have for a long time said the IBM ‘i’ HTTP server is very slow in comparison to the Linux Server, we did try to install the Sugar CRM package on the IBM ‘i’ but had to give up and move it back to our Linux server because it was simply too slow.. Add to this the complexity PHP brings to the IBM ‘i’ when Zend Core was first introduced and we felt it was a non starter where Application modernization was concerned. Zend Server did change our view a bit, not having to use the PHP server as a proxy was the first improvement, using FastCGI improved not only the complexity involved in setting up the PHP environment but it also lowered the overhead and improved response times. This made us look at using PHP based interfaces for our products again.

Before we take this story further I would also like to point out that we have looked at the Look Software products for providing an interface to our products, the products are certainly first class and do bring a lot of potential to the market in terms of application modernization. Our concern is the cost of the runtime which we would have to impose on our customers if they wanted to use this kind of interface, plus we had to provide our own changes to the screens etc to make it really worthwhile. I still firmly believe the Look Software products are the best way forward for application modernization where you are looking at refacing to start off with and then add more integration with other platforms and servers as you move forward. Their announced support for the new RPG Open Access and availability of handlers is certainly something RPG shops need to consider. However for our products we feel providing a new PHP interface would be the better option, we don’t need to provide cross product integration and we don’t use RPG for our display management. Starting to develop in RPG just to get access to the technology doesn’t seem the right thing to do?

We have been talking around our use of PHP for a long time, in fact our websites and a number of others that we have developed are all PHP based. Our concern has always been with the setup and management of an environment to support PHP on the IBM ‘i’, we have also noticed a number of issues with the new Zend Server on the IBM ‘i’ as well as a number of IBM HTTP problems particularly the slow response times from the *ADMIN servers and the constant need to manage the JAVA environment. So we need to make sure what ever direction we take it is maintainable.

We recently moved our development from a 520 system running with 2GB of memory to a new system running with 4GB of memory. The 2GB system performed more that adequately for the programming and testing of IBM ‘i’ based programs but really struggled to run very well when we turned on the HTTP server and tried to use it with any degree of simulated loading. The new system with 280GB of DASD (15% utilized) and 4GB of memory does start up the HTTP servers a lot quicker and the overall performance of the applications running under HTTP have improved, although to be honest it is not enough. Once you add the PHP server to the mix which we use to interact with IBM ‘i’ programs/objects and the response times certainly leave something to be desired. I expect if I double the memory again things will change but the cost of that is pretty steep, probably a lot more than a new PC server to run a Linux based Web Server even with IBM’s new memory pricing.

This had us thinking about how we could interact with the IBM ‘i’ from a Linux server running PHP, could we supply the programs and data from the IBM ‘i’ and leave the Linux server to manage the HTTP side of the house.

Our first thoughts were to write some kind of client server tool which would correspond from Linux to the IBM ‘i’ passing it onto the Linux HTTP service. This would require us to create a module for the HTTP server (something we have not done so the impact would be quite heavy in terms of learning curve and time to market) which could be bolted in by our customers. It would not have to be too complex because it would only be for our programs. Next we thought about the PHP modules available from EasyCom, after all this is how the i5_Toolkit works on the IBM ‘i’. As it turns out this is the route we took, our initial concern about having two HTTP servers talking to each other raised their ugly heads but after installing the EasyCom solution we found something which came as a big surprise, they do not require the HTTP or PHP server to be running on the IBM ‘i’!

If you are using the i5_Toolkit already you will know that the I5_COMD server has to be running for PHP to service i5_Toolkit requests. It turns out this is the same service which is used for a remote i5_Toolkit request from a Windows or Linux server, it just needs an additional key to enable the functionality. We did ask about how this is installed when Zend is removed from the IBM ‘i’ and it is simply a FTP of a few objects from the Linux server as they are shipped in the Linux package.

Installation of the Linux modules did take some figuring out (the EasyCom manuals are not the best) but one we did and we moved the same code we had used directly on the IBM ‘i’ to the Linux system to test it out, it worked like a charm.

So what is the downside? Well there will be a cost for the runtime! I am not sure what that cost will be as EasyCom has yet to provide me with any indication on that. That could put this in the same position as the LookSoftware proposal, as we do not know either cost we cannot make the comparison. You also lose the db2_ functions from the PHP stack because these are IBM supplied and no Linux or windows variants are available as far as I can find. Having said that our tests using the i5_Toolkit functions performed just as well if not better than using the db2_ functions.

Upside? well first of all you can get away from all the complexity of setting up the webserver on the IBM ‘i’. I have run Zend PHP on the Linux server for over 10 years and it has never folded on me like the IBM ‘i’ installation did recently! It is faster, I ran the very same pages on the Linux system as I used for testing on the IBM ‘i’ and the responses with data were significantly better. A file which had 30,000 records in it came back in probably half the time. I can remove the terrible *ADMIN servers, I don’t need the HTTP servers for anything other than running PHP services, this means I get a lot of the CPU and memory back which was taken up with running the *ADMIN servers. I can entirely remove the Zend Server from the IBM ‘i’, I am not saying the Zend Server is to blame but removing it will simplify the management of the system. I will have access to more support by going for the open source servers than I do with Zend, our IBM ‘i’ Zend support ran out a long time ago and the cost of re-instating it isn’t worth it in our case. Probably one of the biggest gains is I do not have to expose the IBM ‘i’ to the internet if I want to provide a web service which accesses the IBM ‘i’ for data! If you already have a Windows webserver or Linux webserver which is controlled by a specialist group they can integrate the i5 functionality very easily.

I am sure there are a lot more benefits and drawbacks we will encounter as we move forward and we do have a long way to go before we can be certain this is the right option for us, but the initial responses are favorable.

As we find out more information we will post it, if you are interested in looking at how you can build a similar solution let us know and we will be happy to engage.

Call us if you have any questions or wnat to know more about what we have done so far.