Many years ago, I wrote a small Access 2003 database for a non-profit to track the donations they received. They recently wrote me asking for some new features (I was shocked it was still in use, honestly) and I'm wondering if I could rewrite the application with a newer technology/framework. Here are the machine specs:

Pentium 4 2.8 Ghz

1 GB RAM

Onboard Intel video card

Windows XP SP3

What, if any, would be a suitable replacement for the database and UI? I'm mainly a C# developer so Winforms + SQL Compact 4 springs to mind (I don't know how WPF would perform on a machine that old). Perhaps there are other possibilities in Python/Ruby/etc?

Update: I appreciate and agree that rewriting is rarely the right thing to do, but I was hoping to learn via this question, that given the PC's specs and OS, what possibilities would I have for writing an application that could

perform CRUD for donations

generate summary reports (totals by month/year/etc)

Or, put another way, is Access still the appropriate tool for the job?

Why do you want to replace it? A rewrite will almost never pay when you just want to add some new features to an existing program (at least, when there are no hard technical reasons against it).
–
Doc BrownAug 24 '12 at 13:48

1

Do they want to go through the trouble of a new application?
–
JeffOAug 24 '12 at 13:49

1

@DocBrown I don't even have a copy of Access 2003 anymore :) I was thinking if I rewrite it in something else it might be more maintainable.
–
JedidjaAug 24 '12 at 14:35

1

@FrustratedWithFormsDesigner upgrading to a newer version of Access would require the non-profit to also pay for a new version so I was hoping to avoid that.
–
JedidjaAug 24 '12 at 14:46

I would add not to upgrade to the current access version... its performance on older hardware is abysmal...
–
bunglestinkAug 24 '12 at 14:36

1

Well, upgrading it would force them to buy a new version of Access. They're a non-profit so they'd need a good reason to spend money on that.
–
JedidjaAug 24 '12 at 14:36

@bunglestink - Eventually they are going to have to replace the machine they are currently using. Better to replace while the current machine works then 3 years from now where the Access 2003 format is not supported by Access 2017. The next version of Office already drops some of the version 1 formats that was introduced by Office 2003.
–
RamhoundAug 24 '12 at 16:45

1

The solution is have the organization migrate to something like Open Office. Of course I would try to explain the danagers of using a 10 year old processor. I would have them start planning for what will happen when it no longer works. Yes i understand this is non-profit doesn't mean they can't have plans for the future.
–
RamhoundAug 24 '12 at 16:46

Rewrites are almost always more expensive than extending an existing solution.

Hardware is cheaper than custom software.

On a zero budget, open source software tends to be a better choice: any Windows version that still works comfortably with such hardware is bound to hit end-of-lifecycle at some point, but a lightweight Linux version works well enough on late 1990's hardware. This is assuming you are donating your time: a brand new entry-level PC costs about $300 or so, and I doubt you could install and configure an OS, install a database and front-end, and re-develop the entire application, on that budget.

*Office Base might be the best solution to get Access-like functionality with newer tools on a tight budget.
–
FrustratedWithFormsDesignerAug 24 '12 at 14:59

The requirements of OpenOffice is vastly different from Access 2003.
–
user1249Aug 24 '12 at 19:48

@ThorbjørnRavnAndersen: I have an old PC with similar specs (well OK, slightly more RAM) as the one the OP posted, and it was able to run the current (as of a year ago) version of OpenOffice, with no problem. So anecdotally, the OP's PC will probably be able to run Open/Libre Office Base. But they might want to look up an official System Requirements page, just in case. ;)
–
FrustratedWithFormsDesignerAug 24 '12 at 20:19

Since you are already a C# developer, that sounds like a suitable platform to replace the app. Basically, there are no 'right' answers here - any one of dozens of language/database combinations could be used for this. So unless you specifically want to work with something new, might as well take advantage of your existing skill set.

You also might consider that if one non-profit finds it useful, others might as well. Many a startup got going this way.