03 February 2009

Non-commercial Re-installations

A challenge for freelance developers

tidyspices Maybe it’s just me.  But I suspect this is a situation faced at times by others who work at the micro-ISV level.

It has happened to me 3 times in the last week.  Customers have got a new computer, and have installed “my” application, without contacting me.

Well, what’s wrong with that, you may ask.  This is how I see it…

If you are a freelance developer, building an application for a very specific one-off scenario, you don’t go to the extra effort/expense of providing for the “generality” factor.  Like you do if the application will be deployed more widely.

No, you set it up and install it to the computer system it was designed for.  You make sure, on that system, that everything related to the application is carefully put in the right place, and nicely lined up.

One of the examples this week was an Access 2000 MDE application, originally deployed with the Access 2000 Runtime, referencing a couple of third-party DLLs, using a set of specifically located TXT files, and requiring a DNS for some core functionality connecting to the MySQL database on their website.

The customer replaced their PCs, with Access 2007 installed.  The IT company who supplied and set up their new computers, simply copied the Access database files from the old PCs to the new, and somehow expected them to work.  Which they didn’t, of course.

One of the problems with this, is that it suddenly starts to feel like it’s my fault. There seems to be something of an undertone in our communication of “What’s wrong with this dumb database of yours, it was working fine and now suddenly it’s throwing all these errors, we didn’t think you would fail us at a time like this.”  Well, I’ve got broad shoulders, and I can handle this one.

More difficult, is the fact that by this stage it has become urgent. They rely on this application. They have to get their invoices out by tomorrow. And of course they are in a distant city. And they don’t know what “unzip” means. And so on… Pressure!

As I said before, this is not the only time.  So I can’t help dwelling on the question…  Why didn’t somebody think of getting in touch with me before the event? “We’re getting new computers. What do we need to do to make sure our database will work?”  It would have been easier and cheaper and nicer.

02 February 2009

Access Security

Management by Technology

security When planning and designing a Microsoft Access application, the question of the security of the data has to be carefully considered.

Similarly, one is called upon, from time to time, to discuss this aspect in technical forums and newsgroups.

Of course, from the technical angle, there are many aspects that could be discussed – and indeed they have been, many times in many places.  Hiding the database window, disabling the bypass key, deploying as MDE/ACCDE, backend in SQL Server, etc.  But that is not my main focus here.

Nor do I want to diminish the importance of attending to the question of data security in general.  However, I think we have to recognise that how critical a consideration this is, will vary hugely from one industry to another and from one application to another.

If security is highly critical, basically an Access application with a JET/ACE backend database is not the right tool for the job.  So?  There are millions of database application scenarios where security is not highly critical.

A few weeks ago, I was responding in a newsgroup to a question about preventing access to the backend database.  This person had realised that if anyone on his staff was sufficiently savvy, it would be possible for them to use various means to locate and connect to his application’s data.

This person had taken all the reasonable steps, as a developer, to make the backend database file difficult to find and open directly, and to make sure that the ordinary user would only interact with the data via the frontend application.

He asked what further steps he can take to prevent this hypothetical tech-savvy staff member from finding a way in.

I was discussing this over lunch with Lucy Thomson, fellow MVP, and she confirmed my viewpoint.  “People keep trying to use technology as a substitute for management!”

Exactly!  This is not a technical question.  It’s a management question.  It’s already patently obvious that you’re not supposed to mess with the database file.  It’s like a locked door.  It wouldn’t be too hard for someone with a screwdriver or bolt cutters to get in - but they would surely know they were doing something wrong.

Mr/Ms Savvy linking to the data file, or however they are going to do it, is hacking the company system. This is a serious offence. Make sure the staff know it will not be tolerated. Public flogging followed by instant dismissal for first offenders.

Expend your development efforts on building a great application. And apply management solutions to management problems.

01 February 2009

Nana is 100

On a personal note…

Steve-Nana My family and I have returned home from a very special visit to Adelaide, South Australia – my home town.

The purpose for the trip was to help my grandmother Phyllis Schapel to celebrate her 100th birthday, on 10th January.

Of course it was a very family-oriented affair. Wonderful to catch up with immediate family, cousins and extended family members, many of whom I hadn’t seen for many years.

And of course to spend some time with my Nana.  She’s a great lady, always know for her sharp wit.  Here are a few of her birthday quips I will remember:

Looking across the room at my wife Susan, she turns to me and says…

“She’s too young to have you for a husband!”

(Of course I should have commented back about a certain person being old enough to have me for a grandson, but I wasn’t quick enough – too busy laughing!)

The congratulatory letter from the Queen has been read, the candles are lit, the assembled throng are on the verge of singing Happy Birthday, and Nana says…

“Who paid for this cake?”

Witnessed this interchange…

Nurse: “To what do you owe your long life?”
Nana: “Good, clean living.”
<general laughter>
Nana: “Hey, I didn’t say I was perfect!”

And another…

Somebody: “All set for another 100 years?”
Nana: “Well, I’ll definitely be around for part of it.”

My daughter Hazel has posted here about it.  All in all, a pretty memorable experience.