Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
FileMaker Books
FileMaker Articles

Free Web Tools
Free FileMaker Tools

Personal Pages

Shopping Cart
Shopping Cart


Free Newsletter


Privacy Policy

FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.

February 2005

Pick the Right Tool for the Job
by Brian Dunning

digg this article | this article

I'm often hassled because the shopping cart that I built for many of the web sites on which I sell software products I sell is written in PHP, and among my products are Lasso courses and Lasso code snippets. One guy even suggested publicly that it reflects poorly on Lasso that I don't even "trust" it for my own stuff.

Hassling me for this reason suggests a deep misunderstanding of why technology decisions should be made. I don't agree that the overriding concern should be pleasing the potential Lasso class attendee by showing him that his registration was completed using Lasso. Sure, that would be nice, and if all else was equal, I'd probably have done it. But a more valuable experience for a student would be to learn what considerations should be taken into account when making a technology decision, and then to apply those considerations and make the best selection.

In this particular case, the server in question was a virtual host on a shared server at an ISP that didn't offer Lasso, like most ISPs. End of story. Yet my tormentors interpreted that I "didn't trust Lasso."

From which airplane salesman would you rather be guided to the best aircraft for you: a guy who sticks to a single type of plane, refuses to test any others, and knows everything about his own plane but nothing about any other; or a guy who has flown them all, used them all, and has a deep knowledge of many types?

So let's talk in specifics. When I'm deciding which technology to use on a web application, here are some of the environment variables I'll look at:

  • Existing infrastructure. Are there any existing systems or databases that this new system will need to play nicely with?
  • Deployment environment. Where is this going to be hosted? What kind of remote access will be needed and available? What operating system is going to be used? Are these decisions dependent upon my decision, or is my decision dependent upon them?
  • Development, hardware, and software budgets. Is money available to make the hardware and software purchases that my decision will mandate, and what kind of development budget is there? Don't be discouraged away from a logical course because a project with a cost of tens of thousands of dollars is going to require a purchase a several hundred dollars: keep your eye on the whole forest. Be dollar wise, not penny wise and dollar foolish.
  • Maintenance situation going forward. Does the owner of this new system want a large talent pool to draw from for assistance in the future, or is he going to be dependent upon a very small pool of talent who might get hit by a bus? Is it important to use familiar, widely used technology?
  • Anticipated load. Is the expected load truly going to be enough to overwhelm FileMaker Server? Many people seem to fear this but I've never seen a site that could come close.

FileMaker Server is great and wonderful, but it also has its drawbacks, as does any technology. It's important to understand these drawbacks, and those of the competing choices. In my experience, it's best to use FileMaker Server for your data source when the application is going to be hosted locally, and local FileMaker users want live access to the same data that's driving the web site. If that's established, and Mac and/or Windows are available for hosting, the next question is to decide on the web application technology. There are many from which to choose (Lasso and PHP being the most prevalent), they all work, and the desired end result can be reached with any of them.

If FileMaker Server is not going to be used, then chances are strong that I'll recommend PHP/MySQL. I use PHP/MySQL for probably 80% of the web work that I do. It's highly optimized for any server platform, fast as hell, and has a huge base of programmers out in the world who can pick up the pieces if I get hit by a bus.

The primary difference between PHP/FileMaker and Lasso/FileMaker is the query structure. With Lasso, there are zero code changes needed to switch between a FileMaker data source and a MySQL data source if you decide to migrate later. With PHP/FileMaker the needed changes are significant.

The only real limitations with either is that you need a Mac or Windows server to run Lasso or FileMaker Server Advanced, and neither is something that most ISPs are not likely to run unless you colo your own server. Some feel that this is offset by Lasso's excellent administration consoles, a feature missing from both PHP and FileMaker Server Advanced.

Usually the decision whether to use MySQL or FileMaker is straightforward, but not always. Sometimes half of the puzzle pieces support one model, and half support the other. Compromise configurations are possible, including some interesting things you can do with remote synchronization using SyncDeK. Other times, completely different technologies arise as the best choice. I've even used JSP/FileMaker in one case, because it fit in with the existing infrastructure. I used to do a lot with PHP/PostgreSQL, Witango/FileMaker, Tango/Oracle, PHP/Oracle, and even JSP using a dynamic text file for a data source!

All of these technologies are rich, full featured languages, well proven, with all modern programming constructs. There is no issue of "trusting" one and "mistrusting" another, which makes one of my detractor's comments just plain silly. Anything you need your site to do can be delivered just as well using practically any technology. There is never any need to ask "Can this be done with Lasso?" or "Can FileMaker support a shopping cart?" Of course they can - anything can - there are far more substantial considerations that the knowledgeable developer with foresight needs to be aware of.

Keep platform religion, personal bias, and inexperience out of the equation. Often, a developer is thrust into the role of product manager, as many consulting clients lack a staff member with the proper expertise. When this happens, be up to the task. Bring an unbiased eye to a project, look at the big picture, and make the right decision for the right reasons.

Browse Mode
Jan 10 Solving Performance Emergencies with FileMaker Server
Aug 06 Top Ten Sessions Cut from the 2006 FileMaker Developer Conference
Jul 06 Who's Driving This Thing, Anyway? Or, How Marketing and Engineering Buried the Hatchet (Warning: Contains a Curse Word)
Nov 05 Shingle Grandiloquence
Oct 05 In Celebration of Geek Magnetism
Aug 05 A Rogues' Gallery of Devcon Attendees
Mar 05 Lies, Damned Lies, and Project Specifications
Feb 05 Pick the Right Tool for the Job
Oct 04 Home Media Server Requirements
Jul 04 Leveraging Your FileMaker Lingo
Apr 04 Technical Support Redux
Mar 04 Enforce Seats in FileMaker 7/8/9 Commercial Solutions
Feb 04 Reinventing the Wheel
Oct 03 WAP: The Technology That Wasn't
Aug 03 Brian Dunning's California Governor Election Platform
Jul 03 Sex and the Single Software Developer
May 03 XSLT: Creeping Out of the Closet?
Feb 03 A Consultant's Guide to Traveling
Nov 02 Adventures of Bat Magnum, FileMaker Consultant
Sep 02 FileMaker at Area 51
Aug 02 FileMaker Terminology
Feb 02 Computer Shunts
Dec 01 Aquabase Alpha & the Consultant's Challenge
Aug 01 It IS the Size That Counts
Jun 01 On the Trail of Sasquatch
May 01 Spring Cleaning
Feb 01 FileMaker Mobile Survivor Challenge
Jan 01 Letter from Nürburg
Dec 00 Performance Anxiety
Nov 00 Objection, Your Honor
Oct 00 Leveraging Convergence: Jargon for the 21st Century
Sep 00 Top Ten Things to Do at Devcon
Aug 00 Aesop's FileMaker Fables
Jul 00 Ten Commandments of FileMaker Pro
Jun 00 Explats Cross Examined
May 00 iMac, Therefore iServe
Mar 00 Valley of the Dollars
Jan 00 Are You Up for a Review?
Nov 99 Tales from the Script
Sep 99 Tech Support Revisited
Jul 99 Moderns vs. Classicals
Mar 99 Nashoba, We Hardly Knew Ye