How SqAC Works

In a couple of previous posts, I have announced SqAC, told you a little about it, and pointed you to where to play with it. But what exactly is it doing?

It’s All About The Modules

I was recently at a local callers’ get together and one of our mentors did a little talk about modules. The idea is to write your modules in big print an 5 x 8 cards, note the level, start formation and end formation at the top, and the calls in big print. At a dance, flip through these cards. Grab a get in, maybe to a corner box (CB), a zero module, then a CB to partner line (PL), a couple more zeros, back to CB, and then a get-out card. Flip through those cards on the fly and read them, without looking like you’re reading them, and you have a dance.

It works. The legendary Lee Schmitt used that technique. (Not exclusively, I imagine.)

The idea of fumbling through cards while keeping dancers going smoothly is a talent in itself. I would imagine it better to actually put around 640 beats of cards in a stack during the break, queuing up for the next tip.

But then oops. The transition between modules had a hand violation. Oops. The flow was bad. And the most likely, what I see almost every time when this technique is used: Oops. I lost my place, skipped a call, and the whole floor came to a halt. “Everybody go home”.  🙁

Finally: Oops. Where are my cards?

The idea is solid. The execution though, is incomplete.

Welcome to the 21st Century

As the mentor spoke of this to the group, I smiled. I know this technique. I learned of it over a year ago when I first started learning about calling. Now, as then, I think it quaint.

You see, SqAC completes this technique. Instead of paper, enter your modules into SqAC. Right there, you now have your modules backed up online and available to any device with a web browser. One problem down.

Besides the level, start, and end formations that you might track on a note card, in SqAC you also tell it difficulty, hand usage (belle and beau), and flow (belle and beau). Two more problems solved.

And loosing your spot? Not anymore. When you call, SqAC shows you the previous call, the current one in BIG font, and the next one up. You can’t loose your place. You can control the scroll manually, or have it update automatically by any beats-per-minute timing you choose.

With that, the last problem with the technique goes down.

SqAC is for You

In an earlier post, I briefly described who SqAC is for. Newbie callers, gaining experience. Small groups that don’t have access to a professional. These two groups can use other people’s modules to call a dance without professional caller training.

But what about the pros? Are you a modern day Lee Schmitt? Well you will enter your modules into SqAC, and call your dance. Like Lee, you don’t have to rely exclusively on modules. Substitute in your equivalents on the fly to mix things up. Pause SqAC at any point and call extemporaneously to your hearts content; then get them back where you started and resume using your modules.


Did I loose you a bit with this module stuff? Not everyone reading this blog may have a good understanding of this technique. So here is the short explanation that the title of this post alluded to:

How Does It Work?

SqAC loads in collections of get-ins, zero-modules, and get-outs. It starts by picking a get-in, showing the commands to read to get from a static square to a common in-sequence formation (typically partner-lines or corner-box). From there, it picks a compatible zero-module, displaying those calls, and ending right back where you started. Finally, a compatible get-out is selected and those calls are display. Clap clap clap you’re home. That’s the foundational concept. If that’s all SqAC did though, it’d be a pretty boring dance. The obvious next step to to call multiple zero-modules in a row. Keeps them dancing a bit longer, but still lacking. Conversion modules move the dancers between formations, like corner-box to partner-line. Use those, and it starts getting interesting. Beyond version 1.0, we can add in interruptions. At certain points within a module, it can be interrupted by another compatible module. That module can be interrupted by yet another module. Unlike a human, it can keep track of this stack of modules as deep as you want to go, and then unwind the whole thing and finish off with a surprise get-out.

You may have noticed the word compatible came up a few of times in that description. SqAC doesn’t care much about what you do within a module. You can make up your own calls and wacky formations. When transitioning between modules though, whether because one ended or at an interruption point, that transition has to obey a few rules:

  1. The dance formation must match. SqAC doesn’t understand what a particular formation actually is, only that the dancers are in one of the required starting formations for the next module.
  2. The hands must be available. In square dancing, we don’t like to use the same hand twice in a row. It’s awkward. So a compatible transition must not break this rule.
  3. The flow must not make the dancers say “Ugh!” If one module has dancers moving right, the next one shouldn’t start off moving left.

Finally, SqAC is interactive! This is not just a static tip generator that you read. Change the difficulty level, pick up broken squares, and keep the tip going or bring it to an end; all on the fly!

Run Anywhere

“Wait,” you say, thinking back to something you read a few minutes ago, “I need a web browser and Internet connection to use this? My notebook doesn’t have Internet access at most dance halls!”

Well, yes and no. Internet access is required for two important features:

  1. Run anywhere! For example, enter modules on your desktop at home, and use them on your tablet at a dance.
  2. Backups. Netbook literally went up in smoke? It’s okay, your data is safe on the cloud.

That is all you will need connectivity for.  SqAC is still in development though, so you still need to open a browser online and let it download your data. You can then leave the browser running and take it somewhere without Internet and dance. That’s really inconvenient though. There are three solutions: two old ways and one up-and-comer:

  1. Make Windows and Mac installers that make SqAC run from your desktop or notebook. The trouble here is two fold: You won’t get timely updates, and this doesn’t work on mobile platforms.
  2. Package up the application as a native application. This is available for Android, iOS, and Windows 10. Few people realize it, but many of the apps on your phone are written using web technologies, and just wrapped up to work like a native app. I’ve actually done this for SqAC on Android, but the approach has drawbacks: First, putting an app in the Apple App Store is $99/year! That’s steep for something I’m giving away.  Second, Windows app store isn’t available on older desktop operating systems.
  3. Progressive Web Apps. This is the new guy on the block. No more app stores! An app starts as a web app, but you can install it to your mobile device , desktop, or notebook right from the web site, and then it’ll work offline like a native app. It also updates whenever it is online. Google is championing this. Microsoft is embracing it. Apple is open to it, but is not excited about loosing billions in app store revenue.

So what will SqAC do? My focus now is forward looking: Progressive Web App. iOS may be stuck in the web browser for a while, but it supports enough of the standard that it should cache nearly everything and so use very little data.

Ultimately I may end up using a combination of approaches.

Update: As of November 2017, SqAC is now a progressive web app. As of 2019, Apple now supports it in the Safari web browser.

– Adam

Leave a Reply