Strong words and the last thing I want to do is to upset too many people. I really do love Blackbaud applications and some of the people that I come across in that company are really talented and inspiring. However Blackbaud Hosting has to be the antithesis of that.
Why do I hold them in such low esteem? I am sure that for the smaller organisation that wants to avoid the maintenance of their software then theirs is a good solution. I do not have a lot of experience of their actual hosting performance so I don’t want to comment on that (others have enough to say on that here and here for example). I am looking at this from one perspective and one alone. When I get into a conversation about our customisations with a prospective client, they are really enthused and then they say, “Oh by the way we are hosted”. My heart sinks when I have to tell them that it is unlikely that our products or the bespoke customisation that we have been talking about will ever make it to Blackbaud’s hosted environment.
Why is that? There are a number of reasons
The technical challenges
The hosted environment is very different from a standard Raiser’s Edge installation. Each organation shares the space with each other. That means that everybody has to play nicely. It also means that applications that work in the regular environment do not work on the hosted environment without being adapted.
For each client that we sell a product to we have to recompile the application with a unique name. It would not be possible to have two products registered on the system with the same name. As Blackbaud uses a shared environment no one organisation has their own space.
This is relatively minor. However there are other challenges. Some applications call for a database table (Audit Trail for example but other customisations too). There is no possibility to get access to SQL Server to install it. Of course you could use a SQL Server database file to store the information in. However I am not sure it is robust enough. (I say that you could use this type of file but it is quite possible that there is a restriction on it given that you are unable to access the local file system)
And on that last note, you are unable to access the registry or the local file system. There are so many settings and features of applications that rely on these two areas.
The bureaucratic challenges
Whenever you want to release a new customisation on the hosted environment it has to be approved. This means that it has to be tested on their environment (this is a good thing as there is no way for us to test it on their environement). This also means that there has to be a code review. This is probably not an issue with a simple macro but many of our applications have thousands upon thousands of lines of code. What is more Blackbaud have their own customisation groups who, I am sure would love to get their hands on a third party code source (I know that I would if I were in their shoes). There is copyright on our code but since when has that ever stopped anybody from copying a good solution. Finally the whole process has to be paid for by. It is not Blackbaud Hosting who pay for the code review and testing. We have to pay for a competitor to review our code. Would that happen anywhere else?
Blackbaud should offer segragated environments. That way one organisation’s code does not interfere with another’s. There are a number of other organisation who do this. The one that comes to mind is Beyond Nines but I am sure there are others (feel free to let us know in the comments). We have often thought of setting up a hosting division to give organisations a better choice and will do it if approached.
Blackbaud should have some faith in their API. I have never worked at an organisation where some API code breaks all instances of the RE7.exe processes running. It may break the one instance that is running the code but not all. What is more the whole idea behind that API is that it should be used instead of writing directly to the database because it does enforce the same checks that The Raiser’s Edge does. Is that not good enough?
By insisting on a code review, you are putting up a barrier. We, the third party developer community, spent many years trying to get a better working relationship with Blackbaud and having achieved it find that there are new barriers going up.
Blackbaud Hosting need to set up a sandboxed environment so that third party developers can test their applications. The last thing an organisation wants (Blackbaud Professional Services included, I am sure) is for their client to try the application and then for it to fail because of an environmental issue.