Coding at Home: Revisiting an Old Swan Friend

Join us today at THREE P.M., Irish time, when we revisit an old friend!

Note the later time, we’ll see you at 3, Irish time, instead of 1.

Swan’s Quest, Revisited

So now that we’ve finished Sonic Workshop, we’re going to revisit an old friend today.

With our newly-minted knowledge about closures, we’re going to see how they apply to Chapter 2 of Swan’s Quest.

You can either work with your existing copy of Swan’s Quest: Chapter 2, or download a new copy from our playground feed for WWDC.

We’ll talk about those pesky DispatchQueues and Timers and hopefully they’ll make a lot more sense.


Once we revisit old times, we’ll move right on to one of my favorite playgrounds.

Sensor Arcade takes advantage of all the sensors we have built into our iPad that we take for granted.

We’ll play with touch handlers, like we did in Sonic Workshop. We’ll also play with light handlers, which uses properties of the camera to tell us about brightness levels in the room around us.

I can’t wait to show you around this playground and see what we can do with Swift!

See you at 3pm, Irish time!

Coding at Home: July 6th, Sonic Workshop #5

Join us today at 1pm for some more Sonic Workshop!

We’re nearly done with Sonic Workshop and we have learned a ton.

We added a new function that will create a crystal that plays sound in a loop. We’ve explored closures in a few different forms. That’s been a lot of work.

Today’s session

Today we’ll add some visual flair to our auditory masterpiece, and then we’ll use some pre-built functions to build out an entire musical masterpiece!

We’re going to add a call to a function called addCaveGlitter, does it get better than that?

So we’re going to customize the heck out of this playground as a reward for all the hard work.

Revisiting the Swan

Remember the Swan’s Quest? Sure you do, it was only a little while ago.

We’re going to go back and have a quick look at those playgrounds, now that we have the Sonic Workshop under our belts.

In particular, we’re going to look at Swan’s Quest, Chapter 2, and see if what we just learned can help us better understand the challenge of the swan!

So if you want to follow along, and even start fresh, open up that Chapter 2 playground from our WWDC playground feed!

See you today at 1pm!

Coding at Home: July 1st, Sonic Workshop #2

We’re back with Sonic Workshop today at our usual time of 1pm, Irish time, join us!

Coding with Closures

Yesterday was a big session. We were introduced to closures and learned a little bit about what they are (unnamed functions, in a few words) and when we would use them. And how.

The closure we wrote had no parameters, so it’s one of the easier forms to use (and write).

You might remember, if you’re not scarred (😉), from the later chapters in the Swan’s Quest playgrounds, that we used closures a bit.

When we got to the Timer code we scheduled a timer and wrote some code to be run every so many seconds. We’re going to learn how to write code like that soon!

Today’s session

Today we’re going to go back to functions. Back in the Everyone Can Code Puzzles days, we learned a lot about functions.

In today’s lesson we’ll write functions that return values. This means we do some work in the body of the function and get give some sort of feedback back to the code calling it.

We’ll also write functions with parameters. This lets us write code that can easily be re-used. If you hang around programming long enough, you’ll realize that’s one of our Holy Grails.

We’ll put our function in some shared code, so it will live with us for the rest of the playground pages.

So come along with us at 1pm, Irish time! Or follow along later. We have a new Sonic Workshop landing page, which shows you videos from the Sonic Workshop YouTube playlist. All the videos in this latest series will show up there.

Coding at Home: June 30th, Sonic Workshop

Join us today for some more coding at 2pm, Irish time!

Note the adjusted time — 2pm!

More playgrounds!

Today we’re going to diverge from the expected plan. Instead of resuming the Augmented Reality playground, we’re going to start a new playground.

Inspired by the Swan’s Quest sessions at WWDC, we’re going to look at their inspiration: Sonic Workshop.

Sonic Workshop is designed very like the Lights, Camera, Code playgrounds we’ve used recently.

So you should feel pretty at home with this one!

It’s an intermediate playground and will explain some of the concepts we encountered in Swan’s Quest.

I can’t wait to get you guys making some sound!

See you at 2!

Coding at Home: June 22nd, Augmented Reality AND WWDC2020!

Join us today, WWDC2020 Day (like Christmas Day, but for developers), for some more live coding at 1pm, Irish time!


Today’s the big day, the kick off of WWDC 2020. We’ll get the big keynote, of course, at 6pm, Irish time, followed by the Platforms State of the Union at 10pm.

They’re always inspiring events to watch, especially if you’re a budding programmer looking for a good, meaty set of problems to solve. Maybe some that you never even realized you could tackle. Like with our Reality Composer work, when we added elements to a book’s cover. Or when we built our own app out of a Swift Playground.

I’ve posted my own wish list for WWDC, but I’m sure there will be plenty of surprises to play with when it’s all said and done.

Today’s session

While we try to keep from bursting, we’ll keep coding in our Augmented Reality Swift Playground today!

We’ll use those actions and start to play with proximity: when the user and their iPad gets close to our models we’ve added to the scene, we’ll be able to run code to react.

We’ll see you today at 1pm for some more coding!

Coding at Home: June 19th, Augmented Reality Swift Playgrounds

Join us today at 1pm for some more coding and augmented reality!

Today’s session

We’re going to continue working on our augmented reality playground today.

We tinkered with some old Swift syntax yesterday; we added an array, we looped through it. For some of it we had to venture off the beaten track, but we’ll review it today.

Today we’ll play some more with these built in actions. These actions are a fairly advanced Swift concept, and you’ve done well on our exercises so far.

In other news

We also posted a lesson for those of you interested in taking your coding that step further:

The video introduces you to Xcode, the tool you use, on your Mac, to build iPhone, iPad, AppleTV, Mac, and Apple Watch apps.

We build a simple app together to show you some of the features of Xcode with a practical goal in mind.

If you have access to a Mac, I highly recommend checking out the video and trying your hand. If you’ve been with us this far, you’re well able for app development!

We’ll see you at 1pm!

Coding at Home: June 18th, Augmented Reality Swift Playgrounds

Join us today to work through some more Swift programming and augmented reality at 1pm, Irish time!

Welcome back, Swift Playgrounds!

So it’s been a while, but we’re back in Swift Playgrounds!

Using the Augmented Reality playground from the Challenges section of “More Playgrounds”, we eased back in to calling functions and creating variables yesterday.

Much of the code we wrote on the second page was similar to the code we were writing in our Lights, Camera, Code series. We have a scene and we need to add our Models to the scene.

These beautiful, pre-built models have some great functionality already baked in, like the ability to animate by just calling their animate() method.

Today’s session

In today’s session we’re going to remind ourselves of a few techniques in Swift to display more models in our scene and shake off some of that rust. The combination of the work we’ve done with Swift and the augmented reality work we did in Reality Composer for these last few sessions are going to go together really nicely!

In other news

If you want to see some of the work other students have done, we have a special preview of one reality file… This student made a domino game for you to play in the comfort of your own home.

I recommend a large, open space, because you’ll be moving around a lot!

Try it out (if you’re on an iPhone or iPad… otherwise, clicking this link will download the reality file for you to play around with):

See you at 1pm!

Coding at Home: Augmented Reality in Swift Playgrounds!

Join us today at 1pm for a bunch more work with Swift Playgrounds and augmented reality!

Today’s Session

We’re back to Swift today!

We’ve done a lot with Reality Composer that last few sessions, now we’re going to dive back into the playgrounds and try our hand at writing some code to build and augmented reality scene!

This is an intermediate playground, so we’ll take our time and ease back into coding after a few days away!

I can’t wait to see what we create!

See you at 1pm, Irish time.

Coding at Home: June 16th, Improving Image Anchors for Reality Composer

Happy Bloomsday!

Join us today at 1pm for some more fun with Reality Composer.


Yesterday we went over adding an image anchor for a Reality Composer scene. We picked a new book, showed you how to take a picture and trim it to be a good target image.

We also built a series of scenes so we wouldn’t see our assets while we fished around, looking for our image anchor in the real world.

Once we found it we showed a tab we could tap on to get more info about the main character.

This way we can export our experience and share it with friends.

From that character page we then added an arrow to navigate back to the previous scene.

Today’s session

Today we’ll look at what makes a good image anchor and what doesn’t. We’ll give you some tips and tricks for making sure your image gets recognized. And we’ll also look at what’s happening, with our image anchor.

So catch up with us and we’ll play around with some more augmented reality!

Coding at Home: June 15th, Reality Composer and Image Anchors Again

Join us today at 1pm for more with Reality Composer and image anchors!

Last week

We had so much crammed into Friday’s session that it might have been a little overwhelming.

So we’re going to cover some of that same stuff again today.

Today’s session

On Friday we used a book cover as our anchor. That meant taking a photo of the front of our book and importing it into Reality Composer to use as our image anchor. We had to set the size we expected our image to be in real life so RealityKit had an easier time recognizing it.

We also built a small table of contents viewer that navigated to different scenes.

That’s a lot of moving pieces!

Like the book we picked say, “Don’t Panic.”

We’ll go over all of it again today, nice and slow, to make sure we get it.

See you at 1pm!