Fog Creek Software
Discussion Board




Suggestions please?

Seeing as how I'm 'resting between contracts' I have been 'volunteered' by she who must be obeyed to write 'a small application' (where have you heard that before?) for a local charity that organises volunteer drivers to take old folks to medical appointments etc. The application is to be a booking/ expense management system that records driver's availability, matches this against requests made by clients and records the actual mileage driven so that expense payments can be made. All the obvious reports are needed, like who took whom, where and when, and summaries mileage by driver and period (month, quarter, year).

It looks like I have two options. Either find a similar (free beer) open source application or write something myself. Despite there being a strong 'community transport' community in the UK, I tried googling for free software with out success. It looks, therefore, like I'll have to do it myself.

Herein lies the rub. I can't use the obvious candidate of Microsoft Access because neither I nor the charity have it and neither do I have any form of Visual Basic at home. Has anyone any bright ideas for a similar, open source database tool?

If not, my thoughts were turning to Python, the Gadfly database and either wxWindows or PythonCard. I would welcome any experience that people might be willing to share.

Thanks

David Roper
Tuesday, June 24, 2003

hi David,

have you considered using revolution?

http://www.runrev.com/

its a x-plat metacard type thingie.
the free version has full functionality with the only drawback being that all your scripts must be less than a certain # of lines (I forget the limit, but its not unreasonable)

It produces a standalone .exe
you _should_ be able to use the free version for the full application with a little imaginative 'defactoring'
(they may even have a special license for charity work..might be worthwhile asking)

I dont use it myself but have explored it a while back out of interest...its a weakly typed scripting language rather than a strongly typed programming language so its not usually my cup of tea, but I believe that it would work well for you.

FullNameRequired
Tuesday, June 24, 2003

A bit of lateral thinking here, but if  you are willing to go for the web app approach, there are a lot of choices.

What you are looking for is very similar to what every consulting firm uses to log consultants time, and expenses with their clients.

Think of every one of your old folk as a client/project. The drivers are their consultants. They can log time and expenses against a particular client.... You want to be able to pull reports against both the client and the consultant.

Not sure how tech savvy the old folk are, but online booking and scheduling might be nice.

If this sounds OK, then head over to http://www.hotscripts.com

There are quite a few scripts that might be a good starting point for what you are trying to achieve. Check out the GROUPWARE category in whateve language/platform you decide to use.

You might want to look at the Portal Systems, and CMS categories as well. I think even PostNuke has a timekeeping module, although these might be far bigger and complex than you require.

tapiwa
Tuesday, June 24, 2003

David, I believe Microsoft has a program where it will provide software to recognised charities at low or no cost. You should investigate that to obtain Visual Basic.

Data access functionality, as provided by Access, is a core part of most desktop installations, available to any VB or other program for free.

It's a good task. Good luck.


Tuesday, June 24, 2003

David,

Take a look at PureBasic (www.purebasic.com).

It is a basic variant the compiles down to very very tight standalone exes.

There is native support for the full range of windows controls.

There is also native support for ODBC - which makes the database side of things much easier.

It costs just 59 euro, though you can download the trial for free.

Ged Byrne
Tuesday, June 24, 2003

Thinking on it Tapiwas web based solution is quite feasible.  Using My-SQL, Xitami and PHP you can write something that is so lightweight that you could even use it for a stand alone application.

Ged Byrne
Tuesday, June 24, 2003

And ultimately, remember that your UI is going to have to be good. The people you are doing this for are probably not tech savvy, so once you got your app visible all the change requests are going to flood in. Be prepared to lose a couple of months.

Other than that, this is a really good thing for you to be doing between jobs. Look at it as an opportunity to experiment with technologies that you wouldn't ordinarily pursue.

Looks great on a resume BTW.

Richard
Tuesday, June 24, 2003

VisualTCL may also be a free option

Phil
Tuesday, June 24, 2003

How about Python + wxPython + pySQLite using the Boa Constructor IDE? All free, interesting stuff.

Mick
Tuesday, June 24, 2003

David,

Have you checked our http://www.sourceforge.net.  It is "is the world's largest
Open Source software development website", according to them.  I've browsed through there before and there are thousands of open source apps.  Just a thought.

shiggins
Tuesday, June 24, 2003

The above " checked our http://www.sourceforge.net. " should say " checked out http://www.sourceforge.net. "  I am not associated with them.

shiggins
Tuesday, June 24, 2003

I don't know how heavyweight a platform you're looking for, but Open For Business http://www.ofbiz.org/ has a Java/SQL framework that's a fairly well thought out; it includes client and task management, but I don't know how much of its expense and accounting facilities are complete.  It does have web app support.

Interestingly, its main drawback may be that it's *too* feature rich in a some of its areas.  I recently rejected it for an e-commerce project in part because its product catalog screens had way too many features and I would've had to spend time trimming them!

Phillip J. Eby
Tuesday, June 24, 2003

Lets see:

You need a flexible report writer

You need a flexible query builder to write the sql to feed the reports
(unless you are real sql ace. I used sql for years, and still tend to rely on a query builder).

You need a good forms/screen builder for the UI

You also need a good programming language and a IDE to develop all of the above into one coherent package.

Gee, ms-access hooks all of the above into one package and uses the VB language for programming (there is really no difference in VB and the VBA in ms-access except for the forms model).

One starts to understand why the ms-access newsgroups have easily in excess of 1000 posts a day (I am not kidding here!).

Now, if you had the developer edition of office, then you can package and deploy that ms-access application to the client, and they don’t have to have, nor purchase ms-access.......

You problem here is that you need some very high productivity tools, or you will use up too much of your time...or worse...not even get the project done.

Ms-access will let you produce appcltions at least double the rate of VB.

Will that be 3.5 weeks, or 8 weeks?

The amount of time, and how feature rich the resulting product is going to be reflected in the tools you use. Ms-access is very productive, but it has a STEEPER learning curve then does VB.  However, access has all of the tools you need.

I mean, what do you plan to use for a report Writer?

I thought that Kylix/delphi had a open source version...you might look into that.

However, whatever tool  you do finally choose, you will also have to factor in the learning curve and time to use that tool in a productive manor.  This ramp up time can actually be greater then the time to develop that application.

And, if you do find something you like, I would love to hear what you finally do find!

Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
http://www.attcanada.net/~kallal.msn

Albert D. Kallal
Tuesday, June 24, 2003

someone has already built a system like this for the openacs toolkit. i believe it runs some sort of meals on wheels program in Oakland. openacs is a pain in the nuts to set up, but once it is running, it is kind of nice. maybe post on the openacs forum asking about this.

http://openacs.org/forums

shugglesworth
Tuesday, June 24, 2003

Thanks for all the suggestions and encouragement.

I've been specifying and building heavy metal databases for years, so I'm not phased by the application although I must admit I'd not even considered building it as a web application. Interesting thought ...

I agree completely with Albert that the quickest way to do the job is with Access and VBA, it's just that I don't own and can't justify the cost of a developer's licence; hence the search for open source alternatives. Thanks to whomsoever suggested that Microsoft have a charitable programme; I'll investigate that. If it doesn't run here in the UK I guess I'll have to decide whether to buy some tools, or follow my curiosity and build a web application - Tapiwa's and Ged's suggestions sounds interesting.

Thanks again to everyone.
Cheers,
David

David Roper
Tuesday, June 24, 2003


David - check out techsoup.org.  They have very cheap MS licenses for nonprofits.  Not sure if they work in the UK, but someone on their message boards might be able to point you in the right direction.

Jason
Tuesday, June 24, 2003

Actually, I'd advise against trying to support a free application under Access, especially Access runtime.  In just a week or two, I'll be starting a port of a 3-year-old app from Access to VB for two reasons:

1.  The classic Access application design uses two .MDB files: one for data, the other for everything else (queries, forms, code, reports, etc).  Users have a *very* hard time with this -- when we've asked for a copy of their data, they've sent us the forms MDB.  More than one user has also tried to launch the forms MDB from a floppy, which then crashed because it couldn't find the back-end file.

2.  The Access install is delicate.  97, 2000 and 2002 can coexist on a single PC, but they have to be installed in that order, and reinstalling tends to hose everything.  (And users can't be trusted to know whether they have it, so they'll often run it "just to be sure.")  Even if they manage to get multiple versions installed, then there's the question of which one gets used when you double-click an MDB.

Basically, we've had almost no support issues with the program itself, and a whole lot of support issues centered around the fact that we used Access.  I love Access in a big way, but it's not worth supporting as a shrinkwrap.  Moving to a VB front-end will let our users have just one file for their data, and if we change the extension, it can automatically open in our app.  Hmmm... come to think of it, that's remarkably like CityDesk.  ;>

Sam Livingston-Gray
Tuesday, June 24, 2003

Under 2 above, make that "...users can't be trusted to know if they already have Access installed, so they'll often run setup...".

Sam Livingston-Gray
Tuesday, June 24, 2003

As far as the support issues in ms-access go? That all comes down to how you setup the install.

There is several solutions here:

First, like any application, the ms-access interface should be hidden. Further, the users should be getting a mde, NOT a mdb for the application part.

A shortcut to launch the application should be used to set both the workgroup security, and also not confuse which version of ms-access to install.

Further, your install should not care if the users installs, or un-install ms-access. Thus, you want to use the runtime install with sage key scripts.

Usealy sage key will solve all of these problems. The result is a rock solid solution that is NOT effect by installing new versions of ms-access, or un-installing current versions of ms-access. Of course, you need to purchase some install scripts.

Check out

http://www.sagekey.com/whats/article.asp

www.sagekey.com

Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
http://www.attcanada.net/~kallal.msn

Albert D. Kallal
Tuesday, June 24, 2003

>Usealy sage key will solve all of these problems.

That should read:

Using sage key will solve all of these problems.

Albert D. Kallal
Tuesday, June 24, 2003

You can develop in C# or VB.NET for free.  All of the tools required for said development are part of the freely redistributable .NET Framework.

Want an IDE?

Check out:

http://www.icsharpcode.net/OpenSource/SD/Default.aspx

Not as feature complete as VS.NET 2003, but it costs nothing and it really is quite nice for free software.

Mister Fancypants
Tuesday, June 24, 2003

*  Recent Topics

*  Fog Creek Home