CampSoftware Logo       FileMaker Certified
Have a question? Email Us
Subscribe to our Blog!
Home | Products | Contact & About | Blog | Twitter | RSS Feed | Screenshare

ALM v3 - Conversion of a FileMaker Runtime to a Xojo Web App


6/23/2015
Hal Gumbert

Getting Started

This is the beginning of a series of posts discuss converting our Art Licensing Manager product that runs as a FileMaker Runtime to a Xojo Web App. We'd love suggestions, feedback and more than willing to answer any questions about the process. We plan to get into a little detail, but not too much and some sample code.

If you’re not a developer, the goal is to create better software at reasonable cost / investment.

If you are a developer, this might be an option for you. If you’re not sure if you can do this, we could assist you or help you out as much as you need.

WE HAVE NO PLANS to halt our FileMaker development. We’re simply moving our runtimes to Xojo because FIleMaker may not be providing another option to Runtimes in the future.

What is a Runtime?

If you don’t know what I runtime is it’s described by FileMaker as: With FileMaker Pro Advanced, you can bind FileMaker database files into runtime solutions, which are solutions that do not require FileMaker Pro or FileMaker Pro Advanced in order to be used on a computer. You can also create runtime solutions in Kiosk mode.

FileMaker 14 shipped a month or so ago and have added Runtimes to the list of deprecated features: http://help.filemaker.com/app/answers/detail/a_id/14399/~/filemaker-14-deprecated-features

Runtimes have been around for years and years, but its deprecation was a surprise to the FileMaker community. It was brought up and discussed on the FileMaker Community https://community.filemaker.com/message/186105 FileMaker eventually locked the discussion after 440 replies. On May 18th FileMaker replied and stated:


We’ve heard your comments related to the deprecation of the FileMaker Runtime.

We’d like to remind everyone that the Runtime is supported today and the feature is included in FileMaker Pro 14 Advanced. And at this time we have set no specific timeframe for it’s removal.

A number of you have described uses of the Runtime such as for commercial applications, for demos, and as part of solutions. Over the coming weeks we will reach out to various individuals to understand more how you use the Runtime so that we can consider your concerns as we move forward.

FileMaker, Inc.


While I appreciate the reply, I still don’t know what the future of Runtimes will be and need to make decisions with the information I have now. I have to assume Runtimes will be removed in FileMaker 15.

FileMaker and Xojo Multi User Solutions Costs

We currently have two products that use Runtimes, but we’re going to focus on the Art Licensing Manager. http://campsoftware.com/products/art-licensing-manager We offer the ALM as a Runtime to save our clients money and Runtimes works great as a demo. Once folks start to use the ALM, they eventually want to move to multiuser. When that happens, they usually purchase two or more copies of FileMaker Pro so they can share with up to five ( used to be 10 ) users. If they need more than five users, they need FileMaker Server. This shows that while Runtimes are free, they do make FileMaker money, just not directly.

The cost of FileMaker has gone up dramatically since FileMaker 12, especially with concurrent connections. As soon as our users want to share the ALM between two users, they need to pay $330 for each FileMaker Pro which would be double the cost of our solution. Once they go past five users, they need server and possibly concurrent connections. Concurrent connections costs skyrocketed from ~$40 each in FM 12 to $180 each for FM 13 to $288 each for FM 14. The other option is to pay annually which offers a lower annual cost, but the overall costs increases dramatically over time since it’s essentially a rental fee.

We also considered transitioning the FileMaker Runtimes to using FileMaker Server with WebDirect. WebDirect is very similar to Xojo Web Apps in functionality as users can use the FileMaker database with just a web browser. One option would be that we host the server for ALM users or they could host it themselves. Unfortunately, the costs are EXTREMELY high. FileMaker Server 14 with 100 concurrent connections would cost $597/per month which is $7,163/per year under annual licensing and the price to pay for it once is $21,488. The same setup with 5 concurrent connections is $69/month or $828/year and the pay for it once price is $2,884. These numbers are from https://store.filemaker.com/US/ENG/LIC 

Xojo licensing works differently. The developer purchases Xojo and can then distribute any number of apps for no additional fee or royalty. We’re already using Xojo Pro which is $699/year, but they have other plans too. https://xojo.com/store/index.php  Xojo Pro gives us the ability to create Desktop ( Mac, Windows, Linux ), Web, and iOS apps. We’ve created all of those, except for Linux apps, which might change this year when Xojo adds the ability to Compile to Raspberry Pi. https://www.raspberrypi.org/help/what-is-a-raspberry-pi/

In the past, we’ve created many, but here’s a sample:

  • The MacAcademy Windows Academy CDROM Training interface for Mac & Windows. 
  • A school attendance and behavior tracking Web App.
  • The "Reference for FileMaker" iOS app. 

Positives and Negatives

I’ve been a long time Xojo developer, but I’ve been using FileMaker for seven years longer. I love both tools and they each have their positives and negatives. The speed of development is much faster with FileMaker than Xojo, but the cost of FileMaker is much larger than Xojo. Given a typical FileMaker solution, it would take me much longer to develop, maybe four times longer. At some point, the Xojo solution becomes less expensive since the FileMaker costs reoccur every year, but there is a higher initial expense. I can also create real app with Xojo that can run on Mac, Windows, Linux, iOS, and Web with Raspberry Pi coming soon.

What is a Xojo Web App?

We’ve decided to convert our Runtime solution to a Xojo Web App which can run on Mac, Windows, or Linux. They look and feel like REAL apps ( http://demos.xojo.com/ ), but just run in a browser. Xojo offers hosting on their servers ( http://www.xojo.com/cloud/ ) where they are EXTREMELY security conscience but you can host the apps yourself. 

Web Apps are interesting because they are inherently multi user and can be run just about anywhere. Anyone who uses the Web App just uses their web browser to connect, but we plan to create an incredibly simple Mac and Windows app that is a one window web browser to help prevent folks from accidentally closing the browser or using the back / forward buttons. The Web App itself is essentially the server. It just runs and all access is via a browser. So if a single user wants to use it, they run the Web App and fire up their browser. For more than one user, it’s the exact same process, except more users open their browsers. We plan to offer self hosting or we’ll take care of hosting it for a monthly fee.

I’ve already started on the conversion process about a month ago where I’ve been testing and experimenting with  Xojo to reduce the development time as much as possible. I’ve gone down several paths with the goal of finding a method that is super easy to use for simple solution, but allows for complex solutions as well. My goal is for it to be FileMaker like. In most cases, I want to be able to add a field to the database table and then just put the field/control on the layout/window.

So far, I’ve found the following database models in the order I’ve looked at them:

  • Active Record by BKeeney Software: I like Active record, but It seems too complex for what I want. I know Bob, the B in BKeeney, has had great success with it. Active Record requires that you create a class ( just a definition of the tables and fields in a hierarchy ) that mirrors all of your Table and Field names and types that are the SQL database. It's really easy to do with Argen, a tool that Bob created. However, if I add a field to a table, I’d need to update the class with the newly added fields. That seems annoying, but it does provide type ahead when entering the table and field names which leads to less errors.

  • LazyDB by Bob Gordon presented at the Xojo Dev Conference. This was a mind blowing presentation. Bob, created smart fields that knew their table and field names and they just updated themselves and saved themselves in a very similar manner as FileMaker. Bob’s not sure if he wants to make it available to the public or not, so it’s out of the question.

  • EasyData by CampSoftware: This is what I was able to develop to solve my own problem. It works great, but requires writing some code to 'register' the fields and list boxes to a 'table'. I like it, but I’d like something even easier.

  • Storm by Paul Lefebvre: I’m currently leaning towards using Storm since it requires the LEAST amount of code. Paul and I talked about some options to have it use even less code. :)

Once we decide on what database model to use we need to think about / solve the following:

  • [Our Next Post] Wrapping the Xojo Web App into a Server Desktop App and providing an optional Client Desktop App.
  • Exporting all the data from the FileMaker Runtime to the Xojo Web App.
  • Printing and printing reports in Xojo to paper and PDF.
  • Changing our licensing to multiuser.
  • In app payment processing to transform the demo into the full product.
  • Building a library of reusable functions ( like FileMaker Custom Functions but more powerful )
  • Taking advantage of Xojo Containers ( like a sub layout, if that existed in FileMaker )
  • Building tools for Xojo ( like FMSnippets and FMClips )

We’d love any suggestions, feedback, or questions.


Looking at FileMaker 14 a Month after the Release


6/19/2015
Hal Gumbert

FileMaker 14 was released a month ago and it's a nice update. Here's what we found interesting...

For Non Developers

  • Launch Center is very nice. You can now type cmd-O / ctrl-O to view files you recently opened in a very visual method. Our favorite feature is assigning icons to the database by going to File --> Options --> Icon tab.
    Launch Center

  • WebDirect has been overhauled. It's now much faster and uses less resources which means your server can now handle more connections than before. It's also been updated to work better on phones and tablets, even non Apple devices. I have issues with the pricing which I go into detail below.

  • Status Tool Bar has been updated to flat icons. Personally, I think the icons look cheap, but doesn't change how it works. I really dislike the change to the pie graph for found / omitted records. Only using the pixels around a circle makes it difficult to see quickly. All the pixels in the circle are wasted.
    Status Tool Bar

  • Auto Reconnect to Server is fantastic. This came out of a FileMaker Go feature which automatically will attempt to reconnect to the server if the internet is interrupted or if you laptop goes to sleep. I love keeping our FMSBFoundation database open all the time now. Here are the Security / Extended Privileges that we add to our solutions.
    Security / Extended Privileges

For Developers

  • The new Script Workspace is very nice. I found that I can create scripts with my hands on the keyboard more than before. Many of the options require using the mouse though.

  • The Manage Security panel is now more secure. Now you need to enter a Full Access account username and password to gain access.
    Manage Security

  • The Script Coloring This very nice, but I wish were were additional categories. I've been using the MBS Plugin which gave more control over coloring. My preference was to color items based on their functionality. It's usable though. Below you can see the FileMaker panel and the MBS Panel.
    Syntax Coloring
    MBS Syntax Coloring

Considerations

  • 64 bit versions of FileMaker are now available. You'll need to make sure all of your plugins / extensions have 64 bit versions available. MBS, BaseElements, 360Works, and 2Empower have updated theirs.

  • FileMaker pricing has changed again and not for the better. Under FileMaker 12 Server Advanced, Instant Web Publishing came with 50 web connections. FileMaker 13 Server replaced IWP with WebDirect which came with 1 connection and additional connections were $180 each so users could connect via WebDirect or FileMaker Go. FileMaker 14 Server works the same way, but the connections are now $288 each. That's a huge price increase making the purchase of 50 connections around $14,400 where FileMaker 12 Server was $3.000. That's a massive price increase. FileMaker is now offering annual licensing where you pay essentially a rental fee every year, at a lower cost, but if you stop paying you must uninstall FileMaker. At $288 each, the cost of concurrent connections are almost the price of FileMaker Pro, but you can't develop in WebDirect or FileMaker Go.

FileMaker 14 Has Been Released


5/12/2015
Hal Gumbert

We'll be blogging more about this next week. For now, we suggest that you don't upgrade for at least a month until we see if there are any issues with the new release.


Easily Generate and Install a $57 Custom FileMaker Server SSL Certificate


4/8/2015
Hal Gumbert

Generating and getting a custom SSL Certificate for FileMaker Server is much more complicated than it should be. Last year, I personally spent much more time that it should have taken to get it to work. Unfortunately, FileMaker Inc doesn’t provide detailed instructions on how to  get through the process.

Last year, I was able to get a Comodo InstantSLL Certificate to work great, but it cost $100 for a year. That certificate is expiring next week, so the timing of this was perfect. Before creating these instructions, I tried to follow the instructions that Tim Dietrich provided to create a certificate with MediaTemple. Luckily, when I went to spend the $75 for the certificate, I found out that you cannot buy a cert from MediaTemple if you don’t use any of their other services. I would have bought two… They suggested that I go directly to GeoTrust, but that was even more expensive than the Comodo certificate.

This time, I Googled for 'GeoTrust QuickSSL Certificate' and saw on the first page of the results that NameCheap.com had the exact same certificate for $57. That’s about half off the Comodo certificate and about 25% off the MediaTemple certificate!

As an extra bonus, I recently moved the CampSoftware.com website from GoDaddy to NameCheap.com recently. Overtime I went to pay for new services or even renew a service, GoDaddy would up sell products I don’t need and the payment process was overly complicated. NameCheap.com’s main feature is to make the process easy and affordable. With GoDaddy, they charged their max rate every time, forcing me to look for coupons to get the price down to a reasonable level.

So, I took a slight chance and ordered the $57 NameCheap GeoTrust QuickSSL Premium Certificate and it worked perfectly!

Try out the following instructions and let me know if you run into any problems. There are some Mac specific instructions, but we’ll update this ASAP.

  • Buy the NameCheap GeoTrust QuickSSL Premium Certificate: http://j.mp/FileMakerServerSSLCert
  • Generate the request certificate on the FileMaker Server.
  • On Mac: sudo fmsadmin certificate create /CN=dagobah.campsoftware.com/C=US/O=CampSolutionsInc
  • Copy the contents of the FileMaker Server/CStore/serverRequest.pem file.
  • On Mac: Drag the serverRequest.pem file to TextEdit on and the copy the entire contents of the file.
  • In your NameCheap Panel, set up your certificate: https://manage.www.namecheap.com/myaccount/ssl-list.asp
  • Click 'Activate Now' for your 'QuickSSL Premium' certificate.
  • Select 'Other' for the Web Server Type
  • Paste the contents of the serverRequest.pem file that you copied earlier.
  • Click Next
  • Choose Email Address for the domain in which you can receive an email.
  • Click Next
  • Check the Admin Contact settings and make sure you can receive an email from the email address where the cert will be sent.
  • Click Submit Order
  • Check for the email to approve the certificate. Check your junk mail if you don’t find it.
  • Click the approve web link in the email.
  • Wait for the page to load and approve the certificate.
  • Wait for the certificate to be emailed to you. Check your junk mail if you don’t find it.
  • In the email, look for the Web Server Certificate and create a text file containing the text from and including '-----BEGIN CERTIFICATE——' to '-----BEGIN CERTIFICATE-----'. Save it as 'serverCustom.pem'.
  • Import the serverCustom.pem file.
  • On Mac: sudo fmsadmin certificate import

WARNING about FileMaker 13.0v9 Security Update


4/7/2015
Hal Gumbert

FileMaker released an important security update yesterday. However, you REALLY need to devise a plan to install the update.

The short story is DO NOT UPDATE FileMaker Pro or Go UNTIL you update FileMaker Server. If it's not done in the right order, you'll find yourself NOT ABLE TO CONNECT to your database.

This update changes the internal security certificate that is used to encrypt the data between FileMaker Pro & Go to the FileMaker Server.

Here are the detailed steps to update if you use FileMaker 13 and not FileMaker 12:

What that means is you CANNOT update FileMaker Pro or Go until the FileMaker Server is updated.

If your database is hosted by a hosting company, make SURE it's been updated to 13.0v9 before you update FileMaker Pro. If you update before the Server you won't be able to connect.

If you don't know what version the server is, you can use this in a calculation in FileMaker Pro: "Get ( HostApplicationVersion )"


Creating an App for your organization is easier that you think


3/16/2015
Hal Gumbert

Does your organization have an app?

Creating an app is easier than you might think. We use Xojo to create iPhone, iPad, iPod, Mac, Windows, Linux. For Android, we use the Android Developer Kit. Xojo cannot create Android apps yet, but they do have plans.

We created one of the first Xojo apps to be approved on the iOS app store, Reference for FileMaker. We have a couple of apps in development and just released our first Android app for our friends at Christian Camps & Conferences.

Camp is my middle name. Literally.

We've been helping out Christian Camps & Conferences for many years with their FileMaker database. I remember when Bob contacted us about helping out with FileMaker. Bob said he runs a camp and wanted to know about our experience creating software for camps. I explained that our name was CampSoftware, but it's named after my middle name "Camp" passed down from my Grandfather to my Father, to me, and to my Son. I said we've haven't worked with a camp yet, but we work with all types of businesses and we learn very quickly.

Retreat to New England

Christian Camps & Conferences is located in New England and has an amazing summer camp program and also a conference center for retreats. From their website: "Christian Camps and Conferences, Inc. is a non-profit foundation with the mission to foster vibrant Christian communities in awe-inspiring outdoor settings where young people are spiritually transformed through Christ-centered relationships."

Conference Center
Manage Menu

Android meet iPhone

Years passed as we've worked on several projects together. A few weeks ago, Bob contacted us about creating an Android app for his camp as they already had an iPhone app. So we took a look at their iPhone app and provided a ballpark estimate regarding the costs.

The Android app turned out to be really nice and Bob was pleased, which made us happy!

The app includes access to their web cams, registration, directions, and a countdown to the first day of each camp session. The web cams don't look like that right now as it just snowed 6 inches yesterday!


Android App