Welcome, in this blog post I talk about how to turn on a bowling lane from a remote location (front desk). To remotely turn on a bowling lane basically boiled down to, how could I execute a filemaker script on another computer? Again I turned to troi’s line of plugins and used their activator plugin. Everytime the filemaker file opens at the lane, I put its IP address in an admin table. Once I have that IP address I can now remotely execute filemaker scripts at that lane.
Front Desk Module
Posted in Automatic Scoring
Score Stand
This project has been in the work for years, and every detail has been planned out including a custom made kiosk for our scoring system. We had these stands made from a friend in Atlanta, Georgia. There is one score stand for every pair of bowling lanes, so to have enough for our entire centre we needed 26 stands to cover our 52 lanes of bowling. The base of the stand was constructed to house a mac mini, a power source, and communication cables. The top of the stand was created to hold a 20″ elo touch monitor.
Posted in Automatic Scoring
User Interface Challenges
Having a professional looking interface was a must. People who haven’t used our bowling system before are going to be expected to operate these computers so it was imperative that these computer’s have
- Fullscreen mode
- No scroll bars
- No screen flicker
- Have a dynamic user interface
To get past the first hurdle required filemaker advanced. Filemaker advanced comes with a developer utilities menu option that allows you to put your screen in fullscreen mode. So upon startup an account, that is linked to full screen mode, is used to login. This puts the filemaker file in fullscreen mode.
Eliminating any sort of screen flicker was a lot easier on the mac side, however it did come with its own set of challenges. Any sort of layout change or new window, still create some sort of flicker no matter what your do (including using freeze window script step). This was again unacceptable so our entire solution never leaves the main layout, which is in form view. Every record that is created, edited, or deleted are done so via relationships. The amount of work to set this up is substantially more than traditional development, however this way allowed us to reach our goal.
Our last and biggest hurdle remained, a dynamic user friendly interface. Filemaker is an amazing piece of software but its user interface tools are really lacking. I’m not going to go on some long rant making wishes, I’ll just close my eyes and remind myself thats why there is .png’s and the webviewer lol. So to make up for these shortcomings I focused in on fusion reactor ( http://fusionplugins.com/ ). I already had some background knowledge in flash and knew that this was going to be an incredible combination. Since I always stay on one layout in form view, I created a webviewer that was the exact same size of the layout. This truly gives my interface a very professional feel. Before I could start working on my user interface I had to create a method of communication with the web viewer.
Sending Data To The Web Viewer
First things first, I had to put the data into a format that Flash would understand, which is XML. Using relationships I pulled all the appropriate data to create XML via the calculation engine. Once I had this data I fed this information to fusion reactor. Once the data was pushed to fusion reactor there was still a problem. How would flash know when the XML had been changed? I could have a script loop inside flash to see when there was new XML data available, but this was a waste of resources. Fusion Reactor is a very powerful tool, it also allows you to execute a javascript function from a filemaker script step! After learning that bit of information I then learned that Flash has a javascript API. So once the XML is fed to fusion reactor I then execute a javascript function via a filemaker script step. The javascript function (ExternalInterface.addCallback() )can then execute a function inside flash, which I use to update my interface!
Receiving Data From The Web Viewer
To complete the communication Filemaker must be able to receive information from Flash. Fusion Reactor plugin allows filemaker scripts to be executed from javascript. This is very important because Flash’s javascript API allows Flash to not only execute a javascript function but to also pass a parameter (ExternalInterface.call() ). This allows me to populate my filemaker database from my flash interface file.
I’ll be uploading a video to show how the interface functions.
Posted in Automatic Scoring
2 Way Communication
Probably the largest unknown in this entire process was 2 way communication with the bowling machine. When I began I had no idea where to start and actually had gone through 3 different methods (all that worked) before arriving to what I considered the best solution.
It took a lot of time and research for me to find out that siemens PLC could handle incoming and outgoing serial communication. This was a huge discovery because I knew that Troi had a serial plugin! http://troi.com/software/serialplugin.html. I’ve been testing with the Troi serial plugin for months now and have not had any reliability issues with the plugin at all. At first I thought I would run a script every 2 or 3 seconds using filemakers relatively new timer script to check for incoming serial communication. However to my surprise the plugin has a Serial_SetDispatchScript function which executes a filemaker script upon the detection of a incoming transmission.
Once the communication had been established I wanted to work on reliability and speed. The data string being sent and received was 15 characters long. That didn’t sit well with me and I converted my data string to a Hexadecimal value. I was able to get the string from 15 characters to 4 hexadecimal characters.
When everything was said and done I was able to execute a filemaker script everytime a bowling ball was rolled down the lane. Reset the bowling pins, switch from 5 pin to 10 pin bowling, turn on the bowling machine, and set up individual bowling pins right from a filemaker layout.
My next challenge, how was I going to make a user interface that was professional and polished using filemaker’s rather limiting tool set?
Posted in Automatic Scoring
Our Goal
Before I start to talk about our goal, we did have an unfair advantage over other people when beginning this project. My dad has spent the last ten years developing a bowling machine that can handle different bowling games, 10 pin bowling and Canadian 5 pin bowling. He programmed the bowling machine using a siemens PLC ( http://tinyurl.com/yjnx9z5 ).
So with our extensive R&D investments in bowling already we knew that keeping track of the bowling score was the next logical step. So we sat down and made a list of goals.
- Create a scoring system that can handle 5 pin and 10 pin bowling.
- The score system must run on filemaker pro.
- The score system must run on mac OS X.
- Create a professional looking score stand.
- Only have one communication cable from the computer to the bowling machine.
- The scoring system must have 2 way communication with the bowling machine.
- The scoring system must be able to change the overhead television (channels, volume, input).
- Have a professional, interactive GUI.
- Have a front desk (management computer) that can turn on the scoring system for a centralized location.
- Integration with the suite of our other filemaker solutions.
As you can see this is a very aggressive list of objective that we set for ourselves. This job is really pushing the limits of filemaker and over this blog series I will be sharing some of our victories and defeats. (mostly my victories, I kinda wanna forget about my bad decisions/mistakes).
Posted in Automatic Scoring
Why We Needed Filemaker
When we first started developing with filemaker our first need was a reservation desk/system. Our paper and pen system had grown very dated, and this paper and pen system ran our business. This was a serious flaw in our business and it needed to be fixed, the solution, Filemaker. While developing the reservation module we began to look at other aspects of our business, everything from money sheets to a customer loyalty program, and realized that filemaker could satisfy the needs of our growing company. One of the best parts was the data could be shared, we didn’t need to have 3 customer tables in different programs, we could have one customer table shared in filemaker. The data was now accessible to everyone and our employees actually started to use it!
As things began to pick up we started to attack another problem, league bowlers. This was a big problem because the league bowler need to be on brunswick’s, proprietary system, for the bowling scoring system to work. There is no way to export any league bowlers from this system, well except for printing them out. So again were back to the same problem customers on two different systems. It dosen’t work, I can’t get our employees to type the data in twice, nor do I want to pay them twice. The solution, create our own automatic bowling system from scratch.
Posted in Background Info
Why We Chose Filemaker.
It was January 2006, and I was just finishing up my multimedia design course at college, and had just finished converting my family to mac’s. My dad decided to stop by the local apple store to see what programs he could get his hands on. He was interested in organizing some of our information for work and an apple employee recommended Filemaker Pro (Version 8 at the time). Thats how it all began and it may have revolutionized our business.
Posted in Background Info



