Friday, September 11, 2015

Yikes! Our Database Program Won't Run on the New Computer!

Have you been in this situation?

Your business has been running on a nice customized database program for about ten years that someone developed for you.  The program fits tightly with how the business operates.  It was developed by someone in the past who had a full time job and did the work during his off-time for a good price.  You just replaced a computer with a newly bought one, with the latest version of Windows.  Now nobody can install or run the program on the new computer.  The guy who developed the program can't be reached for support.  He went on to other things and can't be bothered with your problem.

Now what?

Time to go looking for someone who can fix the problem.  You're not sure what language the program was written in, and you don't know anything about its database, except you think it's called something like, XYZ.  You ask your computer support person if she knows anything about it.  No - she can't figure it out.  She doesn't do databases.  You ask around, but nobody you contact knows how to deal with it.  It's some old system nobody uses anymore or has never heard of.

If you search long enough you should be able to find someone who can provide some sort of solution, so you'll be able to have new computers when you need them.  This problem could happen again.  But it could have been avoided, and can be avoided in the future.

Was the decision to use a custom program instead of a commercial one the issue?  No.  Although commercial software is really good and can meet a lot of the needs of a business, it's often not enough.  Each business and organization has unique processes.  Many times the uniqueness calls for some customization.  When you decide it would be beneficial to have a custom application you should follow these guidelines in order to avoid being left in the lurch some day.

To control costs you should use a consultant who will use a standard, popular, rapid development platform.  The following are current good platforms for putting together custom database programs quickly and economically:

Microsoft Access

This is the desktop version.  You would need a license or copy of Access for each computer the custom program will run unless the consultant uses the Runtime Engine.  The Runtime Engine will let you run the program free on any computer.  An Access program will only run in Windows.  There's no Mac version.  An alternative to Access for the desktop is using Office 365 with Sharepoint in the cloud.  Microsoft has tried to make the pricing for this arrangement attractive to all businesses.  However, development costs for a custom database program are likely to be higher than for the desktop.

OpenOffice Base

This is also for a desktop version of a program.  It's free, open-source.  So you can run the program on any computer for free.  The OpenOffice suite is available for Windows, Mac, and Linux.


FileMaker Pro

This is a robust platform that allows the creation of applications to run on desktops, through the web, and on mobile devices.   This solution is not free.  You'll want to use a server with this.  Filemaker offers a cloud server alternative.


Alpha Anywhere

This is another platform that allows a developer to create applications for desktops, web browsers, and mobile devlices  It requires a server, and has a cost structure too.


For any of these platforms be sure that the agreement with the consultant gives you complete ownership of the program and data files.  Also be sure that no matter what tool a consultant uses to create a program, that you have a copy of the source code.  The source code is the form of the program in human-readable format.  If the source code is unavailable, and you need another consultant to take over support it will be much more difficult to do anything with the program.

The above platforms are likely to be around for a while, and there is a large community of developers who have worked with them.  This means that if your developer drops support you shouldn't have difficulty finding someone to step in and take over.  However, things can change suddenly.  One of these platforms could go out of style in the future.  This means that as soon as your developer loses interest in being around to support you, you need to find a replacement ASAP.  The replacement can let you know when the platform is losing poplularity, and when it's time to think about moving to a new platform before it's too late.