Add a Comment (Go Up to OJB's Blog Page)
Low Tech Solution
Entry 772, on 2008-05-18 at 18:13:15 (Rating 1, Computers)
Followers of this blog might have heard me mention that I have been working on a computing project recently which has been taking a lot of my time. I have been working on various IT aspects of a charity auction that a friend organised here to raise funds of the Otago Community Hospice. Last night we ran the auction and sold well over $100,000 worth of interesting items, including a Graham Sydney painting he did especially for the event.
There were three main areas computers were used for this project: a web site which gave general information, displayed the catalog of items, and allowed bidding before the main auction itself; a slideshow (some people would call it a PowerPoint presentation but I use Apple's KeyNote which is much better); and a database which allowed bidding on items in a "silent auction" which was run in parallel to the main auction.
There was nothing necessarily difficult about any of this except the "dynamic nature" of the project. I got an email at 7 am on the day of the auction listing changes to the catalog, and that wasn't the last update I got. I was still processing photos for the catalog an hour before the auctions started!
And just before the auction started I had to race home and disable on-line bidding because the hotel we were using couldn't easily get me access to the Internet. Then I had to race back again, process the on-line bids for the auctioneers and get my laptop ready to run the slideshow.
Most of the work I did worked fairly well considering the number of last minute changes, but there was one major stuff-up which was really my fault. I had created a simple FileMaker database on my modern laptop running Mac OS 10.5 and FileMaker Pro 9. I tested it thoroughly and everything worked fine. But we were running the auction on some old iMac G3s running Mac OS 10.3 which meant I was limited to FileMaker Pro 7. I moved the database across and it seemed to work fine... except it wasn't really working at all!
There's a feature in FileMaker which gives you the ability to work with what are basically arrays. Its not a great way to do things and it really comes from the time when FileMaker didn't have relational abilities. But I used it because it was a quick way to achieve what I wanted. Basically I stored the maximum bid for items in an array. In both FileMaker Pro 7 and 9 you can retrieve individual elements using a variable as the index, like (to use C syntax) x=a[y]. But if you want to assign an array element like a[y]=x you cannot do it at all in FileMaker Pro 7. You can use a constant like a=x, but not a variable.
It worked in version 9 but when I shifted the same database to version 7 it just stopped working properly. There was no warning, no error message, just that the bid didn't update because the wrong array element was changed (I think it just always set the first one). Without redesigning the whole database there was no fix so we had to revert to a low tech solution and run that part of the auction on paper. Luckily the silent auction was just a small component of the whole event and it worked OK, but it was a bit of a disaster from an IT persepctive.
But why would anyone design a language which can read an arbitrary array element but not write it? And why would they fix it in a newer version, and allow backward compatibility, but then not warn you when it didn't translate properly? FileMaker isn't a bad product but its typical of that sort of product that there are arbitrary limitations like this which aren't flagged by errors. Oh well, next time I'll be more paranoid of the technology and test things more thoroughly!
There are no comments for this entry.
You can leave comments about this entry using this form.
To add a comment: enter a name and email (both optional), type the number shown above, enter a comment, then click Add.
Note that you can leave the name blank if you want to remain anonymous.
Enter your email address to receive notifications of replies and updates to this entry.
The comment should appear immediately because the authorisation system is currently inactive.