8 Replies Latest reply on May 28, 2016 10:18 AM by tmcelin

    Filemaker as a development platform?

    tmcelin

      Greetings –

      I have a question I wanted to run by the more seasoned FM developers and consultants regarding the viability of FM as a development
      platform.  I’ve been in IT for 30 years as a consultant, programmer, business owner. My roots go way back to the dBase/Foxpro/Clipper days of yore. I’m not a current in FM however considering it. Before I invest resources to start development I need to determine if it’s the right development environment for what I want to accomplish.

       

      The short story is that I have some great ideas for db apps that I’d like to develop and market for commercial as well as single user use.  My guess is that users could run my apps via a browser to a server based solution but I would not want to have that be the sole location of the code and data. I would like some stored locally. Also recent threads posted here about phasing out a runtime component are disconcerting.  It also looks like Apple/FM want a big part of any revenue pie. So my question is, if I have data based solutions I want to develop and market is this the right path to follow? If not - in your experience - what other platforms might I consider?  Thanks in advance for your thoughts!  Tom

        • 1. Re: Filemaker as a development platform?
          William-Porter

          Tom,

           

          Two ways to look at this, and I can only help you with one of them.

           

          First, is FileMaker right for you personally? Can't help you there. There are LOTS of options these days and I think you just have to play with several and see if they click with you personally. Like you, I started out with dBASE/FoxBASE. That was a long time ago. But even since I started with FileMaker in the early 1990s, every other year I look fairly seriously into another development platform (4D, Servoy, RealBASIC a.k.a. Xojo, and many others, including most recently Airtable). I do this on the theory that the grass is greener SOMEWHERE, and to some extent, it always is. As you can guess, I personally keep coming back to FileMaker. But what's right for me, might not be right for you.

           

           

          The second way to look at this question is quasi-objective: Is FileMaker objectively a good development platform? And to this I think the answer is a clear, if qualified, YES: yes, for many types of projects, and especially if you want to develop native custom apps rather than web/browser-based apps, and yes so long as you aren't expecting to have thousands or tens of thousands of active users.

           

          Good starting question: as a developer, are you a Google person or an Apple person? If you're a Google person, don't pick FileMaker. Compared to the alternatives (starting with mySQL), FileMaker is a mediocre back-end for php-coded websites (I know after having used it for quite a few).  And WebDirect is a brilliant technology but it's still lags behind FileMaker Go in capability, and even when a WebDirect app works, there's something about it that just feels wrong to me. Using a FileMaker app in a web browser via WebDirect feels unidiomatic for the web — like using an old Flash app instead of an up-to-date HTML5 site.

           

          But for building custom apps for deployment on mobile and/or desktop and for access by 1–100+ users, FileMaker is very hard to beat.

          • The tools for managing the database (i.e. for defining tables, fields, relationships, etc.) are well-thought out and easy to use
          • Tools for controlling access are easy to use if all you want to do is create access accounts and passwords; but if you want to fine tune what users with different accounts can do, you can get unbelievably granular (e.g. users in an account with 'Management' privileges are allowed to view everything but edit nothing, or users with 'HR' privileges are allowed to view only personnel tables and not permitted to access sales and billing areas of the database, etc.).
          • The scripting environment is really remarkable. A lot of FileMaker developers love to knock it, but there's very little it can't do with your data. The script editor has gotten better with each of the last five or six releases. I have a long list of pet peeves or 'hopes for future releases' but even so, I think the script editor and the FileMaker scripting language are really impressive.
          • The design tools and the design options are not perfect but still very good. If I can expand this topic from design tools to user-interface building tools, it gets even better. Used to be that FileMaker was a program that would let you build a database quickly—focus on the database part. Now FileMaker is an app-building program. This more than anything is why I personally stick with FileMaker.
          • It's easy to go beyond the product you download from FileMaker's website. FileMaker supports a variety of external technologies (starting with SQL, continuing down to barcodes, iBeacons and more). And there are hundreds of really amazing extensions for FileMaker. I don't use too many of them myself but perhaps I should. One thing I've learned is never to say that FileMaker "can't do X," because whenever I do, I find out the next day that I was flat wrong — either because there's some native feature that I overlooked, or because there's a brilliant extension that does X.
          • Although easy to overlook, FileMaker Server is a key part of the platform — the part that allows your FileMaker custom app to take wings and fly. FMS is fast, powerful, secure, configurable, and (relatively) easy to administer.

           

          One big problem with FileMaker right now is that it's a grown-up platform. Less sex-appeal than some much-less capable but younger technologies.

           

          Another big problem — and here I hesitate because I'm pulling you into the complaints we voice in the Old FileMaker Developers Lounge — is that FileMaker has been marketed as a DIY platform since forever when it has NOT been that for years — in other words, the marketing folks at FileMaker Inc have been misrepresenting their product for years because they themselves didn't understand it. FileMaker has not been truly "easy" to use since about version 2.1. FileMaker is not Bento: Even Bento wasn't Bento (which is why Bento is no more.) Nevertheless, FileMaker Inc's marketing folks have for the longest time tried to bypass developers and sell direct to consumers. They've done pretty well with that approach, but the tech biz generally is seeing slower sales now, as most of the technologies mature, changes become more incremental, and consumers have finally gotten somewhat bored with the adjective "new!" With any luck, FileMaker Inc is starting to realize just how badly it needs the developers, because it's us independent developers who create the apps without which FileMaker Pro is a $325 waste of space on an employee's hard disk. I sense this keenly as I've been involved with several other technologies that were totally centered on developers, technologies that catered to developers and let the developers generate the seat sales. Right now, the marketing folks at FMI seem to be trying to enlist developers as sales people, a move that's 100% doomed, since almost by definition developer <> sales person. But the engineers at FileMaker Inc are really smart people and I'm confident the product will continue to do well despite the best efforts of the sales and marketing folks to kill it.

           

          My two cents. Good luck.

           

          Will

          3 of 3 people found this helpful
          • 2. Re: Filemaker as a development platform?
            Mike_Mitchell

            Hello, Tom.

             

            Based on the information you have above, I would say FileMaker is a good fit. It's very flexible; you can deploy across web, desktop, server, and iOS. And, obviously, it's an RDMS, so your need for a database is met. Questions:

             

            1) How many users are you talking about? FileMaker solutions scale reasonably well, but it's not an enterprise platform (and doesn't claim to be).

             

            2) When you say you want part of the code to be local, in what respect? Something like web cookies? Something like specific code executed for a specific user? FileMaker can do this via a local database file, but would normally require a local license of FileMaker (assuming you don't want to go the runtime route for fear of deprecation).

             

            I wouldn't be overly concerned about FM needing / wanting revenue. The development time you save with FileMaker (over other platforms) will keep you at least competitive.

             

            There are thousands of individuals and companies doing exactly what you're wanting to. So I'd say yes, you can certainly do this.

             

            HTH

             

            Mike

            2 of 2 people found this helpful
            • 3. Re: Filemaker as a development platform?
              tmcelin

              Hey Will and Mike - Thanks for writing back - most enjoyable and helpful in lending some perspective to my questions.

               

              Regarding the personal fit - I try out FM and feel like I'm putting on an old pair of slippers that I haven't seen for awhile.  I used to do a ton of business app development in FoxPro->Clipper> then on to PowerBuilder and at that time my business morphed into building teams, bidding on IT contracts, project management, and head hunting. So it's now a lot of fun going back and looking at database and interface design. The tools I see in FM are most impressive. It'll take a little while to get up to speed and the certification track seems to be a good approach.

               

              Apple vs Google - interesting. I don't care anymore about who makes the technology just which will provide the best tools for the task at hand.  I think the FM team is very savvy with the depth of development tools they've come up with and the portability to various devices.

               

              Will - Thanks for using the word unidiomatic - had to look that one up (an old English major ).

               

              I find it interesting looking back over the years at how difficult it's been for software companies to make a decent margin on retail db apps for the average user. MS packaged Access w/ Office to provide some db utility in their suite and dumped the old FoxPro. It seems the db market tends to be driven by the data. If you've got a back-end system to connect to then the user interface comes with the db system. Rdbms for the average user is a bit much to swallow.  So it's interesting to hear about the internals of FM the company, salespeople, and developers - it all sounds vaguely familiar.

               

              So as I sit here looking at this forest I have to go through to get to my objective on the other side there seems to be an issue of how a FM app, or solution, is deployed and the licensing requirements imposed by FM. Pardon my naiveté but let's say I write an app and want to market it to a business. My understanding is that my customer would have to buy FM and FM server to deploy the app on their hardware, just like the old days with FoxPro.  But is it possible for me to write my app, host it on my own server with FM server and then manage traffic volume with licenses? Just not sure how that works. What if I have an app that I want to market to individual users. Can I host the solution on my server and have them buy subscriptions as a cloud service? By storing local files I'm guessing that storing a local a db would help performance and get updated when connected to the server. So then I gather the end user in this case would need to buy a copy of FM?

               

              I guess that's what I'm driving at - and being a prospective FM developer I see that the rules of deployment may have significant impact on the project.  I don't want to be the type to ask a bunch of questions without having adequately researched the topic but from what I've read this seemed like a grey area to me. When I asked sales they said to check out the forums!

               

              I really appreciate your both taking your time to give this some thought.

              Tom

              • 4. Re: Filemaker as a development platform?
                restored18

                Hi Tom,

                 

                It sounds like what you are looking for is a technical platform where you can write an app that will be hosted on a server and you will sell subscriptions to use that app. If not, then ignore the following advice. FileMaker is very limited in its scalability and licensing. If you are looking at something that will be used by 100+ customers on the same server, I would look to a more modern web framework. Some have recommended using Xojo web apps or LIvecode. I have branched out into some PHP development and have had a lot of success.

                 

                End the end, if you are wanting to build an app that you will sell to individual businesses, FileMaker can be a great tool. However, you would have to keep in mind that each customer would need their own installation of FileMaker and FileMaker server.

                 

                Good luck starting new development!

                1 of 1 people found this helpful
                • 5. Re: Filemaker as a development platform?
                  Mike_Mitchell

                  restored18 wrote:

                   

                  It sounds like what you are looking for is a technical platform where you can write an app that will be hosted on a server and you will sell subscriptions to use that app. If not, then ignore the following advice. FileMaker is very limited in its scalability and licensing. If you are looking at something that will be used by 100+ customers on the same server, I would look to a more modern web framework. Some have recommended using Xojo web apps or LIvecode. I have branched out into some PHP development and have had a lot of success.

                   

                  End the end, if you are wanting to build an app that you will sell to individual businesses, FileMaker can be a great tool. However, you would have to keep in mind that each customer would need their own installation of FileMaker and FileMaker server.

                   

                  Not necessarily. If three customers only have 5 users each, it's perfectly feasible (technically) to share a server. Hosting companies have been doing it for years. The discussion of whether the EULA requires each customer to have their own server is very dependent on the definition of the term "customer", and there's significant dispute (and speculation) on this point.

                   

                  Concerns about scalability are valid, however. You can break the 100-user "limit" (not really a limit, but usability tends to start trailing off around there). A LOT depends on many different factors, including server hardware, network (bandwidth and latency), client hardware, actual user behavior, and, most especially, solution design. There are good ways to optimize FileMaker solutions so they can carry more traffic, but it does mean more investment on the part of the developer.

                   

                  Naturally, if you start to get that many users, there are ways to segment the solution that will allow you to continue carrying them. You can spin off another copy of the solution on a new server easily enough. There are even strategies for syncing two instances of the same database together.

                   

                  Also be aware: You can build web-based solutions using FileMaker as a back end. The default is PHP, but frameworks exist for Ruby and .NET. Web-based solutions will typically perform better than client-server solutions, but are way more complicated to develop. (Which is the rub with web-based solutions in general; they just take significantly more development time than FileMaker.)

                   

                  So while scalability is certainly a valid caution, FileMaker is a lot more scalable than it used to be. (But if you're planning on 30,000 users - use something else.)  

                  1 of 1 people found this helpful
                  • 6. Re: Filemaker as a development platform?
                    William-Porter

                    tmcelin wrote:

                     

                    Apple vs Google - interesting. I don't care anymore about who makes the technology just which will provide the best tools for the task at hand. I think the FM team is very savvy with the depth of development tools they've come up with and the portability to various devices.

                    Not sure I was clear here. By throwing out the phrase "Apple vs Google", I wasn't really alluding to business competition between two makers of smart phones or operating systems. I was thinking of the fight between those who believe native (locally-installed) apps provide the best user experience, and those who believe that web-based apps can provide very nearly as rich a user-experience as native apps while also eliminating the whole problem of installing and upgrading apps, storing data locally, etc.

                     

                    So as I sit here looking at this forest I have to go through to get to my objective on the other side there seems to be an issue of how a FM app, or solution, is deployed and the licensing requirements imposed by FM. Pardon my naiveté but let's say I write an app and want to market it to a business. My understanding is that my customer would have to buy FM and FM server to deploy the app on their hardware, just like the old days with FoxPro.

                    Well, that's correct as a basic, how-it's-always been starting idea of how to deploy a FileMaker custom app. But in fact there are now a somewhat confusing array of options for deployment.

                     

                    1. Local deployment, single user: FileMaker Pro (or Go) on single device, opening locally stored FileMaker file. Not shared.
                    2. Local deployment, several users: using FileMaker Pro's peer-to-peer sharing. Not really a great alternative to using FileMaker Server but works in a pinch and is (a little) cheaper. Limited to five users, but for some databases, five might be two or three too many.
                    3. Inside-the-tent business server-client model: database files are hosted on business's own server and accessed by many users (5? 25? 75?) over intranet and/or internet, with users typically using FileMaker Pro but possibly using Go or even WebDirect/web browser.
                    4. Like option #3 but serving databases is provided by a third party — could be a commercial hosting service, could be the developer.

                     

                    And NOTA BENE that in all of the options above, it's possible to "lease" FileMaker Pro and/or FileMaker Server at very reasonable prices by taking advantage of VLA subscription licensing or FileMaker for Teams licensing.

                     

                    Finally I'm skipping over some other advanced possibilities.....

                     

                    But is it possible for me to write my app, host it on my own server with FM server and then manage traffic volume with licenses?

                    Yes.

                     

                    Just not sure how that works. What if I have an app that I want to market to individual users. Can I host the solution on my server and have them buy subscriptions as a cloud service? By storing local files I'm guessing that storing a local a db would help performance and get updated when connected to the server. So then I gather the end user in this case would need to buy a copy of FM?

                     

                    Gets complicated and you'll end up having to answer financial that I can't answer for you. But basically, yes, you can host the files and sell access to them (either via FileMaker Pro or Go or WebDirect).

                     

                    Remember, FileMaker Go is a free download—but connections from Go to the server are not free.

                     

                    Are you asking about possibility of storing the entire data set locally and simply synching changes to the master copy on the server? Possible, but could involve a LOT of work. You'd have to test for yourself but for most of what I do, giving clients live access to a server that's somewhere else in the USA works just fine.

                     

                    And finally in response to your question "end user in this case would need to buy a copy of FM?", the answer is: maybe, maybe not. You can license FileMaker for Teams yourself and simply give FileMaker to your end user. It's still not possible to make this as easy as building a web-based app where user simply creates a login, provides credit card info for payment, and starts using your online app. But you can make it pretty easy.

                     

                    I guess that's what I'm driving at - and being a prospective FM developer I see that the rules of deployment may have significant impact on the project. I don't want to be the type to ask a bunch of questions without having adequately researched the topic but from what I've read this seemed like a grey area to me. When I asked sales they said to check out the forums!

                     

                    You ran into the classic problem: Sales people know what stuff costs and how to take orders but don't know the answers to the interesting questions.

                     

                    Good luck, Tom.

                     

                    Will

                    1 of 1 people found this helpful
                    • 7. Re: Filemaker as a development platform?
                      bredmaker

                      There are a few FileMaker Web hosting sites out there that can host your file (solution, app, program or whatever you want to call it) for you. You would need Advance to make a desktop runtime for your client. They wouldn't need a copy of FileMaker. But also, what makes FileMaker unique to others is the community. I would definitely purchase plug ins for your solution, if it fits. For me the best part of FileMaker is that you are developing inside a framework. Not inside the OS. FileMaker handles everything for the OS part when you compile your solution (now being called an 'App'),

                      1 of 1 people found this helpful
                      • 8. Re: Filemaker as a development platform?
                        tmcelin

                        Thanks to you Will and everyone else for some very helpful insights. Seems like there are ways to make it all work in Filemaker . Savings in development time in this framework vs Ruby/Rails or hammering it out in PHP is a big sell for the project. This community is wonderfully knowledgeable and the time you've taken responding to my question(s) is greatly appreciated. I look forward to connecting with you all more on this forum as I gain more knowledge and experience. Hope y'all have a wonderful holiday weekend! Tom