What Are the Pros and Cons of Filemaker? [closed]
Asked Answered
T

16

38

A potential customer has asked me to look at some promotional flyers for a couple of apps which fall into the contact management / scheduler category. Both use Filemaker as their backend. It looks like these two apps are sold as web apps. At any rate I had not heard of Filemaker in about ten years, so it was surprising to see it pop up twice in the same sitting. I think it started out as a Mac platform db system.

I am more partial to SQL Server, MY SQL, etc, but before make any comments on Filemaker, I'd like to know some of the pros and cons of the system. It must be more than Access for Mac's, but I have never run across it as a player in the client / server or web app arena.

Many thanks Mike Thomas

Typesetting answered 7/1, 2009 at 20:35 Comment(3)
This is minor, unrelated quibble yet a huge pet peeve of mine: It isn't a "MAC", it's just a "Mac". "MAC" is either a networking protocol or a cosmetics company. A "Mac" is a computer.Miguel
Official Comparison to MS Access: help.filemaker.com/app/answers/detail/a_id/6159/~/…Matronymic
@SalmanPK - an official comparison written by, erm, Filemaker...Maines
H
35

Calling Filemaker Pro, Access for the Mac is kind of like saying, Mac OS X is Windows for the Mac. They're both in the same category of software, they're integrated programming environments. It's like you have MySQL, PHP, HTML and your editor put together in a GUI. Comparing the two, they both have pros an cons. Here are the pros and cons of using Filemaker Pro vs PHP/MySQL/HTML in my experience.

Pros:

  • Easy to get started
  • Easy to deploy locally, turn on sharing and connect from another client
  • Cross-platform (Mac OS X, Windows, iOS)
  • There are many plugins available to extend functionality
  • Includes starter solutions
  • Anyone with access can edit the program
  • For the most part, drag and drop programming
  • Changing field/database/script names after the fact is free
  • Has some neat built in tricks like built in graphs, tab controls, web viewers
  • Built in support for importing exporting excel, cvs, tab-formatted

Cons:

  • Inflexible: it does what it does well, but if you need more your out of luck for the most part
  • Expensive compared to the free alternative: It costs about $100 per year for a local user, $150 per developer, if you are using it as a website you need specialized hosting, which tends to cost more. In addition the server part of the software is about $300-$800 a year
  • The plugins required to extend functionality can be expensive as well
  • Pretty much only drag and drop programming, you can only use predefined script steps, relationships are made by making a graph
  • Source control is problem
  • Lack of scalability
  • Unable to copy and paste/import or export some items from solutions
  • Requires the mouse to access functionality
  • Layout design is fairly static and dated (this is improving with the Filemaker 12 and above)

In general I would say that if you're developing exclusively for the web or a large organization Filemaker Pro probably isn't the best fit. It's difficult to have multiple people developing on the same solution. On the other hand, for a smaller organization in need of a customizable in-house database it could be a great boon. You can build rather complicated applications very quickly with it if your willing to deal with it's deficiencies.

Hautesavoie answered 18/7, 2012 at 2:52 Comment(0)
M
34

Pros:

  • It's cheap

Cons:

  • It's cheap(ly made)
  • It's non-standard (easy to find MySQL/Oracle/MSSQL/Access experts but nobody knows Filemaker)

Using subpar and/or nonstandard technologies only creates technology debt. I've never found a respectable dev that actually enjoyed (or wanted to) using this niche product.

In my opinion this product exists because it is Access for Macs, and it gained enough of a userbase and existing applications that enough people bought each upgrade to keep it in business. There are many products on the market that still exist because it's users are locked in, not because it's a good choice.

Mealtime answered 7/1, 2009 at 20:47 Comment(3)
I definitely would avoid it, if possible. +1 for the cheaply made comment. If you start seriously developing with it, you're bound to run into walls and funky workarounds.Lemmueu
-1 I've never worked with Filemaker Pro and did think of it as "just another MS Access". However you cannot simply say "Cheaply made" ,"Non-standard" and give no real evidence to back this up. Your only "Pro" makes it obvious you have some subjective bias. Have a look at some of the other answers for much more useful responses. It actually sounds like Filemaker is ideal for smaller businesses where flexibility is important, but would be a bad choice for a distributed multi-user ERP system.Jodhpurs
@Jodhpurs - Except that, more likely than not in the Biz world, systems grow and it becomes a multi-user system. Or the system expands into a mess. There's a reason some companies outright ban Access solutions. Yes I'm biased, I see Access and Filemaker akin to using duct tape to fix rust spots on your car. Might seem like a good idea at first, but the more you use it, the flaws really begin to show. But once you're that far down the rabbit hole in Access/Filemaker, it's easier to suffer than it is to re-invent the wheel. These technologies are a pandora's box, use at your own risk.Mealtime
C
24

I'll admit to bias on this subject -- I work with one of the larger FileMaker development shops out there, and have written the odd book on the subject. We actually employ many respectable developers who love using FMP. I'll try to keep it brief. :-)

FileMaker Pro is a rapid app development tool. It's primarily client-server, though it has some very respectable web publishing capabilities which work well for many applications. It is not SQL-based, but does have ODBC and JDBC interfaces, as well as an XML/HTTP interface.

As far as lock-in, FileMaker Inc has grown sales steadily, with very significant growth in new users who are attracted to the platform's solidity and ease of use.

I think Matt Haughton nailed it -- for the right applications, FMP is simply the best choice going. That said, your customer is looking at apps written in FMP Pro, and you need to evaluate those apps on their own merit. They may be good instances of FMP development, or they may not.

To know more about FMP's fitness for the task, we'd need to hear more about the proposed application and user base. Are these indeed web apps, or client-server? How many users will be using it? Do they work at one or two site, or are they spread across the Internet?

Happy to elaborate further if there's more interest.

Casern answered 11/2, 2009 at 2:57 Comment(0)
S
20

FileMaker is designed to integrate very simply with other databases and client applications. If you are looking at building a complicated distributed system, look elsewhere.

FileMaker is NOT good to use as a front-end to another datasource due to the design goals of the External SQL Data Sources (ESS) feature set, and it is NOT good to use as a back-end to anything other that the FM client due to slow and buggy ODBC drivers. The nature of FileMaker's architecture means it doesn't scale very well with complicated solutions regardless of how well it can integrate with other systems.

Here's a developer's perspective on some limitations I've found when teaming FileMaker with other back-ends and ODBC clients:

  • The ODBC driver is limited, slow, and leaks memory on the client-side. The xdbc_listender.exe has similar memory leaking issues on the server side and will eventually crash when it uses a certain amount of RAM. We have a scheduled script to restart it each night.
  • FileMaker needs to load all related databases into memory before it can connect to a database. If its a complicated database, opening and closing a connection can be quite slow (1-2 seconds) depending on how it is structured, and more so if the database references tables in other FM databases because they need to be loaded as well. I get around this by creating persistent connections that stay open for the lifetime of the application. Although we try to minimize the number of open connections, we have yet to see a performance hit on the server.
  • The ODBC driver interprets queries in strange ways. For example I ran a query on 76k rows to UPDATE table_1 SET field_1 = 1 and it took 5 mins to perform the query because I think it split the one query into 46k update queries, one for each row. I know this because I watched it update the rows one-by-one in the FM client. So I don't trust the ODBC driver at all.

Here's another example of 3 different queries and how long they took searching on two date fields:

SELECT id FROM table
WHERE datefield1 = {d '2014-03-26'}

.5 seconds

SELECT id FROM table
WHERE datefield2 = {d '2014-03-26'} 

.5 seconds

SELECT id FROM table
WHERE datefield1 = {d '2014-03-26'} OR datefield2 = {d '2014-03-26'}

1 minute 13 seconds!

  • We had problems with how FileMaker cached data from an SQL Express database. We tried to run the command to clear the cache, but it didn't always work (spent a lot of time investigating this).
  • FileMaker uses pessimistic locking of records; before editing (from the client or as part of an odbc transaction) FileMaker attempts to lock the row first.
  • The FileMaker Server service "prefers" being stopped using the Admin Console (though the Admin Console may sometimes be unable to stop it either). If the FileMaker Server service stops any other way (including power loss, via the management console, or even a normal system shutdown) then some of your databases may become corrupt. Same if a client crashes during an operation, or if the network connection is lost suddenly. The solution for a power loss is to write a batch script to try and automate the shutdown, and then buy a UPS and program it to execute your script before the juice runs out. And hope it works. Otherwise backup hourly using the built-in scheduler. Aside: SQL server doesn't have this problem because it can roll back uncommitted transactions.
  • Performing backups with the built-in scheduler actually suspends operations to the database during backup process. ie, if its a large database, then it might take a minute to backup and users will notice the pause because they wont be able to edit/insert, etc.
  • If you're using the FileMaker PHP API, take note that you can't use AND and OR together in the same request.
  • Running an intensive query using the ODBC driver might be fast on its own, but run the same query simultaneously (as in a multi-user environment) and it will slow down by about 300% exponentially. You will run into speed issues if you’re expecting a large volume of intensive queries to hit the database at the same time.
  • We have found that when the FileMaker ODBC driver says it has finished an update/insert operation, it still does not guarantee the transaction is committed; it appears that FileMaker will continue to hold the changes in the server cache until the auto-enter calculated fields are evaluated/indexed and then it saves to disc, meaning there may be more of a delay until the record is actually committed. So really the ODBC write operations are not always immediate writes, but rather eventual writes. This delay will be especially evident in complicated tables with many calculated fields and triggers.
  • Calculated fields may slow down execution and reading via the ODBC driver, depending on what is being evaluated. Try to read stored values whenever possible.
  • Using BLOB containers: Not Recommended. Storing documents such as PDFs in a container field will inflate your database file size, take longer to backup and complicate the retrieval and editing of those files via ODBC. It’s much easier to store files on a network share and write to the file on disk.

If you must use FM as a front-end solution to another database, make sure to carefully read FileMaker's Introduction to External SQL Sources.

Also refer to the the appropriate version FileMaker ODBC Guide found on their website.

Striking answered 3/12, 2012 at 5:36 Comment(9)
Thank you for this excellent list of devil-in-the-details points. I am faced with integrating (and hopefully eventually migrating) a Filemaker-backed website with a MySQL based Content Management System. I've been working with the Filemaker PHP API and I too have run into the issue of not being able to combine AND and OR operators into a single "query" (or find command in Filemaker terms). I was considering investigating the SQL/OBDC interface to make these sorts of queries easier, but having read your points I don't think I'll bother.Pyrogallate
Also, I think it's important to consider first-hand experience like this when choosing a product/technology. While it's one thing to read off a feature list (e.g. "filemaker supports SQL via an ODBC interface") it's quite another to actually use it and have it work properly. It seems to be that - internally - Filemaker's database engine has been designed in a fairly specific way (to support a pretty specific set of use cases) - which doesn't necessarily map well to the features we have all come to expect from most other databases.Pyrogallate
Daniel, depending on how complicated the integration is, you might have success. But I wouldn't set out to make it a permanent integration, only because its likely to grow in complexity over time and eventually you will hit a wall with the ODBC side of things. A simple transactional website might be ok though - I was building a desktop application used by 20+ users with a pretty intensive GUI.Striking
Do you think these comments still apply in 2017? Are there any changes you would make since posting in 2012? We have just had a client contact us that wants to integrate with FileMaker and have our share of concerns about how that might work out.Salop
Hi @SimonEast, most of them yes. I will update the answer when I get a chance.Striking
@SimonEast, ODBC has improved slightly. We use PHP and ODBC and it works. Just keep your queries simple, ie to make it faster do sorting and filtering in PHP. You will run into issues sometime down the track and you will need a bit of knowledge about FileMaker to debug it.Striking
@Striking I know it is a bit off the topic, but I thought you may know this. I'm using FM API to fetch data to Laravel app and I ran across an issue with finding users by email. I can use the prefix of the email in the request and it will still find the user by that string, but as soon as I put the "@" symbol there, it returns an error code 401 - "No records match the request", Do you know anything about it?Insole
Hi @Varin, you might need to escape the '@' character. I would post your question in a separate SO thread, and on FM Community Forum as well.Striking
@Striking that was it. //@ did the job as filmmaker uses @ as wildcard character. How filemaker-like :)Insole
H
11

Just a few comments on the subject

FileMaker is certainly cheaper than some enterprise solutions in licensing costs. However, the real cost benefit is in development time. The development life-cycle is typically orders of magnitude lower than other enterprise platforms (whatever the licensing costs of those platforms). By this I mean days instead of weeks, or weeks rather than months to develop some feature.

There is a strong argument that FileMaker is Access for the Mac. While this was a valid argument a few years ago, FileMaker has come into its own in recent years. It's worth noting that FileMaker is cross platform and used extensively on Windows as well as Mac. That being said there are still huge similarities and differences between FileMaker and Access, the truth is none of them have any bearing on your situation.

While FileMaker is non-standard it does support live connection to MySQL, MS SQL Server and Oracle.

Also, there are numerous FileMaker developers not as much as more standard platforms, but they are definitely about, if you let me know where you are I can put you in touch with a selection of developers in your area.

The important point I want to make is that in the correct context FileMaker is the best thing in the world at what it does - if you try to do something that it's not meant to do, you'll get stuck. However, it could support offices in 4 locations, it can and is being done.

Before you go and rewrite your system in some other platform you should get in touch with a FileMaker expert and see what they have to say about what you've currently got, writing more details on this site and having non-experts answer positively or negatively won't help you. In the end it has to be a business choice of costs vs. benefits.

Highpressure answered 3/2, 2009 at 16:3 Comment(0)
P
7

No need to list anymore "Cons" - but here is a significant "Pro" - Filemaker Go. Once you have your database setup, download a ipad/iphone app (free for FM12) and run it from a mobile device. The database can be stored locally on the ipad/iphone or synced back to a host PC.

I'm sure this mobile solution is possible elsewhere - but the fundamental point is that an entry-level user (and I mean NO previous database experience) can create an impressive solution within a few weeks.

Personal experience: main database running FM 11 hosted on PC under my desk - 4 researchers scattered across the city collecting data on ipads - all syncing back to my PC. Previous solution was using paper and entering in data by hand.

Pettish answered 9/6, 2012 at 8:39 Comment(0)
S
5

FileMaker is an interesting app :) It started as an end-user tool and it still is one of very few database apps that a non-programmer can actually use. But somehow FileMaker developers managed to make it very scalable. There's no other platform where one can start with a useful tool and end up with a client-server app that for the whole company. In old days they used to have a splash screen that captured this very idea (I only found an imperfect version):

A cover of some old book about FileMaker

I.e. something as simple as a file cabinet that can grow quite big.

All FileMaker pros and cons come from its origin. As an end-user tool it's very much unlike other DBMS apps. No SQL. No real programming: scripts are basically macros that repeat user actions in a slightly more general way with variables and some logic. Lots of limitations; e.g. a list view cannot have a sidebar; a dynamic value list is always sorted alphabetically; to open a Save As dialog and read back the file name you'll need a plug-in; and so on. For a programmer this can be very frustrating, because most his assumptions will be wrong. And existing apps written by non-programmers are not exactly paragons of clarity and solid design.

But if you manage to overcome the obstacles you'll find a rather good RAD for client-server, single-user, web, and mobile apps, that stays rather usable over WAN, with such niceties as runtime and kiosk mode.

Having said that, I'm not quite sure about generic contact management and scheduling apps in FileMaker. If this is what they are, then they should be unlocked, so the customer can make changes; or they have to be niche apps that do for the customer what nothing else does.

Som answered 9/9, 2011 at 19:3 Comment(0)
C
4

Filemaker is enormously powerful and versatile. Excellent multi-user support. You can create wonderful solutions in Filemaker with document management, web interface, iphone interface, automated publishing support, scheduled scripts, PDF/Excel/HTML reports, XML support, caller ID record lookup, integration of web data (UPS & Fedex linked to order record for example). Extensible with plugins. It's like being in the Home Depot of data. Don't try to build Amazon; other than that what can't you build with it, and faster app dev than most anywhere else?

Conway answered 7/1, 2010 at 5:28 Comment(0)
A
4

It has been more than a year now since I run through FM and use it in developing solutions for various clients. The following are my FM experience:

  1. learning curve is much less than using the hard coded industry standard technology;
  2. it can fit well as to industry standards platforms because of it's ODBC and JDBC connectivity. Your data is not locked in FM and other data format can get in FM;
  3. it fits well as front end and back end solutions.
  4. FM can match enterprise platform having a right database design and deployment i.e. workgroup or department oriented solutions. This is data to it's workgroup owner and make it available for other workgroups or departments;
  5. FM is fits well for rapid application development that employs prototyping;
  6. FM has many more capabilities you therein...

I suggest you try it yourself and I'm sure you'll love the stuff FM can offer!

Happy computing...

Apollo answered 9/9, 2011 at 16:52 Comment(0)
T
2

A little research has made me think that FileMaker is indeed Access for Mac, but perhaps a little more robust. I worked with Access for years, never really liked it, and am glad to be away from it (I always held a grudge for MSFT killing FoxPro, which I did like).

It is hard for me to imagine it as a good solution for a web based app used by offices in four locations around the country, plus many others logging on from home, etc.

Using it does not make much sense when MySQL, SQL Server, etc are available for the data storage and ASP.NET, PHP, Ruby etc are there for the programming.

Mike Thomas

Typesetting answered 7/1, 2009 at 21:45 Comment(1)
Well the advantage of Access & Filemaker is that the form making is built into the UI, this allows non-developer a quick way to create basic CRUD apps.Mealtime
F
2

While the comparisons to "Access for Mac" is inevitable, there are some important distinctions that have to be made.

FileMaker databases can be shared out to more than one person provided 1 of 2 things happen. One, a person on your network opens the DB and shares it from their computer, acting as the host. Two, you buy and install FileMaker server which hosts the DBs.

Also it's been my experience that while FileMaker developers LOVE FM, they're having to learn other technologies because more and more government agencies (my primary employer the past 10 years) are moving off of FM and into SQL Server, Oracle and to some extent Access and open source. FileMaker skills are becoming less and less in demand in the public sector, so getting support for these applications is harder and consequently, more expensive.

That being said, we have a FM server and FM 5.5 clients running an application that has been rock solid for the past 5 years.

Fetter answered 11/2, 2009 at 3:8 Comment(0)
W
1

i've been using FM for more than a year now. i'm doing and providing solutions for SMBs using the SQL standard for several years. i love those SQL stuff, but just a year a ago i run through FM Pro 9 and have it a try. amazingly, i got all i wanted in just a short time. in my experience as developer, FM Pro impressed me the way it does things.

true enough, FM is not an industry database standard but a good number of its features can compensate to what "standard" is being required of. FM pro has live connectivity to MySQL, MS SQL Server and Oracle. for me, it doesn't make sense to speak about standard if you can move your data around from FM to other platforms and vice-versa.

well, this note can't make that much convincing. it's good to try it for yourself... especially now that FM has its new version 10. believe me... you'll love it...

happy computing.

Wesla answered 8/10, 2009 at 8:38 Comment(0)
C
1

Two points seem to dominate this discussion and need consideration:

Non-Standard and what Government Agencies are doing.

Let's consider the small business owner or the single user both of whom a creating databases to meet their needs.

Now it doesn't matter what the government is doing, this is your database for your employees. Do what you want (as long as its legal, of course).

Non-Standard, well often this is the best idea since what you want to do works for you. Name your fields and tables as you like and later on rename this as you prefer. Don't try this with dbf or sql... Anyone remember those 'standard' file names bks1999.dbf bks2000.dbf Keep in mind that 'standards' exist because someone else wrote them before you arrived, not because they are the best possible idea.

And yes, there are a lot of 'bad' Filemaker solutions but they are working and supporting hundreds of thousands of people. But try to improve one of these bad solutions and compare that effort to improve a similarly bad dbf solution. A renamed field filters effortlessly through thousands of scripts and scripts in related Filemaker files. In a dbf solution it can become a nightmare as each instance has to be manually retyped.

One real test would be to compare how easily Filemaker can work with SQL, etc. as compared to other applications. That might be interesting. I've never done that but I bet I could create a working file in very little time that works with such data.

I have always said that every developer should use and be familiar with all of the tools.

25 years with Filemaker Pro, 3 years with FoxPro, 2 with 4D, etc.

Copernicus answered 1/2, 2013 at 14:27 Comment(0)
P
1

Lots of comments about FileMaker being non-standard. But what is "standard"? By "standard", many people mean that a database supports Structured Query Language (SQL) (ISO Standard 9075) and FileMaker has and continues to support SQL. How every database engine supports SQL is proprietary to every database. Now it might be open source such as MySQL, but SQL is a standard to support, not the underlying language of how it is accomplished.

When most people talk about databases, they are only talking about the backend tables and schema. The front end user interface is frequently something else. And most of them now render those results as html pages via open standards like PHP. Again, FileMaker fully supports PHP calls and Apache or IIS (depending on which OS platform you are on).

So I would disagree with people saying FileMaker is non-standard.

What is unique about FileMaker is its tight integration between the schema and the User Interface. This is similar to Apple's tight integration between hardware and the Operating system, which has some nice benefits. Interestingly, FileMaker is owned by Apple, but I guess that is another topic.

Generally, FileMaker's User Interface is considerably easier to use than most open standards and most people stick to FileMaker's client User Interface instead of web interfaces. There are still a number of things supported only in FileMaker User Interface that can't be duplicated in a web browser.

FileMaker really makes rapid application development much easier with its close integration of schema and user interface. This makes development cost a whole lot less in most cases.

FileMaker's database services can be spread among up to 3 machines giving it primitive load balancing abilities with web services. While FileMaker easily supports hundreds of users, if you go into thousands of simultaneous users, many SQL only databases (eg Oracle, MS SQL Server, MySQL, Postgres) are designed to better spread out the load across more machines. Basically, if you have high simultaneous transactions, FileMaker is not your solution. For example, a company with many point of sale terminals from all over the county hitting it at the same time.

While FileMaker supports SQL and PHP, using it only that way is a waste of the money spent on the license for the FileMaker User Interface. It would not be a cost effective solution to develop a web front end and pay the full FileMaker license cost for only a backend. So, FileMaker's support of PHP and SQL is best combined with companies that have an in-house solution for staff, but also want to integrate that with their web development team for outside customers.

One last note is that FileMaker's tight integration of schema and User Interface makes security much easier. Obviously you have to set up the groups and users and I usually integrate FileMaker with Active Directory (or Open Directory). But when you use the FileMaker Client and Server connections, turning on encryption security is a single checkbox on the server. FileMaker handles all of the certificates and uses an AES 256bit cipher (at least since version 11, maybe before then too). Currently, the US Government considers that approved for up to and including the first level of Top Secret communications. In typical SQL systems, there is a lot of work to configure security on the database end as well as the user interface end of things and it is much more work than a single checkbox.

FileMaker's target audience has been small to medium sized companies, usually with 5 to 200 users, and it is a well priced product for rapid application development of databases for companies of that size.

And I can't end this comment without commenting on how easy it is to create and deploy a mobile solution on iOS devices like iPads and iPhones. FileMaker Go is a free app for use on these mobile devices and they fully support the same user interface and security. In fact, I am aware of one company that uses FileMaker as a front end interface for their Oracle database simply for access on iPhones. Expect a lot more in the mobile market in the future and FileMaker is clearly targeting mobile users.

Premonish answered 1/2, 2013 at 22:5 Comment(0)
M
0

Just to add my 2¢ to the already given answers: Everything everyone has written in the voted answers is true about Filemaker. The product is robust enough to warrant both positive and negative opinions.

Miguel answered 6/1, 2010 at 20:46 Comment(0)
P
0

I'm not a pro enough to speak to your concerns but there are a number of large complex applications written in FMP that you may want to look at. Jungle Software is a good place to start. The down side to FMP for me as a user of some of those apps is that they come with a stack of files. The runtime of a FMP application isn't packaged as a bundle so it can look a bit complex with a large app. We did some tests a long time back because FMP had a reputation of being slow. At that time (12 years ago) FMP needed to index the db or it was slow but once it was indexed it was as fast as anything else we tested. It's big upside for semi pros is that it is very easy to do basic stuff and end up with working tool. My experience with Access was extremely negative so I wouldn't compare it at all with FMP.

In the end it doesn't really mater what it was written in, if the software does what you want and is stable buy it. If it doesn't don't. It is very easy to get data in and out of FMP so the proprietaryness of the db format doesn't really enter into it.

Pauperize answered 3/8, 2010 at 20:18 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.