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?
12
I would simply leave it in Access 2003 or maybe upgrade to the current ver.
I see no reason to re-write this, they are obviously very happy with it.
4
A few things to consider:
- 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.
Draw your own conclusions.
1
OpenOffice or LibreOffice are 2 free Office solutions that integrate an application similar to Access, it’s named OpenOffice Base or LibreOffice Base.
If you want to do this programmatically there is SQLite that is a public domain project and is also relatively simple to use.
Both solutions are cross-platform and i suggest to use a GNU/linux distribution on that PC, maybe Ubuntu or Debian.
3
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.