A while back, I thought it would be fun to challenge someone learning how to develop custom apps in FileMaker with a simple request: build an app to play tic tac toe. That’s it. That is all the direction given. The ambiguity and lack of direction are part of the challenge. The idea is to create meaningful discussion and compare techniques and thought processes.
Everyone knows what tic tac toe is, and everyone knows the rules are fairly simple…it’s not chess. However, there could be a thousand different ways to approach solving the challenge. Do you need to build a backend with tables? Should it be single-player or multiplayer? How many layouts and scripts are needed? Do you make use of card windows, sliders, or popovers? The list of possibilities goes on and on. Time limit? No, but keep it reasonable and use your best judgment.
I did this once years ago, in a different language (Lasso), and had thought through how to build a tic tac toe app once before. It was refreshing to rethink the challenge once again with all that the FileMaker platform has to offer.
Gathering Requirements
When building any app with FileMaker, you would likely have a lot more information before starting. You may have a whole foundation phase to gather requirements before starting any kind of development. You might interview client stakeholders to build use cases. A business analyst might work with a technical liaison to build specifications and even mockups to review to get feedback and refine plans before spending any time and effort on actual development. Those are all part of our best practices when working on projects for our clients, to be sure.
This is not completely unlike some of the challenges developers face every day when dealing with custom software development. You get a request from a client for feature “x,” and there are many different ways to make it, so this is a useful exercise to undergo.
Your Unique Approach
For this challenge for developers, we will set all that aside for the moment. I am interested in seeing how different people might approach the given assignment. The results are then open to critique and review. You can get as complicated as you want. Or you might choose to make your tic tac toe app as simple and bare-bones as possible.
This is purely put forth for fun, as a learning exercise. The exercise can be just as challenging for a senior developer as it might be for someone just learning their way. More experienced developers may take advantage of more advanced techniques they have learned over the years. Inexperienced developers may offer a fresh take on their effort. Either way, it is fun to compare results and learn from each other in this exercise.
My Simple Approach
For my own effort, I keep it fairly simple, with a single layout and just two scripts. I share my work for you to review. Take what you will from it and remember, this is just for fun! I will not go into too much detail about my approach so as to not influence others who might take their own angle. If there is interest, I can follow up and go into more depth about my approach and why I made some decisions the way that I did. You can get a copy of my own file here.
Feel free to comment and link to your own file if you would like.