Jeff Duntemann's Contrapositive Diary Rotating Header Image

Open-Source Database App Builders

Some folks I know are asking me something I can’t answer: What are people using these days to build small-scale client-server GUI front ends? They have an app created with FileMaker Pro years back that they want to re-create. The catch is this: They want it to be built with something cheap (ideally open-source) and widely used, so that one person isn’t stuck supporting it forever.

The number of records in typical use is not high; from what I can tell, fewer than three hundred in the largest table. There are eight or ten tables, depending on how you slice up the database. There is a need for a certain amount of scripting in addition to table indexes and relationships. The app doesn’t have to scale. Again, 300-500 records is probably as many as the main table will ever need to hold. The database itself must reside on a server, accessible over the Internet from the front end, which will be on laptops and/or desktops.

I used to do things like that in Delphi, and have done simple apps for local tables in MS Access. Access is not cheap, nor is Delphi, and few people are learning Delphi anymore. Lazarus could work, but again, the real question is what’s out there that a lot of people use so that expertise is easy to find.

I wasn’t even aware that FileMaker was still being sold. I haven’t seen it since I had a review copy at VDM circa 2000. Did anyone ever create an open-source equivalent? A quick look around failed to spot one. Any insights?

25 Comments

  1. Erbo says:

    The trend these days would be to build such apps as Web apps. Why bother with a separate client, when everybody has a browser? And firewalls might block whatever proprietary protocol the client and server use to communicate, but you know they’ll let HTTP through.

    1. Fair point in some ways, but although everybody has a browser, it’s not the same browser, and certainly not the same version of any given browser. A dedicated client could use HTTP as well as any browser window, finessing the firewall issue, and at least there you know that everybody’s running the same version of the same client.

      1. Erbo says:

        You can actually go a long way in mitigating the differences between browsers by simply refusing to support Internet Explorer. One startup did exactly that.

        And, if you really needed an actual dedicated client, a technology like Java Web Start can go a long way towards making it easier to install on your users’ machines. Note, however, that, while this is potentially pretty cross-platform, this is no solution for mobile devices, while straight Web apps could still work in those environments.

  2. bcl says:

    The most open solution (and thereby easiest to find new people to support) would be a web app written in PHP/Python with a PostgreSQL database backend hosted on a small Linode (http://www.linode.com) instance.

  3. Suep says:

    Ruby on Rails, w jQuery and MySQL.

    The learning curve is steep, but there’s a large, active community and lots of books, podcasts, etc…

  4. William Meyer says:

    When the only tool you have is a hammer…

    Sheesh! We’re told that the market has changed, and there is no market any more for tools like the old Turbo Pascal. Yet every second guy you talk to online fancies himself a web developer. And if the original was in FileMaker Pro, and they don’t want to be bound to a single dev for continuing support, then I think that an answer such as “Ruby on Rails, w jQuery and MySQL” is a non-starter.

    As to PHP, I wouldn’t wish it on my worst enemy.

    The short answer might be to turn to one of the Microsoft Express versions of Visual Studio. (They do still offer them, I think… but I haven’t looked in a while.)

    1. I haven’t done a lot of Web app development myself, and I agree: PHP, yukkh. I looked just now and see that Microsoft Express does still exist, and there’s a Web version, based on HTML5, CSS3, and jQuery. I know none of those things except by reputation, and the reputation hasn’t been, well, stellar.

      Still looking. I remember things like Clarion (which I was good at for awhile) and in general I’d prefer a dedicated client to a browser window, especially when there are umpty browsers and browser versions around to confuse the issue.

      1. William Meyer says:

        My own web work has been limited, but for CSS I still prefer to use TopStyle. I have not had occasion to discover whether HTML5 is swell or horrible. CSS3 seems a definite improvement. jQuery is a black hole to me.

      2. Jeff: A gentle needle 🙂

        >> I haven’t done a lot of Web app development myself, and I agree: PHP, yukkh.

        Sez the man who runs this site using WordPress 3.5.1 which is written in PHP and uses MySQL as the database engine… Good enough for blogging software with full authentication, etc, etc, but not for a small-scale client app?

        Cheers, Julian

  5. Larry Nelson says:

    This is a difficult problem that I have had with a number of clients. Typically we have an old Access application that needs to be webified.

    Writing from scratch on the web is hard. If you can accept the loss of control and on-going fees, consider a web based service provider such as zoho. Here is a mostly current roundup of providers to get you started http://webappsatwork.blogspot.com.

    If you can stand living on a MS platform, take a look at http://www.evolutility.org. It is a remarkably elegant solution that lets you do pretty sophisticated stuff with just xml files to define screens. For example: http://evolutility.org/demo/demo_winecellar.aspx. They also have a dictionary based version that is entirely GUI for application building. There is a learning curve, but you control the environment and you don’t have on-going service fees. It is open source. As you can tell from my detailed description, this is the solution that I settled on for a client a couple of years ago. Microsoft should buy or steal this technology, it is that good.

    Good luck.

  6. Michael Brian Bentley says:

    I’m an app developer, so this is an app developer’s answer. If they need to think out of the box a bit, C#, a subset of .NET, and sqlite3 will let them target desktops, laptops, and a variety of mobile devices including iOS. They can look at wrapping code around WebKit for UI.

    The current offering from FileMaker is FileMaker Pro 12. It is an incrementally improved product, but if I were in charge you’d see a hugely different product line by this time next year.

  7. Lee Devlin says:

    I help teach advanced web development at the local college and the stack that best meets your criteria is LAMP (Linux Apache MySQL PHP). You can download the entire stack using XAMPP to MacOS, Windows, or Linux and have a self-contained development system. And it’s with a little irony that I’m answering this on WordPress that is running on a LAMP stack and at last count is running 15% of the entire World Wide Web.

    Here’s an interesting article on what people are using to develop these days:

    http://spectrum.ieee.org/at-work/tech-careers/the-top-10-programming-languages

    Note the last vertical bar. It a measure of popularity of modern languages based on where the jobs are, not what people search for on Google, or what they ask questions about on IRC. And PHP is at the very top.

    There are a lot of ‘fad’ languages that come and go. I think Ruby is in that category today. Whether you use TIOBE scores or other measures to determine what languages will last and what will be next decade’s embarrassing waste of time we took the time to learn, almost without exception, the languages that last use a C-like syntax. Love it or hate it, using braces to define blocks of code and ending statements with a semicolon is what 80%+ of all the languages on the top of the list use, and anything that challenges it, eventually fails, and that’s been true for the past 30 years.

    If you can get away with using a browser to interact with your db, you won’t have to worry about writing apps for each mobile platform. You can format the screen real estate available for input or output with CSS. If you want to have something a little more customized than what a browser offers you can use the same MySQL db for browser clients and some custom PHP code to make the db calls and return XML or JSON packets to be rendered on the device.

  8. Chris says:

    Here’s something that aims at being an open source FileMaker equivalent: Glom.

    Not much action on the website, but the git checkins are rolling along frequently.

    I gave it a whirl a few years back. I wrestled a bit with the interface, but I think mainly that was down to me not being fully in tune with the “filemaker way” of doing things. Your mileage may vary….

    1. Ok…now you’re talkin’! I haven’t downloaded it yet, but I’ll get it running on my lab machine ASAP. I’m a little surprised I’d never heard of it before. However, as best I can tell this is the concept I’m looking for. Can’t comment on the execution until I have a few hours in on it.

      But abundant thanks for stopping by to let us know!

  9. […] GUI database builder created in the spirit of FileMaker. Someone suggested it in the comments of my entry for April 9, 2013. I’ve just downloaded it and have not yet installed it, but the (slightly sparse) product […]

  10. Larry Keyes says:

    So…why *not* go with FileMaker 12? About $250.00 would get you a fully-supported desktop system that can create databases that run on Mac, Windows, iPhone, iPad or you can host a browser-based version of the same application that can run up to nine simultaneous users.

    If you get FileMaker Pro Advanced for about $400.00 you can compile and distribute runtime versions of an application for a single workstation on either the Windows or Mac platform.

    Both can create applications that can be run on the iPhone and iPad with a free Filemaker runtime available from the Apple app store,

    That said, I’m interested in checking out Glom, but it looks like it hasn’t been updated in over a year, doesn’t work on Macs, (but does on Linux, which FM does not…) and in typical open source fashion requires a bunch of extra libraries, and/or applications such as Postgres.

  11. Dave Ellis says:

    Ok, here are mine in the mix:

    http://www.wavemaker.com/product/

    Not sure about being 100% open source, but free to use for anything I believe. It’s an online database application tool, as you online in your server. Not one of those hosted only platforms!

    What database application is it?

    Try http://www.openerp.com, you can download the full application suite. At its lowest level, its a web base database application, but you can add official or community modules. There may be modules you could just customise or you could install it and create your own tables and modules. Now many OpenERP developers will make you think you need Python to create new modules and screens from scratch, but you really don’t. It has a online developer mode, you just create your model (database table), go into the form within the system and go into developer mode to edit the list and form views. It’s a little quirky, but very powerful.

    I had a good list of alternatives, but unfortunately many have either gone hosting only (paid) or just stopped all together open sourcing their product.

  12. So what was the final outcome of this discussion? Unless I missed something, nobody is referring to the fact that FileMaker can automatically create seamless integration with mobile platforms. Does FileMaker 13, with WebDirect and FM Server impact this discussion significantly? I am no expert. Would love to hear from one!

  13. Peter Hebert says:

    If you want something simple and free that is open-source, you could use Base, which is part of the LibreOffice and Apache OpenOffice suites. It is quite similar in its interface to MS Access, and I believe it can even be used as a front-end to SQL data sources.

    LibreOffice – Base features

  14. Patrick says:

    Boy, everyone wants to use a Web based solution and a browser. There are some huge problems with that approach.

    1) Web apps still look like crap compared to desktop apps.

    2) The browser’s back button is a real pain when it comes to controling what the user is able to do.

    3) With a multi-document interface, such as with MS Access, complex tasks can be easily handled using multiple windows and possibly modal windows. Browsers just don’t do that. Moving from page to page in a browser is real clunky and managing session state between pages is clunky. I have several clients that require several windows to be open at the same time so they can research existing client data while adding new data.

    4) Database servers have excellent security models but with Web apps you have to roll your own.

    5) Many Web solutions require you to store your data off-site. Besides having to trust someone else with your data, how can large data sets be effectively analyzed in real time over an Internet connection. And why does everyone want my client’s data anyway?

    You may say “I can work around this or that issue by …” but with desktop applicaitons you don’t have to work around these issues.

    I think it comes down to browsers are good for consuming data but desktop applications are much better for creating data and analyzing large data sets in an ad-hoc manner.

    But most importantly, getting back to the original question. Is there any open source software out there that works similar to MS Access (minus the database engine) in the sense of being able to build queries, forms and reports and to create functions and modules (not macros) in a robust development language/environment that can access the object model of the software to solve most any problem that cannot be solved with simple forms and macros?

  15. Peter Bowers says:

    I can add a vote for Base. It’s part of the excellent, open source LibreOffice suite and can either use it’s built in database or connect to MySQL, etc.
    Developing forms, queries and reports is just fun, much like FileMaker back in the day.
    I am working on a membership database app for the volunteer fire service in Canada and web-based is not a requirement but it should be possible to store the database in a cloud such as Dropbox.

  16. Martin Blackwell says:

    There is nothing to touch FileMaker in open source land. I’ve been looking to replace an Access-based application with something on Linux and I would gladly buy FileMaker if it existed on the platform.
    Please believe me, I’ve spent a long time looking and I have 30+ years in IT. (yes, I’m going to have to roll my own…). Anybody putting the time and effort into RAD tooling is not going to give it away. My current choices are Seaside (Smalltalk) and web2py. Not ideal, but interesting.

  17. Craig Brown says:

    Brilliant Database.
    http://www.brilliantdatabase.com/
    Very powerful program, packed with comfort-features. However its Windows-only, poorly-supported and I suspect its built with VB (installs OCX files)… so pretty slow.
    I’m still looking for a Linux equivalent to brilliant. Closest things I’ve found are Glom, LibreOffice-Base and Kexi. All of which crashed within an hour of use and are limited compared to brilliant.

  18. Eugenio says:

    An alternative (Web) is DaDaBIK: http://www.dadabik.org

Leave a Reply

Your email address will not be published. Required fields are marked *