July SoFIE Hack-a-thon: Swift Chicken-and-Egg

July 12 a bunch of us attended the Swift Language User Group Hack-a-thon in San Francisco. We spent the day learning and exploring the new Swift language provided by Apple. Paul had the brilliant idea of porting the chicken-and-egg machine to Swift and run in on an iPad. But with an interesting twist: instead of ready-made teeter-totters and funnels, you draw them yourself.

It worked pretty well, since SpriteKit is very similar to Box2D. We didn't win the competition prize (we consoled ourselves by saying that we didn't really need another tech-inspired t-shirt). We did, however, get some great reaction from the audience.

We will probably take chicken-and-egg on Swift a little farther: add the ability to draw different teeter-totters and spinny things.

The work-in-progress code is here: https://github.com/PaulMaxime/ChickenAndEggMachine

Lots to do. Learning Swift was fun, but it's not ready for prime-time yet (but we did write some bangin' unit tests!).

Musings on our first SoFIE app.

Our first SoFIE app, the Relaxatron, was pushed to the Apple App Store and now has a couple of reviews. There are three reviews total. If you don't include my own review of the app, there are two reviews. They both say, essentially, that the app "doesn't work."

Allow me to make an observation of these observations. I guess I'm taking the role of the artist observing the people observing the artwork.

What strikes me as odd is that neither of these people tried to interact with the Relaxatron. From their comments, it seems like they expected it to do something for them - to hold their hand and tell them what to do. I think this is an interesting, and not a little sad, commentary. Have we reached a place where we have to be told in detail what to do all the time? Is there no more room for discovery? What about playing with something to see how it works? Were these people afraid of breaking the Relaxatron? It's only software - and as Paul points out - it's very difficult to break software. And do these people demand to be entertained, while they participate only passively? Did the Relaxatron threaten this "amuse me" attitude so much that they were compelled to write bad reviews? What happened?

My reaction was twofold. First, I thought that I should "fix" the Relaxatron so that it was more accessible to people with no inquisitiveness or who have a passive-consumer approach to art. But that sort of defeats the purpose. That being said, there were some finer points of animations and CALayer technology that I haven't really explored yet so I used this as an excuse to deepen my craft in this area. I added a "tap me" toast that appears after a couple of seconds of inactivity, and a pulsing play button if you add stamps but don't press play. These are real attention getters!

Second, it occurred to that SoFIE can actually make a difference by encouraging discovery and inventiveness. It's fun to figure stuff out on your own. It's boring to be told what to do all the time. Maybe we should promote a more playful spirit of investigation at SoFIE? We're open to suggestions.

Help name SoFIE's first app!

We hope to have SoFIE's first app in the app store by the end of January - we're just waiting for some iOS assets and it will be ready.

The app is a riff on Conway's Game of Life.  This first version is pretty simple, but there are already plans afoot to make it more visually engaging.  It still needs a name - post your ideas in the comments below.  If your name is selected you will get a free beverage of your choice at Cafe St. Jorge during our February SoFIE Hack-a-thon!

A couple of screen shots.  These were taken before the proper assets (button icons, etc.) were added:

  The main animated game view.  You touch the screen to add a stamp.

The main animated game view.  You touch the screen to add a stamp.

  The stamp editor lets you change the "seed" for the simulation.

The stamp editor lets you change the "seed" for the simulation.

  Change the simulation parameters - how cells come to life or die, whether the game board is toroidal or not.

Change the simulation parameters - how cells come to life or die, whether the game board is toroidal or not.