Coding at Home: Build an Aquarium App, Continued

Today’s session promises to be a ton of fun, so tune in with us and let’s build an app in Swift Playgrounds!

Recap

Yesterday we started to explore building out an app inside Swift Playgrounds.

Our new App at Home playground!

We added buttons on the screen, a fish, set a background image, and even hooked up the button to move the fish.

The thing I loved about yesterday’s session was the nearly endless possibilities it opens up for us. We can build anything from here:

  • a calming aquarium
  • a really stressful aquarium in which sharks chase your fish
  • a fishing game
  • a space game with enemy ships you need to avoid
  • an app for an aquarium to place by its tanks
  • you name it!

The students in the house here wound up building two of those options and discussing at least two more, coding for another three hours after the live coding session was over!

Today’s session

So today we’re going back to that well. We’ll refine our own aquarium example a bit, add some more controls, implement some logic in our functions.

The goal will be to spark some ideas of your own for your own app. What are you going to do?

The state of our playground app so far...

Drop us a note on Twitter, or send us an email with directions you’d like to see, and we’ll talk about it on air.

We’ll go back to the Assemble Your Camera playground, for sure, we haven’t forgotten about that, but this side exploration, using some of those techniques and building blocks from the camera playgrounds will hopefully provide some inspiration.

Coding can be an incredibly creative outlet, let’s get a little creative today and build an app!

Coding at Home: May 18th, Build an App Aquarium

Come check us out today live for a session in which we build our own aquarium app!

Last Week

Last week we did a ton of work on assembling our camera and got it to a stage where we’re able to take pictures with our custom designed camera.

Now, your favorite part may be the design you added around your camera. Or it might be the zoom slider you can use to zoom in and out with the back camera.

It might be the mask that shapes the way your images are taken. Or that you wrote your very own class that encapsulated all this code.

Whichever piece of building the camera it is, they’re all massive steps forward in your programming journey!

We’ll be finishing off this playground this week with one last playground page, and then we’ll be moving on to other challenges!

Today: a little detour

We also talked a lot about the Swift Student Challenge last week, in which you build your own interactive playground and submit it to Apple for a chance to win some cool WWDC20 gear.

The challenge is closed, but it doesn’t mean we can’t start getting ready for next year!

Using the stuff we’ve learned in Assemble Your Camera, we’re going to make an aquarium from scratch in today’s session!

We’ll start with the new App at Home playground from our own playground feed and work from there.

It’s based on the Camera Create Starting Point playground from Apple, so we’ll be able to use a lot of the coding concepts we learned about with Assemble Your Camera, like the Button class, and the Space class and all the methods on it so we can place other components on the screen.

Lookback Sessions

By the way, we also had a great lookback session on Friday.

If you’re new to coding or maybe aren’t sure this thing is right for you, these sessions are the perfect introduction. They’re mostly painless, easy, personalized introductions to the language of computers. So just like you might learn French or German for impressing that girl/boy/parent/employer years down the line, I would think of this the same way.

Except the person you might be impressing is yourself, when you approach a problem and realize, “oh, hey, I can take advantage of these devices to do this for me, with just a little bit of code…”

We tailor each session to the people on the call, and it’s always more fun programming with a buddy, so bring a friend along!

We’ll see you today at 1pm, Irish time, for some more live coding fun!

Coding at Home: May 15th, Lookback Session #2

We’re live on a Zoom call today for our second beginner session, so make sure you register with us to get the details! The sessions are still free, just a little more personalized.

We really hope you’ll join us, I swear to you I’m not paying the folks on the session last week to say that they’ve had a ton of fun and are eager for more this week.

Yesterday’s Session & the Swift Student Challenge

We did some stuff yesterday that would get you a long way towards a submission for the Swift Student Challenge.

If you want to re-watch that session, it’s available here:

And we’ve published a new playground with the camera stuff stripped away a little bit that you can use to build out your own idea for an app.

You can get it from https://thecodehub.ie/playgrounds/ if you haven’t already added our playground feed, but if you’ve been taking our course it’s likely already in your More Playgrounds section.

Just tap the GET button and you’ll be able to create to your heart’s content.

We’ll also go over building an app with this playground on Monday and replicating the aquarium I built for yesterday’s session.

So sign up for the Hello, Byte Lookback sessions, designed for beginning coders, complete novices, where we go through this introductory playground at a very manageable pace, and we’ll see you today!

Otherwise, we’ll see you on Monday at 1pm, Irish time!

Coding at Home: May 14th, Assemble Your Camera App

Join us today on Twitch at 1pm, Irish time (or Facebook live or YouTube Live)!

We’ve added a few more locations for you to watch the live stream for your convenience… so if you’re into Twitch or prefer Facebook or YouTube, you can watch along with us from the comfort of your usual haunt. And if you’re not able to catch the live sessions, we now have the kids.code() landing page, which features all the videos from our Coding at Home sessions and a new, separate Lights, Camera, Code playlist landing page, that features only the sessions in which we cover the Lights, Camera, Code and Assemble Your Camera playgrounds… so a little more advanced material.

Whichever way you’re approaching the material, we have a way to get you sorted!

Today’s Session

Today’s the big step! We will start using an App class today. We’ve been teasing all along that we’re effectively building apps, but now you can really see what it might take to build an app. If you have any notion of completing an app in Swift Playgrounds for the WWDC20 Swift Student Challenge, this would certainly be a great approach to take!

This could be YOU!

We’ve been so focused on our own MyCamera class, and now we’re going to put it all together, just like we did in previous playgrounds with SwiftyCamera.

We’ll spend the session setting up our App class. For the curious, we’ll dig into the guts of our playground a bit, for fun and games.

Come along with us for this one, it should be a ton of fun!

Coding at Home: May 13th, Adding the Front/Back Button

Join us today on Twitch at 1pm, Irish time for some more coding!

Lookback Sessions Sign Up

We’re continuing our Lookback Sessions on Fridays. For the month of May we’re covering the Hello, Byte playground, which is a beginner playground that will introduce you to Swift, the language, and coding in general.

Register so we can send you the Zoom details and we’ll see you on the playground!

Today

We ran through a lot of styling yesterday. We looked at ways to lay out your view and some tricks that I use to help orient myself when I’m laying things out. Many times your best bet will be to sketch it out and then use trial and error to see where your elements are.

Today we’re going to focus on the front back button. We’ve already connected our shutter button to the trigger property of our cameraView, so now we’re going to make it so we can swap out the front and back camera feed to our cameraView.

You’ve done an incredible job coming this far! We’ve built a pretty amazing, nearly fully functional camera in just a few short days, this is a massive feat for anybody!

WWDC2020 Student Challenge

This is the sort of work that Apple is looking for for their Swift Student Challenge at WWDC2020 and would form an excellent base for your submission.

We’re happy to help your figure out your idea (we can’t implement it for you but we can give you inspiration and advice or point you in the right direction), so please drop us a note if you’re planning on giving it a shot!

Just drop us a line at [email protected] and operators will be standing by!

See you at 1pm today, Irish time!

Coding at Home: May 12th, Starting Your Camera

Join us today at 1pm, Irish time on Twitch!

Homework

Well, it’s all homework, at the moment, at least here in Ireland.

But last night’s homework was to finish, as best you can, your design for your camera.

Ideally you’ve spent time in the init method for your MyCamera class, in this section:

It’s going to require adding the components you need at the right Point on the screen and the right Size.

Remember the grid, with the 0,0 point in the center:

x coordinates to the right are zero to 500, and to the left are zero to minus 500 . y coordinates from the center up are zero to 500, and from the center down at zero to minus 500.

If you get stuck, try sketching them out on paper.

Today’s Session

We will work more with connecting our camera buttons and view finders and wiring it all up. We’ll talk about how the messages are sent, which is a big organizational component of programming.

And we’ll review styling our components and how we get things close to our design while also making the thing functional.

Tune in at 1pm to try it out!

Coding at Home: May 11th: Assembling Your Camera, Continued

We’re back on Twitch today at 1pm after our more personalized Lookback Session Friday!

Recap

Last week was a big one.

We moved into much more complex territory with the Assemble Your Camera playground. The app we built in the Lights, Camera, Code playground was a huge accomplishment, but now we move even closer to the type of code you would write to build your own iPhone or iPad app.

We also held our first Lookback Session, which is designed for beginners and where we help you get set up a little more personally.

Today’s Session

Today we’re going to be back building our camera to our own design.

We’ve started laying out the code in our MyCamera class, which we’ll go over again today as a refresher.

We also started laying out the elements of our design on the screen, which meant lots of tweaks to which Point(x:,y:) we used and which Size(width:, height:).

As best as we can, we’ll also walk through that a little today, too, though everyone’s design will differ a little bit. Some will be more ambitious than others, but we’ll work on getting our elements in roughly the right spots, design-wise, and then get our camera functional before coming back for some polish!

We’ll see you at 1pm, Irish time!

Coding at Home: Lookback Session #1, Hello, Byte

Today we kick off the first of our lookback sessions, designed for coders of all experience.

We’ll be covering the Hello, Byte playground.

We *won’t* be broadcasting this session on Twitch today, because this session is going to be a little more interactive with the students.

Feel free to register at https://ti.to/the-code-hub/lookback-session-may-8th/en so I can send you the details of the session and we can get coding!

Coding at Home: The First Lookback Session TOMORROW (May 8th)

Tomorrow (Friday, May 8th) we’re going to hold our first loopback session.

The Goal of this Session

The goal of this session is to allow folks who are maybe joining us later than from the very start, people who are finding the latest sessions far too into the deep end, or people who want a bit of practice to join in a live session with us and others to get the feel of a real, in-person class.

We’re taking registrations on https://ti.to/the-code-hub/lookback-session-may-8th/en simply to get you the details for the video piece of the class. The sessions, themselves, will be free, just like our live stream on Twitch.

We’ll be holding the class over Zoom, and we’ll be giving out the details to those who have registered, simply to have an idea of numbers and to better interact with students if (and when) you have questions.

We’ll be holding the class over Zoom, and we’ll be giving out the details to those who have registered, simply to have an idea of numbers and to better interact with students if (and when) you have questions.

The Material

To prepare for the session, make sure you’re set up like in our Coding at Home video. The key is to have Swift Playgrounds downloaded and, ideally, the Hello Byte playground.

I really hope you’ll take advantage of the session, I’m looking forward to seeing those already registered tomorrow.

We’ll see you tomorrow at 1pm!

Coding at Home: May 7th, Classes and Cameras, Part 2

Code with us at 1pm, Irish time today!

Swift Student Challenge

First off, the big news yesterday was the announcement of the World-Wide Developer Conference’s dates and the Swift Student Challenge. These are Apple’s big developer events of the year, and the student challenge is a great way to show off your work.

If you’re stuck on your idea or want advice on how best to get going, feel free to drop us a note on the discussion board or at [email protected]!

Classes

Yesterday we took a brief tour through classes, which are yet another way for us to organize our code.

We started off building our own class hierarchy, and we’re going to discuss that again today. It’s an important concept, used throughout the Apple frameworks, so we’ll spend the first half or so of our session going over this concept, and then the rest going back to our MyCamera class to start customizing the look and feel of our camera.

Classes, like Types, are just a blueprint to structure our code. In our Animal case, the Animal class defines certain properties and behaviors all animals will have.

We can then create instances of that blueprint to use in our application. Our blueprints can inherit certain properties from other blueprints, so we could easily make a Dog blueprint by taking advantage of all the work we already did for the Animal blueprint.

We’ll walk through this and more today on the live session!

See you at 1pm!