« [Tip] Basic JavaScript in Servoy Methods | Main | [Commentary] Instead of Servoy vs FileMaker, is there room for Servoy AND FileMaker? »

September 15, 2004

[Article] FileMaker Pro 7 vs. Servoy

by Michael RochardExcelisys

Ah, which is better? Guinness or Stout? FileMaker or Servoy?

In the case of Guinness or Stout, both taste abominable!

In the case of FileMaker or Servoy; that's more difficult to answer but maybe the attached chart will prove useful! Bear in mind that this is my opinion and mine alone but I was asked to compile a comparison and, as I did so, I was absolutely amazed by the number of quantitative and qualitative advantages.

After working with Servoy for almost a year and having gone through a very difficult and frustrating learning process, the light bulb finally went on about 6 weeks ago and I am now making, for the most part, rapid progress. Bottom line is I love Servoy! It is so cool in so many ways and I can see tremendous potential in it.

Going back a number of years (17+), I remember when I announced to my friends and colleagues that I was going to specialize in FileMaker and do nothing else but Filemaker. There wasn't one person who gave me any encouragement; in fact, most of them told me that I was certifiably insane and that I would go broke within a year! To say, they were wrong would be a mild understatement!

So now for the next 17 years (which will take me way past retirement age), I am going to specialize in Servoy and focus all of my efforts on it. I foresee many sleepless nights - this is one of them; much gnashing of teeth (or dentures); frequent posts to this Forum and above all, a sense of joy at being able to do some amazing things for my clients with this fantastic program!

With that in mind, I hope that the chart will prove useful, informative and a starting point for continuous discussion.

Feature

FileMaker

Servoy

Database Proprietary – Not SQL Industry Standard SQL
Supported databases FileMaker – solution files must generally be stored on a single server. All SQL compatible databases; Oracle, SQL Server, Sybase, Firebird, mySQL, etc.

Servoy can open a connection to multiple database servers of different types in different locations and can combine any data from any source into a report or layout.  Global worldwide connectivity.

Data Stored with file structure – no separation of design and data.  (Even if solution constructed so that data is in a separate file, the two are irrevocably linked). Design and data completely separate.  Do not even have to be on same machine or in same hemisphere.
Installation On every machine; has to be done individually and with a master disk with multiple serial numbers. Java web start – installs automatically from web page for each and every user.
Licensing One copy per machine For concurrent users.  Can have 300 people using system but only 50 at the same time so only 50 licenses required.
Maximum # of Users 250 Unlimited – subject only to limitations of server box(es)
Software Upgrades Requires installation from disk on each machine for major releases.  Fixes are downloaded. Automatically installed from Servoy Server – requires annual subscription for unlimited upgrades
Solution Upgrades Data has to be imported into new version – can sometimes take hours New version uploaded to server and activated – no data transfer – takes minutes.
Rollback on new version No Yes
Development Testing Requires complete copy of solution and then has to be done again on master copy Requires local copy of data for testing purposes and new release is then activated when ready.  Changes do not have to be redone.
System Crashes Run Recovery on every file in the solution – all users are down during thisperiod.  Ideally the data should all be imported into a ‘clean’ version of the program.  Depending on the number of records, can take many hours.

If periodic backup is being done, can restore backup but work will be lost.

Restart application.
Platforms Windows and Mac All (not Mac OS9 or earlier).
Speed of Searches Fast Fast, considerably faster with very large record sets.
Reporting Sometimes very time consuming, especially with complex reports that include summary and summary calculation fields. Blindingly fast.  Reports are generally created as an html page which can be printed, opened in a browser or saved as a PDF file.  Calculations are done on the fly.
Report Design One layout for each report with specific fields on the layout. One layout for all reports with the report being compiled dynamically.
Report Creation Requires access to layout functions – not generally recommended for users Users can create their own reports on the fly with point-and-click selection and store those reports for future use.
Report Appearance Subject to way report is designed – not readily changeable Can be changed on the fly with different colors, emphasis, etc.
Audit Tracking No Standard, automatic
Interface Tools Excellent Better
Window Sizing Yes but objects are not resized so if a window is enlarged, the appearance can look wrong or out of proportion All objects can be set to resize automatically as window is resized.
Event Driven No – must physically run a script to perform a function; plugins are available for some of these purposes but require purchase and installation Yes, actions (scripts) can take place on entry into a field, on exit from a field or even on data change. All objects have events.
Object Oriented No Yes
Scheduling No Yes
Navigation Tabs Done manually – painstakingly created for each different layout with all tabs having to be set to go to a specific layout. Created instantly with as many tabs as needed.  Tabs can be added or removed at any time and position of tabs set to be top, left, bottom or right or not at all.
Localization Very time consuming, requiring multiple copies of each layout and navigation adjusted for each different language or can use global fields for placeholders but somewhat impractical. I18N compatible.  Each object (field, field label, dialog) can be translated and will then appear in the selected language without any additional overhead.

Translations can be done by local users as needed and are stored on server.

Cascading Style Sheets (CSS) FileMaker has a number of ‘themed’ layouts but the options are very limited and apply to every object on the layout. Servoy fully supports CSS which can be applied to an entire form or certain elements within that form.  CSS can also be used to generate html reports and users can even choose which style sheet they want to use (that is, if the developer, gives them that option!)

| Posted by David Workman on September 15, 2004 at 03:34 PM in Articles | Permalink

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c8d8153ef00d8346b305669e2

Listed below are links to weblogs that reference [Article] FileMaker Pro 7 vs. Servoy:

Comments

This "comparison" is biased in its language and the selection of its talking points. It is also inaccurate in more than one regard. I had expected something more objective, or at least something factually correct. As such, the chart was neither useful nor informative.

That's not to say that Servoy doesn't have it's strong points, but the same chart could be produced by a FileMaker Pro developer where FMP is stronger on all of the points. The problem with charts like these is that the selection of comparison points is biased and then the comparison language is biased towards personal opinion. I haven't seen a useful one yet.

Corn Walker
inRESONANCE

Posted by: Anonymous Coward | Sep 16, 2004 10:18:53 AM

"the same chart could be produced by a FileMaker Pro developer where FMP is stronger on all of the points."

If you can find a FileMaker developer who knows Servoy and is willing to write a comparison of the two products from a FileMaker developer bias—I will gladly post it.

I totally agree that charts are about as useful as the viewpoint they serve. They are a good starting point for debate however and you have stepped up to the plate!

Instead of generalizing, maybe you could share with us the specifics on the points you disagree on.

David Workman
Servoy Magazine

Posted by: David Workman | Sep 16, 2004 10:59:47 AM

I have a reaction to Corn Walker's comments, then I have some Servoy related questions for David Workman.

I agree with Corn the table is blatant in its Servoy bias, but Corn is equally provocative with this: "The same chart could be produced by a FileMaker Pro developer where FMP is stronger on all of the points." I suspect he really means he could produce an unfairly biased comparison in FMP's favour. If he really does believe the specific Servoy advantages David points to are inaccurate then I'd like to see his arguments.

In the meantime, as a relatively new Servoy developer I'd like to learn more about these features David listed.

"Localization translations can be done by local users as needed and are stored on server." Now, if true, that's truly remarkable. Haven't yet received my 2.1 docs yet so I'm not yet up to speed on I18N. Does David have references?

"Scheduling". David says Servoy has it but FMP doesn't. What does he mean by the term, what's he referring to?

"Report Creation. Users can create their own reports on the fly with point-and-click selection and store those reports for future use." Haven't gotten into report generation yet. Not sure what he's referring to here, how the end user would build and store such reports. Again, page references would be useful.

A nit pick. Guinness IS a stout. All stouts, any brand, are an acquired taste, as most Guinness drinker would agree.

Having worked with Servoy for about three months now, I'd make these comparison comments. Up until FMP6 FileMaker was relatively fast and reliable for development for development work. No comment about FMP7 since I've bypassed it. Developing in Servoy, in contrast, has a steep learning curve if you've not programmed in VB, AppleScript, JavaScript, etc. before. Even if you have a good set of programming skills, it's my intuition that Servoy development will never be as fast as FMP (any version). Servoy development is like having the training wheels removed from your bicycle. With so many new capabilities it takes time, especially if you don't want to send your code up against a wall or round in infinite loops.

It was only in the last year of active FMP development I became frustrated with the structural limitations of FMP. However my move to Servoy was forced by the realization that my very large FMP6-based solution would require a substantial rewrite before it could take advantage of FMP7. Faced with the choice between FMP7 and Servoy I opted for the big jump.

I'm very glad I did, not only for the feature set, but also the very short time period between Servoy versions (major new features are being added very frequently), and also for the support forum. During the days of Darren Terry, FMP support was very rich, but the help I'm getting from both Servoy staff and other developers is awesome.

Posted by: Morley | Sep 16, 2004 12:56:47 PM

Corn - I somewhat agree with you. Vendors can "skew" a features/benefits chart any way they want. However, I'd love to hear/read any comments or suggestions. I'm very interested in your opinions :-)

Morley - a couple of things:

1) Localization - we will have a demo showing it - or email me (bob@clickware.com) and I'll send you a demo I did.

2) "Report Creation. Users can create their own reports on the fly with point-and-click selection and store those reports for future use." Look in the CRM example that ships with Servoy - and click on the "Reports" button. There is an interactive SQL builder tool there where you can define a query, save it and have users run it. Also, I'm working on a free, open source turbocharged version of the same thing that you can get at: http://www.clickware.com/servoy/reportmaker.htm

3) "Developing in Servoy, in contrast, has a steep learning curve if you've not programmed in VB, AppleScript, JavaScript, etc. before. Even if you have a good set of programming skills, it's my intuition that Servoy development will never be as fast as FMP (any version)." Interesting observation. Here's my personal experience: Servoy is NOT for every FileMaker Developer! Since I have experience in programming (HyperCard, SuperCard, RealBasic, JavaScript, HTML, etc.) I can now do projects 2-5 times FASTER in Servoy (especially if you have to do interface stuff like dim buttons, and conditionally show/hide objects). I've been using FMP for 14 out of it's 20 year life - and even though Servoy is only 2 years old - I can get an amazing amount of stuff done in a short amount of time.

Corn & Morley - THANKS for your posts!!

Cheers,

Bob Cusick

Posted by: Bob Cusick | Sep 16, 2004 4:05:42 PM

If it appeared that this was a biased comparison, that was not the intention and if there are errors, then I apologize for them.

I still think that FileMaker is an awesome product and it is certainly accessible to non-programmers which makes it a great tool for many people and many uses. However, there are some major drawbacks, especially for large projects, and those are the ones that I was focussing on. By all means, Corn, take the chart and post your comments alongside each item; I'll certainly be interested in seeing them.

Servoy is definitely not for everyone. It does require a much higher degree of programming skills and, for me, the learning curve has been colossal and continues to be so. In contrast, getting completely comfortable with FM7 has been, relatively, quick and simple. But, then again, I do have about 17 years of working with FileMaker so I would expect to be able to get to grip with a new version relatively quickly.

Is Servoy a better product than FileMaker? In some cases and for some people, absolutely 'yes' and in some cases and for some people, absolutely 'no'. Both are tools and if you always use the best tool for the job, then you are serving both yourself and your clients best.

Posted by: Michael Rochard | Sep 17, 2004 4:50:34 PM

Under "Licensing" you write "For concurrent users. Can have 300 people using system but only 50 at the same time so only 50 licenses required." This sounds great, but perhaps because I'm not a lawyer, I can't figure out how I would purchase this from Servoy. Is this a "standard", "volume" or "flex" license?

While you're at it, can you tell me what the lifetime of a "license" is? One year? What's a "subscription"? Why can't Servoy's own pages be as clear as your table?

Thanks for the clarification!

Posted by: George Entenman | Sep 20, 2004 9:20:36 AM

Yes, George, you are correct. You only buy as many licenses as you are going to have concurrent (simultaneous) users; it is all controlled by Servoy Server. This is an ideal situation where you have users working on different shifts or in different time zones.

As to what a license is, as far as I am aware, it is a lifetime license and you pay an annual subscription (based on the number of licenses) for automatic upgrades. Everytime you launch your copy of Servoy Developer, it checks with Servoy to see if there is a newer version and then gives you the option to download and install. Say 'Yes', wait a few minutes and then restart and you are upgraded.

Hope this answers your questions.

Posted by: Michael Rochard | Sep 20, 2004 10:53:09 AM

I've used FileMaker Pro since 1987.
It's been a great program for me up to a point...

I have never used Servoy. I'm just learning how to spell it :)

The next two paragraphs are very "anal" to make the point. Anyone who has written an extensive DB in FMP knows what I am talking about.

In my opinion, FileMaker's biggest drawback is having everything placed in small cubbyholes. Lets say you have a Field used in an unknown number of places and you need to find all instances and change half of them. First you use "Development Design Report" to produce an index of locations. (Plus $200 or so for the Developer Edition.) Next you "go" to to the individual location of the Field and change each one by hand. By "go," I mean that you typically click 3-5 times and type the few first characters of the name in question for each instance. Except if it's used in a Script, you must manually READ ALL LINES until you come to the line in question. Now lets say this variable is used 30 times. You must spend 10-30 minutes doing error-prone trivial stuff which any word processor would do in an instant.

If you were writing a book, the equivalency would be: (1) first you make the index for all words in the book, the wait is 2-30 minutes; (2) read the index for item 1; (3) go to the PAGE for item 1; (4) change the item (4a) if it is in a Script, you READ the page to find the word which really might involve many pages; (5) change the word; (6) repeat items 1 thru 5 by going to the index again to find the next page...

Imagine writing a book and thinking, "Oh no! I don't want to go through the laborious process of changing that word. Where has creativity gone?

How would you alter your thinking process if you had a simple Find/Replace over all Field Definitions, Scripts, ValueLists, Relationshhips and layouts? That's what suggested to FMP in 1993. I'm still waiting...

Posted by: Steven Sanders | Sep 20, 2004 6:31:40 PM

Let me clarify my point a bit. I'm not saying the bias is necesasarily intentional or even conscious, but that these comparison charts are hard to do without introducing the bias of the person selecting the items to include in the chart.Then the language of the items is biased towards what is perceived as the better value. For example:

Supported databases
FileMaker – solution files must generally be stored on a single server.
All SQL compatible databases; Oracle, SQL Server, Sybase, Firebird, mySQL, etc.

Servoy can open a connection to multiple database servers of different types in different locations and can combine any data from any source into a report or layout.  Global worldwide connectivity.

To change this point to reflect a FileMaker bias I might write:

Included databases
FileMaker Pro includes its own relational database engine

Servoy requires the use of a relational database server from a different vendor which potentially means more work installing and configuring the dtaabase


So there are two ways to create the bias. First, selection of the talking point. Second, language in the talking point that makes one position better than the other. For almost all of the points above someone could rewrite them to make FMP seem like the better tool.

My point is not that Servoy or FMP is better, but rather that these comparisons are meaningless in a general sense. Furthermore, the comparison is specific to each individual. I might not _want_ my database environment to be event driven so that Servoy is would be a negative factor. Obviously if you want an event driven environment then Servoy works much better than FMP.

Then there are the inaccuracies but I believe that is also not intentional but perhaps not a thorough exposure to some of the techniques that can be used in FMP to accomplish tasks.

And that is all that's important. Given a specific goal with specific requirements, which tool lets you achieve the goal with the least amount of headache, hassle, and copmromise? Sometimes it may be FMP, sometimes it may be Servoy, sometimes it may be 4D. I would suggest that the best thing a developer can do for themselves is know the limitations of their tools and not take on projects for which the tools aren't well suited. Sometimes that means picking up a new tool like Servoy but if you come into it thinking it's a panacea for all of FMP's shortcomings you'll be sorely disappointed.

Corn Walker
inRESONANCE

Posted by: Corn Walker | Sep 23, 2004 10:53:23 AM

Post a comment